This commit was manufactured by cvs2svn to create tag 'I20060210-0800'.

Sprout from master 2006-02-09 22:47:26 UTC Boris Bokowski <bbokowski> 'Updated for I20060210-0800'
Cherrypick from master 2006-02-09 21:05:09 UTC Eric Moffatt <emoffatt> '':
    bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
    bundles/org.eclipse.ui.ide/plugin.xml
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/FileOpenWithEntry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderAdapterFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderBasedEditorOpenStrategy.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceEditorOpenStrategy.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/IEditorOpenStrategy.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/OpenWithEntry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/OpenWithInfo.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/package.html
    bundles/org.eclipse.ui/schema/menus.exsd
Delete:
    bundles/org.eclipse.ui.browser/.classpath
    bundles/org.eclipse.ui.browser/.cvsignore
    bundles/org.eclipse.ui.browser/.options
    bundles/org.eclipse.ui.browser/.project
    bundles/org.eclipse.ui.browser/.settings/org.eclipse.core.resources.prefs
    bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.browser/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.browser/about.html
    bundles/org.eclipse.ui.browser/build.properties
    bundles/org.eclipse.ui.browser/component.xml
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_backward.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_forward.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_go.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_home.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_print.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_refresh.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_stop.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_backward.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_forward.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_go.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_home.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_print.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_refresh.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_stop.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/synced.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_backward.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_forward.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_go.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_home.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_print.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_refresh.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_stop.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/synced.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/1.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/10.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/11.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/12.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/13.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/2.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/3.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/4.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/5.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/6.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/7.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/8.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/9.gif
    bundles/org.eclipse.ui.browser/icons/obj16/external_browser.gif
    bundles/org.eclipse.ui.browser/icons/obj16/internal_browser.gif
    bundles/org.eclipse.ui.browser/plugin.properties
    bundles/org.eclipse.ui.browser/plugin.xml
    bundles/org.eclipse.ui.browser/schema/browsers.exsd
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/browser/BrowserFactory.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorDialog.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorWorkingCopy.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserExt.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserLauncher.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserText.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserViewer.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BusyIndicator.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ContextIds.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ExternalBrowserInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/FallbackScrolledComposite.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptorWorkingCopy.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserExt.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserViewerContainer.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ImageResource.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserEditorInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserViewInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.properties
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserHandler.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserWorkbenchAction.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SWTUtil.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserDescriptor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/TextAction.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ToolbarLayout.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Trace.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorActionBarContributor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorInput.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreference.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreferencePage.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUIPlugin.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUtil.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserView.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserViewDropAdapter.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/BrowserLog.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowserFactory.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaFactory.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/NullBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/StreamConsumer.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowserFactory.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowserFactory.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/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.carbon/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.carbon/.template
    bundles/org.eclipse.ui.carbon/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.carbon/about.html
    bundles/org.eclipse.ui.carbon/build.properties
    bundles/org.eclipse.ui.carbon/fragment-carbon.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.forms/.classpath
    bundles/org.eclipse.ui.forms/.cvsignore
    bundles/org.eclipse.ui.forms/.options
    bundles/org.eclipse.ui.forms/.project
    bundles/org.eclipse.ui.forms/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.forms/about.html
    bundles/org.eclipse.ui.forms/build.properties
    bundles/org.eclipse.ui.forms/component.xml
    bundles/org.eclipse.ui.forms/plugin.properties
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/package.html
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/package.html
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/package.html
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutCache.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/OldForm.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SizeCache.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/package.html
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.properties
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/AggregateHyperlinkSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BusyIndicator.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ControlSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormHeading.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IFocusSelectable.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IHyperlinkSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageHyperlinkSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ObjectSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/PixelConverter.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SWTUtil.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SelectionData.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextHyperlinkSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/progress.gif
    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.jdt.ui.prefs
    bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.presentations.r21/META-INF/MANIFEST.MF
    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/component.xml
    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.properties.tabbed/.classpath
    bundles/org.eclipse.ui.views.properties.tabbed/.cvsignore
    bundles/org.eclipse.ui.views.properties.tabbed/.project
    bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.views.properties.tabbed/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.views.properties.tabbed/about.html
    bundles/org.eclipse.ui.views.properties.tabbed/build.properties
    bundles/org.eclipse.ui.views.properties.tabbed/plugin.properties
    bundles/org.eclipse.ui.views.properties.tabbed/plugin.xml
    bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyContributor.exsd
    bundles/org.eclipse.ui.views.properties.tabbed/schema/propertySections.exsd
    bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyTabs.exsd
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractPropertySection.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractTypeMapper.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AdvancedPropertySection.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISection.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptor.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptorProvider.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabItem.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabSelectionListener.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertyConstants.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertySheetPageContributor.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITypeMapper.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetWidgetFactory.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/TabbedPropertyViewPlugin.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/TabbedPropertyViewStatusCodes.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/l10n/TabbedPropertyMessages.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/l10n/TabbedPropertyMessages.properties
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/SectionDescriptor.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/Tab.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabDescriptor.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabListContentProvider.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyComposite.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyList.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistry.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistryClassSectionFilter.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistryFactory.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyTitle.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyViewer.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/package.html
    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.jdt.ui.prefs
    bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.views/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.views/about.html
    bundles/org.eclipse.ui.views/build.properties
    bundles/org.eclipse.ui.views/component.xml
    bundles/org.eclipse.ui.views/icons/full/dlcl16/defaults_ps.gif
    bundles/org.eclipse.ui.views/icons/full/dlcl16/filter_ps.gif
    bundles/org.eclipse.ui.views/icons/full/dlcl16/tree_mode.gif
    bundles/org.eclipse.ui.views/icons/full/elcl16/defaults_ps.gif
    bundles/org.eclipse.ui.views/icons/full/elcl16/filter_ps.gif
    bundles/org.eclipse.ui.views/icons/full/elcl16/tree_mode.gif
    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/internal/views/contentoutline/ContentOutlineMessages.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/messages.properties
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/package.html
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/PropertiesMessages.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/messages.properties
    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/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/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/PropertySheetSorter.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/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/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.win32/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.win32/about.html
    bundles/org.eclipse.ui.win32/build.properties
    bundles/org.eclipse.ui.win32/fragment-win32.properties
    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.jdt.ui.prefs
    bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.workbench.compatibility/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.workbench.compatibility/about.html
    bundles/org.eclipse.ui.workbench.compatibility/build.properties
    bundles/org.eclipse.ui.workbench.compatibility/fragment-compatibility.properties
    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
    examples/org.eclipse.jface.examples.databinding/.classpath
    examples/org.eclipse.jface.examples.databinding/.cvsignore
    examples/org.eclipse.jface.examples.databinding/.project
    examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.jface.examples.databinding/META-INF/MANIFEST.MF
    examples/org.eclipse.jface.examples.databinding/about.html
    examples/org.eclipse.jface.examples.databinding/build.properties
    examples/org.eclipse.jface.examples.databinding/plugin.properties
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ExampleBinding.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/CompositeTable.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IDeleteHandler.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IInsertHandler.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowConstructionListener.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowContentProvider.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowFocusListener.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/InternalCompositeTable.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/EmptyTablePlaceholder.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/ISelectableRegionControl.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/TableRow.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/DuckType.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/ReflectedMethod.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/RelaxedDuckType.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/CompositeTableTest.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Header.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Model.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Person.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Row.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/AsynchronousTestSet.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SimpleNode.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SomeMathFunction.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/StructuredContentProviderTest.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/TreeContentProviderTest.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Account.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Adventure.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AdventureFactory.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AggregateUpdatableValue.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Cart.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Catalog.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Category.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Lodging.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/ModelObject.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PhoneConverter.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PhoneValidator.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PriceModelObject.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SampleData.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Signon.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/StateConverter.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Transportation.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/BindingFactory.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Model.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Order.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Person.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/TestMasterDetail.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/GridDataFactory.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/GridLayoutFactory.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/LayoutConstants.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/LayoutGenerator.java
    examples/org.eclipse.ui.examples.contributions/.project
    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/META-INF/MANIFEST.MF
    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.jdt.ui.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/META-INF/MANIFEST.MF
    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/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.navigator/.project
    examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.navigator/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.navigator/about.html
    examples/org.eclipse.ui.examples.navigator/build.properties
    examples/org.eclipse.ui.examples.navigator/plugin.properties
    examples/org.eclipse.ui.examples.navigator/plugin.xml
    examples/org.eclipse.ui.examples.presentation/.classpath
    examples/org.eclipse.ui.examples.presentation/.cvsignore
    examples/org.eclipse.ui.examples.presentation/.project
    examples/org.eclipse.ui.examples.presentation/BareBonesPresentation.ini
    examples/org.eclipse.ui.examples.presentation/WrappedTabsPresentation.ini
    examples/org.eclipse.ui.examples.presentation/build.properties
    examples/org.eclipse.ui.examples.presentation/eclipsecon2005-presentationsAPI.ppt
    examples/org.eclipse.ui.examples.presentation/icons/close_view.gif
    examples/org.eclipse.ui.examples.presentation/icons/hide_toolbar.GIF
    examples/org.eclipse.ui.examples.presentation/icons/max_view.gif
    examples/org.eclipse.ui.examples.presentation/icons/min_view.gif
    examples/org.eclipse.ui.examples.presentation/icons/restore_view.GIF
    examples/org.eclipse.ui.examples.presentation/icons/show_toolbar.GIF
    examples/org.eclipse.ui.examples.presentation/icons/view_menu.GIF
    examples/org.eclipse.ui.examples.presentation/plugin.xml
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationExamplesPlugin.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationImages.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationPlugin.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPartPresentation.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPresentationFactory.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitlePresentationFactory.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitleStackPresentation.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/ClosePartContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/PartItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderItemViewPresentation.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderPresentationFactory.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ChangeStackStateContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseAllContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseOthersContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/PartListContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ProxyControl.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ShowToolbarContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPartPresentation.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPresentationFactory.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsThemeConstants.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsUtil.java
    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.jdt.ui.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/META-INF/MANIFEST.MF
    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/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/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.rcp.browser/Browser.product
    examples/org.eclipse.ui.examples.rcp.browser/META-INF/MANIFEST.MF
    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/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.jdt.ui.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/META-INF/MANIFEST.MF
    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/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/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.examples.undo/.classpath
    examples/org.eclipse.ui.examples.undo/.cvsignore
    examples/org.eclipse.ui.examples.undo/.project
    examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/AddBoxOperation.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Box.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/BoxOperation.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Boxes.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/ClearBoxesOperation.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/MoveBoxOperation.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/PromptingUserApprover.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoExampleMessages.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoPlugin.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/messages.properties
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceConstants.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceInitializer.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/UndoPreferencePage.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/BoxView.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/UndoHistoryView.java
    examples/org.eclipse.ui.examples.undo/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.undo/about.html
    examples/org.eclipse.ui.examples.undo/build.properties
    examples/org.eclipse.ui.examples.undo/doc-html/ui_undo_ex.html
    examples/org.eclipse.ui.examples.undo/icons/sample.gif
    examples/org.eclipse.ui.examples.undo/plugin.properties
    examples/org.eclipse.ui.examples.undo/plugin.xml
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.classpath
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.cvsignore
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.project
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/about.html
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/build.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/icons/sample.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.xml
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/Activator.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElement.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElementProperties.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/CheckBoxPropertyDescriptor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontDialogCellEditor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontPropertyDescriptor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/LabelSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SampleView.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizePropertySource.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizeSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.classpath
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.cvsignore
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.project
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/about.html
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/build.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateDefence_playerStats_PlayerStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateForward_playerStats_PlayerStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateGoalie_goalieStats_GoalieStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateLeague_teams_Team.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_arena_Arena.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_defencemen_Defence.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_forwards_Forward.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_goalies_Goalie.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Arena.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Defence.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Forward.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Goalie.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/GoalieStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Height.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueModelFile.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueObject.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/League.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Player.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/PlayerStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Team.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Weight.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/wizban/NewHockeyleague.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/hockeyleague.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.ecore
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.genmodel
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.xml
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Arena.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Defence.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/DefencePositionKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Forward.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ForwardPositionKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Goalie.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/GoalieStats.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HeightKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueFactory.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueObject.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePackage.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePlugin.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/League.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Player.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/PlayerStats.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ShotKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Team.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/WeightKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ArenaImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/DefenceImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ForwardImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieStatsImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueFactoryImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueObjectImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleaguePackageImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/LeagueImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerStatsImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/TeamImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ArenaItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/DefenceItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ForwardItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieStatsItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueItemProviderAdapterFactory.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueObjectItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/LeagueItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerStatsItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/TeamItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/actions/HockeyleagueCreateChildAction.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/dialogs/HockeyleagueSetDefaultsDialog.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueActionBarContributor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueEditor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleagueLabelProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleaguePropertySheetPage.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/TextChangeHelper.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractEnumerationPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractHockeyleaguePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractIntegerPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractMeasurementPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractPlayersPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractStringPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTablePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTextPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AddressPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AdvancedPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthDatePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthPlacePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/CapacityPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencePositionPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencemenPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardPositionPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardsPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/GoaliesPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeadOfficePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeightPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NamePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NumberPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/PlayerStatsPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ShotPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/TeamsPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/WeightPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizard.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizardPage.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueProjectWizard.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueAdapterFactory.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueSwitch.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.classpath
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.cvsignore
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.project
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/about.html
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/build.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logic.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logicbanner.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.xml
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/Activator.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicCreationWizard.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicWizardPage1.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/TabbedPropertiesLogicEditor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/AbstractSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LocationSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementLabelProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementSizeFilter.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementTypeMapper.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/NameSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/SizeSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/TextChangeHelper.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/ValueSection.java
    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/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.forms.examples/about.html
    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/progress.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/NewStylePage.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
    tests/org.eclipse.jface.tests.databinding/.classpath
    tests/org.eclipse.jface.tests.databinding/.cvsignore
    tests/org.eclipse.jface.tests.databinding/.project
    tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.jdt.ui.prefs
    tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.pde.prefs
    tests/org.eclipse.jface.tests.databinding/META-INF/MANIFEST.MF
    tests/org.eclipse.jface.tests.databinding/about.html
    tests/org.eclipse.jface.tests.databinding/build.properties
    tests/org.eclipse.jface.tests.databinding/plugin.properties
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/databinding/SelectionAwareUpdatableCollectionTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/databinding/UpdatableCollectionTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AbstractGetAndSetSelectionUpdatableCollectionTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AutoSelectTableViewerCollectionExtendedTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AutoSelectTableViewerCollectionTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/CComboUpdatableCollectionTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/ComboUpdatableCollectionTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/CopyOfAutoSelectTableViewerCollectionExtendedTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/ListUpdatableCollectionTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/TableViewerUpdatableCollectionTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/UpdatableCollectionViewerTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/BindingTestSuite.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/CalculatedValueTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/DatabindingContextTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/JavaBeansScalarUpdatableValueFactoryTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/UpdatableTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/AutomationUtil.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/BindingScenariosTestSuite.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ButtonControlScenario.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ComboScenarios.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ComboViewerScenario.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/CustomConverterScenarios.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/CustomScenarios.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/LabelControlScenario.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ListViewerScenario.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/MasterDetailScenarios.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/NewTableScenarios.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/PropertyScenarios.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ScenariosTestCase.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/SpinnerControlScenario.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TableScenarios.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TextControlScenario.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TreeScenarios.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/UpdatableFactoriesTest.java
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/smoketest/swt.xswt
    tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/util/Mocks.java
    tests/org.eclipse.jface.tests.databinding/test.xml
    tests/org.eclipse.ui.tests.browser/.classpath
    tests/org.eclipse.ui.tests.browser/.cvsignore
    tests/org.eclipse.ui.tests.browser/.options
    tests/org.eclipse.ui.tests.browser/.project
    tests/org.eclipse.ui.tests.browser/about.html
    tests/org.eclipse.ui.tests.browser/build.properties
    tests/org.eclipse.ui.tests.browser/plugin.xml
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/AllTests.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/DialogsTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExistenceTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExternalBrowserTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserEditorTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserViewTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/OrderedTestSuite.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/PreferencesTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ToolbarBrowserTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/UITestHelper.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/WebBrowserTestsPlugin.java
    tests/org.eclipse.ui.tests.browser/test.xml
    tests/org.eclipse.ui.tests.harness/.classpath
    tests/org.eclipse.ui.tests.harness/.cvsignore
    tests/org.eclipse.ui.tests.harness/.project
    tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.ui.prefs
    tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.pde.prefs
    tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
    tests/org.eclipse.ui.tests.harness/build.properties
    tests/org.eclipse.ui.tests.harness/icons/anything.gif
    tests/org.eclipse.ui.tests.harness/plugin.xml
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/UITestHarnessPlugin.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ActionUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ArrayUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/AutomationUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/CallHistory.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/DialogCheck.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/EmptyPerspective.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileTool.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ImageTests.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/PlatformUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/UITestCase.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FailureDialog.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FocusTestPass.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/IDialogTestPass.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/SizingTestPass.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/VerifyDialog.java
    tests/org.eclipse.ui.tests.performance/.classpath
    tests/org.eclipse.ui.tests.performance/.cvsignore
    tests/org.eclipse.ui.tests.performance/.project
    tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.jdt.ui.prefs
    tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.pde.prefs
    tests/org.eclipse.ui.tests.performance/META-INF/MANIFEST.MF
    tests/org.eclipse.ui.tests.performance/build.properties
    tests/org.eclipse.ui.tests.performance/icons/anything.gif
    tests/org.eclipse.ui.tests.performance/icons/binary_co.gif
    tests/org.eclipse.ui.tests.performance/icons/dynamic.gif
    tests/org.eclipse.ui.tests.performance/icons/editor.gif
    tests/org.eclipse.ui.tests.performance/icons/mockeditorpart1.gif
    tests/org.eclipse.ui.tests.performance/icons/mockeditorpart2.gif
    tests/org.eclipse.ui.tests.performance/icons/view.gif
    tests/org.eclipse.ui.tests.performance/plugin.xml
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ComboViewerRefreshTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/FastTableViewerRefreshTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/FastTreeTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/JFacePerformanceSuite.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ListPopulationTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ListViewerRefreshTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/RefreshTestContentProvider.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/RefreshTestTreeContentProvider.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/SWTTreeTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TableViewerRefreshTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TestElement.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TestTreeElement.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TreeTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TreeViewerRefreshTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ViewerTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ActivitiesPerformanceSuite.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/BasicPerformanceTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/CommandsPerformanceTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ContentDescriberForTestsOnly.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorPerformanceSuite.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorSwitchTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorTestHelper.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/GenerateIdentifiersTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionClasses.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionsPerformance.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseEditorTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenClosePerspectiveTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseViewTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseWindowTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenMultipleEditorTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenNavigatorFolderTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformancePerspective1.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformancePerspective2.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformanceTestRunner.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformanceTester.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerspectiveSwitchTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ResourceTestHelper.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/TestRunnable.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformancePlugin.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformanceTestSetup.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformanceTestSuite.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ViewPerformanceSuite.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/WorkbenchPerformanceSuite.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ComputeSizeTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ConstantAreaLayout.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/EditorWidgetFactory.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/LayoutTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/PerspectiveWidgetFactory.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/PresentationWidgetFactory.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/RecursiveTrimLayoutWidgetFactory.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ResizeTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/TestWidgetFactory.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ViewWidgetFactory.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/marked.txt
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/parts/PerformanceEditorPart.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/parts/PerformanceViewPart.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationActivateTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationActivePartPropertyTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationCreateTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationInactivePartPropertyTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationPerformanceTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationPerformanceTestSuite.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationSelectTest.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationTestbed.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/StandaloneViewPerspective.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/StandaloneViewPerspective2.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/TestPresentablePart.java
    tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/test_ideas.txt
    tests/org.eclipse.ui.tests.performance/test.xml
    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/.settings/org.eclipse.jdt.ui.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/WorkbenchSaveRestoreStateTest.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/META-INF/MANIFEST.MF
    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
    tests/org.eclipse.ui.tests.views.properties.tabbed/.classpath
    tests/org.eclipse.ui.tests.views.properties.tabbed/.cvsignore
    tests/org.eclipse.ui.tests.views.properties.tabbed/.project
    tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
    tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.pde.prefs
    tests/org.eclipse.ui.tests.views.properties.tabbed/META-INF/MANIFEST.MF
    tests/org.eclipse.ui.tests.views.properties.tabbed/about.html
    tests/org.eclipse.ui.tests.views.properties.tabbed/build.properties
    tests/org.eclipse.ui.tests.views.properties.tabbed/icons/sample.gif
    tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.properties
    tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.xml
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/Activator.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/AllTests.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/TabbedPropertySheetPageTest.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Element.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Error.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/File.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Folder.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Information.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Project.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Warning.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/InformationTwoSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/LabelSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/MessageSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/NameSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/ResourceSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/InformationTwoFilter.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/LabelProvider.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsView.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsViewContentProvider.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TypeMapper.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/test.xml
diff --git a/bundles/org.eclipse.ui.browser/.classpath b/bundles/org.eclipse.ui.browser/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.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/bundles/org.eclipse.ui.browser/.cvsignore b/bundles/org.eclipse.ui.browser/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/.options b/bundles/org.eclipse.ui.browser/.options
deleted file mode 100644
index 3481178..0000000
--- a/bundles/org.eclipse.ui.browser/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.ui.browser plugin.
-
-# Turn on debugging for the org.eclipse.ui.browser plugin.
-org.eclipse.ui.browser/debug=false
diff --git a/bundles/org.eclipse.ui.browser/.project b/bundles/org.eclipse.ui.browser/.project
deleted file mode 100644
index 5f58575..0000000
--- a/bundles/org.eclipse.ui.browser/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.browser</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.ui.browser/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 849eb8b..0000000
--- a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Mar 31 17:23:30 EST 2005
-eclipse.preferences.version=1
-encoding//src/org/eclipse/ui/internal/browser/Messages.properties=8859_1
diff --git a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c3e1163..0000000
--- a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,19 +0,0 @@
-#Mon Apr 18 11:31:10 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
diff --git a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9571ac6..0000000
--- a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Apr 18 11:27:52 EDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=default
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
diff --git a/bundles/org.eclipse.ui.browser/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.browser/META-INF/MANIFEST.MF
deleted file mode 100644
index e38772e..0000000
--- a/bundles/org.eclipse.ui.browser/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.browser; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.internal.browser.WebBrowserUIPlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.browser,
- org.eclipse.ui.internal.browser;x-internal:=true,
- org.eclipse.ui.internal.browser.browsers;x-internal:=true,
- org.eclipse.ui.internal.browser.macosx;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.ui.browser/about.html b/bundles/org.eclipse.ui.browser/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.ui.browser/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/build.properties b/bundles/org.eclipse.ui.browser/build.properties
deleted file mode 100644
index fbeeef6..0000000
--- a/bundles/org.eclipse.ui.browser/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               .options,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               .,\
-               META-INF/
-src.includes = about.html
-source.. = src/
-output.. = bin/
diff --git a/bundles/org.eclipse.ui.browser/component.xml b/bundles/org.eclipse.ui.browser/component.xml
deleted file mode 100644
index 8538781..0000000
--- a/bundles/org.eclipse.ui.browser/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="Web Browser Support">
-  <description url=""></description>
-  <component-depends unrestricted="true"></component-depends>
-  <plugin id="org.eclipse.ui.browser" fragment="false"/>
-  <package name="org.eclipse.ui.browser">
-    <type name="BrowserFactory" implement="false" instantiate="false"/>
-  </package>
-</component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_backward.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_backward.gif
deleted file mode 100644
index 740e8ca..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_backward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_forward.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_forward.gif
deleted file mode 100644
index 1956789..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_forward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_go.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_go.gif
deleted file mode 100644
index d6b3bdc..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_go.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_home.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_home.gif
deleted file mode 100644
index 77efb69..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_home.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_print.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_print.gif
deleted file mode 100644
index 0c213c3..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_print.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_refresh.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_refresh.gif
deleted file mode 100644
index 3ca04d0..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_refresh.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_stop.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_stop.gif
deleted file mode 100644
index 1543a11..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_backward.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_backward.gif
deleted file mode 100644
index 82b0e87..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_backward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_forward.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_forward.gif
deleted file mode 100644
index 3f3e5eb..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_forward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_go.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_go.gif
deleted file mode 100644
index 6df73de..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_go.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_home.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_home.gif
deleted file mode 100644
index 4d5d56e..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_home.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_print.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_print.gif
deleted file mode 100644
index 5150ba0..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_print.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_refresh.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_refresh.gif
deleted file mode 100644
index b248482..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_refresh.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_stop.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_stop.gif
deleted file mode 100644
index 4345d57..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/synced.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/synced.gif
deleted file mode 100644
index 4f6e43a..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_backward.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_backward.gif
deleted file mode 100644
index 740e8ca..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_backward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_forward.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_forward.gif
deleted file mode 100644
index 1956789..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_forward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_go.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_go.gif
deleted file mode 100644
index d6b3bdc..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_go.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_home.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_home.gif
deleted file mode 100644
index 77efb69..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_home.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_print.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_print.gif
deleted file mode 100644
index 0c213c3..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_print.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_refresh.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_refresh.gif
deleted file mode 100644
index 3ca04d0..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_refresh.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_stop.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_stop.gif
deleted file mode 100644
index 1543a11..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/synced.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/1.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/1.gif
deleted file mode 100644
index c7f06ad..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/1.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/10.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/10.gif
deleted file mode 100644
index 6c5e636..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/10.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/11.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/11.gif
deleted file mode 100644
index fcfd068..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/11.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/12.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/12.gif
deleted file mode 100644
index 354d703..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/12.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/13.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/13.gif
deleted file mode 100644
index b107a73..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/13.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/2.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/2.gif
deleted file mode 100644
index 5b4d065..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/2.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/3.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/3.gif
deleted file mode 100644
index 040e21b..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/3.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/4.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/4.gif
deleted file mode 100644
index 554a737..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/4.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/5.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/5.gif
deleted file mode 100644
index a929896..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/5.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/6.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/6.gif
deleted file mode 100644
index 402849d..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/6.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/7.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/7.gif
deleted file mode 100644
index 06c2ff3..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/7.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/8.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/8.gif
deleted file mode 100644
index 0aa9c48..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/8.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/9.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/9.gif
deleted file mode 100644
index 658fc65..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/9.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/external_browser.gif b/bundles/org.eclipse.ui.browser/icons/obj16/external_browser.gif
deleted file mode 100644
index de1f948..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/external_browser.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/internal_browser.gif b/bundles/org.eclipse.ui.browser/icons/obj16/internal_browser.gif
deleted file mode 100644
index 229c391..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/internal_browser.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/plugin.properties b/bundles/org.eclipse.ui.browser/plugin.properties
deleted file mode 100644
index cb1de1e..0000000
--- a/bundles/org.eclipse.ui.browser/plugin.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name=Browser Support
-Plugin.providerName=Eclipse.org
-
-browser_extension_point_name=Web Browser
-
-viewWebBrowserTitle=Internal Web Browser
-viewWebBrowserSupportTitle= Web Browser
-preferenceWebBrowserTitle=Web Browser
-preferenceKeywords=HTML Firefox Mozilla Netscape Internet Opera Safari
-
-actionSetWebBrowserTitle=Web Browser
-actionSetOpenWebBrowser=Open Web Browser
-
-command.openBrowser.name=Open Browser
-command.openBrowser.description=Opens the default web browser.
-commandParameter.openBrowser.url.name=URL
-commandParameter.openBrowser.browserId.name=Browser Id
-commandParameter.openBrowser.name.name=Browser Name
-commandParameter.openBrowser.tooltip.name=Browser Tooltip
-
-browserInternetExplorer=Internet Explorer
-browserNetscape4=Netscape Communicator v4.x
-browserNetscape7=Netscape v7.x
-browserNetscape=Netscape
-browserMozilla=Mozilla
-browserOpera=Opera
-browserKonqueror=Konqueror
-browserGaleon=Galeon
-browserFirefox=Firefox
-browserSafari=Safari
-browserCamino=Camino
diff --git a/bundles/org.eclipse.ui.browser/plugin.xml b/bundles/org.eclipse.ui.browser/plugin.xml
deleted file mode 100644
index 31d2e86..0000000
--- a/bundles/org.eclipse.ui.browser/plugin.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point id="browsers" name="%browser_extension_point_name" schema="schema/browsers.exsd"/>
-
-   <extension point="org.eclipse.ui.preferencePages">
-      <page
-         id="org.eclipse.ui.browser.preferencePage"
-         name="%preferenceWebBrowserTitle"
-         category="org.eclipse.ui.preferencePages.Workbench"
-         class="org.eclipse.ui.internal.browser.WebBrowserPreferencePage">
-           <keywordReference id="org.eclipse.ui.browser.preferenceKeywords"/>
-      </page>
-   </extension>
-
-   <extension point="org.eclipse.ui.keywords">
-      <keyword
-         label="%preferenceKeywords"
-         id="org.eclipse.ui.browser.preferenceKeywords"/>
-   </extension>  
-
-   <extension point="org.eclipse.ui.browserSupport">
-      <support
-         default="true"
-         class="org.eclipse.ui.internal.browser.DefaultBrowserSupport"/>
-   </extension>
-
-   <extension point="org.eclipse.ui.views">
-      <view
-         allowMultiple="true"
-         category="org.eclipse.ui"
-         class="org.eclipse.ui.internal.browser.WebBrowserView"
-         icon="icons/obj16/internal_browser.gif"
-         id="org.eclipse.ui.browser.view"
-         name="%viewWebBrowserTitle"/>
-   </extension>
-
-   <extension point="org.eclipse.ui.editors">
-      <editor
-         class="org.eclipse.ui.internal.browser.WebBrowserEditor"
-         contributorClass="org.eclipse.ui.internal.browser.WebBrowserEditorActionBarContributor"
-         icon="icons/obj16/internal_browser.gif"
-         id="org.eclipse.ui.browser.editor"
-         name="%viewWebBrowserTitle"/>
-      <editor
-         extensions="htm,html,shtml"
-         icon="icons/obj16/internal_browser.gif"
-         id="org.eclipse.ui.browser.editorSupport"
-         launcher="org.eclipse.ui.internal.browser.BrowserLauncher"
-         name="%viewWebBrowserSupportTitle"/>
-  </extension>
-
-<!--
-  <extension point="org.eclipse.ui.actionSets">
-    <actionSet
-      id="org.eclipse.ui.browser.actionSet"
-      label="%actionSetWebBrowserTitle"
-      visible="true">
-      <action
-        id="org.eclipse.ui.browser.action.open"
-        toolbarPath="browser"
-        label="%actionSetOpenWebBrowser"
-        tooltip="%actionSetOpenWebBrowser"
-        icon="icons/obj16/internal_browser.gif"
-        class="org.eclipse.ui.internal.browser.OpenBrowserWorkbenchAction"/>
-    </actionSet>
-  </extension>
--->
-
-   <!-- Web Browsers -->
-   <extension point="org.eclipse.ui.browser.browsers">
-      <!-- Linux -->
-      <browser
-         id="org.eclipse.ui.browser.mozilla"
-         name="%browserMozilla"
-         os="linux,aix,hpux,solaris"
-         executable="mozilla"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>usr/bin/mozilla</location>
-         <location>usr/X11/bin/mozilla</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.netscape"
-         name="%browserNetscape"
-         os="linux,aix,hpux,solaris"
-         executable="netscape"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>usr/bin/netscape</location>
-         <location>usr/X11R6/bin/netscape</location>
-         <location>usr/dt/bin/netscape</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.firefox"
-         name="%browserFirefox"
-         os="linux,aix,hpux,solaris"
-         executable="firefox"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.konqueror"
-         name="%browserKonqueror"
-         os="linux,aix,hpux,solaris"
-         executable="konqueror">
-         <location>opt/kde3/bin/konqueror</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.galeon"
-         name="%browserGaleon"
-         os="linux,aix,hpux,solaris"
-         executable="galeon">
-         <location>opt/usr/gnome/bin/galeon</location>
-      </browser>
-      
-      <!-- Windows -->
-      <browser
-         id="org.eclipse.ui.browser.mozilla"
-         name="%browserMozilla"
-         os="Win32"
-         executable="mozilla.exe"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Program Files\mozilla.org\Mozilla\mozilla.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.netscape7"
-         name="%browserNetscape7"
-         os="Win32"
-         executable="netsc.exe"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Program Files\Netscape\Netscape\netscp.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.netscape4"
-         name="%browserNetscape4"
-         os="Win32"
-         executable="netscape.exe"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Program Files\Netscape\Communicator\Program\netscape.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.firefox"
-         name="%browserFirefox"
-         os="Win32"
-         executable="firefox.exe"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Program Files\mozilla.org\Firefox\firefox.exe</location>
-         <location>Program Files\Mozilla Firefox\firefox.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.ie"
-         name="%browserInternetExplorer"
-         os="Win32"
-         executable="iexplore.exe">
-         <location>Program Files\Internet Explorer\iexplore.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.opera"
-         name="%browserOpera"
-         os="Win32"
-         executable="opera.exe">
-         <location>Program Files\Opera7\opera.exe</location>
-      </browser>
-      
-      <!-- Mac -->
-      <browser
-         id="org.eclipse.ui.browser.firefox"
-         name="%browserFirefox"
-         os="MacOSX"
-         executable="firefox-bin"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Applications/Firefox.app/Contents/MacOS/firefox-bin</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.camino"
-         name="%browserCamino"
-         os="MacOSX"
-         executable="Camino">
-         <location>Applications/Camino.app/Contents/MacOS/Camino</location>
-      </browser>
-<!--      <browser
-         id="org.eclipse.ui.browser.safari"
-         name="%browserSafari"
-         os="MacOSX"
-         executable="Safari"
-         factoryclass="org.eclipse.ui.internal.browser.macosx.SafariBrowserFactory">
-         <location>Applications/Safari.app/Contents/MacOS/Safari</location>
-      </browser> -->
-      <browser
-         id="org.eclipse.ui.browser.mozilla"
-         name="%browserMozilla"
-         os="MacOSX"
-         executable="mozilla-bin"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Applications/Mozilla.app/Contents/MacOS/mozilla-bin</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.ie"
-         name="%browserInternetExplorer"
-         os="MacOSX"
-         executable="Internet&#0032;Explorer">
-         <location>Applications/Internet Explorer.app/Contents/MacOS/"Internet Explorer"</location>
-      </browser>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            categoryId="org.eclipse.ui.category.window"
-            defaultHandler="org.eclipse.ui.internal.browser.OpenBrowserHandler"
-            description="%command.openBrowser.description"
-            id="org.eclipse.ui.browser.openBrowser"
-            name="%command.openBrowser.name">
-         <commandParameter
-               id="url"
-               name="%commandParameter.openBrowser.url.name"
-               optional="true"/>
-         <commandParameter
-               id="browserId"
-               name="%commandParameter.openBrowser.browserId.name"
-               optional="true"/>
-         <commandParameter
-               id="name"
-               name="%commandParameter.openBrowser.name.name"
-               optional="true"/>
-         <commandParameter
-               id="tooltip"
-               name="%commandParameter.openBrowser.tooltip.name"
-               optional="true"/>
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commandImages">
-      <image
-            commandId="org.eclipse.ui.browser.openBrowser"
-            icon="icons/obj16/internal_browser.gif"/>
-   </extension>
-
-</plugin>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/schema/browsers.exsd b/bundles/org.eclipse.ui.browser/schema/browsers.exsd
deleted file mode 100644
index 892daaf..0000000
--- a/bundles/org.eclipse.ui.browser/schema/browsers.exsd
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.browser">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.browser" id="browsers" name="Browsers"/>
-      </appInfo>
-      <documentation>
-         For providing web browsers capable of displaying html documents at a given URL.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="browser" 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="browser">
-      <complexType>
-         <sequence>
-            <element ref="location"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique ID of the browser.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="factoryclass" type="string">
-            <annotation>
-               <documentation>
-                  the implementation class for the browser factory. This class must implement the &lt;samp&gt;org.eclipse.ui.browser.BrowserFactory&lt;/samp&gt; interface.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.help.browser.IBrowserFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the browser (translatable).
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="os" type="string">
-            <annotation>
-               <documentation>
-                  comma separated list of operating systems. Only browsers with the correct OS will be used. If the os parameter is empty, the browser will be assumed to work on all OS
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="executable" type="string">
-            <annotation>
-               <documentation>
-                  the executable filename
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="location" type="string">
-      <annotation>
-         <documentation>
-            Default install locations. these locations should not contain the initial path, as it will be substituted with all known drives. (e.g. on Windows, a location of &quot;test.exe&quot; would look for &quot;c:\test.exe&quot;, &quot;d:\test.exe&quot;, etc. for all known drives.
-         </documentation>
-      </annotation>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0 (originally added in release 2.0 as org.eclipse.help.ui.browser)
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is a sample usage of the browser extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.help.base.browser&quot;&gt;
-  &lt;browser 
-   id=&quot;org.eclipse.myPlugin.myBrowserID&quot;
-   factoryClass=&quot;org.eclipse.myPlugin.myPackage.MyFactoryClass&quot;
-   name=&quot;My Browser&quot;&gt;
-  &lt;/browser&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The supplied factory class must implement the &lt;samp&gt;org.eclipse.help.browser.IBrowserFactory&lt;/samp&gt; interface.
-Methods in that interface determine whether the factory is available on the given system, i.e. is capable
-of supplying browser instances, and create browser instances that implement IBrowser interface.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The &lt;samp&gt;org.eclipse.help.base&lt;/samp&gt; and &lt;samp&gt;org.eclipse.help.ui&lt;/samp&gt; plug-ins contain implementation of browsers on common platforms.
-Other plug-ins can provide different implementations.  In the preferences, the user can select the default
-browser from among available browsers.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 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 Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/browser/BrowserFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/browser/BrowserFactory.java
deleted file mode 100644
index e98d206..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/browser/BrowserFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.browser;
-
-import org.eclipse.ui.browser.IWebBrowser;
-/**
- * Implementators of <code>org.eclipse.ui.browser.browsers</code> extension
- * points must provide an implementation of this abstract class.
- * 
- * @since 3.1
- */
-public abstract class BrowserFactory {
-	/**
-	 * Checks whether the factory can work on the user system.
-	 * 
-	 * @return <code>false</code> if the factory can work on this system; for
-	 *    example the required native browser required by browser adapters that
-	 *    it creates is not installed, or <code>true</code> otherwise
-	 */
-	public boolean isAvailable() {
-		return true;
-	}
-
-	/**
-	 * Obtains a new instance of a web browser.
-	 * 
-	 * @param id the browser id
-	 * @param location the browser location
-	 * @param parameters the browser parameters
-	 * @return an instance of IWebBrowser
-	 */
-	public abstract IWebBrowser createBrowser(String id, String location, String parameters);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptor.java
deleted file mode 100644
index b033a1f..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptor.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.ui.IMemento;
-/**
- * 
- */
-public class BrowserDescriptor implements IBrowserDescriptor {
-	private static final String MEMENTO_NAME = "name"; //$NON-NLS-1$
-	private static final String MEMENTO_LOCATION = "location"; //$NON-NLS-1$
-	private static final String MEMENTO_PARAMETERS = "parameters"; //$NON-NLS-1$
-
-	protected String name;
-	protected String location;
-	protected String parameters;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IWebBrowser#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptor#getLocation()
-	 */
-	public String getLocation() {
-		return location;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptor#getParameters()
-	 */
-	public String getParameters() {
-		return parameters;
-	}
-	
-	public void delete() {
-		BrowserManager.getInstance().removeWebBrowser(this);
-	}
-
-	public boolean isWorkingCopy() {
-		return false;
-	}
-
-	public IBrowserDescriptorWorkingCopy getWorkingCopy() {
-		return new BrowserDescriptorWorkingCopy(this);
-	}
-
-	protected void setInternal(IBrowserDescriptor browser) {
-		name = browser.getName();
-		location = browser.getLocation();
-		parameters = browser.getParameters();
-	}
-
-	protected void save(IMemento memento) {
-		memento.putString(MEMENTO_NAME, name);
-		memento.putString(MEMENTO_LOCATION, location);
-		memento.putString(MEMENTO_PARAMETERS, parameters);
-	}
-
-	protected void load(IMemento memento) {
-		name = memento.getString(MEMENTO_NAME);
-		location = memento.getString(MEMENTO_LOCATION);
-		parameters = memento.getString(MEMENTO_PARAMETERS);
-	}
-
-	public String toString() {
-		return "External Web browser: " + getName() + " / " + getLocation() + " / " + getParameters();   //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorDialog.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorDialog.java
deleted file mode 100644
index 802ecb6..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorDialog.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-/**
- * 
- */
-public class BrowserDescriptorDialog extends Dialog {
-	protected IBrowserDescriptorWorkingCopy browser;
-	protected boolean isEdit;
-	protected Button newPageCheckbox;
-	protected Button clearHistoryCheckbox;
-	protected Button browseButton;
-	protected Text browserNameTextfield;
-	protected Text browserLocationTextfield;
-	protected Text browserParametersTextfield;
-	private Button okButton;
-	
-	interface StringModifyListener {
-		public void valueChanged(String s);
-	}
-	
-	/**
-	 * @param parentShell
-	 */
-	public BrowserDescriptorDialog(Shell parentShell, IBrowserDescriptorWorkingCopy browser) {
-		super(parentShell);
-		this.browser = browser;
-		isEdit = true;
-	}
-
-	public BrowserDescriptorDialog(Shell parentShell) {
-		super(parentShell);
-		browser = BrowserManager.getInstance().createExternalWebBrowser();
-		isEdit = false;
-	}
-
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		
-		if (isEdit)
-			shell.setText(Messages.editExternalBrowser);
-		else
-			shell.setText(Messages.createBrowser);
-	}
-
-	protected Text createText(Composite comp, String txt, final StringModifyListener listener) {
-		final Text text = new Text(comp, SWT.BORDER);
-		if (txt != null)
-			text.setText(txt);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = 250;
-		text.setLayoutData(data);
-		if (listener != null)
-			text.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {	
-					listener.valueChanged(text.getText());
-				}
-			});
-		return text;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		((GridLayout)composite.getLayout()).numColumns = 3;
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF_BROWSER_DIALOG);
-		
-		SWTUtil.createLabel(composite, Messages.name);
-		browserNameTextfield = createText(composite, browser.getName(), new StringModifyListener() {
-			public void valueChanged(String s) {
-				browser.setName(s);
-				validateFields();
-			}
-		});
-		
-		new Label(composite, SWT.NONE);
-	
-		SWTUtil.createLabel(composite, Messages.location);
-		browserLocationTextfield = createText(composite, browser.getLocation(), new StringModifyListener() {
-			public void valueChanged(String s) {
-				browser.setLocation(s);
-				validateFields();
-			}
-		});		
-		
-		browseButton = SWTUtil.createButton(composite, Messages.browse);
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				FileDialog dialog = new FileDialog(getShell(), SWT.OPEN);
-				dialog.setText(Messages.browseMessage);
-				
-				String fname = browserLocationTextfield.getText();
-				
-				dialog.setFileName(fname);
-				fname = dialog.open();
-				
-				if (fname != null)
-					browserLocationTextfield.setText(fname);
-			}
-		});
-		
-		SWTUtil.createLabel(composite, Messages.parameters);
-		browserParametersTextfield = createText(composite, browser.getParameters(), new StringModifyListener() {
-			public void valueChanged(String s) {
-				browser.setParameters(s);
-			}
-		});
-
-		new Label(composite, SWT.NONE);
-		
-		new Label(composite, SWT.NONE);
-		Label urlLabel = new Label(composite, SWT.NONE);
-		urlLabel.setText(NLS.bind(Messages.parametersMessage, IBrowserDescriptor.URL_PARAMETER));
-		
-		return composite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		// do simple field validation to at least ensure target directory entered is valid pathname
-		try {
-		File file = new File(browser.getLocation());
-			if(!file.isFile()){
-				WebBrowserUtil.openError(Messages.locationInvalid);
-				return;
-			}
-		}
-		catch(Exception e){
-			WebBrowserUtil.openError(Messages.locationInvalid);
-			return;
-		}
-		
-		browser.save();
-		super.okPressed();
-	}
-	
-	private void setOKButtonEnabled(boolean curIsEnabled) {
-		if (okButton == null)
-			okButton = getButton(IDialogConstants.OK_ID);
-		
-		if (okButton != null)
-			okButton.setEnabled(curIsEnabled);
-	}
-	
-	protected Control createButtonBar(Composite parent) {
-		Control buttonControl = super.createButtonBar(parent);
-		validateFields();
-		return buttonControl;
-	}
-	
-	protected void validateFields() {
-		boolean valid = true;
-		
-		String name = browserNameTextfield.getText();
-		if (name == null || name.trim().length() < 1)
-			valid = false;
-		
-		String location = browserLocationTextfield.getText();
-		if (location == null || location.trim().length() < 1)
-			valid = false;
-		
-		setOKButtonEnabled(valid);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorWorkingCopy.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorWorkingCopy.java
deleted file mode 100644
index c822406..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorWorkingCopy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * 
- */
-public class BrowserDescriptorWorkingCopy extends BrowserDescriptor implements IBrowserDescriptorWorkingCopy {
-	protected BrowserDescriptor browser;
-
-	// creation
-	public BrowserDescriptorWorkingCopy() {
-		// do nothing
-	}
-
-	// working copy
-	public BrowserDescriptorWorkingCopy(BrowserDescriptor browser) {
-		this.browser = browser;
-		setInternal(browser);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		if (name == null)
-			throw new IllegalArgumentException();
-		this.name = name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy#setLocation(java.lang.String)
-	 */
-	public void setLocation(String location) {
-		this.location = location;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy#setParameters(java.lang.String)
-	 */
-	public void setParameters(String params) {
-		this.parameters = params;
-	}
-
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	public IBrowserDescriptorWorkingCopy getWorkingCopy() {
-		return this;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy#save()
-	 */
-	public IBrowserDescriptor save() {
-		if (browser != null) {
-			browser.setInternal(this);
-			BrowserManager.getInstance().saveBrowsers();
-		} else {
-			browser = new BrowserDescriptor();
-			browser.setInternal(this);
-			BrowserManager.getInstance().addBrowser(browser);
-		}
-		return browser;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserExt.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserExt.java
deleted file mode 100644
index 5aa1212..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserExt.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-/**
- * @since 1.0
- */
-public class BrowserExt implements IBrowserExt {
-	private static final String ATTR_FACTORY_CLASS = "factoryclass"; //$NON-NLS-1$
-
-	private IConfigurationElement element;
-
-	private BrowserFactory delegate;
-
-	/**
-	 * BrowserExt constructor comment.
-	 */
-	public BrowserExt(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this browser.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id"); //$NON-NLS-1$
-	}
-
-	public String getName() {
-		String label = element.getAttribute("name"); //$NON-NLS-1$
-		if (label == null)
-			return "n/a"; //$NON-NLS-1$
-		return label;
-	}
-
-	public String getParameters() {
-		return element.getAttribute("parameters"); //$NON-NLS-1$
-	}
-
-	public String getExecutable() {
-		return element.getAttribute("executable"); //$NON-NLS-1$
-	}
-
-	public String getOS() {
-		String os = element.getAttribute("os"); //$NON-NLS-1$
-		if (os == null)
-			os = ""; //$NON-NLS-1$
-		return os;
-	}
-
-	public String[] getDefaultLocations() {
-		List list = new ArrayList();
-		IConfigurationElement[] children = element.getChildren("location"); //$NON-NLS-1$
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				list.add(children[i].getValue());
-			}
-		}
-
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	protected BrowserFactory getDelegate() {
-		if (delegate == null) {
-			if (element.getAttribute(ATTR_FACTORY_CLASS) == null
-					|| element.getAttribute(ATTR_FACTORY_CLASS).length() == 0)
-				return null;
-
-			try {
-				delegate = (BrowserFactory) element
-						.createExecutableExtension(ATTR_FACTORY_CLASS);
-			} catch (Exception e) {
-				Trace
-						.trace(
-								Trace.SEVERE,
-								"Could not create delegate" + toString() + ": " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * Checks whether the factory can work on the user system.
-	 * 
-	 * @return false if the factory cannot work on this system; for example the
-	 *         required native browser required by browser adapters that it
-	 *         creates is not installed
-	 */
-	public boolean isAvailable() {
-		if (delegate == null && (element.getAttribute(ATTR_FACTORY_CLASS) == null
-				|| element.getAttribute(ATTR_FACTORY_CLASS).length() == 0))
-			return true;
-		
-		try {
-			return getDelegate().isAvailable();
-		} catch (Exception e) {
-			Trace
-					.trace(
-							Trace.SEVERE,
-							"Error calling delegate " + toString() + ": " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-			return false;
-		}
-	}
-
-	/**
-	 * Obtains a new instance of a web browser.
-	 * 
-	 * @return instance of IBrowser
-	 */
-	public IWebBrowser createBrowser(String id, String location,
-			String parameters) {
-		try {
-			return getDelegate().createBrowser(id, location, parameters);
-		} catch (Exception e) {
-			Trace
-					.trace(
-							Trace.SEVERE,
-							"Error calling delegate " + toString() + ": " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-			return null;
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		String s = "BrowserExt: " + getId() + ", " + getName() + ", " + getOS()  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-				+ ", " + getExecutable() + ", " + getParameters() + ", ";  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-		String[] locations = getDefaultLocations();
-		if (locations != null) {
-			int size = locations.length;
-			for (int i = 0; i < size; i++) {
-				s += locations[i] + ";"; //$NON-NLS-1$
-			}
-		}
-		return s;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserLauncher.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserLauncher.java
deleted file mode 100644
index cb1bcd0..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserLauncher.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.MalformedURLException;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IEditorLauncher;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-public class BrowserLauncher implements IEditorLauncher {
-
-	public BrowserLauncher() {
-		// do nothing
-	}
-
-	public void open(IPath file) {
-		IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
-		try {
-			if (WebBrowserPreference.getBrowserChoice()== WebBrowserPreference.INTERNAL)
-				support.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR,
-						file.toPortableString(), null, null).openURL(file.toFile().toURL());
-			else
-				support.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR,
-						DefaultBrowserSupport.SHARED_ID, null, null).openURL(file.toFile().toURL());
-		}
-		catch (MalformedURLException e) {
-			// ignore
-		}
-		catch (PartInitException e) {
-			MessageDialog.openError(PlatformUI.getWorkbench().getDisplay().getActiveShell(),
-					Messages.errorDialogTitle, e.getLocalizedMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java
deleted file mode 100644
index 0343373..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Observable;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.XMLMemento;
-/**
- * 
- */
-public class BrowserManager extends Observable {
-	protected List browsers;
-	protected IBrowserDescriptor currentBrowser;
-	
-	private Preferences.IPropertyChangeListener pcl;
-	protected boolean ignorePreferenceChanges = false;
-
-	protected static BrowserManager instance;
-	
-	public static BrowserManager getInstance() {
-		if (instance == null)
-			instance = new BrowserManager();
-		return instance;
-	}
-
-	private BrowserManager() {
-		pcl = new Preferences.IPropertyChangeListener() {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				String property = event.getProperty();
-				if (!ignorePreferenceChanges && property.equals("browsers")) { //$NON-NLS-1$
-					loadBrowsers();
-				}
-				setChanged();
-				notifyObservers();
-			}
-		};
-		
-		WebBrowserUIPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl);
-	}
-
-	protected static void safeDispose() {
-		if (instance == null)
-			return;
-		instance.dispose();
-	}
-
-	protected void dispose() {
-		Preferences prefs = WebBrowserUIPlugin.getInstance().getPluginPreferences();
-		if (prefs != null)
-			prefs.removePropertyChangeListener(pcl);
-	}
-
-	public IBrowserDescriptorWorkingCopy createExternalWebBrowser() {
-		return new BrowserDescriptorWorkingCopy();
-	}	
-
-	public List getWebBrowsers() {
-		if (browsers == null)
-			loadBrowsers();
-		return new ArrayList(browsers);
-	}
-
-	protected void loadBrowsers() {
-		Trace.trace(Trace.FINEST, "Loading web browsers"); //$NON-NLS-1$
-		
-		Preferences prefs = WebBrowserUIPlugin.getInstance().getPluginPreferences();
-		String xmlString = prefs.getString("browsers"); //$NON-NLS-1$
-		if (xmlString != null && xmlString.length() > 0) {
-			browsers = new ArrayList();
-			
-			try {
-				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes());
-				Reader reader = new InputStreamReader(in);
-				IMemento memento = XMLMemento.createReadRoot(reader);
-				
-				IMemento system = memento.getChild("system"); //$NON-NLS-1$
-				if (system != null && WebBrowserUtil.canUseSystemBrowser())
-					browsers.add(new SystemBrowserDescriptor());
-				
-				IMemento[] children = memento.getChildren("external"); //$NON-NLS-1$
-				int size = children.length;
-				for (int i = 0; i < size; i++) {
-					BrowserDescriptor browser = new BrowserDescriptor();
-					browser.load(children[i]);
-					browsers.add(browser);
-				}
-				
-				Integer current = memento.getInteger("current"); //$NON-NLS-1$
-				if (current != null) {
-					currentBrowser = (IBrowserDescriptor) browsers.get(current.intValue()); 
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load browsers: " + e.getMessage()); //$NON-NLS-1$
-			}
-			
-			IBrowserDescriptor system = new SystemBrowserDescriptor();
-			if (WebBrowserUtil.canUseSystemBrowser() && !browsers.contains(system)) {
-				browsers.add(0, system);
-				currentBrowser = system;
-				saveBrowsers();
-			}
-		} else {
-			setupDefaultBrowsers();
-			saveBrowsers();
-		}
-		
-		if (currentBrowser == null && browsers.size() > 0)
-			currentBrowser = (IBrowserDescriptor) browsers.get(0);
-		setChanged();
-		notifyObservers();
-	}
-
-	protected void saveBrowsers() {
-		try {
-			ignorePreferenceChanges = true;
-			XMLMemento memento = XMLMemento.createWriteRoot("web-browsers"); //$NON-NLS-1$
-
-			Iterator iterator = browsers.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				if (obj instanceof BrowserDescriptor) {
-					BrowserDescriptor browser = (BrowserDescriptor) obj;
-					IMemento child = memento.createChild("external"); //$NON-NLS-1$
-					browser.save(child);
-				} else if (obj instanceof SystemBrowserDescriptor) {
-					memento.createChild("system"); //$NON-NLS-1$
-				}
-			}
-			
-			memento.putInteger("current", browsers.indexOf(currentBrowser)); //$NON-NLS-1$
-
-			StringWriter writer = new StringWriter();
-			memento.save(writer);
-			String xmlString = writer.getBuffer().toString();
-			Preferences prefs = WebBrowserUIPlugin.getInstance().getPluginPreferences();
-			prefs.setValue("browsers", xmlString); //$NON-NLS-1$
-			WebBrowserUIPlugin.getInstance().savePluginPreferences();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save browsers", e); //$NON-NLS-1$
-		}
-		ignorePreferenceChanges = false;
-	}
-
-	protected void setupDefaultBrowsers() {
-		browsers = new ArrayList();
-
-		// add system browser
-		if (WebBrowserUtil.canUseSystemBrowser()) {
-			IBrowserDescriptor system = new SystemBrowserDescriptor();
-			browsers.add(system);
-		}
-		
-		// handle all the EXTERNAL browsers by criteria and add those too at startup
-		WebBrowserUtil.addFoundBrowsers(browsers);
-		
-		// by default, if internal is there, that is current, else set the first external one
-		if (!browsers.isEmpty() && currentBrowser == null)
-			currentBrowser = (IBrowserDescriptor) browsers.get(0);
-	}
-
-	protected void addBrowser(IBrowserDescriptor browser) {
-		if (browsers == null)
-			loadBrowsers();
-		if (!browsers.contains(browser))
-			browsers.add(browser);
-		if (browsers.size() == 1)
-			setCurrentWebBrowser(browser);
-		
-		saveBrowsers();
-	}
-
-	protected void removeWebBrowser(IBrowserDescriptor browser) {
-		if (browsers == null)
-			loadBrowsers();
-		browsers.remove(browser);
-		
-		if (currentBrowser == null || currentBrowser.equals(browser)) {
-			currentBrowser = null;
-			if (browsers.size() > 0)
-				currentBrowser = (IBrowserDescriptor) browsers.get(0);
-		}
-	}
-
-	public IBrowserDescriptor getCurrentWebBrowser() {
-		if (browsers == null)
-			loadBrowsers();
-
-		if (currentBrowser == null && browsers.size() > 0)
-			return (IBrowserDescriptor) browsers.get(0);
-		
-		return currentBrowser; 
-	}
-
-	public void setCurrentWebBrowser(IBrowserDescriptor wb) {
-		if (wb == null)
-			throw new IllegalArgumentException();
-
-		if (browsers.contains(wb))
-			currentBrowser = wb;
-		else
-			throw new IllegalArgumentException();
-		saveBrowsers();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserText.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserText.java
deleted file mode 100644
index 0aa7015..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserText.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package org.eclipse.ui.internal.browser;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.jface.resource.JFaceResources;
-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.Color;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-
-public class BrowserText {
-    private String url;
-
-    private FallbackScrolledComposite scomp;
-
-    private Label title;
-
-    private Label exTitle;
-
-    private Label text;
-
-    private Label sep;
-
-    protected Link link;
-
-    private BrowserViewer viewer;
-
-    private Button button;
-
-    private Text exception;
-
-    private boolean expanded;
-
-    private Throwable ex;
-
-    class ReflowScrolledComposite extends FallbackScrolledComposite {
-        public ReflowScrolledComposite(Composite parent, int style) {
-            super(parent, style);
-        }
-
-        public void reflow(boolean flushCache) {
-            updateWidth(this);
-            super.reflow(flushCache);
-        }
-    }
-
-    public BrowserText(Composite parent, BrowserViewer viewer, Throwable ex) {
-        this.viewer = viewer;
-        this.ex = ex;
-        Color bg = parent.getDisplay()
-                .getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-        scomp = new ReflowScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
-        Composite client = new Composite(scomp, SWT.NULL);
-        fillContent(client, bg);
-        scomp.setContent(client);        
-        scomp.setBackground(bg);
-    }
-
-    private void fillContent(Composite parent, Color bg) {
-        GridLayout layout = new GridLayout();
-        layout.verticalSpacing = 10;
-        parent.setLayout(layout);
-        title = new Label(parent, SWT.WRAP);
-        title.setText(Messages.BrowserText_title);
-        title.setFont(JFaceResources.getHeaderFont());
-        title.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        title.setBackground(bg);
-
-        link = new Link(parent, SWT.WRAP);
-        link.setText(Messages.BrowserText_link);
-        link.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        link.setToolTipText(Messages.BrowserText_tooltip);
-        link.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                BusyIndicator.showWhile(link.getDisplay(), new Runnable() {
-                    public void run() {
-                        doOpenExternal();
-                    }
-                });
-            }
-        });
-        link.setBackground(bg);
-        sep = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-        sep.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        exTitle = new Label(parent, SWT.NULL);
-        exTitle.setBackground(bg);
-        exTitle.setFont(JFaceResources.getBannerFont());
-        exTitle.setText(Messages.BrowserText_dtitle);
-        exTitle.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        text = new Label(parent, SWT.WRAP);
-        text.setText(Messages.BrowserText_text);
-        text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        text.setBackground(bg);
-        button = new Button(parent, SWT.PUSH);
-        updateButtonText();
-        button.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                toggleException();
-            }
-        });
-        exception = new Text(parent, SWT.MULTI);
-        loadExceptionText();
-        GridData gd = new GridData(GridData.FILL_BOTH);
-        gd.exclude = true;
-        exception.setLayoutData(gd);
-    }
-
-    private void loadExceptionText() {
-        StringWriter swriter = new StringWriter();
-        PrintWriter writer = new PrintWriter(swriter);
-        writer.println(ex.getMessage());
-        ex.printStackTrace(writer);
-        writer.close();
-        exception.setText(swriter.toString());
-    }
-
-    protected void toggleException() {
-        expanded = !expanded;
-        updateButtonText();
-        GridData gd = (GridData) exception.getLayoutData();
-        gd.exclude = !expanded;
-        exception.setVisible(expanded);
-        refresh();
-    }
-
-    private void updateButtonText() {
-        if (expanded)
-            button.setText(Messages.BrowserText_button_collapse);
-        else
-            button.setText(Messages.BrowserText_button_expand);
-    }
-
-    protected void updateWidth(Composite parent) {
-        Rectangle area = parent.getClientArea();
-        updateWidth(title, area.width);
-        updateWidth(text, area.width);
-        updateWidth(sep, area.width);
-        updateWidth(link, area.width);
-        updateWidth(exTitle, area.width);
-        updateWidth(exception, area.width);
-    }
-
-    private void updateWidth(Control c, int width) {
-        GridData gd = (GridData) c.getLayoutData();
-        if (gd != null)
-            gd.widthHint = width - 10;
-    }
-
-    protected void doOpenExternal() {
-        IBrowserViewerContainer container = viewer.getContainer();
-        if (container != null)
-            container.openInExternalBrowser(url);
-    }
-
-    public Control getControl() {
-        return scomp;
-    }
-
-    public boolean setUrl(String url) {
-        this.url = url;
-        return true;
-    }
-
-    public void setFocus() {
-        link.setFocus();
-    }
-
-    public String getUrl() {
-        return url;
-    }
-
-    public void refresh() {
-        scomp.reflow(true);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserViewer.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserViewer.java
deleted file mode 100644
index 366fb3f..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserViewer.java
+++ /dev/null
@@ -1,953 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.CloseWindowListener;
-import org.eclipse.swt.browser.LocationEvent;
-import org.eclipse.swt.browser.LocationListener;
-import org.eclipse.swt.browser.OpenWindowListener;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.ProgressListener;
-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.VisibilityWindowListener;
-import org.eclipse.swt.browser.WindowEvent;
-import org.eclipse.swt.dnd.Clipboard;
-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.layout.FillLayout;
-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.Display;
-import org.eclipse.swt.widgets.Event;
-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.ui.PlatformUI;
-
-/**
- * A Web browser widget. It extends the Eclipse SWT Browser widget by adding an
- * optional toolbar complete with a URL combo box, history, back & forward, and
- * refresh buttons.
- * <p>
- * Use the style bits to choose which toolbars are available within the browser
- * composite. You can access the embedded SWT Browser directly using the
- * getBrowser() method.
- * </p>
- * <p>
- * Additional capabilities are available when used as the internal Web browser,
- * including status text and progress on the Eclipse window's status line, or
- * moving the toolbar capabilities up into the main toolbar.
- * </p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>LOCATION_BAR, BUTTON_BAR</dd>
- * <dt><b>Events:</b></dt>
- * <dd>None</dd>
- * </dl>
- * 
- * @since 1.0
- */
-public class BrowserViewer extends Composite {
-    /**
-     * Style parameter (value 1) indicating that the URL and Go button will be
-     * on the local toolbar.
-     */
-    public static final int LOCATION_BAR = 1 << 1;
-
-    /**
-     * Style parameter (value 2) indicating that the toolbar will be available
-     * on the web browser. This style parameter cannot be used without the
-     * LOCATION_BAR style.
-     */
-    public static final int BUTTON_BAR = 1 << 2;
-	 
-	 protected static final String PROPERTY_TITLE = "title"; //$NON-NLS-1$
-
-    private static final int MAX_HISTORY = 50;
-
-    public Clipboard clipboard;
-
-    public Combo combo;
-
-    protected boolean showToolbar;
-
-    protected boolean showURLbar;
-
-    protected ToolItem back;
-
-    protected ToolItem forward;
-
-    protected BusyIndicator busy;
-
-    protected boolean loading;
-
-    protected static java.util.List history;
-
-    protected Browser browser;
-    
-    protected BrowserText text;
-
-    protected boolean newWindow;
-
-    protected IBrowserViewerContainer container;
-
-    protected String title;
-
-    protected int progressWorked = 0;
-	 
-	 protected List propertyListeners;
-
-    /**
-     * Under development - do not use
-     */
-    public static interface ILocationListener {
-        public void locationChanged(String url);
-
-        public void historyChanged(String[] history2);
-    }
-
-    public ILocationListener locationListener;
-
-    /**
-     * Under development - do not use
-     */
-    public static interface IBackNextListener {
-        public void updateBackNextBusy();
-    }
-
-    public IBackNextListener backNextListener;
-
-    /**
-     * Creates a new Web browser 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 the class
-     * header or 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 composite control which will be the parent of the new
-     *            instance (cannot be null)
-     * @param style
-     *            the style of control to construct
-     */
-    public BrowserViewer(Composite parent, int style) {
-        super(parent, SWT.NONE);
-		  
-        if ((style & LOCATION_BAR) != 0)
-            showURLbar = true;
-
-        if ((style & BUTTON_BAR) != 0)
-            showToolbar = true;
-
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        layout.horizontalSpacing = 0;
-        layout.verticalSpacing = 0;
-        layout.numColumns = 1;
-        setLayout(layout);
-        setLayoutData(new GridData(GridData.FILL_BOTH));
-        clipboard = new Clipboard(parent.getDisplay());
-        
-        if (showToolbar || showURLbar) {
-            Composite toolbarComp = new Composite(this, SWT.NONE);
-            toolbarComp.setLayout(new ToolbarLayout());
-            toolbarComp.setLayoutData(new GridData(
-                  GridData.VERTICAL_ALIGN_BEGINNING
-                  | GridData.FILL_HORIZONTAL));
-
-            if (showToolbar)
-                createToolbar(toolbarComp);
-            
-				if (showURLbar)
-                createLocationBar(toolbarComp);
-
-				if (showToolbar | showURLbar) {
-				    busy = new BusyIndicator(toolbarComp, SWT.NONE);
-				    busy.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-				    busy.addMouseListener(new MouseListener() {
-						public void mouseDoubleClick(MouseEvent e) {
-							// ignore
-						}
-
-						public void mouseDown(MouseEvent e) {
-							setURL("http://www.eclipse.org"); //$NON-NLS-1$
-						}
-
-						public void mouseUp(MouseEvent e) {
-							// ignore
-						}
-				    });
-				}
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                  ContextIds.WEB_BROWSER); 
-        }
-
-        // create a new SWT Web browser widget, checking once again to make sure
-        // we can use it in this environment
-        //if (WebBrowserUtil.canUseInternalWebBrowser())
-        try {
-            this.browser = new Browser(this, SWT.NONE);
-        }
-        catch (SWTError e) {
-            if (e.code!=SWT.ERROR_NO_HANDLES) {
-                WebBrowserUtil.openError(Messages.errorCouldNotLaunchInternalWebBrowser);
-                return;
-            }
-            text = new BrowserText(this, this, e);
-        }
-
-        if (showURLbar)
-            updateHistory();
-        if (showToolbar)
-            updateBackNextBusy();
-
-         if (browser!=null) {
-            browser.setLayoutData(new GridData(GridData.FILL_BOTH));
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(browser,
-                    ContextIds.WEB_BROWSER);
-        }
-        else
-            text.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        addBrowserListeners();
-        //listen();
-    }
-
-    /**
-     * Returns the underlying SWT browser widget.
-     * 
-     * @return the underlying browser
-     */
-    public Browser getBrowser() {
-        return browser;
-    }
-
-    /**
-     * Navigate to the home URL.
-     */
-    public void home() {
-   	 browser.setText(""); //$NON-NLS-1$
-    }
-
-    /**
-     * Loads a URL.
-     * 
-     * @param url
-     *            the URL to be loaded
-     * @return true if the operation was successful and false otherwise.
-     * @exception IllegalArgumentException
-     *                <ul>
-     *                <li>ERROR_NULL_ARGUMENT - if the url is null</li>
-     *                </ul>
-     * @exception SWTException
-     *                <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>
-     * @see #getURL()
-     */
-    public void setURL(String url) {
-       setURL(url, true);
-    }
-
-    protected void updateBackNextBusy() {
-        back.setEnabled(isBackEnabled());
-        forward.setEnabled(isForwardEnabled());
-        busy.setBusy(loading);
-
-        if (backNextListener != null)
-            backNextListener.updateBackNextBusy();
-    }
-
-    protected void updateLocation() {
-        if (locationListener != null)
-            locationListener.historyChanged(null);
-
-        if (locationListener != null)
-            locationListener.locationChanged(null);
-    }
-
-    /**
-     *
-     */
-    private void addBrowserListeners() {
-        if (browser==null) return;
-        // respond to ExternalBrowserInstance StatusTextEvents events by
-        // updating the status line
-        browser.addStatusTextListener(new StatusTextListener() {
-            public void changed(StatusTextEvent event) {
-					//System.out.println("status: " + event.text); //$NON-NLS-1$
-                if (container != null) {
-                    IStatusLineManager status = container.getActionBars()
-                            .getStatusLineManager();
-                    status.setMessage(event.text);
-                }
-            }
-        });
-
-        // Add listener for new window creation so that we can instead of
-        // opening a separate
-        // new window in which the session is lost, we can instead open a new
-        // window in a new
-        // shell within the browser area thereby maintaining the session.
-        browser.addOpenWindowListener(new OpenWindowListener() {
-            public void open(WindowEvent event) {
-                Shell shell2 = new Shell(getShell());
-                shell2.setLayout(new FillLayout());
-                shell2.setText(Messages.viewWebBrowserTitle);
-                shell2.setImage(getShell().getImage());
-                if (event.location != null)
-                    shell2.setLocation(event.location);
-                if (event.size != null)
-                    shell2.setSize(event.size);
-					 int style = 0;
-					 if (event.addressBar)
-						 style += LOCATION_BAR;
-					 if (event.toolBar)
-						 style += BUTTON_BAR;
-                BrowserViewer browser2 = new BrowserViewer(shell2, 0);
-                browser2.newWindow = true;
-                event.browser = browser2.browser;
-            }
-        });
-		  
-		  browser.addVisibilityWindowListener(new VisibilityWindowListener() {
-				public void hide(WindowEvent e) {
-					// ignore
-				}
-				
-				public void show(WindowEvent e) {
-					Browser browser2 = (Browser)e.widget;
-					if (browser2.getParent().getParent() instanceof Shell) {
-						Shell shell = (Shell) browser2.getParent().getParent();
-						if (e.location != null)
-							shell.setLocation(e.location);
-						if (e.size != null)
-							shell.setSize(shell.computeSize(e.size.x, e.size.y));
-						shell.open();
-					}
-				}
-			});
-
-        browser.addCloseWindowListener(new CloseWindowListener() {
-            public void close(WindowEvent event) {
-                // if shell is not null, it must be a secondary popup window,
-                // else its an editor window
-                if (newWindow)
-                    getShell().dispose();
-                else
-                    container.close();
-            }
-        });
-
-        browser.addProgressListener(new ProgressListener() {
-            public void changed(ProgressEvent event) {
-					//System.out.println("progress: " + event.current + ", " + event.total); //$NON-NLS-1$ //$NON-NLS-2$
-                if (event.total == 0)
-                    return;
-
-                boolean done = (event.current == event.total);
-
-                int percentProgress = event.current * 100 / event.total;
-                if (container != null) {
-                    IProgressMonitor monitor = container.getActionBars()
-                            .getStatusLineManager().getProgressMonitor();
-                    if (done) {
-                        monitor.done();
-                        progressWorked = 0;
-                    } else if (progressWorked == 0) {
-                        monitor.beginTask("", event.total); //$NON-NLS-1$
-                        progressWorked = percentProgress;
-                    } else {
-                        monitor.worked(event.current - progressWorked);
-                        progressWorked = event.current;
-                    }
-                }
-
-                if (showToolbar) {
-                    if (!busy.isBusy() && !done)
-                        loading = true;
-                    else if (busy.isBusy() && done) // once the progress hits
-                        // 100 percent, done, set
-                        // busy to false
-                        loading = false;
-
-						  //System.out.println("loading: " + loading); //$NON-NLS-1$
-                    updateBackNextBusy();
-                    updateHistory();
-                }
-            }
-
-            public void completed(ProgressEvent event) {
-                if (container != null) {
-                    IProgressMonitor monitor = container.getActionBars()
-                            .getStatusLineManager().getProgressMonitor();
-                    monitor.done();
-                }
-                if (showToolbar) {
-                    loading = false;
-                    updateBackNextBusy();
-                    updateHistory();
-                }
-            }
-        });
-
-        if (showToolbar) {
-            browser.addLocationListener(new LocationListener() {
-                public void changed(LocationEvent event) {
-                    if (!event.top)
-                        return;
-                    if (combo != null) {
-                        if (!"about:blank".equals(event.location)) { //$NON-NLS-1$
-                            combo.setText(event.location);
-                            addToHistory(event.location);
-                            updateHistory();
-                        }// else
-                        //    combo.setText(""); //$NON-NLS-1$
-                    }
-                }
-
-                public void changing(LocationEvent event) {
-                    // do nothing
-                }
-            });
-        }
-
-        browser.addTitleListener(new TitleListener() {
-            public void changed(TitleEvent event) {
-					 String oldTitle = title;
-                title = event.title;
-					 firePropertyChangeEvent(PROPERTY_TITLE, oldTitle, title);
-            }
-        });
-    }
-	 
-	 /**
-		 * Add a property change listener to this instance.
-		 *
-		 * @param listener java.beans.PropertyChangeListener
-		 */
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			if (propertyListeners == null)
-				propertyListeners = new ArrayList();
-			propertyListeners.add(listener);
-		}
-
-		/**
-		 * Remove a property change listener from this instance.
-		 *
-		 * @param listener java.beans.PropertyChangeListener
-		 */
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			if (propertyListeners != null)
-				propertyListeners.remove(listener);
-		}
-
-		/**
-		 * Fire a property change event.
-		 */
-		protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-			if (propertyListeners == null)
-				return;
-
-			PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
-			//Trace.trace("Firing: " + event + " " + oldValue);
-			try {
-				int size = propertyListeners.size();
-				PropertyChangeListener[] pcl = new PropertyChangeListener[size];
-				propertyListeners.toArray(pcl);
-				
-				for (int i = 0; i < size; i++)
-					try {
-						pcl[i].propertyChange(event);
-					} catch (Exception e) {
-						// ignore
-					}
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-
-    /**
-     * Navigate to the next session history item. Convenience method that calls
-     * the underlying SWT browser.
-     * 
-     * @return <code>true</code> if the operation was successful and
-     *         <code>false</code> otherwise
-     * @exception SWTException
-     *                <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>
-     * @see #back
-     */
-    public boolean forward() {
-        if (browser==null)
-            return false;
-        return browser.forward();
-    }
-
-    /**
-     * Navigate to the previous session history item. Convenience method that
-     * calls the underlying SWT browser.
-     * 
-     * @return <code>true</code> if the operation was successful and
-     *         <code>false</code> otherwise
-     * @exception SWTException
-     *                <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>
-     * @see #forward
-     */
-    public boolean back() {
-        if (browser==null)
-            return false;
-        return browser.back();
-    }
-
-    /**
-     * Returns <code>true</code> if the receiver can navigate to the previous
-     * session history item, and <code>false</code> otherwise. Convenience
-     * method that calls the underlying SWT browser.
-     * 
-     * @return the receiver's back command enabled state
-     * @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 #back
-     */
-    public boolean isBackEnabled() {
-        if (browser==null)
-            return false;
-        return browser.isBackEnabled();
-    }
-
-    /**
-     * Returns <code>true</code> if the receiver can navigate to the next
-     * session history item, and <code>false</code> otherwise. Convenience
-     * method that calls the underlying SWT browser.
-     * 
-     * @return the receiver's forward command enabled state
-     * @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 #forward
-     */
-    public boolean isForwardEnabled() {
-        if (browser==null)
-            return false;
-        return browser.isForwardEnabled();
-    }
-
-    /**
-     * Stop any loading and rendering activity. Convenience method that calls
-     * the underlying SWT browser.
-     * 
-     * @exception SWTException
-     *                <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 stop() {
-        if (browser!=null)
-            browser.stop();
-    }
-
-    /**
-     * 
-     */
-    private boolean navigate(String url) {
-        Trace.trace(Trace.FINER, "Navigate: " + url); //$NON-NLS-1$
-        if (url != null && url.equals(getURL())) {
-            refresh();
-            return true;
-        }
-        if (browser!=null)
-            return browser.setUrl(url);
-        return text.setUrl(url);
-    }
- 
-    /**
-     * Refresh the current page. Convenience method that calls the underlying
-     * SWT browser.
-     * 
-     * @exception SWTException
-     *                <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 refresh() {
-        if (browser!=null)
-            browser.refresh();
-        else
-            text.refresh();
-		  try {
-			  Thread.sleep(50);
-		  } catch (Exception e) {
-			  // ignore
-		  }
-    }
-
-    private void setURL(String url, boolean browse) {
-        Trace.trace(Trace.FINEST, "setURL: " + url + " " + browse); //$NON-NLS-1$ //$NON-NLS-2$
-        if (url == null) {
-            home();
-            return;
-        }
-
-        if ("eclipse".equalsIgnoreCase(url)) //$NON-NLS-1$
-            url = "http://www.eclipse.org"; //$NON-NLS-1$
-        else if ("wtp".equalsIgnoreCase(url)) //$NON-NLS-1$
-            url = "http://www.eclipse.org/webtools/"; //$NON-NLS-1$
-
-        if (browse)
-            navigate(url);
-
-        addToHistory(url);
-        updateHistory();
-    }
-
-    protected void addToHistory(String url) {
-        if (history == null)
-            history = WebBrowserPreference.getInternalWebBrowserHistory();
-        int found = -1;
-        int size = history.size();
-        for (int i = 0; i < size; i++) {
-            String s = (String) history.get(i);
-            if (s.equals(url)) {
-                found = i;
-                break;
-            }
-        }
-
-        if (found == -1) {
-            if (size >= MAX_HISTORY)
-                history.remove(size - 1);
-            history.add(0, url);
-            WebBrowserPreference.setInternalWebBrowserHistory(history);
-        } else if (found != 0) {
-            history.remove(found);
-            history.add(0, url);
-            WebBrowserPreference.setInternalWebBrowserHistory(history);
-        }
-    }
-
-    /**
-     *
-     */
-    public void dispose() {
-        super.dispose();
-
-        showToolbar = false;
-
-        if (busy != null)
-            busy.dispose();
-        busy = null;
-
-        browser = null;
-        text = null;
-        if (clipboard!=null)
-        	clipboard.dispose();
-        clipboard=null;
-
-        removeSynchronizationListener();
-    }
-
-    private ToolBar createLocationBar(Composite parent) {
-        combo = new Combo(parent, SWT.DROP_DOWN);
-
-        updateHistory();
-
-        combo.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent we) {
-                try {
-                    if (combo.getSelectionIndex() != -1)
-                        setURL(combo.getItem(combo.getSelectionIndex()));
-                } catch (Exception e) {
-                    // ignore
-                }
-            }
-        });
-        combo.addListener(SWT.DefaultSelection, new Listener() {
-            public void handleEvent(Event e) {
-                setURL(combo.getText());
-            }
-        });
-        
-        ToolBar toolbar = new ToolBar(parent, SWT.FLAT);
-
-        ToolItem go = new ToolItem(toolbar, SWT.NONE);
-        go.setImage(ImageResource.getImage(ImageResource.IMG_ELCL_NAV_GO));
-        go.setHotImage(ImageResource.getImage(ImageResource.IMG_CLCL_NAV_GO));
-        go.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_GO));
-        go.setToolTipText(Messages.actionWebBrowserGo);
-        go.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                setURL(combo.getText());
-            }
-        });
-		  
-		  return toolbar;
-    }
-
-    private ToolBar createToolbar(Composite parent) {
-		  ToolBar toolbar = new ToolBar(parent, SWT.FLAT);
-		  
-        // create back and forward actions
-        back = new ToolItem(toolbar, SWT.NONE);
-        back.setImage(ImageResource
-                .getImage(ImageResource.IMG_ELCL_NAV_BACKWARD));
-        back.setHotImage(ImageResource
-                .getImage(ImageResource.IMG_CLCL_NAV_BACKWARD));
-        back.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_BACKWARD));
-        back.setToolTipText(Messages.actionWebBrowserBack);
-        back.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                back();
-            }
-        });
-
-        forward = new ToolItem(toolbar, SWT.NONE);
-        forward.setImage(ImageResource
-                .getImage(ImageResource.IMG_ELCL_NAV_FORWARD));
-        forward.setHotImage(ImageResource
-                .getImage(ImageResource.IMG_CLCL_NAV_FORWARD));
-        forward.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_FORWARD));
-        forward.setToolTipText(Messages.actionWebBrowserForward);
-        forward.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                forward();
-            }
-        });
-
-        // create refresh, stop, and print actions
-        ToolItem stop = new ToolItem(toolbar, SWT.NONE);
-        stop.setImage(ImageResource.getImage(ImageResource.IMG_ELCL_NAV_STOP));
-        stop.setHotImage(ImageResource
-                .getImage(ImageResource.IMG_CLCL_NAV_STOP));
-        stop.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_STOP));
-        stop.setToolTipText(Messages.actionWebBrowserStop);
-        stop.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                stop();
-            }
-        });
-
-        ToolItem refresh = new ToolItem(toolbar, SWT.NONE);
-        refresh.setImage(ImageResource
-                .getImage(ImageResource.IMG_ELCL_NAV_REFRESH));
-        refresh.setHotImage(ImageResource
-                .getImage(ImageResource.IMG_CLCL_NAV_REFRESH));
-        refresh.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_REFRESH));
-        refresh.setToolTipText(Messages.actionWebBrowserRefresh);
-        refresh.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                refresh();
-            }
-        });
-		  
-		  return toolbar;
-    }
-
-    /**
-     * Returns the current URL. Convenience method that calls the underlying SWT
-     * browser.
-     * 
-     * @return the current URL or an empty <code>String</code> if there is no
-     *         current URL
-     * @exception SWTException
-     *                <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>
-     * @see #setURL(String)
-     */
-    public String getURL() {
-        if (browser!=null)
-            return browser.getUrl();
-        return text.getUrl();
-    }
-
-    public boolean setFocus() {
-        if (combo != null)
-            combo.setFocus();
-        else if (browser!=null)
-            browser.setFocus();
-        else if (text!=null)
-            text.setFocus();
-        updateHistory();
-        return super.setFocus();
-    }
-
-    /**
-     * Update the history list to the global/shared copy.
-     */
-    protected void updateHistory() {
-        if (combo == null)
-            return;
-
-        String temp = combo.getText();
-        if (history == null)
-            history = WebBrowserPreference.getInternalWebBrowserHistory();
-
-        String[] historyList = new String[history.size()];
-        history.toArray(historyList);
-        combo.setItems(historyList);
-
-        combo.setText(temp);
-    }
-
-    public IBrowserViewerContainer getContainer() {
-        return container;
-    }
-
-    public void setContainer(IBrowserViewerContainer container) {
-    	if (container==null && this.container!=null) {
-    		IStatusLineManager manager = this.container.getActionBars().getStatusLineManager();
-    		if (manager!=null) 
-    			manager.getProgressMonitor().done();
-    	}
-        this.container = container;
-    }
-
-    protected File file;
-    protected long timestamp;
-    protected Thread fileListenerThread;
-    protected LocationListener locationListener2;
-    protected Object syncObject = new Object();
-    
-    protected void addSynchronizationListener() {
-   	 if (fileListenerThread != null)
-   		 return;
-   	 
-   	 fileListenerThread = new Thread("Browser file synchronization") { //$NON-NLS-1$
-   		 public void run() {
-   			 while (fileListenerThread != null) {
-   				 try {
-   					 Thread.sleep(2000);
-   				 } catch (Exception e) {
-   					 // ignore
-   				 }
-   				 synchronized (syncObject) {
-						 if (file != null && file.lastModified() != timestamp) {
-	   					 timestamp = file.lastModified();
-	   					 Display.getDefault().syncExec(new Runnable() {
-	 							public void run() {
-	 								refresh();
-	 							}
-	   					 });
-						 }
-					  }
-   			 }
-   		 }
-   	 };
-   	 fileListenerThread.setDaemon(true);
-   	 fileListenerThread.setPriority(Thread.MIN_PRIORITY);
-   	 
-   	 locationListener2 = new LocationListener() {
-          public void changed(LocationEvent event) {
-         	 File temp = getFile(event.location);
-         	 if (temp != null && temp.exists()) {
-         		 synchronized (syncObject) {
-         			 file = temp;
-            		 timestamp = file.lastModified();
-					 }
-         	 } else
-         		 file = null;
-          }
-          
-          public void changing(LocationEvent event) {
-             // do nothing
-         }
-       };
-       browser.addLocationListener(locationListener2);
-       
-       File temp = getFile(browser.getUrl());
-   	 if (temp != null && temp.exists()) {
-   		file = temp;
-      	timestamp = file.lastModified();
-   	 }
-   	 fileListenerThread.start();
-    }
-
-    protected static File getFile(String location) {
-   	 if (location == null)
-   		 return null;
-   	 if (location.startsWith("file:/")) //$NON-NLS-1$
-   		 location = location.substring(6);
-   	 
-   	 return new File(location);
-    }
-
-    protected void removeSynchronizationListener() {
-   	 if (fileListenerThread == null)
-   		 return;
-   	 
-   	 fileListenerThread = null;
-   	 browser.removeLocationListener(locationListener2);
-   	 locationListener2 = null;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BusyIndicator.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BusyIndicator.java
deleted file mode 100644
index 990e118..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BusyIndicator.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-/**
- * An animated image to show busy status of the Web browser.
- */
-public class BusyIndicator extends Canvas {
-	protected Image[] images;
-	protected Image image;
-
-	protected Thread busyThread;
-	protected boolean stop;
-
-	/**
-	 * BusyWidget constructor comment.
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @param style int
-	 */
-	public BusyIndicator(Composite parent, int style) {
-		super(parent, style);
-	
-		images = ImageResource.getBusyImages();
-	
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				onPaint(event);
-			}
-		});
-	
-		image = images[0];
-	}
-	
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		return new Point(25, 25);
-	}
-	
-	/**
-	 * Creates a thread to animate the image.
-	 */
-	protected synchronized void createBusyThread() {
-		if (busyThread != null)
-			return;
-	
-		stop = false;
-		busyThread = new Thread() {
-			protected int count;
-			public void run() {
-				try {
-					count = 1;
-					while (!stop) {
-						Display.getDefault().syncExec(new Runnable() {
-							public void run() {
-								if (!stop) {
-									if (count < 13)
-										setImage(images[count]);
-									count++;
-									if (count > 12)
-										count = 1;
-								}
-							}
-						});
-						try {
-							sleep(125);
-						} catch (Exception e) {
-							// ignore
-						}
-					}
-					if (busyThread == null)
-						Display.getDefault().syncExec(new Thread() {
-							public void run() {
-								setImage(images[0]);
-							}
-						});
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Busy error", e); //$NON-NLS-1$
-				}
-			}
-		};
-	
-		busyThread.setPriority(Thread.NORM_PRIORITY + 2);
-		busyThread.setDaemon(true);
-		busyThread.start();
-	}
-	
-	public void dispose() {
-		stop = true;
-		busyThread = null;
-		super.dispose();
-	}
-	
-	/**
-	 * Return the image or <code>null</code>.
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Returns true if it is currently busy.
-	 *
-	 * @return boolean
-	 */
-	public boolean isBusy() {
-		return (busyThread != null);
-	}
-
-	/* 
-	 * Process the paint event
-	 */
-	protected void onPaint(PaintEvent event) {
-		Rectangle rect = getClientArea();
-		if (rect.width == 0 || rect.height == 0)
-			return;
-	
-		GC gc = event.gc;
-		if (image != null)
-			gc.drawImage(image, 2, 2);
-	}
-
-	/**
-	 * Sets the indicators busy count up (true) or down (false) one.
-	 *
-	 * @param busy boolean
-	 */
-	public synchronized void setBusy(boolean busy) {
-		if (busy) {
-			if (busyThread == null)
-				createBusyThread();
-		} else {
-			if (busyThread != null) {
-				stop = true;
-				busyThread = null;
-			}
-		}
-	}
-
-	/**
-	 * Set the image.
-	 * The value <code>null</code> clears it.
-	 */
-	public void setImage(Image image) {
-		if (image != this.image && !isDisposed()) {
-			this.image = image;
-			redraw();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ContextIds.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ContextIds.java
deleted file mode 100644
index 0a7c12e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ContextIds.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * Context help id constants.
- */
-public interface ContextIds {
-	public static final String PREF_BROWSER = WebBrowserUIPlugin.PLUGIN_ID + ".browser_preference_page_context"; //$NON-NLS-1$
-	public static final String PREF_BROWSER_DIALOG = WebBrowserUIPlugin.PLUGIN_ID + ".browser_preference_page_dialog_context"; //$NON-NLS-1$
-	public static final String WEB_BROWSER = WebBrowserUIPlugin.PLUGIN_ID + ".browser_context"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
deleted file mode 100644
index 8c7b9dc..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.util.HashMap;
-import java.util.Observable;
-import java.util.Observer;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.AbstractWorkbenchBrowserSupport;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-/**
- * Implementation of the workbench browser support.
- */
-public class DefaultBrowserSupport extends AbstractWorkbenchBrowserSupport {
-	static final String SHARED_ID = "org.eclipse.ui.browser"; //$NON-NLS-1$
-
-	protected HashMap browserIdMap = new HashMap();
-
-	protected static DefaultBrowserSupport instance;
-
-	public DefaultBrowserSupport() {
-		// do nothing
-		instance = this;
-		BrowserManager.getInstance().addObserver(new Observer() {
-			public void update(Observable o, Object arg) {
-				// TODO I am not sure what we should do here
-				// The preferences have changed so maybe we should
-				// close the opened browsers in addition to clearing
-				// the table
-				browserIdMap.clear();
-			}
-		});
-	}
-
-	protected static DefaultBrowserSupport getInstance() {
-		return instance;
-	}
-
-	protected IWebBrowser getExistingWebBrowser(String browserId) {
-		try {
-			Object obj = browserIdMap.get(browserId);
-			IWebBrowser browser = null;
-			if (obj instanceof IWebBrowser)
-				browser = (IWebBrowser) obj;
-			else if (obj instanceof HashMap) {
-				HashMap wmap = (HashMap) obj;
-				IWorkbenchWindow window = PlatformUI.getWorkbench()
-						.getActiveWorkbenchWindow();
-				if (window != null) {
-					browser = (IWebBrowser) wmap.get(getWindowKey(window));
-				}
-			}
-			if (browser != null)
-				return browser;
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	private Integer getWindowKey(IWorkbenchWindow window) {
-		return new Integer(window.hashCode());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.browser.IWorkbenchBrowserSupport#createBrowser(int,
-	 *      java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public IWebBrowser createBrowser(int style, String browserId, String name,
-			String tooltip) throws PartInitException {
-		if (browserId == null)
-			browserId = SHARED_ID;
-		IWebBrowser browser = getExistingWebBrowser(browserId);
-		if (browser != null) {
-			if (browser instanceof InternalBrowserInstance) {
-				InternalBrowserInstance instance2 = (InternalBrowserInstance) browser;
-				instance2.setName(name);
-				instance2.setTooltip(tooltip);
-			}
-			return browser;
-		}
-
-		IWebBrowser webBrowser = null;
-
-		// AS_EXTERNAL will force the external browser regardless of the user
-		// preference
-		if ((style & AS_EXTERNAL) != 0
-				|| WebBrowserPreference.getBrowserChoice() != WebBrowserPreference.INTERNAL) {
-			IBrowserDescriptor ewb = BrowserManager.getInstance()
-					.getCurrentWebBrowser();
-			if (ewb == null)
-				throw new PartInitException(Messages.errorNoBrowser);
-			
-			if (ewb instanceof SystemBrowserDescriptor)
-				webBrowser = new SystemBrowserInstance(browserId);
-			else {
-				IBrowserExt ext = null;
-				if (ewb != null)
-					ext = WebBrowserUIPlugin.findBrowsers(ewb.getLocation());
-				if (ext != null)
-					webBrowser = ext.createBrowser(browserId,
-							ewb.getLocation(), ewb.getParameters());
-				if (webBrowser == null)
-					webBrowser = new ExternalBrowserInstance(browserId, ewb);
-			}
-		} else {
-			if ((style & IWorkbenchBrowserSupport.AS_VIEW) != 0)
-				webBrowser = new InternalBrowserViewInstance(browserId, style,
-						name, tooltip);
-			else
-				webBrowser = new InternalBrowserEditorInstance(browserId,
-						style, name, tooltip);
-		}
-
-		if (webBrowser instanceof InternalBrowserInstance) {
-			// we should only share internal browsers within one
-			// workbench window. Each workbench window can have
-			// a shared browser with the same id
-			IWorkbenchWindow window = PlatformUI.getWorkbench()
-					.getActiveWorkbenchWindow();
-			Integer key = getWindowKey(window);
-			HashMap wmap = (HashMap) browserIdMap.get(browserId);
-			if (wmap == null) {
-				wmap = new HashMap();
-				browserIdMap.put(browserId, wmap);
-			}
-			wmap.put(key, webBrowser);
-		} else {
-			// external and system browsers are shared
-			// for the entire workbench
-			browserIdMap.put(browserId, webBrowser);
-		}
-		return webBrowser;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.browser.IWorkbenchBrowserSupport#createBrowser(java.lang.String)
-	 */
-	public IWebBrowser createBrowser(String browserId) throws PartInitException {
-		return createBrowser(0, browserId, null, null);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.browser.IWorkbenchBrowserSupport#isInternalWebBrowserAvailable()
-	 */
-	public boolean isInternalWebBrowserAvailable() {
-		return WebBrowserUtil.canUseInternalWebBrowser();
-	}
-
-	protected void removeBrowser(IWebBrowser browser) {
-		String baseId = WebBrowserUtil.decodeId(browser.getId());
-		if (browser instanceof InternalBrowserInstance) {
-			// Remove it from the window map and
-			// also remove the window map itself if it is empty.
-			Integer key = ((InternalBrowserInstance) browser).getWindowKey();
-			HashMap wmap = (HashMap) browserIdMap.get(baseId);
-			if (wmap != null) {
-				wmap.remove(key);
-				if (wmap.isEmpty())
-					browserIdMap.remove(baseId);
-			}
-		} else
-			browserIdMap.remove(baseId);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ExternalBrowserInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ExternalBrowserInstance.java
deleted file mode 100644
index dd26c6e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ExternalBrowserInstance.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-
-/**
- * An instance of a running Web browser. rundll32.exe
- * url.dll,FileProtocolHandler www.ibm.com
- */
-public class ExternalBrowserInstance extends AbstractWebBrowser {
-	protected IBrowserDescriptor browser;
-
-	protected Process process;
-
-	public ExternalBrowserInstance(String id, IBrowserDescriptor browser) {
-		super(id);
-		this.browser = browser;
-	}
-
-	public void openURL(URL url) throws PartInitException {
-		String urlText = null;
-
-		if (url != null)
-			urlText = url.toExternalForm();
-
-		// change spaces to "%20"
-		if (urlText != null && !WebBrowserUtil.isWindows()) {
-			int index = urlText.indexOf(" "); //$NON-NLS-1$
-			while (index >= 0) {
-				urlText = urlText.substring(0, index)
-						+ "%20" + urlText.substring(index + 1); //$NON-NLS-1$
-				index = urlText.indexOf(" "); //$NON-NLS-1$
-			}
-		}
-
-		String location = browser.getLocation();
-		String parameters = browser.getParameters();
-		Trace
-				.trace(
-						Trace.FINEST,
-						"Launching external Web browser: " + location + " - " + parameters + " - " + urlText); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		String params = parameters;
-		if (params == null)
-			params = ""; //$NON-NLS-1$
-
-		if (urlText != null) {
-			int urlIndex = params.indexOf(IBrowserDescriptor.URL_PARAMETER);
-			if (urlIndex >= 0)
-				params = params.substring(0, urlIndex)
-						+ " " + urlText + " " + params.substring(urlIndex + IBrowserDescriptor.URL_PARAMETER.length()); //$NON-NLS-1$ //$NON-NLS-2$
-			else {
-				if (!params.endsWith(" ")) //$NON-NLS-1$
-					params += " "; //$NON-NLS-1$ 
-				params += urlText;
-			}
-		}
-
-		try {
-			Trace.trace(Trace.FINEST, "Launching " + location + " " + params); //$NON-NLS-1$//$NON-NLS-2$
-			if (params == null || params.length() == 0)
-				process = Runtime.getRuntime().exec(location);
-			else
-				process = Runtime.getRuntime().exec(location + " " + params); //$NON-NLS-1$
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not launch external browser", e); //$NON-NLS-1$
-			WebBrowserUtil.openError(NLS.bind(
-					Messages.errorCouldNotLaunchWebBrowser, urlText));
-		}
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					process.waitFor();
-					DefaultBrowserSupport.getInstance().removeBrowser(
-							ExternalBrowserInstance.this);
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	}
-
-	public boolean close() {
-		try {
-			process.destroy();
-			return true;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/FallbackScrolledComposite.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/FallbackScrolledComposite.java
deleted file mode 100644
index 87bc93c..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/FallbackScrolledComposite.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-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.ScrollBar;
-
-public abstract class FallbackScrolledComposite extends ScrolledComposite {
-    private static final int H_SCROLL_INCREMENT = 5;
-
-    private static final int V_SCROLL_INCREMENT = 64;
-
-    /**
-     * Creates the new instance.
-     * 
-     * @param parent
-     *            the parent composite
-     * @param style
-     *            the style to use
-     */
-    public FallbackScrolledComposite(Composite parent, int style) {
-        super(parent, style);
-        addListener(SWT.Resize, new Listener() {
-            public void handleEvent(Event e) {
-                reflow(true);
-            }
-        });
-        setExpandVertical(true);
-        setExpandHorizontal(true);
-        initializeScrollBars();
-    }
-
-    /**
-     * Sets the foreground of the control and its content.
-     * 
-     * @param fg
-     *            the new foreground color
-     */
-    public void setForeground(Color fg) {
-        super.setForeground(fg);
-        if (getContent() != null)
-            getContent().setForeground(fg);
-    }
-
-    /**
-     * Sets the background of the control and its content.
-     * 
-     * @param bg
-     *            the new background color
-     */
-    public void setBackground(Color bg) {
-        super.setBackground(bg);
-        if (getContent() != null)
-            getContent().setBackground(bg);
-    }
-
-    /**
-     * Sets the font of the form. This font will be used to render the title
-     * text. It will not affect the body.
-     */
-    public void setFont(Font font) {
-        super.setFont(font);
-        if (getContent() != null)
-            getContent().setFont(font);
-    }
-
-    /**
-     * Overrides 'super' to pass the proper colors and font
-     */
-    public void setContent(Control content) {
-        super.setContent(content);
-        if (content != null) {
-            content.setForeground(getForeground());
-            content.setBackground(getBackground());
-            content.setFont(getFont());
-        }
-    }
-
-    /**
-     * If content is set, transfers focus to the content.
-     */
-    public boolean setFocus() {
-        if (getContent() != null)
-            return getContent().setFocus();
-        return super.setFocus();
-    }
-
-    /**
-     * Recomputes the body layout and the scroll bars. The method should be used
-     * when changes somewhere in the form body invalidate the current layout
-     * and/or scroll bars.
-     * 
-     * @param flushCache
-     *            if <code>true</code>, drop the cached data
-     */
-    public void reflow(boolean flushCache) {
-        Composite c = (Composite) getContent();
-        Rectangle clientArea = getClientArea();
-        if (c == null)
-            return;
-
-        Point newSize = c
-                .computeSize(clientArea.width, SWT.DEFAULT, flushCache);
-
-        setMinSize(newSize);
-        updatePageIncrement();
-        layout(flushCache);
-    }
-
-    private void updatePageIncrement() {
-        ScrollBar vbar = getVerticalBar();
-        if (vbar != null) {
-            Rectangle clientArea = getClientArea();
-            int increment = clientArea.height - 5;
-            vbar.setPageIncrement(increment);
-        }
-    }
-
-    private void initializeScrollBars() {
-        ScrollBar hbar = getHorizontalBar();
-        if (hbar != null) {
-            hbar.setIncrement(H_SCROLL_INCREMENT);
-        }
-        ScrollBar vbar = getVerticalBar();
-        if (vbar != null) {
-            vbar.setIncrement(V_SCROLL_INCREMENT);
-        }
-        updatePageIncrement();
-    }
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptor.java
deleted file mode 100644
index 9d57daf..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptor.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * An interface to an external Web browser.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IBrowserDescriptorWorkingCopy
- * @since 1.0
- */
-public interface IBrowserDescriptor {
-	public static final String URL_PARAMETER = "%URL%"; //$NON-NLS-1$
-
-	/**
-	 * Returns the displayable name of the Web browser.
-	 *  
-	 * @return the name
-	 */
-	public String getName();
-
-	/**
-	 * Returns the absolute path to the location of the Web browser's executable.
-	 * The location is platform specific and may return null if no location has been
-	 * set.
-	 * 
-	 * @return the path to the executable
-	 */
-	public String getLocation();
-
-	/**
-	 * Returns the parameters that should be used to launch the Web browser executable.
-	 * %URL% is used if the URL should be inserted into the parameters. If there are
-	 * no parameters, <code>null</code> is returned.
-	 * 
-	 * @return the parameters
-	 */
-	public String getParameters();
-
-	/**
-	 * Deletes this Web browser. The browser will no longer be available to users.
-	 * This method has no effect if the browser has already been deleted or has never
-	 * been saved.
-	 */
-	public void delete();
-
-	/**
-	 * Returns whether this browser is a working copy. Browsers which return
-	 * <code>true</code> to this method can be safely cast to 
-	 * <code>org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy</code>
-	 * 
-	 * @return whether this browser is a working copy
-	 */
-	public boolean isWorkingCopy();
-
-	/**
-	 * Returns a working copy of this browser. Changes to the working copy will be
-	 * applied to this browser when saved.
-	 * 
-	 * @return a working copy of this browser
-	 */
-	public IBrowserDescriptorWorkingCopy getWorkingCopy();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptorWorkingCopy.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptorWorkingCopy.java
deleted file mode 100644
index e21f991..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptorWorkingCopy.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * A working copy of an external web browser.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.ui.internal.browser.IWebBrowser
- * @see IBrowserDescriptor
- * @since 1.0
- */
-public interface IBrowserDescriptorWorkingCopy extends IBrowserDescriptor {
-	/**
-	 * Renames this browser to the specified name. The new name cannot be <code>null</code>.
-	 * 
-	 * @param name the new name for this browser
-	 */
-	public void setName(String name);
-
-	/**
-	 * Set the location of this browsers executable. The location must not be <code>null</code>.
-	 * 
-	 * @param location the new location
-	 */
-	public void setLocation(String location);
-
-	/**
-	 * Set the parameters for this browser. If there are no parameters, the parameters
-	 * should be null.
-	 * 
-	 * @param params the new parameters
-	 */
-	public void setParameters(String params);
-
-	/**
-	 * Saves the changes to this working copy and returns the resulting web browser.
-	 *
-	 * @return the modified or created browser
-	 */
-	public IBrowserDescriptor save();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserExt.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserExt.java
deleted file mode 100644
index 549e5d5..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserExt.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.ui.browser.IWebBrowser;
-
-/**
- * A 
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- * 
- * @since 1.0
- */
-public interface IBrowserExt {
-	/**
-	 * Returns the id of this client. Each known client has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the client id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this client.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this client
-	 */
-	public String getName();
-
-	/**
-	 * Returns the parameters for this browser.
-	 *
-	 * @return the parameters for this browser
-	 */
-	public String getParameters();
-
-	/**
-	 * Returns the browser's executable.
-	 *
-	 * @return the browser's executable
-	 */
-	public String getExecutable();
-	
-	/**
-	 * Returns the OSs that this browser is available on.
-	 *
-	 * @return an array of OSs that this browser runs on
-	 */
-	public String getOS();
-	
-	/**
-	 * Returns the default install locations of this browser.
-	 *
-	 * @return the default install locations of this browser
-	 */
-	public String[] getDefaultLocations();
-	
-	/**
-	 * Checks whether the factory can work on the user system.
-	 * 
-	 * @return false if the factory cannot work on this system; for example the
-	 *    required native browser required by browser adapters that it
-	 *    creates is not installed
-	 */
-	public boolean isAvailable();
-
-	/**
-	 * Obtains a new instance of a web browser.
-	 * 
-	 * @return instance of IBrowser
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserViewerContainer.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserViewerContainer.java
deleted file mode 100644
index cb84ff2..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserViewerContainer.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.ui.IActionBars;
-
-public interface IBrowserViewerContainer {
-    /**
-     * Closes the container from the inside.
-     * @return 
-     */
-    boolean close();
-    /**
-     * Returns the action bars of the container.
-     * @return action bars of the container or <code>null</code> if
-     * not available.
-     */
-    IActionBars getActionBars();
-    /**
-     * Opens the url in the external browser if
-     * internal browser failed to create.
-     * @param url
-     */
-    void openInExternalBrowser(String url);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ImageResource.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ImageResource.java
deleted file mode 100644
index 1fc1ef5..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ImageResource.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-import java.util.Map;
-import java.util.HashMap;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-/**
- * Utility class to handle image resources.
- */
-public class ImageResource {
-	// the image registry
-	private static ImageRegistry imageRegistry;
-
-	// map of image descriptors since these
-	// will be lost by the image registry
-	private static Map imageDescriptors;
-
-	// base urls for images
-	private static URL ICON_BASE_URL;
-
-	static {
-		try {
-			String pathSuffix = "icons/"; //$NON-NLS-1$
-			ICON_BASE_URL = Platform.find(WebBrowserUIPlugin.getInstance().getBundle(), new Path(pathSuffix));
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not set icon base URL", e); //$NON-NLS-1$
-		}
-	}
-
-	private static Image[] busyImages;
-
-	private static final String URL_CLCL = "clcl16/"; //$NON-NLS-1$
-	private static final String URL_ELCL = "elcl16/"; //$NON-NLS-1$
-	private static final String URL_DLCL = "dlcl16/"; //$NON-NLS-1$
-
-	private static final String URL_OBJ = "obj16/"; //$NON-NLS-1$
-
-	// --- constants for images ---
-	// toolbar images
-	public static final String IMG_CLCL_NAV_BACKWARD = "IMG_CLCL_NAV_BACKWARD"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_FORWARD = "IMG_CLCL_NAV_FORWARD"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_STOP = "IMG_CLCL_NAV_STOP"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_REFRESH = "IMG_CLCL_NAV_REFRESH"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_GO = "IMG_CLCL_NAV_GO"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_HOME = "IMG_CLCL_NAV_HOME"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_PRINT = "IMG_CLCL_NAV_PRINT"; //$NON-NLS-1$
-
-	public static final String IMG_ELCL_NAV_BACKWARD = "IMG_ELCL_NAV_BACKWARD"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_FORWARD = "IMG_ELCL_NAV_FORWARD"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_STOP = "IMG_ELCL_NAV_STOP"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_REFRESH = "IMG_ELCL_NAV_REFRESH"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_GO = "IMG_ELCL_NAV_GO"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_HOME = "IMG_ELCL_NAV_HOME"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_PRINT = "IMG_ELCL_NAV_PRINT"; //$NON-NLS-1$
-
-	public static final String IMG_DLCL_NAV_BACKWARD = "IMG_DLCL_NAV_BACKWARD"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_FORWARD = "IMG_DLCL_NAV_FORWARD"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_STOP = "IMG_DLCL_NAV_STOP"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_REFRESH = "IMG_DLCL_NAV_REFRESH"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_GO = "IMG_DLCL_NAV_GO"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_HOME = "IMG_DLCL_NAV_HOME"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_PRINT = "IMG_DLCL_NAV_PRINT"; //$NON-NLS-1$
-
-	// general object images
-	public static final String IMG_INTERNAL_BROWSER = "internalBrowser"; //$NON-NLS-1$
-	public static final String IMG_EXTERNAL_BROWSER = "externalBrowser"; //$NON-NLS-1$
-	public static final String IMG_SYSTEM_BROWSER = "systemBrowser"; //$NON-NLS-1$
-
-	/**
-	 * Cannot construct an ImageResource. Use static methods only.
-	 */
-	private ImageResource() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the busy images for the Web browser.
-	 *
-	 * @return org.eclipse.swt.graphics.Image[]
-	 */
-	public static Image[] getBusyImages() {
-		return busyImages;
-	}
-
-	/**
-	 * Return the image with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.swt.graphics.Image
-	 */
-	public static Image getImage(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		return imageRegistry.get(key);
-	}
-
-	/**
-	 * Return the image descriptor with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.resource.ImageDescriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		return (ImageDescriptor) imageDescriptors.get(key);
-	}
-
-	/**
-	 * Initialize the image resources.
-	 */
-	protected static void initializeImageRegistry() {
-		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap();
-	
-		// load Web browser images
-		registerImage(IMG_ELCL_NAV_BACKWARD, URL_ELCL + "nav_backward.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_FORWARD, URL_ELCL + "nav_forward.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_STOP, URL_ELCL + "nav_stop.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_REFRESH, URL_ELCL + "nav_refresh.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_GO, URL_ELCL + "nav_go.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_HOME, URL_ELCL + "nav_home.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_PRINT, URL_ELCL + "nav_print.gif"); //$NON-NLS-1$
-	
-		registerImage(IMG_CLCL_NAV_BACKWARD, URL_CLCL + "nav_backward.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_FORWARD, URL_CLCL + "nav_forward.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_STOP, URL_CLCL + "nav_stop.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_REFRESH, URL_CLCL + "nav_refresh.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_GO, URL_CLCL + "nav_go.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_HOME, URL_CLCL + "nav_home.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_PRINT, URL_CLCL + "nav_print.gif"); //$NON-NLS-1$
-	
-		registerImage(IMG_DLCL_NAV_BACKWARD, URL_DLCL + "nav_backward.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_FORWARD, URL_DLCL + "nav_forward.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_STOP, URL_DLCL + "nav_stop.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_REFRESH, URL_DLCL + "nav_refresh.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_GO, URL_DLCL + "nav_go.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_HOME, URL_DLCL + "nav_home.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_PRINT, URL_DLCL + "nav_print.gif"); //$NON-NLS-1$
-	
-		registerImage(IMG_INTERNAL_BROWSER, URL_OBJ + "internal_browser.gif"); //$NON-NLS-1$
-		registerImage(IMG_EXTERNAL_BROWSER, URL_OBJ + "external_browser.gif"); //$NON-NLS-1$
-		
-		// busy images
-		busyImages = new Image[13];
-		for (int i = 0; i < 13; i++) {
-			registerImage("busy" + i, URL_OBJ + "busy/" + (i+1) + ".gif"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			busyImages[i] = getImage("busy" + i); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Register an image with the registry.
-	 *
-	 * @param key java.lang.String
-	 * @param partialURL java.lang.String
-	 */
-	private static void registerImage(String key, String partialURL) {
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL));
-			imageRegistry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error registering image " + key + " from " + partialURL, e); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserEditorInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserEditorInstance.java
deleted file mode 100644
index d97105f..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserEditorInstance.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-/**
- * An instance of a running Web browser.
- */
-public class InternalBrowserEditorInstance extends InternalBrowserInstance {
-
-	public InternalBrowserEditorInstance(String id, int style, String name, String tooltip) {
-		super(id, style, name, tooltip);
-	}
-
-	public void openURL(URL url) throws PartInitException {
-		WebBrowserEditorInput input = new WebBrowserEditorInput(url, style);
-		input.setName(this.name);
-		input.setToolTipText(this.tooltip);
-		WebBrowserEditor editor = (WebBrowserEditor)part;
-		
-		IWorkbenchWindow workbenchWindow = WebBrowserUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage page = null;
-		if (workbenchWindow != null)
-			page = workbenchWindow.getActivePage();
-		
-		if (page == null)
-			throw new PartInitException(Messages.errorCouldNotLaunchInternalWebBrowser);
-		
-		if (editor != null) {
-			editor.init(editor.getEditorSite(), input);
-			page.activate(editor);
-		} else {
-			try {
-				IEditorPart editorPart = page.openEditor(input, WebBrowserEditor.WEB_BROWSER_EDITOR_ID);
-				hookPart(page, editorPart);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error opening Web browser", e); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public boolean close() {
-		try {
-			return ((WebBrowserEditor)part).close();
-		} catch (Exception e) {
-			return false;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserInstance.java
deleted file mode 100644
index 90ed621..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserInstance.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 Eclipse Public License v1.0
- * which accompanies 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.browser;
-
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-
-/**
- * An instance of a running Web browser.
- */
-public abstract class InternalBrowserInstance extends AbstractWebBrowser {
-	protected int style;
-
-	protected String name;
-
-	protected String tooltip;
-
-	protected IWorkbenchPart part;
-
-	protected IPartListener listener;
-	
-	private Integer windowKey;
-
-	public InternalBrowserInstance(String id, int style, String name,
-			String tooltip) {
-		super(WebBrowserUtil.encodeStyle(id, style));
-		this.style = style;
-		this.name = name;
-		this.tooltip = tooltip;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public void setTooltip(String tooltip) {
-		this.tooltip = tooltip;
-	}
-
-	protected void hookPart(final IWorkbenchPage page, IWorkbenchPart part2) {
-		this.part = part2;
-		listener = new IPartListener() {
-			public void partActivated(IWorkbenchPart part3) {
-				// ignore
-			}
-
-			public void partBroughtToTop(IWorkbenchPart part3) {
-				// ignore
-			}
-
-			public void partClosed(IWorkbenchPart part3) {
-				if (part.equals(InternalBrowserInstance.this.part)) {
-					InternalBrowserInstance.this.part = null;
-					page.removePartListener(listener);
-					DefaultBrowserSupport.getInstance().removeBrowser(
-							InternalBrowserInstance.this);
-				}
-			}
-
-			public void partDeactivated(IWorkbenchPart part3) {
-				// ignore
-			}
-
-			public void partOpened(IWorkbenchPart part3) {
-				// ignore
-			}
-		};
-		page.addPartListener(listener);
-		IWorkbenchWindow window = part.getSite().getWorkbenchWindow();
-		windowKey = new Integer(window.hashCode());
-	}
-
-	public Integer getWindowKey() {
-		return windowKey;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserViewInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserViewInstance.java
deleted file mode 100644
index 2bd9f8e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserViewInstance.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-/**
- * An instance of a running Web browser.
- */
-public class InternalBrowserViewInstance extends InternalBrowserInstance {
-	public InternalBrowserViewInstance(String id, int style, String name, String tooltip) {
-		super(WebBrowserUtil.encodeStyle(id, style), style, name, tooltip);
-	}
-
-	public void openURL(URL url) throws PartInitException {
-        IWorkbenchWindow workbenchWindow = WebBrowserUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow();
-        final IWorkbenchPage page = workbenchWindow.getActivePage();
-        WebBrowserView view = (WebBrowserView)part;
-		if (view == null) {
-            try {
-				view = (WebBrowserView)page.showView(WebBrowserView.WEB_BROWSER_VIEW_ID, getId(), IWorkbenchPage.VIEW_CREATE);
-                hookPart(page, view);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error opening Web browser", e); //$NON-NLS-1$
-			}
-		}
-        if (view!=null) {
-            page.bringToTop(view);
-            view.setURL(url.toExternalForm());
-        }
-	}
-
-	public boolean close() {
-        return ((WebBrowserView)part).close();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.java
deleted file mode 100644
index 5973731..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	static {
-		NLS.initializeMessages("org.eclipse.ui.internal.browser.Messages", Messages.class); //$NON-NLS-1$
-	}
-
-	public static String BrowserText_title;
-	public static String BrowserText_link;
-	public static String BrowserText_tooltip;
-	public static String BrowserText_dtitle;
-	public static String BrowserText_text;
-	public static String BrowserText_button_collapse;
-	public static String BrowserText_button_expand;
-
-	public static String errorCouldNotLaunchInternalWebBrowser;
-	public static String actionWebBrowserGo;
-	public static String viewWebBrowserTitle;
-	public static String actionWebBrowserBack;
-	public static String actionWebBrowserForward;
-	public static String actionWebBrowserStop;
-	public static String actionWebBrowserRefresh;
-	public static String dialogResourceDeletedTitle;
-	public static String dialogResourceDeletedMessage;
-	public static String dialogResourceDeletedIgnore;
-	public static String errorInvalidEditorInput;
-	public static String preferenceWebBrowserDescription;
-	public static String prefInternalBrowser;
-	public static String prefExternalBrowser;
-	public static String prefSystemBrowser;
-	public static String browserList;
-	public static String add;
-	public static String edit;
-	public static String remove;
-	public static String search;
-	public static String selectDirectory;
-	public static String directoryDialogTitle;
-	public static String searchingTaskName;
-	public static String searchingNoneFound;
-	public static String preferenceWebBrowserTitleLong;
-	public static String searching;
-	public static String errorDialogTitle;
-	public static String errorCouldNotLaunchWebBrowser;
-	public static String errorNoBrowser;
-	public static String editExternalBrowser;
-	public static String createBrowser;
-	public static String name;
-	public static String location;
-	public static String parameters;
-	public static String parametersMessage;
-	public static String browse;
-	public static String browseMessage;
-	public static String locationInvalid;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.properties b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.properties
deleted file mode 100644
index 9570bde..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-BrowserText_title=Embedded browser not available
-BrowserText_link=<a href="open">Open file using the system editor</a>
-BrowserText_tooltip=Open External Editor
-BrowserText_dtitle=Problem Details
-BrowserText_text=The embedded browser widget for this editor cannot be created. It is either not available for your operating system or the system needs to be configured in order to support embedded browser.
-BrowserText_button_collapse=Details<<
-BrowserText_button_expand=Details>>
-
-# --- Internal Web Browser ---
-viewWebBrowserTitle=Web Browser
-
-# Actions
-actionWebBrowserGo=Go to the selected URL
-actionWebBrowserBack=Back to the previous page
-actionWebBrowserForward=Forward to the next page
-actionWebBrowserStop=Stop loading the current page
-actionWebBrowserRefresh=Refresh the current page
-
-# message if a resource is deleted
-dialogResourceDeletedTitle=Web Resource Deleted
-dialogResourceDeletedMessage=The file {0} initially opened in the Web Browser has been deleted from the file system. Do you want to ignore the deletion or close the Web Browser?
-dialogResourceDeletedIgnore=Ignore
-
-# --------------- Preferences ---------------
-
-# Name of the preference pages
-preferenceWebBrowserTitleLong=Web Browsers
-preferenceWebBrowserDescription=Add, remove, or edit installed Web browsers.\nThe selected Web browser will be used by default when Web pages are opened,\nalthough some applications may always use the external browser.
-
-# Web Browser preferences
-prefInternalBrowser=Use &internal Web browser
-prefSystemBrowser=Default system Web browser
-prefExternalBrowser=Use e&xternal Web browser
-
-errorDialogTitle=Error
-errorCouldNotLaunchWebBrowser=Could not launch external Web Browser for {0}. Check the Web Browser preferences.
-errorNoBrowser=Could not open a Web browser because there are none configured. Check the Web Browser preferences.
-errorInvalidEditorInput=Could not open Web browser on {0}. Ensure that it is an uncompressed file.
-
-browserList=External &Web browsers:
-add=&New...
-edit=&Edit...
-remove=&Remove
-search=&Search...
-createBrowser=Add External Web Browser
-editExternalBrowser=Edit External Web Browser
-name=&Name:
-location=&Location:
-parameters=&Parameters:
-parametersMessage=Example: -url {0}\n(Use {0} to include the URL)
-browse=&Browse...
-browseMessage=Specify the location of the Web Browser executable
-errorCouldNotLaunchInternalWebBrowser=Could not launch internal Web Browser. Please set an external browser in the Browser preferences.
-searchingTaskName=Searching for Web browsers...
-searching=Found {0} - Searching {1}
-searchingNoneFound=No Web browsers were found.
-selectDirectory=Select a directory to search for Web browsers:
-directoryDialogTitle=Directory Selection
-locationInvalid=The location value is not a valid path name.
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserHandler.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserHandler.java
deleted file mode 100644
index 7861089..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserHandler.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-public class OpenBrowserHandler extends AbstractHandler {
-
-	private static final String PARAM_ID_URL = "url"; //$NON-NLS-1$
-
-	private static final String PARAM_ID_BROWSER_ID = "browserId"; //$NON-NLS-1$
-
-	private static final String PARAM_ID_NAME = "name"; //$NON-NLS-1$
-
-	private static final String PARAM_ID_TOOLTIP = "tooltip"; //$NON-NLS-1$
-
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-
-		String urlText = event.getParameter(PARAM_ID_URL);
-		URL url;
-		if (urlText == null) {
-			url = null;
-		} else {
-			try {
-				url = new URL(urlText);
-			} catch (MalformedURLException ex) {
-				throw new ExecutionException("malformed URL:" + urlText, ex); //$NON-NLS-1$
-			}
-		}
-
-		String browserId = event.getParameter(PARAM_ID_BROWSER_ID);
-		String name = event.getParameter(PARAM_ID_NAME);
-		String tooltip = event.getParameter(PARAM_ID_TOOLTIP);
-
-		try {
-			IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench()
-					.getBrowserSupport();
-			IWebBrowser browser = browserSupport.createBrowser(
-					IWorkbenchBrowserSupport.LOCATION_BAR
-							| IWorkbenchBrowserSupport.NAVIGATION_BAR,
-					browserId, name, tooltip);
-			browser.openURL(url);
-		} catch (PartInitException ex) {
-			throw new ExecutionException("error opening browser", ex); //$NON-NLS-1$
-		}
-
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserWorkbenchAction.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserWorkbenchAction.java
deleted file mode 100644
index 6a05883..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserWorkbenchAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.*;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-/**
- * Action to open the Web broswer.
- */
-public class OpenBrowserWorkbenchAction implements IWorkbenchWindowActionDelegate {
-	/**
-	 * OpenBrowserWorkbenchAction constructor comment.
-	 */
-	public OpenBrowserWorkbenchAction() {
-		super();
-	}
-
-	/**
-	 * Disposes this action delegate.  The implementor should unhook any references
-	 * to itself so that garbage collection can occur.
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this action delegate with the workbench window it will work in.
-	 *
-	 * @param window the window that provides the context for this delegate
-	 */
-	public void init(IWorkbenchWindow window) {
-		// do nothing
-	}
-
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered.
-	 * Implement this method to do the actual work.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles the presentation portion of the
-	 *   action
-	 */
-	public void run(IAction action) {
-		try {
-			IWorkbenchBrowserSupport browserSupport = WebBrowserUIPlugin.getInstance().getWorkbench().getBrowserSupport();
-			IWebBrowser browser = browserSupport.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR, null, null, null);
-			browser.openURL(null);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error opening browser", e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Notifies this action delegate that the selection in the workbench has changed.
-	 * <p>
-	 * Implementers can use this opportunity to change the availability of the
-	 * action or to modify other presentation properties.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles presentation portion of the action
-	 * @param selection the current selection in the workbench
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SWTUtil.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SWTUtil.java
deleted file mode 100644
index dde786a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SWTUtil.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-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;
-/**
- * SWT Utility class.
- */
-public class SWTUtil {
-	private static FontMetrics fontMetrics;
-
-	protected static void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	protected static int getButtonWidthHint(Button button) {
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Create a new button with the standard size.
-	 * 
-	 * @param comp a component to add the button to
-	 * @param label the button label
-	 * @return a button
-	 */
-	public static Button createButton(Composite comp, String label) {
-		Button b = new Button(comp, SWT.PUSH);
-		b.setText(label);
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-	
-	/**
-	 * Create a new standard label.
-	 * 
-	 * @param comp a component to add the label to
-	 * @param text the label text
-	 * @return a label
-	 */
-	public static Label createLabel(Composite comp, String text) {
-		Label label = new Label(comp, SWT.NONE);
-		label.setText(text);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-		return label;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserDescriptor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserDescriptor.java
deleted file mode 100644
index 4d19603..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserDescriptor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-public class SystemBrowserDescriptor implements IBrowserDescriptor {
-	public String getName() {
-		return Messages.prefSystemBrowser;
-	}
-
-	public String getLocation() {
-		return null;
-	}
-
-	public String getParameters() {
-		return null;
-	}
-
-	public void delete() {
-		// ignore
-	}
-
-	public boolean isWorkingCopy() {
-		return false;
-	}
-
-	public IBrowserDescriptorWorkingCopy getWorkingCopy() {
-		return null;
-	}
-	
-	public boolean equals(Object obj) {
-		return obj instanceof SystemBrowserDescriptor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserInstance.java
deleted file mode 100644
index 4cacdd6..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserInstance.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.program.Program;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-
-/**
- * An instance of a running system Web browser.
- */
-public class SystemBrowserInstance extends AbstractWebBrowser {
-	public SystemBrowserInstance(String id) {
-		super(id);
-	}
-
-	public void openURL(URL url) throws PartInitException {
-		String urlText = null;
-
-		if (url != null)
-			urlText = url.toExternalForm();
-
-		// change spaces to "%20"
-		if (urlText != null && !WebBrowserUtil.isWindows()) {
-			int index = urlText.indexOf(" "); //$NON-NLS-1$
-			while (index >= 0) {
-				urlText = urlText.substring(0, index) + "%20" //$NON-NLS-1$
-						+ urlText.substring(index + 1);
-				index = urlText.indexOf(" "); //$NON-NLS-1$
-			}
-		}
-		Trace.trace(Trace.FINEST, "Launching system Web browser: " + urlText); //$NON-NLS-1$
-		Program program = Program.findProgram("html"); //$NON-NLS-1$
-		if (program != null) {
-			if (program.execute(urlText))
-				return;
-		}
-		if (!Program.launch(urlText))
-			throw new PartInitException(NLS.bind(Messages.errorCouldNotLaunchWebBrowser, url.toExternalForm()));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/TextAction.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/TextAction.java
deleted file mode 100644
index ec374f0..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/TextAction.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.jface.action.Action;
-/**
- * Text actions (cut, copy, paste) for the Web browser.
- */
-public class TextAction extends Action {
-	protected BrowserViewer browser;
-	protected byte type;
-
-	public static final byte CUT = 0;
-	public static final byte COPY = 1;
-	public static final byte PASTE = 2;
-	
-	/**
-	 * TextAction constructor comment.
-	 */
-	protected TextAction(BrowserViewer browser, byte type) {
-		super(type + "!"); //$NON-NLS-1$
-		this.browser = browser;
-		this.type = type;
-	}
-	
-	/**
-	 * Copies the selected text to the clipboard.  The text will be put in the 
-	 * clipboard in plain text format.
-	 * <p>
-	 *
-	 * @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 copy() {
-		Point selection = browser.combo.getSelection();
-	
-		int length = selection.y - selection.x;
-		if (length > 0) {
-			TextTransfer plainTextTransfer = TextTransfer.getInstance();
-			try {
-				browser.clipboard.setContents(
-					new String[] { browser.combo.getText().substring(selection.x, selection.y) }, 
-					new Transfer[] { plainTextTransfer });
-			} catch (SWTError error) {
-				// Copy to clipboard failed. This happens when another application 
-				// is accessing the clipboard while we copy. Ignore the error.
-				// Fixes 1GDQAVN
-			}
-		}
-	}
-	
-	/**
-	 * Moves the selected text to the clipboard.  The text will be put in the 
-	 * clipboard in plain text format and RTF format.
-	 * <p>
-	 *
-	 * @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 cut(){
-		Point selection = browser.combo.getSelection();
-	
-		if (selection.y > selection.x) {
-			copy();
-			delete();
-		}
-	}
-	
-	/**
-	 * Deletes the character to the right of the caret. Delete the selected text if any.
-	 */
-	public void delete() {
-		Point selection = browser.combo.getSelection();
-		String text = browser.combo.getText();
-	
-		if (selection.x != selection.y) {
-			text = text.substring(0, selection.x) + text.substring(selection.y);
-			browser.combo.setText(text);
-			browser.combo.setSelection(new Point(selection.x, selection.x));
-		}
-	}
-	
-	/** 
-	 * Replaces the selection with the clipboard text or insert the text at 
-	 * the current caret offset if there is no selection. 
-	 * If the widget has the SWT.SINGLE style and the clipboard text contains
-	 * more than one line, only the first line without line delimiters is 
-	 * inserted in the widget.
-	 * <p>
-	 *
-	 * @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 paste() {
-		TextTransfer transfer = TextTransfer.getInstance();
-		Point selection = browser.combo.getSelection();
-		String text = browser.combo.getText();
-		
-		String newText = (String) browser.clipboard.getContents(transfer);
-		if (newText != null && newText.length() > 0) {
-			text = text.substring(0, selection.x) + newText + text.substring(selection.y);
-			browser.combo.setText(text);
-	
-			// set the selection to the end of the paste
-			int x = selection.x + newText.length();
-			browser.combo.setSelection(new Point(x, x));
-		}
-	}
-	
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		if (browser == null || browser.combo == null)
-			return;
-		if (type == CUT)
-			cut();
-		else if (type == COPY)
-			copy();
-		else if (type == PASTE)
-			paste();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ToolbarLayout.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ToolbarLayout.java
deleted file mode 100644
index 18abbe9..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ToolbarLayout.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-/**
- * Custom layout for the browser's toolbar.
- */
-public class ToolbarLayout extends Layout {
-	private static final int SPACING = 5;
-	private static final int EXTRA_BUSY_SPACING = 2;
-	private static final int MARGIN = 2;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		if (hHint != SWT.DEFAULT)
-			return new Point(wHint, hHint);
-		
-		Control[] children = composite.getChildren();
-		int h = 0;
-		int size = children.length;
-		for (int i = 0; i < size; i++) {
-			h = Math.max(h, children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-		}
-		
-		return new Point(wHint, h + MARGIN * 2);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean)
-	 */
-	protected void layout(Composite composite, boolean flushCache) {
-		Control[] children = composite.getChildren();
-		Rectangle r = composite.getClientArea();
-		
-		int size = children.length;
-		Point[] sizes = new Point[size];
-		for (int i = 0; i < size; i++) {
-			sizes[i] = children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		}
-
-		int h = r.height - MARGIN * 2;
-		
-		// put busy icon at right with a little extra spacing
-		int busy = size - 1;
-		children[busy].setBounds(r.x + r.width - MARGIN - sizes[busy].x,
-				r.y + MARGIN + (h-sizes[busy].y) / 2, 
-				sizes[busy].x, sizes[busy].y);
-		
-		// find combo
-		int combo = -1;
-		int tw = r.width - MARGIN * 2 - (size - 1) * SPACING
-				- sizes[size-1].x - EXTRA_BUSY_SPACING;
-		for (int i = 0; i < size - 1; i++) {
-			if (children[i] instanceof Combo)
-				combo = i;
-			else
-				tw -= sizes[i].x;
-		}
-		if (combo >= 0)
-			sizes[combo].x = tw;
-		
-		// space out other children with their standard size, give combo all
-		// remaining space (if it exists)
-		int x = MARGIN;
-		for (int i = 0; i < size - 1; i++) {
-			children[i].setBounds(r.x + x, r.y + MARGIN + (h-sizes[i].y) / 2,
-					sizes[i].x, sizes[i].y);
-			x += SPACING + sizes[i].x;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Trace.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Trace.java
deleted file mode 100644
index 24c6dda..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Trace.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static int CONFIG = 0;
-	public static int WARNING = 2;
-	public static int SEVERE = 3;
-	public static int FINER = 4;
-	public static int FINEST = 5;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(int level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(int level, String s, Throwable t) {
-		if (!WebBrowserUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditor.java
deleted file mode 100644
index 47a1585..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditor.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 203, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.browser;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IPathEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.part.EditorPart;
-/**
- * An integrated Web browser, defined as an editor to make
- * better use of the desktop.
- */
-public class WebBrowserEditor extends EditorPart implements IBrowserViewerContainer {
-	public static final String WEB_BROWSER_EDITOR_ID = "org.eclipse.ui.browser.editor"; //$NON-NLS-1$
-
-	protected BrowserViewer webBrowser;
-	protected String initialURL;
-	protected Image image;
-
-	protected TextAction cutAction;
-	protected TextAction copyAction;
-	protected TextAction pasteAction;
-	
-	private boolean disposed;
-	private boolean lockName;
-
-	/**
-	 * WebBrowserEditor constructor comment.
-	 */
-	public WebBrowserEditor() {
-		super();
-	}
-	
-	/*
-	 * Creates the SWT controls for this workbench part.
-	 */
-	public void createPartControl(Composite parent) {
-		WebBrowserEditorInput input = getWebBrowserEditorInput();
-		
-		int style = 0;
-		if (input == null || input.isLocationBarLocal()) {
-			style += BrowserViewer.LOCATION_BAR;
-		}
-		if (input == null || input.isToolbarLocal()) {
-			style += BrowserViewer.BUTTON_BAR;
-		}
-		webBrowser = new BrowserViewer(parent, style);
-		
-		webBrowser.setURL(initialURL);
-		webBrowser.setContainer(this);
-		
-		if (input == null || input.isLocationBarLocal()) {
-			cutAction = new TextAction(webBrowser, TextAction.CUT);
-			copyAction = new TextAction(webBrowser, TextAction.COPY);
-			pasteAction = new TextAction(webBrowser, TextAction.PASTE);
-		}
-		
-		if (!lockName) {
-			PropertyChangeListener propertyChangeListener = new PropertyChangeListener() {
-				public void propertyChange(PropertyChangeEvent event) {
-					if (BrowserViewer.PROPERTY_TITLE.equals(event.getPropertyName())) {
-						setPartName((String) event.getNewValue());
-					}
-				}
-			};
-			webBrowser.addPropertyChangeListener(propertyChangeListener);
-		}
-	}
-	
-	public void dispose() {
-		if (image != null && !image.isDisposed())
-			image.dispose();
-		image = null;
-
-		super.dispose();
-		// mark this instance as disposed to avoid stale references
-		disposed = true;
-	}
-	
-	public boolean isDisposed() {
-		return disposed;
-	}
-	
-	/* (non-Javadoc)
-	 * Saves the contents of this editor.
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * Saves the contents of this editor to another object.
-	 */
-	public void doSaveAs() {
-		// do nothing
-	}
-	
-	/**
-	 * Returns the copy action.
-	 *
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getCopyAction() {
-		return copyAction;
-	}
-	
-	/**
-	 * Returns the cut action.
-	 *
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getCutAction() {
-		return cutAction;
-	}
-	
-	/**
-	 * Returns the web editor input, if available. If the input was of
-	 * another type, <code>null</code> is returned.
-	 *
-	 * @return org.eclipse.ui.internal.browser.IWebBrowserEditorInput
-	 */
-	protected WebBrowserEditorInput getWebBrowserEditorInput() {
-		IEditorInput input = getEditorInput();
-		if (input instanceof WebBrowserEditorInput)
-			return (WebBrowserEditorInput) input;
-		return null;
-	}
-
-	/**
-	 * Returns the paste action.
-	 *
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getPasteAction() {
-		return pasteAction;
-	}
-
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 */
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		Trace.trace(Trace.FINEST, "Opening browser: " + input); //$NON-NLS-1$
-		if (input instanceof IPathEditorInput) {
-			IPathEditorInput pei = (IPathEditorInput) input;
-			IPath path = pei.getPath();
-			URL url = null;
-			try {
-				if (path != null)
-					url = path.toFile().toURL();
-				initialURL = url.toExternalForm();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error getting URL to file"); //$NON-NLS-1$
-			}
-			if (webBrowser != null) {
-				if (initialURL != null)
-					webBrowser.setURL(initialURL);
-				site.getWorkbenchWindow().getActivePage().activate(this);
-			}
-			
-			setPartName(path.lastSegment());
-			if (url != null)
-				setTitleToolTip(url.getFile());
-
-			Image oldImage = image;
-			ImageDescriptor id = ImageResource.getImageDescriptor(ImageResource.IMG_INTERNAL_BROWSER);
-			image = id.createImage();
-
-			setTitleImage(image);
-			if (oldImage != null && !oldImage.isDisposed())
-				oldImage.dispose();
-			//addResourceListener(file);
-		} else if (input instanceof WebBrowserEditorInput) {
-			WebBrowserEditorInput wbei = (WebBrowserEditorInput) input;
-			initialURL = null;
-			if (wbei.getURL() != null)
-				initialURL = wbei.getURL().toExternalForm();
-			if (webBrowser != null) {
-				webBrowser.setURL(initialURL);
-				site.getWorkbenchWindow().getActivePage().activate(this);
-			}
-	
-			setPartName(wbei.getName());
-			setTitleToolTip(wbei.getToolTipText());
-			lockName = wbei.isNameLocked();
-
-			Image oldImage = image;
-			ImageDescriptor id = wbei.getImageDescriptor();
-			image = id.createImage();
-
-			setTitleImage(image);
-			if (oldImage != null && !oldImage.isDisposed())
-				oldImage.dispose();
-		} else
-			throw new PartInitException(NLS.bind(Messages.errorInvalidEditorInput, input.getName()));
-		
-		setSite(site);
-		setInput(input);
-	}
-	
-	/* (non-Javadoc)
-	 * Returns whether the contents of this editor have changed since the last save
-	 * operation.
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * Returns whether the "save as" operation is supported by this editor.
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/**
-	 * Open the input in the internal Web browser.
-	 */
-	public static void open(WebBrowserEditorInput input) {
-		IWorkbenchWindow workbenchWindow = WebBrowserUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage page = workbenchWindow.getActivePage();
-
-		try {
-			IEditorReference[] editors = page.getEditorReferences();
-			int size = editors.length;
-			for (int i = 0; i < size; i++) {
-				if (WEB_BROWSER_EDITOR_ID.equals(editors[i].getId())) {
-					IEditorPart editor = editors[i].getEditor(true);
-					if (editor != null && editor instanceof WebBrowserEditor) {
-						WebBrowserEditor webEditor = (WebBrowserEditor) editor;
-						WebBrowserEditorInput input2 = webEditor.getWebBrowserEditorInput();
-						if (input2 == null || input.canReplaceInput(input2)) {
-							editor.init(editor.getEditorSite(), input);
-							return;
-						}
-					}
-				}
-			}
-			
-			page.openEditor(input, WebBrowserEditor.WEB_BROWSER_EDITOR_ID);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error opening Web browser", e); //$NON-NLS-1$
-		}
-	}
-	
-	/*
-	 * Asks this part to take focus within the workbench.
-	 */
-	public void setFocus() {
-		if (webBrowser != null)
-			webBrowser.setFocus();
-	}
-
-	/**
-	 * Close the editor correctly.
-	 */
-	public boolean close() {
-        final boolean [] result = new boolean[1];
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				result[0] = getEditorSite().getPage().closeEditor(WebBrowserEditor.this, false);
-			}
-		});
-        return result[0];
-	}
-	
-    public IActionBars getActionBars() {
-        return getEditorSite().getActionBars();
-    }
-
-    public void openInExternalBrowser(String url) {
-        final IEditorInput input = getEditorInput();
-        final String id = getEditorSite().getId();
-        Runnable runnable = new Runnable() {
-            public void run() {
-                doOpenExternalEditor(id, input);
-            }
-        };
-        Display display = getSite().getShell().getDisplay();
-        close();
-        display.asyncExec(runnable);
-    }
-    
-    protected void doOpenExternalEditor(String id, IEditorInput input) {
-        IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry();
-        String name = input.getName();
-        IEditorDescriptor [] editors = registry.getEditors(name);
-        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
-        String editorId = null;
-        for (int i = 0; i < editors.length; i++) {
-            IEditorDescriptor editor = editors[i];
-            if (editor.getId().equals(id))
-                continue;
-            editorId = editor.getId();
-            break;
-        } 
-        
-        IEditorDescriptor ddesc = registry.getDefaultEditor(name);
-        if (ddesc!=null && ddesc.getId().equals(id)) {
-            int dot = name.lastIndexOf('.');
-            String ext = name;
-            if (dot!= -1)
-                ext = "*."+name.substring(dot+1); //$NON-NLS-1$
-            registry.setDefaultEditor(ext, null);
-        }
- 
-         if (editorId==null) {
-            // no editor
-            // next check with the OS for an external editor
-            if (registry.isSystemExternalEditorAvailable(name))
-                editorId = IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID;
-        }
-
-        if (editorId!=null) {
-            try {
-                page.openEditor(input, editorId);
-                return;
-            } catch (PartInitException e) {
-					// ignore
-            }
-        }
-        
-        // no registered editor - open using browser support
-        try {
-            URL theURL = new URL(webBrowser.getURL());
-            IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
-            support.getExternalBrowser().openURL(theURL);
-        }
-        catch (MalformedURLException e) {
-            //TODO handle this
-        }
-        catch (PartInitException e) {
-            //TODO handle this
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorActionBarContributor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorActionBarContributor.java
deleted file mode 100644
index 6ab79b2..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorActionBarContributor.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.EditorActionBarContributor;
-/**
- * ActionBarContributor for the Web browser.
- * Just adds cut, copy, paste actions.
- */
-public class WebBrowserEditorActionBarContributor extends EditorActionBarContributor {
-	protected WebBrowserEditor editor;
-	protected Action back;
-	protected Action forward;
-	protected Updater updater = new Updater();
-
-	class Updater implements BrowserViewer.IBackNextListener {
-		public void updateBackNextBusy() {
-			if (back == null)
-				return;
-			back.setEnabled(getWebBrowser().isBackEnabled());
-			forward.setEnabled(getWebBrowser().isForwardEnabled());
-			//busy.setBusy(getWebBrowser().loading);
-		}
-	}
-
-	/**
-	 * WebBrowserEditorActionBarContributor constructor comment.
-	 */
-	public WebBrowserEditorActionBarContributor() {
-		super();
-	}
-
-	/*
-	 * Sets the active editor for the contributor.
-	 */
-	public void setActiveEditor(IEditorPart targetEditor) {
-		if (targetEditor instanceof WebBrowserEditor) {
-			editor = (WebBrowserEditor) targetEditor;
-			WebBrowserEditorInput input = editor.getWebBrowserEditorInput();
-			
-			if (input == null || input.isLocationBarLocal()) {
-				IActionBars actionBars = getActionBars();
-				actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), editor.getCopyAction());
-				actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), editor.getCutAction());
-				actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), editor.getPasteAction());
-			}
-			
-			//if (input.isToolbarGlobal())
-			//	getWebBrowser().backNextListener = this.updater;
-				
-			//editor.updateActions();
-		} else
-			editor = null;
-	}
-	
-	protected BrowserViewer getWebBrowser() {
-		if (editor == null)
-			return null;
-		
-		return editor.webBrowser; 
-	}
-
-	/*
-    * Contributes to the given tool bar.
-    */
-   public void contributeToToolBar(IToolBarManager toolBarManager) {
-   	if (editor == null)
-   		return;
-   	/*WebBrowserEditorInput input = editor.getWebBrowserEditorInput();
-   	if (input.isLocationBarGlobal()) {
-	   	final LocationContributionItem location = new LocationContributionItem();
-	   	toolBarManager.add(location);
-	   
-	   	Action go = new Action() {
-	   		public void run() {
-	   			getWebBrowser().setURL(location.getText());
-	   		}
-	   	};
-	   	go.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_GO));
-	   	go.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_GO));
-	   	go.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_GO));
-	   	go.setToolTipText(Messages.actionWebBrowserGo"));
-	   	toolBarManager.add(go);
-   	}
-   	
-   	if (input.isLocationBarGlobal() && input.isToolbarGlobal()) {
-   		toolBarManager.add(new Separator());
-   	}
-   	
-   	if (input.isToolbarGlobal()) {
-	   	Action favorites = new Action(Messages.actionWebBrowserFavorites"), IAction.AS_DROP_DOWN_MENU) {
-	   		public void run() {
-	   			getWebBrowser().addFavorite();
-	   		}
-	   		public IMenuCreator getMenuCreator() {
-	   			return new IMenuCreator() {
-						public void dispose() {
-							// do nothing
-						}
-	
-						public Menu getMenu(final Control parent) {
-							Menu menu = new Menu(parent);
-							
-							// locked favorites
-							Iterator iterator = WebBrowserUtil.getLockedFavorites().iterator();
-							if (iterator.hasNext()) {
-								while (iterator.hasNext()) {
-									final Favorite f = (Favorite) iterator.next();
-									MenuItem item = new MenuItem(menu, SWT.NONE);
-									item.setText(f.getName());
-									item.setImage(ImageResource.getImage(ImageResource.IMG_FAVORITE));
-									item.addSelectionListener(new SelectionAdapter() {
-										public void widgetSelected(SelectionEvent event) {
-											getWebBrowser().setURL(f.getURL());
-										}
-									});
-								}
-								
-								new MenuItem(menu, SWT.SEPARATOR);
-							}
-							
-							iterator = WebBrowserPreference.getInternalWebBrowserFavorites().iterator();
-							if (!iterator.hasNext()) {
-								MenuItem item = new MenuItem(menu, SWT.NONE);
-								item.setText(Messages.actionWebBrowserNoFavorites"));
-							}
-							while (iterator.hasNext()) {
-								final Favorite f = (Favorite) iterator.next();
-								MenuItem item = new MenuItem(menu, SWT.NONE);
-								item.setText(f.getName());
-								item.setImage(ImageResource.getImage(ImageResource.IMG_FAVORITE));
-								item.addSelectionListener(new SelectionAdapter() {
-									public void widgetSelected(SelectionEvent event) {
-										getWebBrowser().setURL(f.getURL());
-									}
-								});
-							}
-							
-							new MenuItem(menu, SWT.SEPARATOR);
-					
-							MenuItem item = new MenuItem(menu, SWT.NONE);
-							item.setText(Messages.actionWebBrowserOrganizeFavorites"));
-							item.addSelectionListener(new SelectionAdapter() {
-								public void widgetSelected(SelectionEvent event) {
-									OrganizeFavoritesDialog dialog = new OrganizeFavoritesDialog(parent.getShell());
-									dialog.open();
-								}
-							});
-							return menu;
-						}
-	
-						public Menu getMenu(final Menu parent) {
-							Menu menu = new Menu(parent);
-							
-							// locked favorites
-							Iterator iterator = WebBrowserUtil.getLockedFavorites().iterator();
-							if (iterator.hasNext()) {
-								while (iterator.hasNext()) {
-									final Favorite f = (Favorite) iterator.next();
-									MenuItem item = new MenuItem(menu, SWT.NONE);
-									item.setText(f.getName());
-									item.setImage(ImageResource.getImage(ImageResource.IMG_FAVORITE));
-									item.addSelectionListener(new SelectionAdapter() {
-										public void widgetSelected(SelectionEvent event) {
-											getWebBrowser().setURL(f.getURL());
-										}
-									});
-								}
-								
-								new MenuItem(menu, SWT.SEPARATOR);
-							}
-							
-							iterator = WebBrowserPreference.getInternalWebBrowserFavorites().iterator();
-							if (!iterator.hasNext()) {
-								MenuItem item = new MenuItem(menu, SWT.NONE);
-								item.setText(Messages.actionWebBrowserNoFavorites"));
-							}
-							while (iterator.hasNext()) {
-								final Favorite f = (Favorite) iterator.next();
-								MenuItem item = new MenuItem(menu, SWT.NONE);
-								item.setText(f.getName());
-								item.setImage(ImageResource.getImage(ImageResource.IMG_FAVORITE));
-								item.addSelectionListener(new SelectionAdapter() {
-									public void widgetSelected(SelectionEvent event) {
-										getWebBrowser().setURL(f.getURL());
-									}
-								});
-							}
-							
-							new MenuItem(menu, SWT.SEPARATOR);
-					
-							MenuItem item = new MenuItem(menu, SWT.NONE);
-							item.setText(Messages.actionWebBrowserOrganizeFavorites"));
-							item.addSelectionListener(new SelectionAdapter() {
-								public void widgetSelected(SelectionEvent event) {
-									OrganizeFavoritesDialog dialog = new OrganizeFavoritesDialog(parent.getShell());
-									dialog.open();
-								}
-							});
-							return menu;
-						}
-	   			};
-	   		}
-	   	};
-	   	favorites.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_FAVORITES));
-	   	favorites.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_FAVORITES));
-	   	favorites.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_FAVORITES));
-	   	favorites.setToolTipText(Messages.actionWebBrowserFavorites"));
-	   	toolBarManager.add(favorites);
-	   	
-	   	back = new Action() {
-	   		public void run() {
-	   			getWebBrowser().back();
-	   		}
-	   	};
-	   	back.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_BACKWARD));
-			back.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_BACKWARD));
-			back.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_BACKWARD));
-			back.setToolTipText(Messages.actionWebBrowserBack"));
-	   	toolBarManager.add(back);
-	   	
-	   	forward = new Action() {
-	   		public void run() {
-	   			getWebBrowser().forward();
-	   		}
-	   	};
-	   	forward.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_FORWARD));
-	   	forward.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_FORWARD));
-			forward.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_FORWARD));
-			forward.setToolTipText(Messages.actionWebBrowserForward"));
-	   	toolBarManager.add(forward);
-	   	
-	   	Action stop = new Action() {
-	   		public void run() {
-	   			getWebBrowser().stop();
-	   		}
-	   	};
-	   	stop.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_STOP));
-	   	stop.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_STOP));
-	   	stop.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_STOP));
-	   	stop.setToolTipText(Messages.actionWebBrowserStop"));
-	   	toolBarManager.add(stop);
-	   	
-	   	Action refresh = new Action() {
-	   		public void run() {
-	   			getWebBrowser().refresh();
-	   		}
-	   	};
-	   	refresh.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_REFRESH));
-	   	refresh.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_REFRESH));
-	   	refresh.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_REFRESH));
-	   	refresh.setToolTipText(Messages.actionWebBrowserRefresh"));
-	   	toolBarManager.add(refresh);
-   	}*/
-   	
-   	/*toolBarManager.add(new Separator());
-   	
-   	ControlContribution busyCont = new ControlContribution("webbrowser.busy") {
-   	   protected Control createControl(Composite parent) {
-   	   	busy = new BusyIndicator(parent, SWT.NONE);
-   	   	return busy;
-   	   }
-   	};
-   	toolBarManager.add(busyCont);*/
-   }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorInput.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorInput.java
deleted file mode 100644
index 3cdee2a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorInput.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-/**
- * The editor input for the integrated web browser.
- */
-public class WebBrowserEditorInput implements IEditorInput,
-		IPersistableElement, IElementFactory {
-	// --- constants to pass into constructor ---
-
-	// if used, the toolbar will be available
-	// public static final int SHOW_TOOLBAR = 1 << 1;
-
-	// public static final int SHOW_GLOBAL_TOOLBAR = 1 << 2;
-
-	// if used, the status bar will be available
-	// public static final int SHOW_STATUSBAR = 1 << 2;
-
-	// if used, the original URL will be saved and
-	// the page can reopen to the same URL after
-	// shutting down
-	// public static final int SAVE_URL = 1 << 5;
-
-	// if used, the browser will be transient and will not appear
-	// in the most recently used file list, nor will it reopen after
-	// restarting Eclipse
-	// public static final int TRANSIENT = 1 << 6;
-
-	private static final String ELEMENT_FACTORY_ID = "org.eclipse.ui.browser.elementFactory"; //$NON-NLS-1$
-
-	private static final String MEMENTO_URL = "url"; //$NON-NLS-1$
-
-	private static final String MEMENTO_STYLE = "style"; //$NON-NLS-1$
-
-	private static final String MEMENTO_ID = "id"; //$NON-NLS-1$
-
-	private URL url;
-
-	private int style;
-
-	private String id = null;
-
-	private String name;
-
-	private String tooltip;
-
-	/**
-	 * ExternalBrowserInstance editor input for the homepage.
-	 */
-	public WebBrowserEditorInput() {
-		this(null);
-	}
-
-	/**
-	 * WebBrowserEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(URL url) {
-		this(url, 0);
-	}
-
-	/**
-	 * WebBrowserEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(URL url, int style) {
-		super();
-		this.url = url;
-		this.style = style;
-	}
-
-	/**
-	 * WebBrowserEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(URL url, int style, String browserId) {
-		super();
-		this.url = url;
-		this.style = style;
-		this.id = browserId;
-	}
-
-	/**
-	 * WebBrowserEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(URL url, boolean b) {
-		this(url);
-	}
-
-	public void setName(String n) {
-		name = n;
-	}
-
-	public void setToolTipText(String t) {
-		tooltip = t;
-	}
-
-	/**
-	 * Returns true if this page can reuse the browser that the given input is
-	 * being displayed in, or false if it should open up in a new page.
-	 * 
-	 * @param input
-	 *            org.eclipse.ui.internal.browser.IWebBrowserEditorInput
-	 * @return boolean
-	 */
-	public boolean canReplaceInput(WebBrowserEditorInput input) {
-		Trace.trace(Trace.FINEST, "canReplaceInput " + this + " " + input); //$NON-NLS-1$ //$NON-NLS-2$
-		// if ((style & FORCE_NEW_PAGE) != 0)
-		// return false;
-		// if (input.isToolbarVisible() != isToolbarVisible())
-		// return false;
-		// else
-		if (input.isStatusbarVisible() != isStatusbarVisible())
-			return false;
-		else if (id != null) {
-			String bid = input.getBrowserId();
-			return id.equals(bid);
-		} else
-			return false;
-	}
-
-	/**
-	 * Creates an <code>IElement</code> from the state captured within an
-	 * <code>IMemento</code>.
-	 * 
-	 * @param memento
-	 *            a memento containing the state for an element
-	 * @return an element, or <code>null</code> if the element could not be
-	 *         created
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		URL url2 = null;
-		int newStyle = 0;
-
-		try {
-			newStyle = memento.getInteger(MEMENTO_STYLE).intValue();
-
-			if (newStyle != 0)
-				url = new URL(memento.getString(MEMENTO_URL));
-		} catch (Exception e) {
-			// could not determine the style
-		}
-
-		String id2 = null;
-		try {
-			id2 = memento.getString(MEMENTO_ID);
-			if (id2 != null && id2.length() < 1)
-				id2 = null;
-		} catch (Exception e) {
-			// ignore
-		}
-
-		return new WebBrowserEditorInput(url2, newStyle, id2);
-	}
-
-	/**
-	 * Indicates whether some other object is "equal to" this one. In this case
-	 * it means that the underlying IFolders are equal.
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (!(obj instanceof WebBrowserEditorInput))
-			return false;
-		WebBrowserEditorInput other = (WebBrowserEditorInput) obj;
-
-		if (url != null && !url.equals(obj))
-			return false;
-
-		return canReplaceInput(other);
-	}
-
-	/*
-	 * Returns whether the editor input exists.
-	 */
-	public boolean exists() {
-		if ((style & IWorkbenchBrowserSupport.PERSISTENT) != 0)
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * 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.
-	 * 
-	 * @param adapter
-	 *            the adapter class to look up
-	 * @return a object castable to the given class, or <code>null</code> if
-	 *         this object does not have an adapter for the given class
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	/**
-	 * Returns the ID of an element factory which can be used to recreate this
-	 * object. An element factory extension with this ID must exist within the
-	 * workbench registry.
-	 * 
-	 * @return the element factory ID
-	 */
-	public String getFactoryId() {
-		return ELEMENT_FACTORY_ID;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return ImageResource
-				.getImageDescriptor(ImageResource.IMG_INTERNAL_BROWSER);
-	}
-	
-	/**
-	 * Returns true if the name is locked and cannot be changed.
-	 * 
-	 * @return <code>true</code> if the name of the browser should not change
-	 */
-	protected boolean isNameLocked() {
-		return (name != null);
-	}
-
-	/**
-	 * Returns the name of this editor input for display purposes.
-	 * <p>
-	 * For instance, if the fully qualified input name is
-	 * <code>"a\b\MyFile.gif"</code>, the return value would be just
-	 * <code>"MyFile.gif"</code>.
-	 * 
-	 * @return the file name string
-	 */
-	public String getName() {
-		if (name != null)
-			return name;
-
-		return Messages.viewWebBrowserTitle;
-	}
-
-	/*
-	 * Returns an object that can be used to save the state of this editor
-	 * input. @return the persistable element, or <code>null</code> if this
-	 * editor input cannot be persisted
-	 */
-	public IPersistableElement getPersistable() {
-		if ((style & IWorkbenchBrowserSupport.PERSISTENT) == 0)
-			return null;
-
-		return this;
-	}
-
-	public String getToolTipText() {
-		if (tooltip != null)
-			return tooltip;
-
-		if (url != null)
-			return url.toExternalForm();
-
-		return Messages.viewWebBrowserTitle;
-	}
-
-	/**
-	 * Returns the url.
-	 * 
-	 * @return java.net.URL
-	 */
-	public URL getURL() {
-		return url;
-	}
-
-	/**
-	 * Returns the browser id. Browsers with a set id will always & only be
-	 * replaced by browsers with the same id.
-	 * 
-	 * @return String
-	 */
-	public String getBrowserId() {
-		return id;
-	}
-
-	/**
-	 * Returns true if the status bar should be shown.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isStatusbarVisible() {
-		return (style & IWorkbenchBrowserSupport.STATUS) != 0;
-	}
-
-	/**
-	 * Returns true if the toolbar should be shown.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isLocationBarLocal() {
-		return (style & BrowserViewer.LOCATION_BAR) != 0;
-	}
-
-	/*
-	 * public boolean isLocationBarGlobal() { return (style &
-	 * ExternalBrowserInstance.LOCATION_TOOLBAR) != 0; }
-	 */
-
-	public boolean isToolbarLocal() {
-		return (style & BrowserViewer.BUTTON_BAR) != 0;
-	}
-
-	/*
-	 * public boolean isToolbarGlobal() { return (style &
-	 * ExternalBrowserInstance.BUTTON_TOOLBAR) != 0; }
-	 */
-
-	/**
-	 * Saves the state of an element within a memento.
-	 * 
-	 * @param memento
-	 *            the storage area for element state
-	 */
-	public void saveState(IMemento memento) {
-		if ((style & IWorkbenchBrowserSupport.PERSISTENT) != 0 && url != null)
-			memento.putString(MEMENTO_URL, url.toExternalForm());
-
-		memento.putInteger(MEMENTO_STYLE, style);
-
-		if (id != null)
-			memento.putString(MEMENTO_ID, id);
-	}
-
-	/**
-	 * Converts this object to a string.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "WebBrowserEditorInput[" + url + " " + style + " " + id + "]";  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreference.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreference.java
deleted file mode 100644
index aa7ff6a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreference.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Preferences for the Web browser.
- */
-public class WebBrowserPreference {
-	protected static final String PREF_BROWSER_HISTORY = "webBrowserHistory"; //$NON-NLS-1$
-
-	protected static final String PREF_INTERNAL_WEB_BROWSER_HISTORY = "internalWebBrowserHistory"; //$NON-NLS-1$
-
-	protected static final String PREF_BROWSER_CHOICE = "browser-choice"; //$NON-NLS-1$
-
-	private static final String INTERNAL_BROWSER_ID = "org.eclipse.ui.browser.editor"; //$NON-NLS-1$
-
-	private static final String BROWSER_SUPPORT_ID = "org.eclipse.ui.browser.editorSupport"; //$NON-NLS-1$
-
-	public static final int INTERNAL = 0;
-
-	public static final int EXTERNAL = 1;
-
-	/**
-	 * WebBrowserPreference constructor comment.
-	 */
-	private WebBrowserPreference() {
-		super();
-	}
-
-	/**
-	 * Returns the preference store.
-	 * 
-	 * @return the preference store
-	 */
-	protected static IPreferenceStore getPreferenceStore() {
-		return WebBrowserUIPlugin.getInstance().getPreferenceStore();
-	}
-
-	/**
-	 * Returns the Web browser history list.
-	 * 
-	 * @return java.util.List
-	 */
-	public static List getInternalWebBrowserHistory() {
-		String temp = getPreferenceStore().getString(
-				PREF_INTERNAL_WEB_BROWSER_HISTORY);
-		StringTokenizer st = new StringTokenizer(temp, "|*|"); //$NON-NLS-1$
-		List l = new ArrayList();
-		while (st.hasMoreTokens()) {
-			String s = st.nextToken();
-			l.add(s);
-		}
-		return l;
-	}
-
-	/**
-	 * Sets the Web browser history.
-	 * 
-	 * @param list
-	 *            the history
-	 */
-	public static void setInternalWebBrowserHistory(List list) {
-		StringBuffer sb = new StringBuffer();
-		if (list != null) {
-			Iterator iterator = list.iterator();
-			while (iterator.hasNext()) {
-				String s = (String) iterator.next();
-				sb.append(s);
-				sb.append("|*|"); //$NON-NLS-1$
-			}
-		}
-		getPreferenceStore().setValue(PREF_INTERNAL_WEB_BROWSER_HISTORY,
-				sb.toString());
-		WebBrowserUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns whether the internal browser is used by default
-	 * 
-	 * @return true if the internal browser is used by default
-	 */
-	public static boolean isDefaultUseInternalBrowser() {
-		return WebBrowserUtil.canUseInternalWebBrowser();
-	}
-
-	/**
-	 * Returns whether the system browser is used by default
-	 * 
-	 * @return true if the system browser is used by default
-	 */
-	public static boolean isDefaultUseSystemBrowser() {
-		return WebBrowserUtil.canUseSystemBrowser();
-	}
-
-	/**
-	 * Returns whether the internal or external browser is being used
-	 * 
-	 * @return one of <code>INTERNAL</code> or <code>EXTERNAL</code>.
-	 */
-	public static int getBrowserChoice() {
-		int choice = getPreferenceStore().getInt(PREF_BROWSER_CHOICE);
-		if (choice == 2)
-			return EXTERNAL;
-		if (choice == INTERNAL && !WebBrowserUtil.canUseInternalWebBrowser())
-			return EXTERNAL;
-		return choice;
-	}
-
-	/**
-	 * Sets whether the internal, system and external browser is used
-	 * 
-	 * @param choice
-	 *            </code>INTERNAL</code>, <code>SYSTEM</code> and <code>EXTERNAL</code>
-	 */
-	public static void setBrowserChoice(int choice) {
-		getPreferenceStore().setValue(PREF_BROWSER_CHOICE, choice);
-		WebBrowserUIPlugin.getInstance().savePluginPreferences();
-		updateDefaultEditor(choice);
-	}
-
-	private static void updateDefaultEditor(int choice) {
-		// Toggle from internal editor to browser support
-		// to avoid confusion between default editors and
-		// Web browser preference page
-		IEditorRegistry registry = PlatformUI.getWorkbench()
-				.getEditorRegistry();
-		String oldId = choice == INTERNAL ? BROWSER_SUPPORT_ID
-				: INTERNAL_BROWSER_ID;
-		String newId = choice == INTERNAL ? INTERNAL_BROWSER_ID
-				: BROWSER_SUPPORT_ID;
-
-		String[][] extensions = { { "a.html", "*.html" }, { "a.htm", "*.htm" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				{ "a.shtml", "*.shtml" } };  //$NON-NLS-1$//$NON-NLS-2$
-
-		// For each default editor that matches the oldId, change
-		// the default editor to the newId
-		for (int i = 0; i < extensions.length; i++) {
-			String[] ext = extensions[i];
-			IEditorDescriptor ddesc = registry.getDefaultEditor(ext[0]);
-			if (ddesc != null && ddesc.getId().equals(oldId)) {
-				registry.setDefaultEditor(ext[1], newId);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreferencePage.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreferencePage.java
deleted file mode 100644
index 6bb4306..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreferencePage.java
+++ /dev/null
@@ -1,615 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The preference page that holds Web browser preferences.
- */
-public class WebBrowserPreferencePage extends PreferencePage implements
-		IWorkbenchPreferencePage {
-	protected Button internal;
-
-	protected Button external;
-
-	protected Table table;
-
-	protected CheckboxTableViewer tableViewer;
-
-	protected Button edit;
-
-	protected Button remove;
-
-	protected Button search;
-
-	protected Label location;
-
-	protected Label parameters;
-	
-	protected IBrowserDescriptor checkedBrowser;
-
-	class BrowserContentProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object inputElement) {
-			List list = new ArrayList();
-			Iterator iterator = BrowserManager.getInstance().getWebBrowsers()
-					.iterator();
-			while (iterator.hasNext()) {
-				IBrowserDescriptor browser = (IBrowserDescriptor) iterator
-						.next();
-				list.add(browser);
-			}
-			return list.toArray();
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			// do nothing
-		}
-
-		public void dispose() {
-			// do nothing
-		}
-	}
-
-	class BrowserTableLabelProvider implements ITableLabelProvider {
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			IBrowserDescriptor browser = (IBrowserDescriptor) element;
-			return notNull(browser.getName());
-		}
-
-		protected String notNull(String s) {
-			if (s == null)
-				return ""; //$NON-NLS-1$
-			return s;
-		}
-
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		public void addListener(ILabelProviderListener listener) {
-			// do nothing
-		}
-
-		public void removeListener(ILabelProviderListener listener) {
-			// do nothing
-		}
-
-		public void dispose() {
-			// do nothing
-		}
-	}
-
-	/**
-	 * WebBrowserPreferencePage constructor comment.
-	 */
-	public WebBrowserPreferencePage() {
-		super();
-	}
-
-	/**
-	 * Create the preference options.
-	 * 
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
-				ContextIds.PREF_BROWSER);
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL
-				| GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(Messages.preferenceWebBrowserDescription);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		label = new Label(composite, SWT.WRAP);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		internal = new Button(composite, SWT.RADIO);
-		internal.setText(Messages.prefInternalBrowser);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		internal.setLayoutData(data);
-
-		if (!WebBrowserUtil.canUseInternalWebBrowser())
-			internal.setEnabled(false);
-
-		external = new Button(composite, SWT.RADIO);
-		external.setText(Messages.prefExternalBrowser);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		external.setLayoutData(data);
-
-		label = new Label(composite, SWT.NONE);
-		label.setText(Messages.browserList);
-		data = new GridData(GridData.FILL_HORIZONTAL
-				| GridData.VERTICAL_ALIGN_CENTER);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		table = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL
-				| SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_BOTH);
-		table.setLayoutData(data);
-		table.setHeaderVisible(false);
-		table.setLinesVisible(false);
-
-		TableLayout tableLayout = new TableLayout();
-		new TableColumn(table, SWT.NONE);
-		tableLayout.addColumnData(new ColumnWeightData(100));
-		table.setLayout(tableLayout);
-
-		tableViewer = new CheckboxTableViewer(table);
-		tableViewer.setContentProvider(new BrowserContentProvider());
-		tableViewer.setLabelProvider(new BrowserTableLabelProvider());
-		tableViewer.setInput("root"); //$NON-NLS-1$
-
-		// uncheck any other elements that might be checked and leave only the
-		// element checked to remain checked since one can only chose one
-		// brower at a time to be current.
-		tableViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent e) {
-				checkNewDefaultBrowser(e.getElement());
-				checkedBrowser = (IBrowserDescriptor) e.getElement();
-				
-				// if no other browsers are checked, don't allow the single one
-				// currently checked to become unchecked, and lose a current
-				// browser. That is, don't permit unchecking if no other item
-				// is checked which is supposed to be the case.
-				Object[] obj = tableViewer.getCheckedElements();
-				if (obj.length == 0)
-					tableViewer.setChecked(e.getElement(), true);
-			}
-		});
-
-		// set a default, checked browser based on the current browser. If there
-		// is not a current browser, but the first item exists, use that instead.
-		// This will work currently until workbench shutdown, because current
-		// browser is not yet persisted.
-		checkedBrowser = BrowserManager.getInstance().getCurrentWebBrowser();
-		if (checkedBrowser != null)
-			tableViewer.setChecked(checkedBrowser, true);
-		else {
-			Object obj = tableViewer.getElementAt(0);
-			if (obj != null)
-				tableViewer.setChecked(obj, true);
-		}
-
-		tableViewer
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-					public void selectionChanged(SelectionChangedEvent event) {
-						IStructuredSelection sele = ((IStructuredSelection) tableViewer
-								.getSelection());
-						boolean sel = sele.getFirstElement() != null &&
-								!(sele.getFirstElement() instanceof SystemBrowserDescriptor);
-						remove.setEnabled(sel);
-						edit.setEnabled(sel);
-					}
-				});
-
-		tableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				IStructuredSelection sel = ((IStructuredSelection) tableViewer
-						.getSelection());
-				if (sel.getFirstElement() != null) {
-					IBrowserDescriptor browser2 = (IBrowserDescriptor) sel
-							.getFirstElement();
-					IBrowserDescriptorWorkingCopy wc = browser2
-							.getWorkingCopy();
-					BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(
-							getShell(), wc);
-					if (dialog.open() != Window.CANCEL) {
-						try {
-							tableViewer.refresh(wc.save());
-						} catch (Exception ex) {
-							// ignore
-						}
-					}
-				}
-			}
-		});
-
-		table.addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == SWT.DEL) {
-					IStructuredSelection sel = ((IStructuredSelection) tableViewer
-							.getSelection());
-					if (sel.getFirstElement() != null) {
-						IBrowserDescriptor browser2 = (IBrowserDescriptor) sel
-								.getFirstElement();
-						try {
-							browser2.delete();
-							tableViewer.remove(browser2);
-
-							// need here to ensure that if the item deleted was
-							// checked, ie. was
-							// the current browser, that the new current browser
-							// will be the first in the
-							// list, typically, the internal browser, which
-							// cannot be
-							// deleted, and be current
-							BrowserManager manager = BrowserManager.getInstance();
-							if (browser2 == checkedBrowser) {
-								if (manager.browsers.size() > 0) {
-									checkedBrowser = (IBrowserDescriptor) manager.browsers.get(0);
-									tableViewer.setChecked(checkedBrowser, true);
-								}
-							}
-						} catch (Exception ex) {
-							// ignore
-						}
-					}
-				}
-			}
-
-			public void keyReleased(KeyEvent e) {
-				// ignore
-			}
-		});
-
-		Composite buttonComp = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-				| GridData.VERTICAL_ALIGN_FILL);
-		buttonComp.setLayoutData(data);
-
-		final Button add = SWTUtil.createButton(buttonComp, Messages.add);
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(
-						getShell());
-				if (dialog.open() == Window.CANCEL)
-					return;
-				tableViewer.refresh();
-				if (checkedBrowser != null)
-					tableViewer.setChecked(checkedBrowser, true);
-			}
-		});
-
-		edit = SWTUtil.createButton(buttonComp, Messages.edit);
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = ((IStructuredSelection) tableViewer
-						.getSelection());
-				IBrowserDescriptor browser2 = (IBrowserDescriptor) sel
-						.getFirstElement();
-				IBrowserDescriptorWorkingCopy wc = browser2.getWorkingCopy();
-				BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(
-						getShell(), wc);
-				if (dialog.open() != Window.CANCEL) {
-					try {
-						tableViewer.refresh(wc.save());
-					} catch (Exception ex) {
-						// ignore
-					}
-				}
-			}
-		});
-
-		remove = SWTUtil.createButton(buttonComp, Messages.remove);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = ((IStructuredSelection) tableViewer
-						.getSelection());
-				IBrowserDescriptor browser2 = (IBrowserDescriptor) sel
-						.getFirstElement();
-				try {
-					browser2.delete();
-					tableViewer.remove(browser2);
-
-					// need here to ensure that if the item deleted was checked,
-					// ie. was
-					// the current browser, that the new current browser will be
-					// the first in the
-					// list, typically, the internal browser, which cannot be
-					// deleted, and be current
-					BrowserManager manager = BrowserManager.getInstance();
-					if (browser2 == checkedBrowser) {
-						if (manager.browsers.size() > 0) {
-							checkedBrowser = (IBrowserDescriptor) manager.browsers.get(0);
-							tableViewer.setChecked(checkedBrowser, true);
-						}
-					}
-				} catch (Exception ex) {
-					// ignore
-				}
-			}
-		});
-
-		search = SWTUtil.createButton(buttonComp, Messages.search);
-		data = (GridData) search.getLayoutData();
-		data.verticalIndent = 9;
-		search.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				final List foundBrowsers = new ArrayList();
-				final List existingPaths = WebBrowserUtil
-						.getExternalBrowserPaths();
-
-				// select a target directory for the search
-				DirectoryDialog dialog = new DirectoryDialog(getShell());
-				dialog.setMessage(Messages.selectDirectory);
-				dialog.setText(Messages.directoryDialogTitle);
-
-				String path = dialog.open();
-				if (path == null)
-					return;
-
-				final File rootDir = new File(path);
-				ProgressMonitorDialog pm = new ProgressMonitorDialog(getShell());
-
-				IRunnableWithProgress r = new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) {
-						monitor.beginTask(Messages.searchingTaskName,
-								IProgressMonitor.UNKNOWN);
-						search(rootDir, existingPaths, foundBrowsers, monitor);
-						monitor.done();
-					}
-				};
-
-				try {
-					pm.run(true, true, r);
-				} catch (InvocationTargetException ex) {
-					Trace.trace(Trace.SEVERE,
-							"Invocation Exception occured running monitor: " //$NON-NLS-1$
-									+ ex);
-				} catch (InterruptedException ex) {
-					Trace.trace(Trace.SEVERE,
-							"Interrupted exception occured running monitor: " //$NON-NLS-1$
-									+ ex);
-					return;
-				}
-
-				if (pm.getProgressMonitor().isCanceled())
-					return;
-
-				List browsersToCreate = foundBrowsers;
-
-				if (browsersToCreate == null) // cancelled
-					return;
-
-				if (browsersToCreate.isEmpty()) { // no browsers found
-					WebBrowserUtil.openMessage(Messages.searchingNoneFound);
-					return;
-				}
-
-				Iterator iterator = browsersToCreate.iterator();
-				while (iterator.hasNext()) {
-					IBrowserDescriptorWorkingCopy browser2 = (IBrowserDescriptorWorkingCopy) iterator
-							.next();
-					browser2.save();
-				}
-				tableViewer.refresh();
-				
-				if (checkedBrowser != null)
-					tableViewer.setChecked(checkedBrowser, true);
-			}
-		});
-
-		tableViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent e) {
-				checkNewDefaultBrowser(e.getElement());
-				checkedBrowser = (IBrowserDescriptor) e
-						.getElement();
-			}
-		});
-
-		/*external.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				boolean sel = !tableViewer.getSelection().isEmpty();
-				edit.setEnabled(sel);
-				remove.setEnabled(sel);
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// ignore
-			}
-		});*/
-		internal.setSelection(WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.INTERNAL);
-		external.setSelection(WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.EXTERNAL);
-
-		//boolean sel = !tableViewer.getSelection().isEmpty();
-		IStructuredSelection sele = ((IStructuredSelection) tableViewer
-				.getSelection());
-		boolean sel = sele.getFirstElement() != null &&
-				!(sele.getFirstElement() instanceof SystemBrowserDescriptor);
-		edit.setEnabled(sel);
-		remove.setEnabled(sel);
-
-		Dialog.applyDialogFont(composite);
-
-		return composite;
-	}
-
-	/**
-	 * Initializes this preference page using the passed workbench.
-	 * 
-	 * @param workbench
-	 *            the current workbench
-	 */
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	/**
-	 * 
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible)
-			setTitle(Messages.preferenceWebBrowserTitleLong);
-	}
-
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-
-	// Uncheck all the items except the current one that was just checked
-	protected void checkNewDefaultBrowser(Object browser) {
-		TableItem[] children = tableViewer.getTable().getItems();
-		for (int i = 0; i < children.length; i++) {
-			TableItem item = children[i];
-
-			if (!(item.getData().equals(browser)))
-				item.setChecked(false);
-		}
-	}
-
-	protected static void search(File directory, List existingPaths,
-			List foundBrowsers, IProgressMonitor monitor) {
-		if (monitor.isCanceled())
-			return;
-
-		monitor.subTask(NLS.bind(Messages.searching,
-				new String[] { Integer.toString(foundBrowsers.size()), directory.getAbsolutePath()}));
-		
-		String[] names = directory.list();
-		List subDirs = new ArrayList();
-
-		for (int i = 0; i < names.length; i++) {
-			if (monitor.isCanceled())
-				return;
-
-			File file = new File(directory, names[i]);
-
-			if (existingPaths.contains(file.getAbsolutePath().toLowerCase()))
-				continue;
-
-			IBrowserDescriptorWorkingCopy wc = WebBrowserUtil
-					.createExternalBrowser(file);
-			if (wc != null)
-				foundBrowsers.add(wc);
-			
-			if (file.isDirectory()) {
-				if (monitor.isCanceled())
-					return;
-				subDirs.add(file);
-			}
-		}
-		while (!subDirs.isEmpty()) {
-			File subDir = (File) subDirs.remove(0);
-			search(subDir, existingPaths, foundBrowsers, monitor);
-			if (monitor.isCanceled()) {
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Performs special processing when this page's Defaults button has been
-	 * pressed.
-	 */
-	protected void performDefaults() {
-		internal.setSelection(WebBrowserPreference
-				.isDefaultUseInternalBrowser());
-		external.setSelection(!WebBrowserPreference.
-				isDefaultUseInternalBrowser());
-		
-		BrowserManager.getInstance().currentBrowser = null;
-		BrowserManager.getInstance().setupDefaultBrowsers();
-		tableViewer.refresh();
-		
-		checkedBrowser = BrowserManager.getInstance().getCurrentWebBrowser();
-		if (checkedBrowser != null)
-			tableViewer.setChecked(checkedBrowser, true);
-		
-		super.performDefaults();
-	}
-
-	/**
-	 * Method declared on IPreferencePage. Subclasses should override
-	 */
-	public boolean performOk() {
-		int choice;
-		if (internal.getSelection())
-			choice = WebBrowserPreference.INTERNAL;
-		else
-			choice = WebBrowserPreference.EXTERNAL;
-		WebBrowserPreference.setBrowserChoice(choice);
-		if (checkedBrowser != null)
-			BrowserManager.getInstance().setCurrentWebBrowser(checkedBrowser);
-
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUIPlugin.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUIPlugin.java
deleted file mode 100644
index 79a969b..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUIPlugin.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-/**
- * The main web browser plugin class.
- */
-public class WebBrowserUIPlugin extends AbstractUIPlugin {
-	// Web browser plugin id
-	public static final String PLUGIN_ID = "org.eclipse.ui.browser"; //$NON-NLS-1$
-
-	// singleton instance of this class
-	private static WebBrowserUIPlugin singleton;
-	
-	// cached copy of all browsers
-	private static List browsers;
-
-	/**
-	 * Create the WebBrowserUIPlugin
-	 */
-	public WebBrowserUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.ui.internal.browser.WebBrowserPlugin
-	 */
-	public static WebBrowserUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Shuts down this plug-in and saves all plug-in state.
-	 *
-	 * @exception Exception
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		BrowserManager.safeDispose();
-	}
-	
-	/**
-	 * Returns an array of all known browers.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of browser instances {@link IClient}
-	 */
-	public static IBrowserExt[] getBrowsers() {
-		if (browsers == null)
-			loadBrowsers();
-		IBrowserExt[] c = new IBrowserExt[browsers.size()];
-		browsers.toArray(c);
-		return c;
-	}
-	
-	public static IBrowserExt findBrowsers(String executable) {
-		IBrowserExt[] browsers2 = getBrowsers();
-		if (browsers2 == null || executable == null)
-			return null;
-		
-		int ind1 = executable.lastIndexOf("/"); //$NON-NLS-1$
-		int ind2 = executable.lastIndexOf("\\"); //$NON-NLS-1$
-		if (ind2 > ind1)
-			ind1 = ind2;
-		executable = executable.substring(ind1 + 1);
-		
-		String os = Platform.getOS();
-		int size = browsers2.length;
-		for (int i = 0; i < size; i++) {
-			if (browsers2[i].getOS().toLowerCase().indexOf(os) != -1) {
-				if (browsers2[i].isAvailable()) {
-					String executable2 = browsers2[i].getExecutable();
-					if (executable.startsWith(executable2))
-						return browsers2[i];
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Load the browsers extension point.
-	 */
-	private static synchronized void loadBrowsers() {
-		if (browsers != null)
-			return;
-		Trace.trace(Trace.CONFIG, "->- Loading .browsers extension point ->-"); //$NON-NLS-1$
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(PLUGIN_ID, "browsers"); //$NON-NLS-1$
-
-		int size = cf.length;
-		browsers = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				browsers.add(new BrowserExt(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded browser: " + cf[i].getAttribute("id")); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load browser: " + cf[i].getAttribute("id"), t); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		Trace.trace(Trace.CONFIG, "-<- Done loading .browsers extension point -<-"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs an Error message with an exception. Note that the message should
-	 * already be localized to proper locale. ie: Resources.getString() should
-	 * already have been called
-	 */
-	public static synchronized void logError(String message, Throwable ex) {
-		if (message == null)
-			message = ""; //$NON-NLS-1$
-		Status errorStatus = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK,
-				message, ex);
-		WebBrowserUIPlugin.getInstance().getLog().log(errorStatus);
-	}
-
-	/**
-	 * Logs a Warning message with an exception. Note that the message should
-	 * already be localized to proper local. ie: Resources.getString() should
-	 * already have been called
-	 */
-	/*public static synchronized void logWarning(String message) {
-		if (WebBrowserUIPlugin.DEBUG) {
-			if (message == null)
-				message = ""; //$NON-NLS-1$
-			Status warningStatus = new Status(IStatus.WARNING, PLUGIN_ID,
-					IStatus.OK, message, null);
-			WebBrowserUIPlugin.getInstance().getLog().log(warningStatus);
-		}
-	}*/
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUtil.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUtil.java
deleted file mode 100644
index 3249300..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUtil.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-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.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.ui.PlatformUI;
-/**
- * Utility class for the Web browser tools.
- */
-public class WebBrowserUtil {
-	private static final String BROWSER_PACKAGE_NAME = "org.eclipse.swt.browser.Browser"; //$NON-NLS-1$
-
-	public static Boolean isInternalBrowserOperational;
-
-	private static final char STYLE_SEP = '-';
-
-	private static final int DEFAULT_STYLE = BrowserViewer.BUTTON_BAR
-			| BrowserViewer.LOCATION_BAR;
-
-	/**
-	 * WebBrowserUtil constructor comment.
-	 */
-	public WebBrowserUtil() {
-		super();
-	}
-
-	/**
-	 * Returns true if we're running on Windows.
-	 * 
-	 * @return boolean
-	 */
-	public static boolean isWindows() {
-		String os = System.getProperty("os.name"); //$NON-NLS-1$
-		if (os != null && os.toLowerCase().indexOf("win") >= 0) //$NON-NLS-1$
-			return true;
-		return false;
-	}
-
-	/**
-	 * Returns true if we're running on linux.
-	 * 
-	 * @return boolean
-	 */
-	public static boolean isLinux() {
-		String os = System.getProperty("os.name"); //$NON-NLS-1$
-		if (os != null && os.toLowerCase().indexOf("lin") >= 0) //$NON-NLS-1$
-			return true;
-		return false;
-	}
-
-	/**
-	 * Open a dialog window.
-	 * 
-	 * @param message
-	 *            java.lang.String
-	 */
-	public static void openError(String message) {
-		Display d = Display.getCurrent();
-		if (d == null)
-			d = Display.getDefault();
-
-		Shell shell = d.getActiveShell();
-		MessageDialog.openError(shell, Messages.errorDialogTitle, message);
-	}
-
-	/**
-	 * Open a dialog window.
-	 * 
-	 * @param message
-	 *            java.lang.String
-	 */
-	public static void openMessage(String message) {
-		Display d = Display.getCurrent();
-		if (d == null)
-			d = Display.getDefault();
-
-		Shell shell = d.getActiveShell();
-		MessageDialog.openInformation(shell, Messages.searchingTaskName,
-				message);
-	}
-
-	/**
-	 * Returns whether it should be possible to use the internal browser or not,
-	 * based on whether or not the org.eclipse.swt.Browser class can be
-	 * found/loaded. If it can it means is is supported on the platform in which
-	 * this plugin is running. If not, disable the ability to use the internal
-	 * browser. This method checks to see if it can new up a new
-	 * ExternalBrowserInstance. If the SWT widget can not be bound to the
-	 * particular operating system it throws an SWTException. We catch that and
-	 * set a boolean flag which represents whether or not we were successfully
-	 * able to create a ExternalBrowserInstance instance or not. If not, don't
-	 * bother adding the Internal Web ExternalBrowserInstance that uses this
-	 * widget. Designed to be attemped only once and the flag set used
-	 * throughout.
-	 * 
-	 * @return boolean
-	 */
-	public static boolean canUseInternalWebBrowser() {
-		// if we have already figured this out, don't do it again.
-		if (isInternalBrowserOperational != null)
-			return isInternalBrowserOperational.booleanValue();
-
-		// check for the class
-		try {
-			Class.forName(BROWSER_PACKAGE_NAME);
-		} catch (ClassNotFoundException e) {
-			isInternalBrowserOperational = new Boolean(false);
-			return false;
-		}
-
-		// try loading it
-		Shell shell = null;
-		try {
-			shell = new Shell(PlatformUI.getWorkbench().getDisplay());
-			new Browser(shell, SWT.NONE);
-			isInternalBrowserOperational = new Boolean(true);
-			return true;
-		} catch (Throwable t) {
-			WebBrowserUIPlugin.getInstance().getLog().log(
-					new Status(IStatus.WARNING, WebBrowserUIPlugin.PLUGIN_ID,
-							0, "Internal browser is not available: " + t.getMessage(), null)); //$NON-NLS-1$
-			isInternalBrowserOperational = new Boolean(false);
-			return false;
-		} finally {
-			if (shell != null)
-				shell.dispose();
-		}
-	}
-
-	public static boolean canUseSystemBrowser() {
-		// Disabling system browser on Solaris due to bug 94497
-		if (Platform.OS_SOLARIS.equals(Platform.getOS()))
-			return false;
-		return Program.findProgram("html") != null; //$NON-NLS-1$
-	}
-
-	public static List getExternalBrowserPaths() {
-		List paths = new ArrayList();
-		Iterator iterator = BrowserManager.getInstance().getWebBrowsers()
-				.iterator();
-		while (iterator.hasNext()) {
-			IBrowserDescriptor wb = (IBrowserDescriptor) iterator.next();
-			if (wb != null && wb.getLocation() != null)
-				paths.add(wb.getLocation().toLowerCase());
-		}
-		return paths;
-	}
-
-	/**
-	 * Add any supported EXTERNAL web browsers found after an arbitrary check in
-	 * specific paths
-	 */
-	public static void addFoundBrowsers(List list) {
-		List paths = getExternalBrowserPaths();
-
-		String os = Platform.getOS();
-		File[] roots = getUsableDrives(File.listRoots());
-		int rootSize = roots.length;
-
-		// Math.min(roots.length, 2); // just check the first two drives
-
-		IBrowserExt[] browsers = WebBrowserUIPlugin.getBrowsers();
-		int size = browsers.length;
-		for (int i = 0; i < size; i++) {
-			if (browsers[i].getDefaultLocations() != null
-					&& browsers[i].getOS().toLowerCase().indexOf(os) >= 0) {
-				for (int k = 0; k < rootSize; k++) {
-					int size2 = browsers[i].getDefaultLocations().length;
-					for (int j = 0; j < size2; j++) {
-						String location = browsers[i].getDefaultLocations()[j];
-						try {
-							File f = new File(roots[k], location);
-							if (!paths.contains(f.getAbsolutePath()
-									.toLowerCase())) {
-								if (f.exists()) {
-									BrowserDescriptor browser = new BrowserDescriptor();
-									browser.name = browsers[i].getName();
-									browser.location = f.getAbsolutePath();
-									browser.parameters = browsers[i]
-											.getParameters();
-									list.add(browser);
-									j += size2;
-								}
-							}
-						} catch (Exception e) {
-							// ignore
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private static File[] getUsableDrives(File[] roots) {
-		if (!Platform.getOS().equals(Platform.OS_WIN32))
-			return roots;
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < roots.length; i++) {
-			String path = roots[i].getAbsolutePath();
-			if (path != null
-					&& (path.toLowerCase().startsWith("a:") || path.toLowerCase().startsWith("b:"))) //$NON-NLS-1$ //$NON-NLS-2$
-				continue;
-			list.add(roots[i]);
-		}
-		return (File[]) list.toArray(new File[list.size()]);
-	}
-
-	/**
-	 * Create an external Web browser if the file matches the default (known)
-	 * browsers.
-	 * 
-	 * @param file
-	 * @return an external browser working copy
-	 */
-	public static IBrowserDescriptorWorkingCopy createExternalBrowser(File file) {
-		if (file == null || !file.isFile())
-			return null;
-
-		String executable = file.getName();
-		IBrowserExt[] browsers = WebBrowserUIPlugin.getBrowsers();
-		int size = browsers.length;
-		for (int i = 0; i < size; i++) {
-			if (executable.equals(browsers[i].getExecutable())) {
-				IBrowserDescriptorWorkingCopy browser = BrowserManager
-						.getInstance().createExternalWebBrowser();
-				browser.setName(browsers[i].getName());
-				browser.setLocation(file.getAbsolutePath());
-				browser.setParameters(browsers[i].getParameters());
-				return browser;
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * Encodes browser style in the secondary id as id-style
-	 * 
-	 * @param browserId
-	 * @param style
-	 * @return secondaryId
-	 */
-	public static String encodeStyle(String browserId, int style) {
-		return browserId + STYLE_SEP + style;
-	}
-
-	/**
-	 * Decodes secondary id into a browser style.
-	 * 
-	 * @param secondaryId
-	 * @return style
-	 */
-	public static int decodeStyle(String secondaryId) {
-		if (secondaryId != null) {
-			int sep = secondaryId.lastIndexOf(STYLE_SEP);
-			if (sep != -1) {
-				String stoken = secondaryId.substring(sep + 1);
-				try {
-					return Integer.parseInt(stoken);
-				} catch (NumberFormatException e) {
-					// ignore
-				}
-			}
-		}
-		return DEFAULT_STYLE;
-	}
-
-	public static String decodeId(String encodedId) {
-		int sep = encodedId.lastIndexOf(STYLE_SEP);
-		if (sep != -1) {
-			return encodedId.substring(0, sep);
-		}
-		return encodedId;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserView.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserView.java
deleted file mode 100644
index cc27146..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserView.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * A Web browser viewer.
- */
-public class WebBrowserView extends ViewPart implements
-		IBrowserViewerContainer, ISetSelectionTarget {
-	public static final String WEB_BROWSER_VIEW_ID = "org.eclipse.ui.browser.view"; //$NON-NLS-1$
-
-	protected BrowserViewer viewer;
-
-	protected ISelectionListener listener;
-
-	public void createPartControl(Composite parent) {
-		int style = WebBrowserUtil.decodeStyle(getViewSite().getSecondaryId());
-		viewer = new BrowserViewer(parent, style);
-		viewer.setContainer(this);
-
-		/*
-		 * PropertyChangeListener propertyChangeListener = new
-		 * PropertyChangeListener() { public void
-		 * propertyChange(PropertyChangeEvent event) { if
-		 * (BrowserViewer.PROPERTY_TITLE.equals(event.getPropertyName())) {
-		 * setPartName((String) event.getNewValue()); } } };
-		 * viewer.addPropertyChangeListener(propertyChangeListener);
-		 */
-		initDragAndDrop();
-	}
-
-	public void dispose() {
-		if (viewer!=null)
-			viewer.setContainer(null);
-		if (listener != null)
-			removeSelectionListener();
-	}
-
-	public void setURL(String url) {
-		if (viewer != null)
-			viewer.setURL(url);
-	}
-
-	public void setFocus() {
-		viewer.setFocus();
-	}
-
-	public boolean close() {
-		try {
-			getSite().getPage().hideView(this);
-			return true;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public IActionBars getActionBars() {
-		return getViewSite().getActionBars();
-	}
-
-	public void openInExternalBrowser(String url) {
-		try {
-			URL theURL = new URL(url);
-			IWorkbenchBrowserSupport support = PlatformUI.getWorkbench()
-					.getBrowserSupport();
-			support.getExternalBrowser().openURL(theURL);
-		} catch (MalformedURLException e) {
-			// TODO handle this
-		} catch (PartInitException e) {
-			// TODO handle this
-		}
-	}
-
-	public void addSelectionListener() {
-		if (listener != null)
-			return;
-
-		listener = new ISelectionListener() {
-			public void selectionChanged(IWorkbenchPart part,
-					ISelection selection) {
-				onSelectionChange(selection);
-			}
-		};
-		getSite().getWorkbenchWindow().getSelectionService()
-				.addPostSelectionListener(listener);
-	}
-	
-	private void onSelectionChange(ISelection selection) {
-		if (!(selection instanceof IStructuredSelection))
-			return;
-		IStructuredSelection sel = (IStructuredSelection) selection;
-		Object obj = sel.getFirstElement();
-		if (obj instanceof IAdaptable) {
-			IAdaptable adapt = (IAdaptable) obj;
-			URL url = getURLFromAdaptable(adapt);
-			if (url!=null)
-				setURL(url.toExternalForm());
-		}
-	}
-	
-	private URL getURLFromAdaptable(IAdaptable adapt) {
-		// test for path
-		IPath path = (IPath) adapt.getAdapter(IPath.class);
-		if (path != null) {
-			File file = path.toFile();
-			if (file.exists() && isWebFile(file.getName()))
-				try {
-					return file.toURL();
-				} catch (MalformedURLException e) {
-					return null;
-				}
-		}
-		return (URL)adapt.getAdapter(URL.class);
-	}
-
-	public void removeSelectionListener() {
-		if (listener == null)
-			return;
-		getSite().getWorkbenchWindow().getSelectionService()
-				.removePostSelectionListener(listener);
-		listener = null;
-	}
-
-	/**
-	 * Return true if the filename has a "web" extension.
-	 * 
-	 * @param name
-	 * @return
-	 */
-	protected boolean isWebFile(String name) {
-		return name.endsWith("html") || name.endsWith("htm") || name.endsWith("gif") || //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				name.endsWith("jpg"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Adds drag and drop support to the view.
-	 */
-	protected void initDragAndDrop() {
-		Transfer[] transfers = new Transfer[] {
-		// LocalSelectionTransfer.getInstance(),
-		// ResourceTransfer.getInstance(),
-		FileTransfer.getInstance() };
-
-		DropTarget dropTarget = new DropTarget(viewer, DND.DROP_COPY
-				| DND.DROP_DEFAULT);
-		dropTarget.setTransfer(transfers);
-		dropTarget.addDropListener(new WebBrowserViewDropAdapter(viewer));
-	}
-
-	public void selectReveal(ISelection selection) {
-		onSelectionChange(selection);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserViewDropAdapter.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserViewDropAdapter.java
deleted file mode 100644
index 5dff7e7..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserViewDropAdapter.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.TransferData;
-/**
- *
- */
-public class WebBrowserViewDropAdapter extends DropTargetAdapter {
-   /**
-    * The view to which this drop support has been added.
-    */
-   private BrowserViewer view;
-
-   /**
-    * The current operation.
-    */
-   private int currentOperation = DND.DROP_NONE;
-
-   /**
-    * The last valid operation.
-    */
-   private int lastValidOperation = DND.DROP_NONE;
-   
-   protected WebBrowserViewDropAdapter(BrowserViewer view) {
-		this.view = view;
-	}
-
-   /* (non-Javadoc)
-    * Method declared on DropTargetAdapter.
-    * The mouse has moved over the drop target.  If the
-    * target item has changed, notify the action and check
-    * that it is still enabled.
-    */
-   private void doDropValidation(DropTargetEvent event) {
-       //update last valid operation
-       if (event.detail != DND.DROP_NONE)
-           lastValidOperation = event.detail;
-       
-       //valid drop and set event detail accordingly
-       if (validateDrop(event.detail, event.currentDataType))
-           currentOperation = lastValidOperation;
-       else
-           currentOperation = DND.DROP_NONE;
-       
-       event.detail = currentOperation;
-   }
-
-   /* (non-Javadoc)
-    * Method declared on DropTargetAdapter.
-    * The drop operation has changed, see if the action
-    * should still be enabled.
-    */
-   public void dragOperationChanged(DropTargetEvent event) {
-       doDropValidation(event);
-   }
-
-   /* (non-Javadoc)
-    * Method declared on DropTargetAdapter.
-    * The mouse has moved over the drop target.  If the
-    * target item has changed, notify the action and check
-    * that it is still enabled.
-    */
-   public void dragOver(DropTargetEvent event) {
-       //set the location feedback
-   	 event.feedback = DND.FEEDBACK_SELECT;
-
-       //see if anything has really changed before doing validation.
-       doDropValidation(event);
-   }
-
-   /* (non-Javadoc)
-    * Method declared on DropTargetAdapter.
-    * The user has dropped something on the desktop viewer.
-    */
-   public void drop(DropTargetEvent event) {
-       //perform the drop behaviour
-       if (!performDrop(event.data))
-           event.detail = DND.DROP_NONE;
-       
-       currentOperation = event.detail;
-   }
-
-   /* (non-Javadoc)
-    * Method declared on DropTargetAdapter.
-    * Last chance for the action to disable itself
-    */
-   public void dropAccept(DropTargetEvent event) {
-       if (!validateDrop(event.detail, event.currentDataType))
-           event.detail = DND.DROP_NONE;
-   }
-
-	public void dragEnter(DropTargetEvent event) {
-		if (event.detail == DND.DROP_DEFAULT)
-			event.detail = DND.DROP_COPY;
-
-       doDropValidation(event);
-	}
-
-	/**
-    * Performs any work associated with the drop.
-    * <p>
-    * Subclasses must implement this method to provide drop behavior.
-    * </p>
-    *
-    * @param data the drop data
-    * @return <code>true</code> if the drop was successful, and 
-    *   <code>false</code> otherwise
-    */
-	protected boolean performDrop(Object data) {
-		if (data instanceof String[]) {
-			String[] s = (String[]) data;
-			if (s == null || s.length == 0)
-				return true;
-			File f = new File(s[0]);
-			try {
-				view.setURL(f.toURL().toExternalForm());
-			} catch (Exception e) {
-				// TODO
-			}
-		}
-		
-		return true;
-	}
-
-	/**
-    * Validates dropping on the given object. This method is called whenever some 
-    * aspect of the drop operation changes.
-    * <p>
-    * Subclasses must implement this method to define which drops make sense.
-    * </p>
-    * 
-    * @param target the object that the mouse is currently hovering over, or
-    *   <code>null</code> if the mouse is hovering over empty space
-    * @param operation the current drag operation (copy, move, etc.)
-    * @param transferType the current transfer type
-    * @return <code>true</code> if the drop is valid, and <code>false</code>
-    *   otherwise
-    */
-	protected boolean validateDrop(int operation, TransferData transferType) {
-		if (FileTransfer.getInstance().isSupportedType(transferType))
-			return true;
-		/*if (ResourceTransfer.getInstance().isSupportedType(transferType))
-			return true;
-		if (LocalSelectionTransfer.getInstance().isSupportedType(transferType))
-			return true;*/
-		
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/BrowserLog.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/BrowserLog.java
deleted file mode 100644
index 3c6e7da..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/BrowserLog.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-/**
- * Log for messages output by external browser processes.
- */
-public class BrowserLog {
-	private static BrowserLog instance;
-	private String logFileName;
-	private boolean newSession;
-	DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy kk:mm:ss.SS"); //$NON-NLS-1$
-	String LN = System.getProperty("line.separator"); //$NON-NLS-1$
-	/**
-	 * Constructor
-	 */
-	private BrowserLog() {
-		try {
-			newSession = true;
-			logFileName = WebBrowserUIPlugin.getInstance().getStateLocation().append("browser.log").toOSString(); //$NON-NLS-1$
-		} catch (Exception e) {
-			// can get here if platform is shutting down
-		}
-	}
-	/**
-	 * Obtains singleton
-	 */
-	private static BrowserLog getInstance() {
-		if (instance == null) {
-			instance = new BrowserLog();
-		}
-		return instance;
-	}
-	/**
-	 * Appends a line to the browser.log
-	 */
-	public static synchronized void log(String message) {
-		getInstance().append(message);
-	}
-	private void append(String message) {
-		if (logFileName == null) {
-			return;
-		}
-		Writer outWriter = null;
-		try {
-			outWriter = new BufferedWriter(new OutputStreamWriter(
-					new FileOutputStream(logFileName, true), "UTF-8")); //$NON-NLS-1$
-			if (newSession) {
-				newSession = false;
-				outWriter.write(LN + formatter.format(new Date())
-						+ " NEW SESSION" + LN); //$NON-NLS-1$
-			}
-			outWriter.write(formatter.format(new Date()) + " " + message + LN); //$NON-NLS-1$
-			outWriter.flush();
-			outWriter.close();
-		} catch (Exception e) {
-			if (outWriter != null) {
-				try {
-					outWriter.close();
-				} catch (IOException ioe) {
-					// ignore
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowser.java
deleted file mode 100644
index 63e3bd9..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowser.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-import org.eclipse.ui.internal.browser.Messages;
-import org.eclipse.ui.internal.browser.Trace;
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-/**
- * 
- */
-public class DefaultBrowser extends AbstractWebBrowser {
-	protected String location;
-	protected String parameters;
-	
-	public DefaultBrowser(String id, String location, String parameters) {
-		super(id);
-		this.location = location;
-		this.parameters = parameters;
-	}
-
-	/**
-	 * @see org.eclipse.help.browser.IBrowser#displayURL(java.lang.String)
-	 */
-	public void openURL(URL url2) throws PartInitException {
-		String url = url2.toExternalForm();
-		String path = location;
-
-		String[] command = prepareCommand(path, url);
-		Trace.trace(Trace.FINER, "Command: " + command); //$NON-NLS-1$
-
-		try {
-			Process pr = Runtime.getRuntime().exec(command);
-			Thread outConsumer = new StreamConsumer(pr.getInputStream());
-			outConsumer.setName("Custom browser adapter output reader"); //$NON-NLS-1$
-			outConsumer.start();
-			Thread errConsumer = new StreamConsumer(pr.getErrorStream());
-			errConsumer.setName("Custom browser adapter error reader"); //$NON-NLS-1$
-			errConsumer.start();
-		} catch (Exception e) {
-			WebBrowserUIPlugin.logError(
-				"Launching URL \"" //$NON-NLS-1$
-					+ url
-					+ "\" using browser program \"" //$NON-NLS-1$
-					+ path
-					+ "\" has failed.  Specify another browser in help preferences.", //$NON-NLS-1$
-					e);
-			throw new PartInitException(NLS.bind(Messages.errorCouldNotLaunchWebBrowser, path));
-		}
-	}
-
-	/**
-	 * Creates the final command to launch.
-	 * 
-	 * @param path
-	 * @param url
-	 * @return String[]
-	 */
-	protected String[] prepareCommand(String path, String url) {
-		ArrayList tokenList = new ArrayList();
-		//Divide along quotation marks
-		StringTokenizer qTokenizer = new StringTokenizer(path.trim(),
-			"\"", true); //$NON-NLS-1$
-		boolean withinQuotation = false;
-		String quotedString = ""; //$NON-NLS-1$
-		while (qTokenizer.hasMoreTokens()) {
-			String curToken = qTokenizer.nextToken();
-			if (curToken.equals("\"")) { //$NON-NLS-1$
-				if (withinQuotation) {
-					if (Constants.OS_WIN32.equalsIgnoreCase(Platform.getOS())) {
-						// need to quote URLs on Windows
-						tokenList.add("\"" + quotedString + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-					} else {
-						// quotes prevent launching on Unix 35673
-						tokenList.add(quotedString);
-					}
-				} else {
-					quotedString = ""; //$NON-NLS-1$
-				}
-				withinQuotation = !withinQuotation;
-				continue;
-			} else if (withinQuotation) {
-				quotedString = curToken;
-				continue;
-			} else {
-				//divide unquoted strings along white space
-				StringTokenizer parser = new StringTokenizer(curToken.trim());
-				while (parser.hasMoreTokens()) {
-					tokenList.add(parser.nextToken());
-				}
-			}
-		}
-		// substitute %1 by url
-		boolean substituted = false;
-		for (int i = 0; i < tokenList.size(); i++) {
-			String token = (String) tokenList.get(i);
-			String newToken = doSubstitutions(token, url);
-			if (newToken != null) {
-				tokenList.set(i, newToken);
-				substituted = true;
-			}
-		}
-		// add the url if not substituted already
-		if (!substituted)
-			tokenList.add(url);
-
-		String[] command = new String[tokenList.size()];
-		tokenList.toArray(command);
-		return command;
-	}
-	
-	/**
-	 * Replaces any occurrences of <code>"%1"</code> or <code>%1</code> with
-	 * the URL.
-	 * 
-	 * @param token
-	 *            The token in which the substitutions should be made; must not
-	 *            be <code>null</code>.
-	 * @return The substituted string, if a substitution is made;
-	 *         <code>null</code> if no substitution is made.
-	 */
-	protected String doSubstitutions(String token, String url) {
-		boolean substituted = false;
-		StringBuffer newToken = new StringBuffer(token);
-		String substitutionMarker = "%1"; //$NON-NLS-1$
-		int index = newToken.indexOf(substitutionMarker);
-		while (index != -1) {
-			newToken.replace(index, index + substitutionMarker.length(), url);
-			index = newToken.indexOf(substitutionMarker, index + url.length());
-			substituted = true;
-		}
-
-		if (substituted) {
-			return newToken.toString();
-		}
-
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowserFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowserFactory.java
deleted file mode 100644
index 83275b9..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowserFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-/**
- * Produces Custom Browser
- */
-public class DefaultBrowserFactory extends BrowserFactory {
-	/**
-	 * @see org.eclipse.ui.browser.provisional.BrowserFactory#createBrowser()
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters) {
-		return new DefaultBrowser(id, location, parameters);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaBrowser.java
deleted file mode 100644
index cdb38bd..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaBrowser.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.io.*;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-/**
- * Browser adapter for browsers supporting -remote openURL command line option
- * i.e. Mozilla and Netscape.
- */
-public class MozillaBrowser extends AbstractWebBrowser {
-	// delay that it takes mozilla to start responding
-	// to remote command after mozilla has been called
-	protected static final int DELAY = 5000;
-
-	protected long browserFullyOpenedAt = 0;
-
-	private BrowserThread lastBrowserThread = null;
-
-	protected String executable;
-	
-	protected boolean firstLaunch = true;
-
-	/**
-	 * Constructor
-	 * 
-	 * @executable executable filename to launch
-	 * @executableName name of the program to display when error occurs
-	 */
-	public MozillaBrowser(String id, String executable) {
-		super(id);
-		this.executable = executable;
-	}
-
-	/*
-	 * @see IBrowser#displayURL(String)
-	 */
-	public void openURL(URL url2) {
-		String url = url2.toExternalForm();
-		if (lastBrowserThread != null)
-			lastBrowserThread.exitRequested = true;
-
-		lastBrowserThread = new BrowserThread(url);
-		lastBrowserThread.setDaemon(true);
-		lastBrowserThread.start();
-	}
-
-	private class BrowserThread extends Thread {
-		public boolean exitRequested = false;
-
-		private String url;
-
-		public BrowserThread(String urlName) {
-			this.url = urlName;
-		}
-
-		/**
-		 * @param browserCmd
-		 * @return int 0 if success
-		 */
-		private int openBrowser(String browserCmd) {
-			try {
-				Process pr = Runtime.getRuntime().exec(browserCmd);
-				StreamConsumer outputs = new StreamConsumer(pr.getInputStream());
-				(outputs).start();
-				StreamConsumer errors = new StreamConsumer(pr.getErrorStream());
-				(errors).start();
-				pr.waitFor();
-				int ret = pr.exitValue();
-
-				if (ret == 0 && errorsInOutput(outputs, errors)) {
-					return -1;
-				}
-				return ret;
-			} catch (InterruptedException e) {
-				// ignore
-			} catch (IOException e) {
-				WebBrowserUIPlugin.logError("Launching " + executable //$NON-NLS-1$
-					+ " has failed.", e); //$NON-NLS-1$
-				// TODO: log error
-				/*String msg = HelpBaseResources.getString(
-						"MozillaBrowser.executeFailed", //$NON-NLS-1$
-						executableName);
-				BaseHelpSystem.getDefaultErrorUtil()
-						.displayError(msg, uiThread);*/
-				// return success, so second command does not execute
-				return 0;
-			}
-			return -1;
-		}
-
-		/**
-		 * On some OSes 0 is always returned by netscape -remote. It is
-		 * necessary to examine ouput to find out failure
-		 * 
-		 * @param outputs
-		 * @param errors
-		 * @return @throws
-		 *         InterruptedException
-		 */
-		private boolean errorsInOutput(StreamConsumer outputs,
-				StreamConsumer errors) {
-			try {
-				outputs.join(1000);
-				if (outputs.getLastLine() != null
-						&& (outputs.getLastLine().indexOf(
-								"No running window found") //$NON-NLS-1$
-						>= 0 || outputs.getLastLine().indexOf(
-								"not running on display") //$NON-NLS-1$
-						>= 0)) {
-					return true;
-				}
-				errors.join(1000);
-				if (errors.getLastLine() != null
-						&& (errors.getLastLine().indexOf(
-								"No running window found") //$NON-NLS-1$
-						>= 0 || errors.getLastLine().indexOf(
-								"not running on display") //$NON-NLS-1$
-						>= 0)) {
-					return true;
-				}
-			} catch (InterruptedException ie) {
-				// ignore
-			}
-			return false;
-		}
-
-		public void run() {
-			// if browser is opening, wait until it fully opens
-			waitForBrowser();
-			if (exitRequested)
-				return;
-			if (firstLaunch && Platform.OS_WIN32.equals(Platform.getOS())) {
-				if (openBrowser(executable + " " + url) == 0) //$NON-NLS-1$
-					return;
-				browserFullyOpenedAt = System.currentTimeMillis() + DELAY;
-				return;
-			}
-			if (openBrowser(executable + " -remote openURL(" + url + ")") //$NON-NLS-1$ //$NON-NLS-2$
-					== 0)
-				return;
-			
-			if (exitRequested)
-				return;
-			browserFullyOpenedAt = System.currentTimeMillis() + DELAY;
-			openBrowser(executable + " " + url); //$NON-NLS-1$
-		}
-
-		private void waitForBrowser() {
-			while (System.currentTimeMillis() < browserFullyOpenedAt)
-				try {
-					if (exitRequested)
-						return;
-					Thread.sleep(100);
-				} catch (InterruptedException ie) {
-					// ignore
-				}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaFactory.java
deleted file mode 100644
index a5dc6eb..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-
-public class MozillaFactory extends BrowserFactory {
-	private MozillaBrowser browserInstance = null;
-	
-	/**
-	 * Constructor.
-	 */
-	public MozillaFactory() {
-		super();
-	}
-	
-	/*
-	 * @see BrowserFactory#isAvailable()
-	 */
-	/*public boolean isAvailable() {
-		try {
-			Process pr = Runtime.getRuntime().exec("which " + executable); //$NON-NLS-1$
-			StreamConsumer outputs = new StreamConsumer(pr.getInputStream());
-			(outputs).start();
-			StreamConsumer errors = new StreamConsumer(pr.getErrorStream());
-			(errors).start();
-			pr.waitFor();
-			
-			int ret = pr.exitValue();
-			if (ret == 0)
-				return !errorsInOutput(outputs, errors);
-			return false;
-		} catch (InterruptedException e) {
-			return false;
-		} catch (IOException e) {
-			// launching which failed, assume browser executable is present
-			return true;
-		}
-	}*/
-	
-	/**
-	 * On some OSes 0 is always returned by "which" command it is necessary to
-	 * examine ouput to find out failure.
-	 * 
-	 * @param outputs
-	 * @param errors
-	 * @return @throws
-	 *         InterruptedException
-	 */
-	/*private boolean errorsInOutput(StreamConsumer outputs, StreamConsumer errors) {
-		try {
-			outputs.join(1000);
-			if (outputs.getLastLine() != null
-				&& outputs.getLastLine()
-					.indexOf("no " + executable + " in") //$NON-NLS-1$ //$NON-NLS-2$
-					>= 0) {
-				return true;
-			}
-			errors.join(1000);
-			if (errors.getLastLine() != null
-					&& errors.getLastLine().indexOf("no " + executable + " in") //$NON-NLS-1$ //$NON-NLS-2$
-					>= 0) {
-				return true;
-			}
-		} catch (InterruptedException ie) {
-			// ignore
-		}
-		return false;
-	}*/
-
-	/*
-	 * @see BrowserFactory#createBrowser()
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters) {
-		// Create single browser for all clients
-		if (browserInstance == null) {
-			browserInstance = new MozillaBrowser(id, location);
-		}
-		return browserInstance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/NullBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/NullBrowser.java
deleted file mode 100644
index 2c84e0e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/NullBrowser.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.net.URL;
-
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-import org.eclipse.ui.internal.browser.Messages;
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-
-public class NullBrowser extends AbstractWebBrowser {
-	public NullBrowser(String id) {
-		super(id);
-	}
-
-	public void openURL(URL url) throws PartInitException {
-		WebBrowserUIPlugin.logError(
-			"There is no browser adapter configured to display " //$NON-NLS-1$
-			+ url
-			+ ".  Ensure that you have a required browser and adapter installed, and that the browser program is available on the system path.", //$NON-NLS-1$
-			null);
-		throw new PartInitException(Messages.errorNoBrowser);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/StreamConsumer.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/StreamConsumer.java
deleted file mode 100644
index 734b46a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/StreamConsumer.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.io.*;
-
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-/**
- * Used to receive output from processes
- */
-public class StreamConsumer extends Thread {
-	BufferedReader bReader;
-
-	private String lastLine;
-
-	public StreamConsumer(InputStream inputStream) {
-		super();
-		setDaemon(true);
-		bReader = new BufferedReader(new InputStreamReader(inputStream));
-	}
-
-	public void run() {
-		try {
-			String line;
-			while (null != (line = bReader.readLine())) {
-				lastLine = line;
-				BrowserLog.log(line);
-			}
-			bReader.close();
-		} catch (IOException ioe) {
-			WebBrowserUIPlugin.logError("Exception occurred reading from web browser.", ioe); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return last line obtained or null
-	 */
-	public String getLastLine() {
-		return lastLine;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowser.java
deleted file mode 100644
index a707f14..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowser.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 Eclipse Public License v1.0
- * which accompanies 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.browser.macosx;
-
-import java.io.*;
-import java.net.URL;
-
-import org.eclipse.ui.browser.AbstractWebBrowser;
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-
-public class DefaultBrowser extends AbstractWebBrowser {
-
-	public DefaultBrowser(String id) {
-		super(id);
-	}
-
-	/**
-	 * @see org.eclipse.help.browser.IBrowser#displayURL(String)
-	 */
-	public void openURL(URL url2) {
-		String url = url2.toExternalForm();
-		/*
-		 * Code from Marc-Antoine Parent
-		 */
-		try {
-			Runtime.getRuntime().exec(new String[] { "/usr/bin/osascript", //$NON-NLS-1$
-					"-e", //$NON-NLS-1$
-					"open location \"" + url + "\"" }); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (IOException ioe) {
-			WebBrowserUIPlugin.logError("Launching \"osascript\" has failed.", ioe); //$NON-NLS-1$
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowserFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowserFactory.java
deleted file mode 100644
index 0810f9b..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowserFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.macosx;
-
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-
-public class DefaultBrowserFactory extends BrowserFactory {
-	/*
-	 * @see BrowserFactory#createBrowser()
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters) {
-		return new DefaultBrowser(id);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowser.java
deleted file mode 100644
index 6d8b876..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowser.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.macosx;
-
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import org.eclipse.ui.internal.browser.browsers.DefaultBrowser;
-
-public class SafariBrowser extends DefaultBrowser {
-	
-	public SafariBrowser(String id, String location, String parameters) {
-		super(id, location, parameters);
-		this.location = location;
-		this.parameters = parameters;
-	}
-
-	/**
-	 * Creates the final command to launch.
-	 * 
-	 * @param path
-	 * @param url
-	 * @return String[]
-	 */
-	protected String[] prepareCommand(String path, String url) {
-		if (url != null && url.toLowerCase().startsWith("file:")) { //$NON-NLS-1$
-			url = url.substring(5);
-		}
-		
-		ArrayList tokenList = new ArrayList();
-		//Divide along quotation marks
-		StringTokenizer qTokenizer = new StringTokenizer(path.trim(),
-			"\"", true); //$NON-NLS-1$
-		boolean withinQuotation = false;
-		String quotedString = ""; //$NON-NLS-1$
-		while (qTokenizer.hasMoreTokens()) {
-			String curToken = qTokenizer.nextToken();
-			if (curToken.equals("\"")) { //$NON-NLS-1$
-				if (withinQuotation) {
-					// quotes prevent launching on Unix 35673
-					tokenList.add(quotedString);
-				} else {
-					quotedString = ""; //$NON-NLS-1$
-				}
-				withinQuotation = !withinQuotation;
-				continue;
-			} else if (withinQuotation) {
-				quotedString = curToken;
-				continue;
-			} else {
-				//divide unquoted strings along white space
-				StringTokenizer parser = new StringTokenizer(curToken.trim());
-				while (parser.hasMoreTokens()) {
-					tokenList.add(parser.nextToken());
-				}
-			}
-		}
-		// substitute %1 by url
-		boolean substituted = false;
-		for (int i = 0; i < tokenList.size(); i++) {
-			String token = (String) tokenList.get(i);
-			String newToken = doSubstitutions(token, url);
-			if (newToken != null) {
-				tokenList.set(i, newToken);
-				substituted = true;
-			}
-		}
-		// add the url if not substituted already
-		if (!substituted)
-			tokenList.add(url);
-
-		String[] command = new String[tokenList.size()];
-		tokenList.toArray(command);
-		return command;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowserFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowserFactory.java
deleted file mode 100644
index 41d8312..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowserFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.macosx;
-
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-
-public class SafariBrowserFactory extends BrowserFactory {
-	/*
-	 * @see BrowserFactory#createBrowser()
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters) {
-		return new SafariBrowser(id, location, parameters);
-	}
-}
\ 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 ef556a6..0000000
--- a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,79 +0,0 @@
-#Mon Feb 06 11:16:35 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9e97fa0..0000000
--- a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Mon Jul 18 11:56:01 EDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.1\n *\n * ${tags}\n */</template><template context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 42b98f6..0000000
--- a/bundles/org.eclipse.ui.carbon/.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/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/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.carbon/META-INF/MANIFEST.MF
deleted file mode 100644
index 1201eaf..0000000
--- a/bundles/org.eclipse.ui.carbon/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.ui.carbon; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)"
-Bundle-Localization: fragment-carbon
-Export-Package: org.eclipse.ui.carbon
-Eclipse-LazyStart: true
-Eclipse-PlatformFilter: (osgi.ws=carbon)
diff --git a/bundles/org.eclipse.ui.carbon/about.html b/bundles/org.eclipse.ui.carbon/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.ui.carbon/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 af90fd1..0000000
--- a/bundles/org.eclipse.ui.carbon/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-bin.includes = fragment.xml,\
-               fragment-carbon.properties,\
-               META-INF/,\
-               .
diff --git a/bundles/org.eclipse.ui.carbon/fragment-carbon.properties b/bundles/org.eclipse.ui.carbon/fragment-carbon.properties
deleted file mode 100644
index cb3a1cf..0000000
--- a/bundles/org.eclipse.ui.carbon/fragment-carbon.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-providerName=Eclipse.org
-fragmentName=Eclipse UI MacOS X Enhancements
diff --git a/bundles/org.eclipse.ui.carbon/fragment.xml b/bundles/org.eclipse.ui.carbon/fragment.xml
deleted file mode 100644
index fadc7b6..0000000
--- a/bundles/org.eclipse.ui.carbon/fragment.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment>
-
-   <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 fe85497..0000000
--- a/bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<project name="org.eclipse.ui.carbon" default="export" basedir="..">
-
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="tempdir" value="../../tmp" />
-		<property name="plugin" value="org.eclipse.ui.carbon" />
-		<property name="plugin_version"  value="_3.1.0" />
-		<property name="dest"  value="${destdir}/${plugin}${plugin_version}" />
-		<property name="destjar"  value="${destdir}/${plugin}${plugin_version}.jar" />
-	</target>
-
-	<target name="build" depends="init">
-    	<eclipse.incrementalBuild project="${plugin}" kind="incr"/>
-	</target>
-
-	<target name="export" depends="build">
-		<delete dir="${tempdir}" />
-		<mkdir dir="${tempdir}" />
-		<mkdir dir="${destdir}" />
-		<delete file="${destjar}" />
-		<zip zipfile="${tempdir}/carbonsrc.zip">
-		    <fileset dir="src" />
-  		</zip>
-		<zip zipfile="${destjar}">
-			<fileset dir=".">
-			  <include name="fragment.xml" />
-			  <include name="fragment-carbon.properties" />
-			  <include name="META-INF/**" />
-			</fileset>
-			<fileset dir="bin" />
-			<fileset file="${tempdir}/carbonsrc.zip" />
-		</zip>
-		<delete file="${tempdir}/carbonsrc.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 82fb84e..0000000
--- a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.carbon;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-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.swt.widgets.Widget;
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchWindow;
-
-/**
- * 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 final String TOOLBAR_BUTTON_TOGGLE_FLAGS = "toolbarButtonToggleFlags"; //$NON-NLS-1$
-
-    private String fAboutActionName;
-
-    /**
-     * Default constructor
-     */
-    public CarbonUIEnhancer() {
-        IProduct product = Platform.getProduct();
-        String productName = null;
-        if (product != null)
-            productName = product.getName();
-        
-		ResourceBundle resourceBundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-		try {
-			if (productName != null) {
-				String format = resourceBundle.getString("AboutAction.format"); //$NON-NLS-1$
-				if (format != null)
-					fAboutActionName= MessageFormat.format(format, new Object[] { productName } );
-			}
-			if (fAboutActionName == null)
-				fAboutActionName = resourceBundle.getString("AboutAction.name"); //$NON-NLS-1$
-		} catch (MissingResourceException e) {
-		}
-		
-		if (fAboutActionName == null)
-			fAboutActionName = "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);
-				hookToolbarButtonCallback();
-				hookWorkbenchListener();
-				// modify all shells opened on startup
-				IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
-						.getWorkbenchWindows();
-				for (int i = 0; i < windows.length; i++) {
-					modifyWindowShell(windows[i]);
-				}
-			}
-        });
-    }
-
-    /**
-	 * Hooks a listener that tweaks newly opened workbench window shells with
-	 * the proper OS flags.
-	 * 
-	 * @since 3.2
-	 */
-    protected void hookWorkbenchListener() {
-		PlatformUI.getWorkbench().addWindowListener(new IWindowListener() {
-
-			public void windowActivated(IWorkbenchWindow window) {
-				// no-op
-			}
-
-			public void windowDeactivated(IWorkbenchWindow window) {
-				// no-op
-			}
-
-			public void windowClosed(IWorkbenchWindow window) {
-				// no-op
-			}
-
-			public void windowOpened(IWorkbenchWindow window) {
-				modifyWindowShell(window);
-			}});
-	}
-
-    /**
-	 * Modify the given workbench window shell bits to show the toolbar toggle
-	 * button.
-	 * 
-	 * @param window
-	 *            the window to modify
-	 * @since 3.2
-	 */
-	protected void modifyWindowShell(IWorkbenchWindow window) {
-		// only add the button when either the coolbar or perspectivebar
-		// is initially visible. This is so that RCP apps can choose to use
-		// this fragment without fear that their explicitly invisble bars
-		// can't be shown.
-		boolean coolBarInitiallyVsible = ((WorkbenchWindow) window)
-				.getCoolBarVisible();
-		boolean perspectiveBarInitiallyVsible = ((WorkbenchWindow) window)
-				.getPerspectiveBarVisible();
-
-		if (coolBarInitiallyVsible || perspectiveBarInitiallyVsible) {
-			// modify the newly opened window with the correct OS X
-			// style bits such that it possesses the toolbar button
-			Shell shell = window.getShell();
-			boolean[] switchArray = new boolean[] { coolBarInitiallyVsible,
-					perspectiveBarInitiallyVsible };
-			shell.setData(TOOLBAR_BUTTON_TOGGLE_FLAGS, switchArray);
-			int windowHandle = OS.GetControlOwner(shell.handle);
-			OS.ChangeWindowAttributes(windowHandle,
-					OS.kWindowToolbarButtonAttribute, 0);
-		}
-	}
-	
-	/**
-	 * Hook the window toolbar button to toggle the visibility of the coolbar
-	 * and perspective bar.
-	 * 
-	 * @since 3.2
-	 */
-    protected void hookToolbarButtonCallback() {
-		Object target = new Object() {
-			int toolbarProc (int nextHandler, int theEvent, int userData) {
-				int eventKind = OS.GetEventKind (theEvent);
-				if (eventKind != OS.kEventWindowToolbarSwitchMode)
-					return OS.eventNotHandledErr;
-				
-				int [] theWindow = new int [1];
-				OS.GetEventParameter (theEvent, OS.kEventParamDirectObject, OS.typeWindowRef, null, 4, null, theWindow);
-				
-				int [] theRoot = new int [1];
-				OS.GetRootControl (theWindow [0], theRoot);
-				Widget widget = Display.getCurrent().findWidget(theRoot [0]);
-				
-				if (!(widget instanceof Shell)) {
-					return OS.eventNotHandledErr;
-				}
-				Shell shell = (Shell) widget;
-				IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
-						.getWorkbenchWindows();
-				for (int i = 0; i < windows.length; i++) {
-					if (windows[i].getShell() == shell) {
-						WorkbenchWindow castedWindow = (WorkbenchWindow) windows[i];
-						// get the switch flags that were set on the shell by
-						// the window listener
-						boolean[] switchFlags = (boolean[]) shell
-								.getData(TOOLBAR_BUTTON_TOGGLE_FLAGS);
-						if (switchFlags == null)
-							return OS.eventNotHandledErr;
-						boolean coolbarVisible = castedWindow
-								.getCoolBarVisible();
-						boolean perspectivebarVisible = castedWindow
-								.getPerspectiveBarVisible();
-						// only toggle the visibility of the components that
-						// were on initially
-						if (switchFlags[0])
-							castedWindow.setCoolBarVisible(!coolbarVisible);
-						if (switchFlags[1])
-							castedWindow
-									.setPerspectiveBarVisible(!perspectivebarVisible);
-						shell.layout();
-						return OS.noErr;
-					}
-				}
-				return OS.eventNotHandledErr;
-			}
-
-		};
-		
-	    final Callback commandCallback = new Callback(target, "toolbarProc", 3); //$NON-NLS-1$
-        int commandProc = commandCallback.getAddress();
-        if (commandProc == 0) {
-            commandCallback.dispose();
-            return; // give up
-        }
-        
-        int[] mask = new int[] { OS.kEventClassWindow, OS.kEventWindowToolbarSwitchMode };
-        OS.InstallEventHandler(OS.GetApplicationEventTarget(), commandProc,
-                mask.length / 2, mask, 0, null);
-		
-	}
-
-	/**
-     * 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 = fAboutActionName.length();
-            char buffer[] = new char[l];
-            fAboutActionName.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;
-    }
-}
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 698f8ab..0000000
--- a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AboutAction.format=About {0}
-AboutAction.name=About
diff --git a/bundles/org.eclipse.ui.forms/.classpath b/bundles/org.eclipse.ui.forms/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.forms/.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.forms/.cvsignore b/bundles/org.eclipse.ui.forms/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.forms/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/.options b/bundles/org.eclipse.ui.forms/.options
deleted file mode 100644
index e6dbf14..0000000
--- a/bundles/org.eclipse.ui.forms/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.ui.forms/debug=true
-org.eclipse.ui.forms/debug/text=true
-org.eclipse.ui.forms/debug/focus=true
-org.eclipse.ui.forms/debug/textsize=true
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/.project b/bundles/org.eclipse.ui.forms/.project
deleted file mode 100644
index 3c23ea4..0000000
--- a/bundles/org.eclipse.ui.forms/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.forms</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.forms/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.forms/META-INF/MANIFEST.MF
deleted file mode 100644
index 67fc731..0000000
--- a/bundles/org.eclipse.ui.forms/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: org.eclipse.ui.forms
-Bundle-Version: 3.2.0.qualifier
-Bundle-Vendor: %provider-name
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.forms,
- org.eclipse.ui.forms.editor,
- org.eclipse.ui.forms.events,
- org.eclipse.ui.forms.widgets,
- org.eclipse.ui.internal.forms;x-internal:=true,
- org.eclipse.ui.internal.forms.widgets;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.jface;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)";resolution:=optional
-Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.ui.forms/about.html b/bundles/org.eclipse.ui.forms/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.ui.forms/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/build.properties b/bundles/org.eclipse.ui.forms/build.properties
deleted file mode 100644
index f68c073..0000000
--- a/bundles/org.eclipse.ui.forms/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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               META-INF/
-source.. = src/
-src.includes = about.html
diff --git a/bundles/org.eclipse.ui.forms/component.xml b/bundles/org.eclipse.ui.forms/component.xml
deleted file mode 100644
index 0f2d49a..0000000
--- a/bundles/org.eclipse.ui.forms/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="UI  Forms"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.ui.forms" fragment="false"/><package name="org.eclipse.ui.forms"></package><package name="org.eclipse.ui.forms.widgets"></package><package name="org.eclipse.ui.forms.editor"></package><package name="org.eclipse.ui.forms.events"></package></component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/plugin.properties b/bundles/org.eclipse.ui.forms/plugin.properties
deleted file mode 100644
index 7d11d9a..0000000
--- a/bundles/org.eclipse.ui.forms/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# plugin.xml properties
-#
-
-name = Eclipse Forms
-provider-name = Eclipse.org
-
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.java
deleted file mode 100644
index e191954..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.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 Eclipse Public License v1.0
- * which accompanies 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.forms;
-/**
- * AbstractFormPart implements IFormPart interface and can be used as a
- * convenient base class for concrete form parts. If a method contains
- * code that must be called, look for instructions to call 'super'
- * when overriding.
- * 
- * @see org.eclipse.ui.forms.widgets.Section
- * @since 3.0
- */
-public abstract class AbstractFormPart implements IFormPart {
-	private IManagedForm managedForm;
-	private boolean dirty = false;
-	private boolean stale = true;
-	/**
-	 * @see org.eclipse.ui.forms.IFormPart#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm form) {
-		this.managedForm = form;
-	}
-	/**
-	 * Returns the form that manages this part.
-	 * 
-	 * @return the managed form
-	 */
-	public IManagedForm getManagedForm() {
-		return managedForm;
-	}
-	/**
-	 * Disposes the part. Subclasses should override to release any system
-	 * resources.
-	 */
-	public void dispose() {
-	}
-	/**
-	 * Commits the part. Subclasses should call 'super' when overriding.
-	 * 
-	 * @param onSave
-	 *            <code>true</code> if the request to commit has arrived as a
-	 *            result of the 'save' action.
-	 */
-	public void commit(boolean onSave) {
-		dirty = false;
-	}
-	/**
-	 * Sets the overall form input. Subclases may elect to override the method
-	 * and adjust according to the form input.
-	 * 
-	 * @param input
-	 *            the form input object
-	 * @return <code>false</code>
-	 */
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-	/**
-	 * Instructs the part to grab keyboard focus.
-	 */
-	public void setFocus() {
-	}
-	/**
-	 * Refreshes the section after becoming stale (falling behind data in the
-	 * model). Subclasses must call 'super' when overriding this method.
-	 */
-	public void refresh() {
-		stale = false;
-		// since we have refreshed, any changes we had in the
-		// part are gone and we are not dirty
-		dirty = false;
-	}
-	/**
-	 * Marks the part dirty. Subclasses should call this method as a result of
-	 * user interaction with the widgets in the section.
-	 */
-	public void markDirty() {
-		dirty = true;
-		managedForm.dirtyStateChanged();
-	}
-	/**
-	 * Tests whether the part is dirty i.e. its widgets have state that is
-	 * newer than the data in the model.
-	 * 
-	 * @return <code>true</code> if the part is dirty, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isDirty() {
-		return dirty;
-	}
-	/**
-	 * Tests whether the part is stale i.e. its widgets have state that is
-	 * older than the data in the model.
-	 * 
-	 * @return <code>true</code> if the part is stale, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isStale() {
-		return stale;
-	}
-	/**
-	 * Marks the part stale. Subclasses should call this method as a result of
-	 * model notification that indicates that the content of the section is no
-	 * longer in sync with the model.
-	 */
-	public void markStale() {
-		stale = true;
-		managedForm.staleStateChanged();
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java
deleted file mode 100644
index 8c92608..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.forms;
-import java.util.*;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.ScrolledPageBook;
-/**
- * This managed form part handles the 'details' portion of the 
- * 'master/details' block. It has a page book that manages pages
- * of details registered for the current selection.
- * <p>By default, details part accepts any number of pages.
- * If dynamic page provider is registered, this number may
- * be excessive. To avoid running out of steam (by creating 
- * a large number of pages with widgets on each), maximum
- * number of pages can be set to some reasonable value (e.g. 10).
- * When this number is reached, old pages (those created first)
- * will be removed and disposed as new ones are added. If
- * the disposed pages are needed again after that, they
- * will be created again.
- * 
- * @since 3.0
- */
-public final class DetailsPart implements IFormPart, IPartSelectionListener {
-	private IManagedForm managedForm;
-	private ScrolledPageBook pageBook;
-	private IFormPart masterPart;
-	private IStructuredSelection currentSelection;
-	private Hashtable pages;
-	private IDetailsPageProvider pageProvider;
-	private int pageLimit=Integer.MAX_VALUE;
-	
-	private static class PageBag {
-		private static int counter;
-		private int ticket;
-		private IDetailsPage page;
-		private boolean fixed;
-		
-		public PageBag(IDetailsPage page, boolean fixed) {
-			this.page= page;
-			this.fixed = fixed;
-			this.ticket = ++counter;
-		}
-		public int getTicket() {
-			return ticket;
-		}
-		public IDetailsPage getPage() {
-			return page;
-		}
-		public void dispose() {
-			page.dispose();
-			page=null;
-		}
-		public boolean isDisposed() {
-			return page==null;
-		}
-		public boolean isFixed() {
-			return fixed;
-		}
-		public static int getCurrentTicket() {
-			return counter;
-		}
-	}
-/**
- * Creates a details part by wrapping the provided page book.
- * @param mform the parent form
- * @param pageBook the page book to wrap
- */	
-	public DetailsPart(IManagedForm mform, ScrolledPageBook pageBook) {
-		this.pageBook = pageBook;
-		pages = new Hashtable();
-		initialize(mform);
-	}
-/**
- * Creates a new details part in the provided form by creating 
- * the page book.
- * @param mform the parent form
- * @param parent the composite to create the page book in
- * @param style the style for the page book
- */
-	public DetailsPart(IManagedForm mform, Composite parent, int style) {
-		this(mform, mform.getToolkit().createPageBook(parent, style|SWT.V_SCROLL|SWT.H_SCROLL));
-	}
-/**
- * Registers the details page to be used for all the objects of
- * the provided object class.
- * @param objectClass an object of type 'java.lang.Class' to be used 
- * as a key for the provided page
- * @param page the page to show for objects of the provided object class
- */
-	public void registerPage(Object objectClass, IDetailsPage page) {
-		registerPage(objectClass, page, true);
-	}
-	
-	private void registerPage(Object objectClass, IDetailsPage page, boolean fixed) {
-		pages.put(objectClass, new PageBag(page, fixed));
-		page.initialize(managedForm);
-	}
-/**
- * Sets the dynamic page provider. The dynamic provider can return
- * different pages for objects of the same class based on their state.
- * @param provider the provider to use
- */
-	public void setPageProvider(IDetailsPageProvider provider) {
-		this.pageProvider = provider;
-	}
-/**
- * Commits the part by committing the current page.
- * @param onSave <code>true</code> if commit is requested as a result
- * of the 'save' action, <code>false</code> otherwise.
- */
-	public void commit(boolean onSave) {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			page.commit(onSave);
-	}
-/**
- * Returns the current page visible in the part.
- * @return the current page
- */
-	public IDetailsPage getCurrentPage() {
-		Control control = pageBook.getCurrentPage();
-		if (control != null) {
-			Object data = control.getData();
-			if (data instanceof IDetailsPage)
-				return (IDetailsPage) data;
-		}
-		return null;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IFormPart#dispose()
-	 */
-	public void dispose() {
-		for (Enumeration enm = pages.elements(); enm.hasMoreElements();) {
-			PageBag pageBag = (PageBag) enm.nextElement();
-			pageBag.dispose();
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IFormPart#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm form) {
-		this.managedForm = form;
-	}
-/**
- * Tests if the currently visible page is dirty.
- * @return <code>true</code> if the page is dirty, <code>false</code> otherwise.
- */
-	public boolean isDirty() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			return page.isDirty();
-		return false;
-	}
-/**
- * Tests if the currently visible page is stale and needs refreshing.
- * @return <code>true</code> if the page is stale, <code>false</code> otherwise.
- */	
-	public boolean isStale() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			return page.isStale();
-		return false;
-	}
-
-/**
- * Refreshes the current page.
- */
-	public void refresh() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			page.refresh();
-	}
-/**
- * Sets the focus to the currently visible page.
- */
-	public void setFocus() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			page.setFocus();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IFormPart#setFormInput(java.lang.Object)
-	 */
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IPartSelectionListener#selectionChanged(org.eclipse.ui.forms.IFormPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection) {
-		this.masterPart = part;
-		if (currentSelection != null) {
-		}
-		if (selection instanceof IStructuredSelection)
-			currentSelection = (IStructuredSelection) selection;
-		else
-			currentSelection = null;
-		update();
-	}
-	private void update() {
-		Object key = null;
-		if (currentSelection != null) {
-			for (Iterator iter = currentSelection.iterator(); iter.hasNext();) {
-				Object obj = iter.next();
-				if (key == null)
-					key = getKey(obj);
-				else if (getKey(obj).equals(key) == false) {
-					key = null;
-					break;
-				}
-			}
-		}
-		showPage(key);
-	}
-	private Object getKey(Object object) {
-		if (pageProvider!=null) {
-			Object key = pageProvider.getPageKey(object);
-			if (key!=null)
-				return key;
-		}
-		return object.getClass();
-	}
-	private void showPage(final Object key) {
-		checkLimit();
-		final IDetailsPage oldPage = getCurrentPage();
-		if (key != null) {
-			PageBag pageBag = (PageBag)pages.get(key);
-			IDetailsPage page = pageBag!=null?pageBag.getPage():null;
-			if (page==null) {
-				// try to get the page dynamically from the provider
-				if (pageProvider!=null) {
-					page = pageProvider.getPage(key);
-					if (page!=null) {
-						registerPage(key, page, false);
-					}
-				}
-			}
-			if (page != null) {
-				final IDetailsPage fpage = page;
-				BusyIndicator.showWhile(pageBook.getDisplay(), new Runnable() {
-					public void run() {
-						if (!pageBook.hasPage(key)) {
-							Composite parent = pageBook.createPage(key);
-							fpage.createContents(parent);
-							parent.setData(fpage);
-						}
-						//commit the current page
-						if (oldPage!=null && oldPage.isDirty())
-							oldPage.commit(false);
-						//refresh the new page
-						if (fpage.isStale())
-							fpage.refresh();
-						fpage.selectionChanged(masterPart, currentSelection);
-						pageBook.showPage(key);
-					}
-				});
-				return;
-			}
-		}
-		// If we are switching from an old page to nothing,
-		// don't loose data 
-		if (oldPage!=null && oldPage.isDirty())
-			oldPage.commit(false);
-		pageBook.showEmptyPage();
-	}
-	private void checkLimit() {
-		if (pages.size() <= getPageLimit()) return;
-		// overflow
-		int currentTicket = PageBag.getCurrentTicket();
-		int cutoffTicket = currentTicket - getPageLimit();
-		for (Enumeration enm=pages.keys(); enm.hasMoreElements();) {
-			Object key = enm.nextElement();
-			PageBag pageBag = (PageBag)pages.get(key);
-			if (pageBag.getTicket()<=cutoffTicket) {
-				// candidate - see if it is active and not fixed
-				if (!pageBag.isFixed() && !pageBag.getPage().equals(getCurrentPage())) {
-					// drop it
-					pageBag.dispose();
-					pages.remove(key);
-					pageBook.removePage(key, false);				
-				}
-			}
-		}
-	}
-	/**
-	 * Returns the maximum number of pages that should be
-	 * maintained in this part. When an attempt is made to
-	 * add more pages, old pages are removed and disposed
-	 * based on the order of creation (the oldest pages
-	 * are removed). The exception is made for the 
-	 * page that should otherwise be disposed but is
-	 * currently active.
-	 * @return maximum number of pages for this part
-	 */
-	public int getPageLimit() {
-		return pageLimit;
-	}
-	/**
-	 * Sets the page limit for this part. 
-	 * @see #getPageLimit()
-	 * @param pageLimit the maximum number of pages that
-	 * should be maintained in this part.
-	 */
-	public void setPageLimit(int pageLimit) {
-		this.pageLimit = pageLimit;
-		checkLimit();
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java
deleted file mode 100644
index c1798ad..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java
+++ /dev/null
@@ -1,543 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Manages colors that will be applied to forms and form widgets. The colors are
- * chosen to make the widgets look correct in the editor area. If a different
- * set of colors is needed, subclass this class and override 'initialize' and/or
- * 'initializeColors'.
- * 
- * @since 3.0
- */
-public class FormColors {
-	/**
-	 * Key for the form title foreground color.
-	 */
-	public static final String TITLE = "org.eclipse.ui.forms.TITLE"; //$NON-NLS-1$
-
-	/**
-	 * Key for the tree/table border color.
-	 */
-	public static final String BORDER = "org.eclipse.ui.forms.BORDER"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section separator color.
-	 */
-	public static final String SEPARATOR = "org.eclipse.ui.forms.SEPARATOR"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section title bar background.
-	 */
-	public static final String TB_BG = "org.eclipse.ui.forms.TB_BG"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section title bar foreground.
-	 * 
-	 * 
-	 */
-	public static final String TB_FG = "org.eclipse.ui.forms.TB_FG"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section title bar gradient.
-	 */
-	public static final String TB_GBG = "org.eclipse.ui.forms.TB_GBG"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section title bar border.
-	 */
-	public static final String TB_BORDER = "org.eclipse.ui.forms.TB_BORDER"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section toggle color. Since 3.1, this color is used for all
-	 * section styles.
-	 */
-	public static final String TB_TOGGLE = "org.eclipse.ui.forms.TB_TOGGLE"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section toggle hover color.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String TB_TOGGLE_HOVER = "org.eclipse.ui.forms.TB_TOGGLE_HOVER"; //$NON-NLS-1$	
-
-	protected Map colorRegistry = new HashMap(10);
-
-	protected Color background;
-
-	protected Color foreground;
-
-	private boolean shared;
-
-	protected Display display;
-
-	protected Color border;
-
-	private static final RGB WHITE = new RGB(255, 255, 255);
-
-	private static final RGB BLACK = new RGB(0, 0, 0);
-
-	/**
-	 * Creates form colors using the provided display.
-	 * 
-	 * @param display
-	 *            the display to use
-	 */
-	public FormColors(Display display) {
-		this.display = display;
-		initialize();
-	}
-
-	/**
-	 * Returns the display used to create colors.
-	 * 
-	 * @return the display
-	 */
-	public Display getDisplay() {
-		return display;
-	}
-
-	/**
-	 * Initializes the colors. Subclasses can override this method to change the
-	 * way colors are created. Alternatively, only the color table can be
-	 * modified by overriding <code>initializeColorTable()</code>.
-	 * 
-	 * @see #initializeColorTable
-	 */
-	protected void initialize() {
-		background = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-		foreground = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-		initializeColorTable();
-		updateBorderColor();
-	}
-
-	/**
-	 * Allocates colors for the following keys: BORDER, COMPOSITE_SEPARATOR and
-	 * DEFAULT_HEADER. Subclasses can override to allocate this colors
-	 * differently.
-	 */
-	protected void initializeColorTable() {
-		createTitleColor();
-		createTwistieColors();
-		createColor(SEPARATOR, getColor(TITLE).getRGB());
-		RGB borderRGB = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
-		createColor(BORDER, blend(borderRGB, BLACK, 80));
-	}
-
-	/**
-	 * Allocates colors for the section tool bar (all the keys that start with
-	 * TB). Since these colors are only needed when TITLE_BAR style is used with
-	 * the Section widget, they are not needed all the time and are allocated on
-	 * demand. Consequently, this method will do nothing if the colors have been
-	 * already initialized. Call this method prior to using colors with the TB
-	 * keys to ensure they are available.
-	 */
-	public void initializeSectionToolBarColors() {
-		if (getColor(FormColors.TB_BG) != null)
-			return;
-		createTitleBarGradientColors();
-		createTitleBarOutlineColors();
-	}
-
-	/**
-	 * Returns the RGB value of the system color represented by the code
-	 * argument, as defined in <code>SWT</code> class.
-	 * 
-	 * @param code
-	 *            the system color constant as defined in <code>SWT</code>
-	 *            class.
-	 * @return the RGB value of the system color
-	 */
-	public RGB getSystemColor(int code) {
-		return getDisplay().getSystemColor(code).getRGB();
-	}
-
-	/**
-	 * Creates the color for the specified key using the provided RGB object.
-	 * The color object will be returned and also put into the registry. When
-	 * the class is disposed, the color will be disposed with it.
-	 * 
-	 * @param key
-	 *            the unique color key
-	 * @param rgb
-	 *            the RGB object
-	 * @return the allocated color object
-	 */
-	public Color createColor(String key, RGB rgb) {
-		return createColor(key, rgb.red, rgb.green, rgb.blue);
-	}
-
-	/**
-	 * Creates a color that can be used for areas of the form that is inactive.
-	 * These areas can contain images, links, controls and other content but are
-	 * considered auxilliary to the main content area.
-	 * 
-	 * <p>
-	 * The color should not be disposed because it is managed by this class.
-	 * 
-	 * @return the inactive form color
-	 * @since 3.1
-	 */
-	public Color getInactiveBackground() {
-		String key = "__ncbg__"; //$NON-NLS-1$
-		Color color = getColor(key);
-		if (color == null) {
-			RGB sel = getSystemColor(SWT.COLOR_LIST_SELECTION);
-			// a blend of 95% white and 5% list selection system color
-			RGB ncbg = blend(sel, getSystemColor(SWT.COLOR_WHITE), 5);
-			color = createColor(key, ncbg);
-		}
-		return color;
-	}
-
-	/**
-	 * Creates the color for the specified key using the provided RGB values.
-	 * The color object will be returned and also put into the registry. If
-	 * there is already another color object under the same key in the registry,
-	 * the existing object will be disposed. When the class is disposed, the
-	 * color will be disposed with it.
-	 * 
-	 * @param key
-	 *            the unique color key
-	 * @param r
-	 *            red value
-	 * @param g
-	 *            green value
-	 * @param b
-	 *            blue value
-	 * @return the allocated color object
-	 */
-	public Color createColor(String key, int r, int g, int b) {
-		Color c = new Color(display, r, g, b);
-		Color prevC = (Color) colorRegistry.get(key);
-		if (prevC != null)
-			prevC.dispose();
-		colorRegistry.put(key, c);
-		return c;
-	}
-
-	/**
-	 * Computes the border color relative to the background. Allocated border
-	 * color is designed to work well with white. Otherwise, stanard widget
-	 * background color will be used.
-	 */
-	protected void updateBorderColor() {
-		if (isWhiteBackground())
-			border = getColor(BORDER);
-		else {
-			border = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-			Color bg = getImpliedBackground();
-			if (border.getRed() == bg.getRed()
-					&& border.getGreen() == bg.getGreen()
-					&& border.getBlue() == bg.getBlue())
-				border = display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW);
-		}
-	}
-
-	/**
-	 * Sets the background color. All the toolkits that use this class will
-	 * share the same background.
-	 * 
-	 * @param bg
-	 *            background color
-	 */
-	public void setBackground(Color bg) {
-		this.background = bg;
-		updateBorderColor();
-	}
-
-	/**
-	 * Sets the foreground color. All the toolkits that use this class will
-	 * share the same foreground.
-	 * 
-	 * @param fg
-	 *            foreground color
-	 */
-	public void setForeground(Color fg) {
-		this.foreground = fg;
-	}
-
-	/**
-	 * Returns the current background color.
-	 * 
-	 * @return the background color
-	 */
-	public Color getBackground() {
-		return background;
-	}
-
-	/**
-	 * Returns the current foreground color.
-	 * 
-	 * @return the foreground color
-	 */
-	public Color getForeground() {
-		return foreground;
-	}
-
-	/**
-	 * Returns the computed border color. Border color depends on the background
-	 * and is recomputed whenever the background changes.
-	 * 
-	 * @return the current border color
-	 */
-	public Color getBorderColor() {
-		return border;
-	}
-
-	/**
-	 * Tests if the background is white. White background has RGB value
-	 * 255,255,255.
-	 * 
-	 * @return <samp>true</samp> if background is white, <samp>false</samp>
-	 *         otherwise.
-	 */
-	public boolean isWhiteBackground() {
-		Color bg = getImpliedBackground();
-		return bg.getRed() == 255 && bg.getGreen() == 255
-				&& bg.getBlue() == 255;
-	}
-
-	/**
-	 * Returns the color object for the provided key or <samp>null </samp> if
-	 * not in the registry.
-	 * 
-	 * @param key
-	 *            the color key
-	 * @return color object if found, or <samp>null </samp> if not.
-	 */
-	public Color getColor(String key) {
-		return (Color) colorRegistry.get(key);
-	}
-
-	/**
-	 * Disposes all the colors in the registry.
-	 */
-	public void dispose() {
-		Iterator e = colorRegistry.values().iterator();
-		while (e.hasNext())
-			((Color) e.next()).dispose();
-		colorRegistry = null;
-	}
-
-	/**
-	 * Marks the colors shared. This prevents toolkits that share this object
-	 * from disposing it.
-	 */
-	public void markShared() {
-		this.shared = true;
-	}
-
-	/**
-	 * Tests if the colors are shared.
-	 * 
-	 * @return <code>true</code> if shared, <code>false</code> otherwise.
-	 */
-	public boolean isShared() {
-		return shared;
-	}
-
-	/**
-	 * Blends c1 and c2 based in the provided ratio.
-	 * 
-	 * @param c1
-	 *            first color
-	 * @param c2
-	 *            second color
-	 * @param ratio
-	 *            percentage of the first color in the blend (0-100)
-	 * @return the RGB value of the blended color
-	 * @since 3.1
-	 */
-	public static RGB blend(RGB c1, RGB c2, int ratio) {
-		int r = blend(c1.red, c2.red, ratio);
-		int g = blend(c1.green, c2.green, ratio);
-		int b = blend(c1.blue, c2.blue, ratio);
-		return new RGB(r, g, b);
-	}
-
-	/**
-	 * Tests the source RGB for range.
-	 * 
-	 * @param rgb
-	 *            the tested RGB
-	 * @param from
-	 *            range start (excluding the value itself)
-	 * @param to
-	 *            range end (excluding the value itself)
-	 * @return <code>true</code> if at least one of the primary colors in the
-	 *         source RGB are within the provided range, <code>false</code>
-	 *         otherwise.
-	 * @since 3.1
-	 */
-	public static boolean testAnyPrimaryColor(RGB rgb, int from, int to) {
-		if (testPrimaryColor(rgb.red, from, to))
-			return true;
-		if (testPrimaryColor(rgb.green, from, to))
-			return true;
-		if (testPrimaryColor(rgb.blue, from, to))
-			return true;
-		return false;
-	}
-
-	/**
-	 * Tests the source RGB for range.
-	 * 
-	 * @param rgb
-	 *            the tested RGB
-	 * @param from
-	 *            range start (excluding the value itself)
-	 * @param to
-	 *            tange end (excluding the value itself)
-	 * @return <code>true</code> if at least two of the primary colors in the
-	 *         source RGB are within the provided range, <code>false</code>
-	 *         otherwise.
-	 * @since 3.1
-	 */
-	public static boolean testTwoPrimaryColors(RGB rgb, int from, int to) {
-		int total = 0;
-		if (testPrimaryColor(rgb.red, from, to))
-			total++;
-		if (testPrimaryColor(rgb.green, from, to))
-			total++;
-		if (testPrimaryColor(rgb.blue, from, to))
-			total++;
-		return total >= 2;
-	}
-
-	/**
-	 * Blends two primary color components based on the provided ratio.
-	 * 
-	 * @param v1
-	 *            first component
-	 * @param v2
-	 *            second component
-	 * @param ratio
-	 *            percentage of the first component in the blend
-	 * @return
-	 */
-	private static int blend(int v1, int v2, int ratio) {
-		int b = (ratio * v1 + (100 - ratio) * v2) / 100;
-		return Math.min(255, b);
-	}
-
-	private Color getImpliedBackground() {
-		if (getBackground() != null)
-			return getBackground();
-		return getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-	}
-
-	private static boolean testPrimaryColor(int value, int from, int to) {
-		return value > from && value < to;
-	}
-
-	private void createTitleColor() {
-		RGB rgb = getSystemColor(SWT.COLOR_LIST_SELECTION);
-		// test too light
-		if (testTwoPrimaryColors(rgb, 120, 151))
-			rgb = blend(rgb, BLACK, 80);
-		else if (testTwoPrimaryColors(rgb, 150, 256))
-			rgb = blend(rgb, BLACK, 50);
-		createColor(TITLE, rgb);
-	}
-
-	private void createTwistieColors() {
-		RGB rgb = getColor(TITLE).getRGB();
-		createColor(TB_TOGGLE, rgb);
-
-		// hover twistie
-		rgb = blend(rgb, WHITE, 70);
-		// bounds
-		if (testTwoPrimaryColors(rgb, 215, 226))
-			rgb = blend(rgb, BLACK, 90);
-		else if (testTwoPrimaryColors(rgb, 225, 256))
-			rgb = blend(rgb, BLACK, 95);
-		createColor(TB_TOGGLE_HOVER, rgb);
-	}
-
-	private void createTitleBarGradientColors() {
-		RGB tbBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT);
-		Color bg = getImpliedBackground();
-		RGB formBackground = bg.getRGB();
-
-		// blend 77% white with the title background gradient
-		tbBg = blend(formBackground, tbBg, 77);
-
-		if (isWhiteBackground()) {
-			// corrections
-			if (testTwoPrimaryColors(tbBg, 241, 256)) {
-				// too light
-				tbBg = blend(tbBg, BLACK, 90);
-			} else if (testTwoPrimaryColors(tbBg, 0, 231)) {
-				// too dark
-				if (testAnyPrimaryColor(tbBg, 214, 231))
-					tbBg = blend(tbBg, WHITE, 95);
-				else if (testAnyPrimaryColor(tbBg, 199, 215))
-					tbBg = blend(tbBg, WHITE, 90);
-			}
-		} else {
-			if (testTwoPrimaryColors(tbBg, 209, 256)) {
-				// too light
-				if (testAnyPrimaryColor(tbBg, 210, 236))
-					tbBg = blend(tbBg, BLACK, 60);
-				else if (testAnyPrimaryColor(tbBg, 235, 256))
-					tbBg = blend(tbBg, BLACK, 20);
-			}
-		}
-		createColor(FormColors.TB_BG, tbBg);
-
-		// blend 50 % white with the previous blend for half-way
-		RGB tbGbg = blend(formBackground, tbBg, 50);
-		createColor(FormColors.TB_GBG, tbGbg);
-	}
-
-	private void createTitleBarOutlineColors() {
-		// title bar outline - border color
-		RGB tbBorder = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
-		// Perform adjustments for too bright
-		if (isWhiteBackground()) {
-			if (testTwoPrimaryColors(tbBorder, 215, 256)) {
-				// too bright
-				if (testAnyPrimaryColor(tbBorder, 215, 226))
-					// decrease white by 10%
-					tbBorder = blend(tbBorder, BLACK, 90);
-				else if (testAnyPrimaryColor(tbBorder, 225, 256))
-					// decrease white by 20%
-					tbBorder = blend(tbBorder, BLACK, 70);
-			} else if (testTwoPrimaryColors(tbBorder, 0, 186)) {
-				// too dark
-				if (testAnyPrimaryColor(tbBorder, 175, 186))
-					// add 5% white
-					tbBorder = blend(tbBorder, WHITE, 95);
-				else if (testTwoPrimaryColors(tbBorder, 154, 176))
-					// add 10% white
-					tbBorder = blend(tbBorder, WHITE, 90);
-				else if (testTwoPrimaryColors(tbBorder, 124, 155))
-					// add 20% white
-					tbBorder = blend(tbBorder, WHITE, 80);
-			}
-		} else {
-			if (testTwoPrimaryColors(tbBorder, 200, 256))
-				// too bright - decrease white by 50%
-				tbBorder = blend(tbBorder, BLACK, 50);
-		}
-		createColor(FormColors.TB_BORDER, tbBorder);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java
deleted file mode 100644
index b6d76f2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.forms;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-
-/**
- * Manages a group of hyperlinks. It tracks activation, updates normal and
- * active colors and updates underline state depending on the underline
- * preference. Hyperlink labels are added to the group after creation and are
- * automatically removed from the group when they are disposed.
- * 
- * @since 3.0
- */
-
-public final class HyperlinkGroup extends HyperlinkSettings {
-	private ArrayList links = new ArrayList();
-	private Hyperlink lastActivated;
-	private Hyperlink lastEntered;
-	private GroupListener listener;
-
-	private class GroupListener implements Listener, IHyperlinkListener {
-		public void handleEvent(Event e) {
-			switch (e.type) {
-				case SWT.MouseEnter :
-					onMouseEnter(e);
-					break;
-				case SWT.MouseExit :
-					onMouseExit(e);
-					break;
-				case SWT.MouseDown :
-					onMouseDown(e);
-					break;
-				case SWT.Dispose :
-					unhook((Hyperlink) e.widget);
-					break;
-			}
-		}
-		private void onMouseEnter(Event e) {
-			Hyperlink link = (Hyperlink) e.widget;
-			if (getActiveBackground() != null)
-				link.setBackground(getActiveBackground());
-			if (getActiveForeground() != null)
-				link.setForeground(getActiveForeground());
-			if (getHyperlinkUnderlineMode() == UNDERLINE_HOVER)
-				link.setUnderlined(true);
-			link.setCursor(getHyperlinkCursor());			
-		}
-		private void onMouseExit(Event e) {
-			Hyperlink link = (Hyperlink) e.widget;
-			if (getBackground() != null)
-				link.setBackground(getBackground());
-			if (getForeground() != null)
-				link.setForeground(getForeground());
-			if (getHyperlinkUnderlineMode() == UNDERLINE_HOVER)
-				link.setUnderlined(false);
-		}
-		public void linkActivated(HyperlinkEvent e) {
-		}
-
-		public void linkEntered(HyperlinkEvent e) {
-			Hyperlink link = (Hyperlink) e.widget;
-			if (lastEntered != null) {
-				linkExited(lastEntered);
-			}
-			lastEntered = link;
-		}
-
-		public void linkExited(HyperlinkEvent e) {
-			linkExited((Hyperlink) e.widget);
-		}
-		private void linkExited(Hyperlink link) {
-			link.setCursor(null);
-			if (lastEntered == link)
-				lastEntered = null;
-		}
-	}
-
-	/**
-	 * Creates a hyperlink group.
-	 */
-
-	public HyperlinkGroup(Display display) {
-		super(display);
-		listener = new GroupListener();
-	}
-
-	/**
-	 * Returns the link that has been active the last, or <code>null</code>
-	 * if no link has been active yet or the last active link has been
-	 * disposed.
-	 * 
-	 * @return the last active link or <code>null</code>
-	 */
-	public Hyperlink getLastActivated() {
-		return lastActivated;
-	}
-	/**
-	 * Adds a hyperlink to the group to be jointly managed. Hyperlink will be
-	 * managed until it is disposed. Settings like colors, cursors and modes
-	 * will affect all managed hyperlinks.
-	 * 
-	 * @param link
-	 */
-
-	public void add(Hyperlink link) {
-		if (getBackground() != null)
-			link.setBackground(getBackground());
-		if (getForeground() != null)
-			link.setForeground(getForeground());
-		if (getHyperlinkUnderlineMode() == UNDERLINE_ALWAYS)
-			link.setUnderlined(true);
-		hook(link);
-	}
-	/**
-	 * Sets the group background and also sets the background of all the
-	 * currently managed links.
-	 * 
-	 * @param bg
-	 *            the new background
-	 */
-
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (links != null) {
-			for (int i = 0; i < links.size(); i++) {
-				Hyperlink label = (Hyperlink) links.get(i);
-				label.setBackground(bg);
-			}
-		}
-	}
-	/**
-	 * Sets the group foreground and also sets the background of all the
-	 * currently managed links.
-	 * 
-	 * @param fg
-	 *            the new foreground
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (links != null) {
-			for (int i = 0; i < links.size(); i++) {
-				Hyperlink label = (Hyperlink) links.get(i);
-				label.setForeground(fg);
-			}
-		}
-	}
-	/**
-	 * Sets the hyperlink underline mode.
-	 * 
-	 * @param mode
-	 *            the new hyperlink underline mode
-	 * @see HyperlinkSettings
-	 */
-	public void setHyperlinkUnderlineMode(int mode) {
-		super.setHyperlinkUnderlineMode(mode);
-		if (links != null) {
-			for (int i = 0; i < links.size(); i++) {
-				Hyperlink label = (Hyperlink) links.get(i);
-				label.setUnderlined(mode == UNDERLINE_ALWAYS);
-			}
-		}
-	}
-
-	private void hook(Hyperlink link) {
-		link.addListener(SWT.MouseDown, listener);
-		link.addHyperlinkListener(listener);
-		link.addListener(SWT.Dispose, listener);
-		link.addListener(SWT.MouseEnter, listener);
-		link.addListener(SWT.MouseExit, listener);
-		links.add(link);
-	}
-
-	private void unhook(Hyperlink link) {
-		link.removeListener(SWT.MouseDown, listener);
-		link.removeHyperlinkListener(listener);
-		link.removeListener(SWT.MouseEnter, listener);
-		link.removeListener(SWT.MouseExit, listener);
-		if (lastActivated == link)
-			lastActivated = null;
-		if (lastEntered == link)
-			lastEntered = null;
-		links.remove(link);
-	}
-
-	private void onMouseDown(Event e) {
-		if (e.button == 1)
-			return;
-		lastActivated = (Hyperlink) e.widget;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.java
deleted file mode 100644
index 26e43f0..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.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 Eclipse Public License v1.0
- * which accompanies 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.forms;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.internal.forms.widgets.*;
-/**
- * Manages color and underline mode settings for a group of hyperlinks. The
- * class is extended by HyperlinkGroup but is otwerwise not intended to be
- * subclassed.
- * 
- * @since 3.0
- */
-public class HyperlinkSettings {
-	/**
-	 * Underline mode to be used when hyperlinks should not be underlined.
-	 */
-	public static final int UNDERLINE_NEVER = 1;
-	/**
-	 * Underline mode to be used when hyperlinks should only be underlined on
-	 * mouse hover.
-	 */
-	public static final int UNDERLINE_HOVER = 2;
-	/**
-	 * Underline mode to be used when hyperlinks should always be underlined.
-	 */
-	public static final int UNDERLINE_ALWAYS = 3;
-	private int hyperlinkUnderlineMode = UNDERLINE_ALWAYS;
-	private Color background;
-	private Color foreground;
-	private Color activeBackground;
-	private Color activeForeground;
-	/**
-	 * The constructor.
-	 * 
-	 * @param display
-	 *            the display to use when creating colors.
-	 */
-	public HyperlinkSettings(Display display) {
-		initializeDefaultForegrounds(display);
-	}
-	/**
-	 * Initializes the hyperlink foregrounds from the JFace defaults set for the
-	 * entire workbench.
-	 * 
-	 * @see JFaceColors
-	 * @param display
-	 *            the display to use when creating colors
-	 */
-	public void initializeDefaultForegrounds(Display display) {
-		Color fg = JFaceColors.getHyperlinkText(display);
-		Color afg = JFaceColors.getActiveHyperlinkText(display);
-		if (fg==null)
-			fg = display.getSystemColor(SWT.COLOR_BLUE);
-		setForeground(fg);
-		setActiveForeground(afg);
-	}
-	/**
-	 * Returns the background to use for the active hyperlink.
-	 * 
-	 * @return active hyperlink background
-	 */
-	public Color getActiveBackground() {
-		return activeBackground;
-	}
-	/**
-	 * Returns the foreground to use for the active hyperlink.
-	 * 
-	 * @return active hyperlink foreground
-	 */
-	public Color getActiveForeground() {
-		return activeForeground;
-	}
-	/**
-	 * Returns the background to use for the normal hyperlink.
-	 * 
-	 * @return normal hyperlink background
-	 */
-	public Color getBackground() {
-		return background;
-	}
-	/**
-	 * Returns the cursor to use when the hyperlink is active. This cursor will
-	 * be shown before hyperlink listeners have been notified of hyperlink
-	 * activation and hidden when the notification method returns.
-	 * 
-	 * @return the busy cursor
-	 */
-	public Cursor getBusyCursor() {
-		return FormsResources.getBusyCursor();
-	}
-	/**
-	 * Returns the cursor to use when over text.
-	 * 
-	 * @return the text cursor
-	 */
-	public Cursor getTextCursor() {
-		return FormsResources.getTextCursor();
-	}
-	/**
-	 * Returns the foreground to use for the normal hyperlink.
-	 * 
-	 * @return the normal hyperlink foreground
-	 */
-	public Color getForeground() {
-		return foreground;
-	}
-	/**
-	 * Returns the cursor to use when hovering over the hyperlink.
-	 * 
-	 * @return the hyperlink cursor
-	 */
-	public Cursor getHyperlinkCursor() {
-		return FormsResources.getHandCursor();
-	}
-	/**
-	 * Returns the underline mode to be used for all the hyperlinks in this
-	 * group.
-	 * 
-	 * @return one of UNDERLINE_NEVER, UNDERLINE_ALWAYS, UNDERLINE_HOVER
-	 */
-	public int getHyperlinkUnderlineMode() {
-		return hyperlinkUnderlineMode;
-	}
-	/**
-	 * Sets the new active hyperlink background for all the links.
-	 * 
-	 * @param newActiveBackground
-	 *            the new active background
-	 */
-	public void setActiveBackground(Color newActiveBackground) {
-		activeBackground = newActiveBackground;
-	}
-	/**
-	 * Sets the new active hyperlink foreground for all the links.
-	 * 
-	 * @param newActiveForeground
-	 *            the new active foreground
-	 */
-	public void setActiveForeground(Color newActiveForeground) {
-		activeForeground = newActiveForeground;
-	}
-	/**
-	 * Sets the new hyperlink background for all the links.
-	 * 
-	 * @param newBackground
-	 *            the new hyperlink background
-	 */
-	public void setBackground(Color newBackground) {
-		background = newBackground;
-	}
-	/**
-	 * Sets the new hyperlink foreground for all the links.
-	 * 
-	 * @param newForeground
-	 *            the new hyperlink foreground
-	 */
-	public void setForeground(Color newForeground) {
-		foreground = newForeground;
-	}
-	/**
-	 * Sets the new hyperlink underline mode for all the links in this group.
-	 * 
-	 * @param mode
-	 *            one of <code>UNDERLINE_NEVER</code>,
-	 *            <code>UNDERLINE_HOVER</code> and
-	 *            <code>UNDERLINE_ALWAYS</code>.
-	 */
-	public void setHyperlinkUnderlineMode(int mode) {
-		hyperlinkUnderlineMode = mode;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.java
deleted file mode 100644
index 603fbb9..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.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 Eclipse Public License v1.0
- * which accompanies 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.forms;
-
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This interface should be implemented by clients providing
- * pages to handle object types in DetailsPart. Most of the
- * life cycle is the same as for the IFormPart. The page is
- * a part selection listener since selections in the master
- * part will be passed to the currently visible page.
- * 
- * @see DetailsPart
- * @see MasterDetailsBlock
- * @since 3.0
- */
-public interface IDetailsPage extends IFormPart, IPartSelectionListener {
-	/**
-	 * Creates the contents of the page in the provided parent.
-	 * @param parent the parent to create the page in
-	 */
-	void createContents(Composite parent);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.java
deleted file mode 100644
index 8f2fe00..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.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 Eclipse Public License v1.0
- * which accompanies 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.forms;
-
-/**
- * The class that implements this interface provides for dynamic
- * computation of page key and the page itself based on the
- * input object. It should be used in situations where
- * using the object class as a static key is not enough
- * i.e. different pages may need to be loaded for objects
- * of the same type depending on their state.
- * 
- * @see DetailsPart
- * @see MasterDetailsBlock
- * @since 3.0
- */
-public interface IDetailsPageProvider {
-/**
- * Returns the page key for the provided object. The assumption is
- * that the provider knows about various object types and
- * is in position to cast the object into a type and call methods
- * on it to determine the matching page key.
- * @param object the input object
- * @return the page key for the provided object
- */
-	Object getPageKey(Object object);
-/**
- * Returns the page for the provided key. This method is the dynamic
- * alternative to registering pages with the details part directly.
- * @param key the page key
- * @return the matching page for the provided key
- */
-	IDetailsPage getPage(Object key);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java
deleted file mode 100644
index 438e516..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms;
-
-/**
- * Classes that implement this interface can be added to the managed
- * form and take part in the form life cycle. The part is initialize
- * with the form and be asked to accept focus. The part can receive
- * form input and can elect to do something according to it (for
- * example, select an object that matches the input).
- * <p>The form part has two 'out of sync' states in respect to 
- * the model(s) that feed the form: <b>dirty</b> and <b>stale</b>.
- * When a part is dirty, it means that the user interacted with 
- * it and now its widgets contain state that is newer than the
- * model. In order to sync up with the model, 'commit' needs to
- * be called. In contrast, the model can change 'under' the form
- * (as a result of some actions outside the form), resulting
- * in data in the model being 'newer' than the content presented
- * in the form. A 'stale' form part is brought in sync with the 
- * model by calling 'refresh'. The part is responsible to notify
- * the form when one of these states change in the part. The
- * form reserves the right to handle this notification in the
- * most appropriate way for the situation (for example, if 
- * form is in a page of the multi-page editor, it may do 
- * nothing for stale parts if the page is currently not showing).
- * <p>When form is disposed, each registered part is disposed 
- * as well.
- * Parts are responsible for releasing any system resources
- * they created and for removing themselves as listeners
- * from all event providers.
- * @see IManagedForm
- * @since 3.0
- * 
- */
-public interface IFormPart {
-	/**
-	 * Initializes the part.
-	 * 
-	 * @param form the managed form that manages the part
-	 */
-	void initialize(IManagedForm form);
-	/**
-	 * Disposes the part allowing it to release allocated resources.
-	 */
-	void dispose();
-	/**
-	 * Returns true if the part has been modified with respect to
-	 * the data loaded from the model.
-	 * @return true if the part has been modified with respect to
-	 * the data loaded from the model
-	 */
-	boolean isDirty();
-	/**
-	 * If part is displaying information loaded from a model, this method
-	 * instructs it to commit the new (modified) data back into the model.
-	 * 
-	 * @param onSave
-	 *            indicates if commit is called during 'save' operation or for
-	 *            some other reason (for example, if form is contained in a
-	 *            wizard or a multi-page editor and the user is about to leave
-	 *            the page).
-	 */
-	void commit(boolean onSave);
-
-	/**
-	 * Notifies the part that an object has been set as overall form's input.
-	 * The part can elect to react by revealing or selecting the object, or do
-	 * nothing if not applicable.
-	 * @return <code>true</code> if the part has selected and revealed
-	 * the input object, <code>false</code> otherwise.
-	 */
-	boolean setFormInput(Object input);
-	/**
-	 * Instructs form part to transfer focus to the widget that should has
-	 * focus in that part. The method can do nothing (if it has no widgets
-	 * capable of accepting focus).
-	 */
-	void setFocus();
-	/**
-	 * Tests whether the form part is stale and needs refreshing.
-	 * Parts can receive notification from models that will make
-	 * their content stale, but may need to delay refreshing
-	 * to improve performance (for example, there is no
-	 * need to immediately refresh a part on a form that is
-	 * current on a hidden page).
-	 * <p>It is important to differentiate 'stale' and 'dirty'
-	 * states. Part is 'dirty' if user interacted with
-	 * its editable widgets and changed the values. In contrast,
-	 * part is 'stale' when the data it presents in the widgets
-	 * has been changed in the model without direct user
-	 * interaction.
-	 * @return <code>true</code> if the part needs refreshing, 
-	 * <code>false</code> otherwise.
-	 */
-	boolean isStale();
-	/**
-	 * Refreshes the part completely from the information freshly 
-	 * obtained from the model. The method will not be called
-	 * if the part is not stale. Otherwise, the part is
-	 * responsible for clearing the 'stale' flag after refreshing
-	 * itself.
-	 */
-	void refresh();
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java
deleted file mode 100644
index e824f7c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java
+++ /dev/null
@@ -1,176 +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 Eclipse Public License v1.0
- * which accompanies 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.forms;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-
-/**
- * Managed form wraps a form widget and adds life cycle methods for form parts.
- * A form part is a portion of the form that participates in form life cycle
- * events.
- * <p>
- * There is no 1/1 mapping between widgets and form parts. A widget like Section
- * can be a part by itself, but a number of widgets can gather around one form
- * part.
- * <p>
- * This interface should not be extended or implemented. New form instances
- * should be created using ManagedForm.
- * 
- * @see ManagedForm
- * @since 3.0
- */
-public interface IManagedForm {
-	/**
-	 * Initializes the form by looping through the managed parts and
-	 * initializing them. Has no effect if already called once.
-	 * 
-	 * @since 3.1
-	 */
-	public void initialize();
-
-	/**
-	 * Returns the toolkit used by this form.
-	 * 
-	 * @return the toolkit
-	 */
-	public FormToolkit getToolkit();
-
-	/**
-	 * Returns the form widget managed by this form.
-	 * 
-	 * @return the form widget
-	 */
-	public ScrolledForm getForm();
-
-	/**
-	 * Reflows the form as a result of the layout change.
-	 * 
-	 * @param changed
-	 *            if <code>true</code>, discard cached layout information
-	 */
-	public void reflow(boolean changed);
-
-	/**
-	 * A part can use this method to notify other parts that implement
-	 * IPartSelectionListener about selection changes.
-	 * 
-	 * @param part
-	 *            the part that broadcasts the selection
-	 * @param selection
-	 *            the selection in the part
-	 */
-	public void fireSelectionChanged(IFormPart part, ISelection selection);
-
-	/**
-	 * Returns all the parts currently managed by this form.
-	 * 
-	 * @return the managed parts
-	 */
-	IFormPart[] getParts();
-
-	/**
-	 * Adds the new part to the form.
-	 * 
-	 * @param part
-	 *            the part to add
-	 */
-	void addPart(IFormPart part);
-
-	/**
-	 * Removes the part from the form.
-	 * 
-	 * @param part
-	 *            the part to remove
-	 */
-	void removePart(IFormPart part);
-
-	/**
-	 * Sets the input of this page to the provided object.
-	 * 
-	 * @param input
-	 *            the new page input
-	 * @return <code>true</code> if the form contains this object,
-	 *         <code>false</code> otherwise.
-	 */
-	boolean setInput(Object input);
-
-	/**
-	 * Returns the current page input.
-	 * 
-	 * @return page input object or <code>null</code> if not applicable.
-	 */
-	Object getInput();
-
-	/**
-	 * Tests if form is dirty. A managed form is dirty if at least one managed
-	 * part is dirty.
-	 * 
-	 * @return <code>true</code> if at least one managed part is dirty,
-	 *         <code>false</code> otherwise.
-	 */
-	boolean isDirty();
-
-	/**
-	 * Notifies the form that the dirty state of one of its parts has changed.
-	 * The global dirty state of the form can be obtained by calling 'isDirty'.
-	 * 
-	 * @see #isDirty
-	 */
-	void dirtyStateChanged();
-
-	/**
-	 * Commits the dirty form. All pending changes in the widgets are flushed
-	 * into the model.
-	 * 
-	 * @param onSave
-	 */
-	void commit(boolean onSave);
-
-	/**
-	 * Tests if form is stale. A managed form is stale if at least one managed
-	 * part is stale. This can happen when the underlying model changes,
-	 * resulting in the presentation of the part being out of sync with the
-	 * model and needing refreshing.
-	 * 
-	 * @return <code>true</code> if the form is stale, <code>false</code>
-	 *         otherwise.
-	 */
-	boolean isStale();
-
-	/**
-	 * Notifies the form that the stale state of one of its parts has changed.
-	 * The global stale state of the form can be obtained by calling 'isStale'.
-	 */
-	void staleStateChanged();
-
-	/**
-	 * Refreshes the form by refreshing every part that is stale.
-	 */
-	void refresh();
-
-	/**
-	 * Sets the container that owns this form. Depending on the context, the
-	 * container may be wizard, editor page, editor etc.
-	 * 
-	 * @param container
-	 *            the container of this form
-	 */
-	void setContainer(Object container);
-
-	/**
-	 * Returns the container of this form.
-	 * 
-	 * @return the form container
-	 */
-	Object getContainer();
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java
deleted file mode 100644
index 26c40db..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms;
-
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Form parts can implement this interface if they want to be 
- * notified when another part on the same form changes selection 
- * state.
- * 
- * @see IFormPart
- * @since 3.0
- */
-public interface IPartSelectionListener {
-	/**
-	 * Called when the provided part has changed selection state.
-	 * 
-	 * @param part
-	 *            the selection source
-	 * @param selection
-	 *            the new selection
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java
deleted file mode 100644
index eb971f9..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import java.util.Vector;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * Managed form wraps a form widget and adds life cycle methods for form parts.
- * A form part is a portion of the form that participates in form life cycle
- * events.
- * <p>
- * There is requirement for 1/1 mapping between widgets and form parts. A
- * widget like Section can be a part by itself, but a number of widgets can
- * join around one form part.
- * <p>Note to developers: this class is left public to allow its use
- * beyond the original intention (inside a multi-page editor's page).
- * You should limit the use of this class to make new instances
- * inside a form container (wizard page, dialog etc.).
- * Clients that need access to the class should not do it directly. 
- * Instead, they should do it through IManagedForm interface as 
- * much as possible.
- * 
- * @since 3.0
- */
-public class ManagedForm implements IManagedForm {
-	private Object input;
-	private ScrolledForm form;
-	private FormToolkit toolkit;
-	private Object container;
-	private boolean ownsToolkit;
-	private boolean initialized;	
-	private Vector parts = new Vector();
-	/**
-	 * Creates a managed form in the provided parent. Form toolkit and widget
-	 * will be created and owned by this object.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public ManagedForm(Composite parent) {
-		toolkit = new FormToolkit(parent.getDisplay());
-		ownsToolkit = true;
-		form = toolkit.createScrolledForm(parent);
-	}
-	/**
-	 * Creates a managed form that will use the provided toolkit and
-	 * 
-	 * @param toolkit
-	 * @param form
-	 */
-	public ManagedForm(FormToolkit toolkit, ScrolledForm form) {
-		this.form = form;
-		this.toolkit = toolkit;
-	}
-	/**
-	 * Add a part to be managed by this form.
-	 * 
-	 * @param part
-	 *            part to add
-	 */
-	public void addPart(IFormPart part) {
-		parts.add(part);
-		part.initialize(this);
-	}
-	/**
-	 * Remove the part from this form.
-	 * 
-	 * @param part
-	 *            part to remove
-	 */
-	public void removePart(IFormPart part) {
-		parts.remove(part);
-	}
-	/**
-	 * Returns all the parts current managed by this form.
-	 */
-	public IFormPart[] getParts() {
-		return (IFormPart[]) parts.toArray(new IFormPart[parts.size()]);
-	}
-	/**
-	 * Returns the toolkit used by this form.
-	 * 
-	 * @return the toolkit
-	 */
-	public FormToolkit getToolkit() {
-		return toolkit;
-	}
-	/**
-	 * Returns the form widget managed by this form.
-	 * 
-	 * @return the form widget
-	 */
-	public ScrolledForm getForm() {
-		return form;
-	}
-	/**
-	 * Reflows the form as a result of a layout change.
-	 */
-	public void reflow(boolean changed) {
-		form.reflow(changed);
-	}
-	/**
-	 * A part can use this method to notify other parts that implement
-	 * IPartSelectionListener about selection changes.
-	 * 
-	 * @param part
-	 *            the part that broadcasts the selection
-	 * @param selection
-	 *            the selection in the part
-	 * @see IPartSelectionListener
-	 */
-	public void fireSelectionChanged(IFormPart part, ISelection selection) {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart cpart = (IFormPart) parts.get(i);
-			if (part.equals(cpart))
-				continue;
-			if (cpart instanceof IPartSelectionListener) {
-				((IPartSelectionListener) cpart).selectionChanged(part,
-						selection);
-			}
-		}
-	}
-
-	/**
-	 * Initializes the form by looping through the managed
-	 * parts and initializing them. Has no effect if
-	 * already called once.
-	 */
-	public void initialize() {
-		if (initialized) return;
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			part.initialize(this);
-		}
-		initialized=true;
-	}
-	/**
-	 * Disposes all the parts in this form.
-	 */
-	public void dispose() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			part.dispose();
-		}
-		if (ownsToolkit) {
-			toolkit.dispose();
-		}
-	}
-	/**
-	 * Refreshes the form by refreshes all the stale parts. 
-	 * Since 3.1, this method is performed on a UI thread
-	 * when called from another thread so it is not needed
-	 * to wrap the call in <code>Display.syncExec</code>
-	 * or <code>asyncExec</code>.
-	 */
-	public void refresh() {
-		Thread t = Thread.currentThread();
-		Thread dt = toolkit.getColors().getDisplay().getThread();
-		if (t.equals(dt))
-			doRefresh();
-		else {
-			toolkit.getColors().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					doRefresh();
-				}
-			});
-		}
-	}
-	
-	private void doRefresh() {
-		int nrefreshed = 0;
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isStale()) {
-				part.refresh();
-				nrefreshed++;
-			}
-		}
-		if (nrefreshed > 0)
-			form.reflow(true);
-	}
-	/**
-	 * Commits the form by commiting all the dirty parts to the model.
-	 */
-	public void commit(boolean onSave) {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isDirty())
-				part.commit(onSave);
-		}
-	}
-	/**
-	 * Sets the form input. Managed parts could opt to react to it by selecting
-	 * and/or revealing the object if they contain it.
-	 * 
-	 * @param input
-	 *            the input object
-	 */
-	public boolean setInput(Object input) {
-		boolean pageResult=false;
-		
-		this.input = input;
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			boolean result = part.setFormInput(input);
-			if (result)
-				pageResult = true;
-		}
-		return pageResult;
-	}
-	public Object getInput() {
-		return input;
-	}
-	/**
-	 * Transfers the focus to the first form part.
-	 */
-	public void setFocus() {
-		if (parts.size() > 0) {
-			IFormPart part = (IFormPart) parts.get(0);
-			part.setFocus();
-		}
-	}
-	public boolean isDirty() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isDirty())
-				return true;
-		}
-		return false;
-	}
-	public boolean isStale() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isStale())
-				return true;
-		}
-		return false;
-	}
-	/**
-	 * @see IManagedForm#dirtyStateChanged
-	 */
-	public void dirtyStateChanged() {
-	}
-	/**
-	 * @see IManagedForm#staleStateChanged
-	 */
-	public void staleStateChanged() {
-	}
-	/**
-	 * @return Returns the container.
-	 */
-	public Object getContainer() {
-		return container;
-	}
-	/**
-	 * @param container The container to set.
-	 */
-	public void setContainer(Object container) {
-		this.container = container;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java
deleted file mode 100644
index 08db0b0..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * This class implements the 'master/details' UI pattern suitable for inclusion
- * in a form. The block consists of two parts: 'master' and 'details' in a sash
- * form that allows users to change the relative ratio on the page. The master
- * part needs to be created by the users of this class. The details part is
- * created by the block.
- * <p>
- * The master part is responsible for adding itself as a form part and firing
- * selection events. The details part catches the selection events and tries to
- * load a page registered to handle the selected object(s). The page shows the
- * details of the selected object(s) and allows users to edit them.
- * <p>
- * Details pages can be registered statically using 'registerPage' or
- * dynamically through the use of 'IDetailsPageProvider' in case where different
- * pages need to be shown for objects of the same type depending on their state.
- * <p>
- * Subclasses are required to implement abstract methods of this class. Master
- * part must be created and at least one details page should be registered in
- * order to show details of the objects selected in the master part. Tool bar
- * actions can be optionally added to the tool bar manager.
- * 
- * @see DetailsPart
- * @see IDetailsPage
- * @see IDetailsPageProvider
- * @since 3.0
- */
-public abstract class MasterDetailsBlock {
-/**
- * Details part created by the block. No attempt should be
- * made to access this field inside <code>createMasterPart</code>
- * because it has not been created yet and will be <code>null</code>.
- */
-	protected DetailsPart detailsPart;
-/**
- * The form that is the parent of both master and details part.
- * The form allows users to change the ratio between the two
- * parts.
- */
-	protected SashForm sashForm;
-	/**
-	 * Creates the content of the master/details block inside the managed form.
-	 * This method should be called as late as possible inside the parent part.
-	 * 
-	 * @param managedForm
-	 *            the managed form to create the block in
-	 */
-	public void createContent(IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		form.getBody().setLayout(layout);
-		sashForm = new SashForm(form.getBody(), SWT.NULL);
-		toolkit.adapt(sashForm, false, false);
-		sashForm.setMenu(form.getBody().getMenu());
-		sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createMasterPart(managedForm, sashForm);
-		createDetailsPart(managedForm, sashForm);
-		createToolBarActions(managedForm);
-		form.updateToolBar();
-	}
-	/**
-	 * Implement this method to create a master part in the provided parent.
-	 * Typical master parts are section parts that contain tree or table viewer.
-	 * 
-	 * @param managedForm
-	 *            the parent form
-	 * @param parent
-	 *            the parent composite
-	 */
-	protected abstract void createMasterPart(IManagedForm managedForm,
-			Composite parent);
-	/**
-	 * Implement this method to statically register pages for the expected
-	 * object types. This mechanism can be used when there is 1-&gt;1 mapping
-	 * between object classes and details pages.
-	 * 
-	 * @param detailsPart
-	 *            the details part
-	 */
-	protected abstract void registerPages(DetailsPart detailsPart);
-	/**
-	 * Implement this method to create form tool bar actions and add them to the
-	 * form tool bar if desired.
-	 * 
-	 * @param managedForm
-	 *            the form that owns the tool bar
-	 */
-	protected abstract void createToolBarActions(IManagedForm managedForm);
-	private void createDetailsPart(final IManagedForm mform, Composite parent) {
-		detailsPart = new DetailsPart(mform, parent, SWT.NULL);
-		mform.addPart(detailsPart);
-		registerPages(detailsPart);
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java
deleted file mode 100644
index 2281cbe..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.forms.events.ExpansionAdapter;
-import org.eclipse.ui.forms.events.ExpansionEvent;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-/**
- * Section part implements IFormPart interface based on the Section widget. It
- * can either wrap the widget or create one itself.
- * <p>
- * Subclasses should extend <code>SectionPart</code> and implement 
- * life cycle methods like <code>refresh</code>, <code>commit</code>,
- * <code>setFocus</code> etc. Note that most of these methods
- * are not empty - calling <code>super</code> is required.
- * @see Section
- * @since 3.0
- */
-public class SectionPart extends AbstractFormPart {
-	private Section section;
-
-	/**
-	 * Creates a new section part based on the provided section.
-	 * 
-	 * @param section
-	 *            the section to use
-	 */
-	public SectionPart(Section section) {
-		this.section = section;
-		hookListeners();
-	}
-	/**
-	 * Creates a new section part inside the provided parent and using the
-	 * provided toolkit. The section part will create the section widget.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param toolkit
-	 *            the toolkit to use
-	 * @param style
-	 *            the section widget style
-	 */
-	public SectionPart(Composite parent, FormToolkit toolkit, int style) {
-		this(toolkit.createSection(parent, style));
-	}
-	protected void hookListeners() {
-		if ((section.getExpansionStyle() & Section.TWISTIE) != 0
-				|| (section.getExpansionStyle() & Section.TREE_NODE) != 0) {
-			section.addExpansionListener(new ExpansionAdapter() {
-				public void expansionStateChanging(ExpansionEvent e) {
-					SectionPart.this.expansionStateChanging(e.getState());
-				}
-				public void expansionStateChanged(ExpansionEvent e) {
-					SectionPart.this.expansionStateChanged(e.getState());
-				}
-			});
-		}
-	}
-	/**
-	 * Returns the section widget used in this part.
-	 * 
-	 * @return the section widget
-	 */
-	public Section getSection() {
-		return section;
-	}
-	/**
-	 * The section is about to expand or collapse.
-	 * 
-	 * @param expanding
-	 *            <code>true</code> for expansion, <code>false</code> for
-	 *            collapse.
-	 */
-	protected void expansionStateChanging(boolean expanding) {
-	}
-	/**
-	 * The section has expanded or collapsed.
-	 * 
-	 * @param expanded
-	 *            <code>true</code> for expansion, <code>false</code> for
-	 *            collapse.
-	 */
-	protected void expansionStateChanged(boolean expanded) {
-		getManagedForm().getForm().reflow(false);
-	}
-	/**
-	 * Instructs the section to grab keyboard focus. The default implementation
-	 * will transfer focus to the section client. Subclasses may override and
-	 * transfer focus to some widget in the client.
-	 */
-	public void setFocus() {
-		Control client = section.getClient();
-		if (client != null)
-			client.setFocus();
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java
deleted file mode 100644
index fa554bb..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java
+++ /dev/null
@@ -1,666 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.editor;
-
-import java.util.Vector;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.dialogs.IPageChangeProvider;
-import org.eclipse.jface.dialogs.IPageChangedListener;
-import org.eclipse.jface.dialogs.PageChangedEvent;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageSelectionProvider;
-
-/**
- * This class forms a base of multi-page form editors that typically use one or
- * more pages with forms and one page for raw source of the editor input.
- * <p>
- * Pages are added 'lazily' i.e. adding a page reserves a tab for it but does
- * not cause the page control to be created. Page control is created when an
- * attempt is made to select the page in question. This allows editors with
- * several tabs and complex pages to open quickly.
- * <p>
- * Subclasses should extend this class and implement <code>addPages</code>
- * method. One of the two <code>addPage</code> methods should be called to
- * contribute pages to the editor. One adds complete (standalone) editors as
- * nested tabs. These editors will be created right away and will be hooked so
- * that key bindings, selection service etc. is compatible with the one for the
- * standalone case. The other method adds classes that implement
- * <code>IFormPage</code> interface. These pages will be created lazily and
- * they will share the common key binding and selection service. Since 3.1,
- * FormEditor is a page change provider. It allows listeners to attach to it and
- * get notified when pages are changed. This new API in JFace allows dynamic
- * help to update on page changes.
- * 
- * @since 3.0
- */
-public abstract class FormEditor extends MultiPageEditorPart implements
-		IPageChangeProvider {
-
-	/**
-	 * An array of pages currently in the editor. Page objects are not limited
-	 * to those that implement <code>IFormPage</code>, hence the size of this
-	 * array matches the number of pages as viewed by the user.
-	 * <p>
-	 * Subclasses can access this field but should not modify it.
-	 */
-	protected Vector pages = new Vector();
-
-	private FormToolkit toolkit;
-
-	private int currentPage = -1;
-
-	private ListenerList pageListeners = new ListenerList();
-
-	private static class FormEditorSelectionProvider extends
-			MultiPageSelectionProvider {
-		private ISelection globalSelection;
-
-		/**
-		 * @param multiPageEditor
-		 */
-		public FormEditorSelectionProvider(FormEditor formEditor) {
-			super(formEditor);
-		}
-
-		public ISelection getSelection() {
-			IEditorPart activeEditor = ((FormEditor) getMultiPageEditor())
-					.getActiveEditor();
-			if (activeEditor != null) {
-				ISelectionProvider selectionProvider = activeEditor.getSite()
-						.getSelectionProvider();
-				if (selectionProvider != null)
-					return selectionProvider.getSelection();
-			}
-			return globalSelection;
-		}
-
-		/*
-		 * (non-Javadoc) Method declared on <code> ISelectionProvider </code> .
-		 */
-		public void setSelection(ISelection selection) {
-			IEditorPart activeEditor = ((FormEditor) getMultiPageEditor())
-					.getActiveEditor();
-			if (activeEditor != null) {
-				ISelectionProvider selectionProvider = activeEditor.getSite()
-						.getSelectionProvider();
-				if (selectionProvider != null)
-					selectionProvider.setSelection(selection);
-			} else {
-				this.globalSelection = selection;
-				fireSelectionChanged(new SelectionChangedEvent(this,
-						globalSelection));
-			}
-		}
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public FormEditor() {
-	}
-
-	/**
-	 * Overrides super to plug in a different selection provider.
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-			throws PartInitException {
-		setSite(site);
-		setInput(input);
-		site.setSelectionProvider(new FormEditorSelectionProvider(this));
-	}
-
-	/**
-	 * Creates the common toolkit for this editor and adds pages to the editor.
-	 * 
-	 * @see #addPages
-	 */
-	protected void createPages() {
-		addPages();
-	}
-	
-	/*
-	 * @see org.eclipse.ui.part.MultiPageEditorPart#createPageContainer(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createPageContainer(Composite parent) {
-		parent = super.createPageContainer(parent);
-		toolkit = createToolkit(parent.getDisplay());
-		return parent;
-	}
-
-	/**
-	 * Creates the form toolkit. The method can be implemented to substitute a
-	 * subclass of the toolkit that should be used for this editor. A typical
-	 * use of this method would be to create the form toolkit using one shared
-	 * <code>FormColors</code> object to share resources across the multiple
-	 * editor instances.
-	 * 
-	 * @param display
-	 *            the display to use when creating the toolkit
-	 * @return the newly created toolkit instance
-	 */
-	protected FormToolkit createToolkit(Display display) {
-		return new FormToolkit(display);
-	}
-
-	/**
-	 * Subclass should implement this method to add pages to the editor using
-	 * 'addPage(IFormPage)' method.
-	 */
-	protected abstract void addPages();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#addPageChangedListener(org.eclipse.jface.dialogs.IPageChangedListener)
-	 */
-	public void addPageChangedListener(IPageChangedListener listener) {
-		pageListeners.add(listener);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#removePageChangedListener(org.eclipse.jface.dialogs.IPageChangedListener)
-	 */
-	public void removePageChangedListener(IPageChangedListener listener) {
-		pageListeners.remove(listener);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#getSelectedPage()
-	 */
-	public Object getSelectedPage() {
-		return getActivePageInstance();
-	}
-
-	/**
-	 * Adds the form page to this editor. Form page will be loaded lazily. Its
-	 * part control will not be created until it is activated for the first
-	 * time.
-	 * 
-	 * @param page
-	 *            the form page to add
-	 */
-	public int addPage(IFormPage page) throws PartInitException {
-		int i = super.addPage(page.getPartControl());
-		configurePage(i, page);
-		return i;
-	}
-
-	/**
-	 * Adds the form page to this editor at the specified index (0-based). Form
-	 * page will be loaded lazily. Its part control will not be created until it
-	 * is activated for the first time.
-	 * 
-	 * @param index
-	 *            the position to add the page at (0-based)
-	 * @param page
-	 *            the form page to add
-	 * @since 3.1
-	 */
-	public void addPage(int index, IFormPage page) throws PartInitException {
-		super.addPage(index, page.getPartControl());
-		configurePage(index, page);
-	}
-
-	/**
-	 * Adds a simple SWT control as a page. Overrides superclass implementation
-	 * to keep track of pages.
-	 * 
-	 * @param control
-	 *            the page control to add
-	 * @return the 0-based index of the newly added page
-	 */
-	public int addPage(Control control) {
-		int i = super.addPage(control);
-		try {
-			registerPage(-1, control);
-		} catch (PartInitException e) {
-			// cannot happen for controls
-		}
-		return i;
-	}
-
-	/**
-	 * Adds a simple SWT control as a page. Overrides superclass implementation
-	 * to keep track of pages.
-	 * 
-	 * @param control
-	 *            the page control to add
-	 * @param index
-	 *            the index at which to add the page (0-based)
-	 * @since 3.1
-	 */
-	public void addPage(int index, Control control) {
-		super.addPage(index, control);
-		try {
-			registerPage(index, control);
-		} catch (PartInitException e) {
-			// cannot happen for controls
-		}
-	}
-
-	/**
-	 * Tests whether the editor is dirty by checking all the pages that
-	 * implement <code>IFormPage</code>. If none of them is dirty, the method
-	 * delegates further processing to <code>super.isDirty()</code>.
-	 * 
-	 * @return <code>true</code> if any of the pages in the editor are dirty,
-	 *         <code>false</code> otherwise.
-	 * @since 3.1
-	 */
-
-	public boolean isDirty() {
-		if (pages != null) {
-			for (int i = 0; i < pages.size(); i++) {
-				Object page = pages.get(i);
-				if (page instanceof IFormPage) {
-					IFormPage fpage = (IFormPage) page;
-					if (fpage.isDirty())
-						return true;
-				}
-			}
-		}
-		return super.isDirty();
-	}
-
-	/**
-	 * Adds a complete editor part to the multi-page editor.
-	 * 
-	 * @see MultiPageEditorPart#addPage(IEditorPart, IEditorInput)
-	 */
-	public int addPage(IEditorPart editor, IEditorInput input)
-			throws PartInitException {
-		int index = super.addPage(editor, input);
-		if (editor instanceof IFormPage)
-			configurePage(index, (IFormPage) editor);
-		else
-			registerPage(-1, editor);
-		return index;
-	}
-
-	/**
-	 * Adds a complete editor part to the multi-page editor at the specified
-	 * position.
-	 * 
-	 * @see MultiPageEditorPart#addPage(int, IEditorPart, IEditorInput)
-	 * @since 3.1
-	 */
-	public void addPage(int index, IEditorPart editor, IEditorInput input)
-			throws PartInitException {
-		super.addPage(index, editor, input);
-		if (editor instanceof IFormPage)
-			configurePage(index, (IFormPage) editor);
-		else
-			registerPage(index, editor);
-	}
-
-	/**
-	 * Configures the form page.
-	 * 
-	 * @param index
-	 *            the page index
-	 * @param page
-	 *            the page to configure
-	 * @throws PartInitException
-	 *             if there are problems in configuring the page
-	 */
-	protected void configurePage(int index, IFormPage page)
-			throws PartInitException {
-		setPageText(index, page.getTitle());
-		// setPageImage(index, page.getTitleImage());
-		page.setIndex(index);
-		registerPage(index, page);
-	}
-
-	/**
-	 * Overrides the superclass to remove the page from the page table.
-	 * 
-	 * @param pageIndex
-	 *            the 0-based index of the page in the editor
-	 */
-	public void removePage(int pageIndex) {
-		if (pageIndex >= 0 && pageIndex < pages.size()) {
-			Object page = pages.get(pageIndex);
-			pages.remove(page);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (!fpage.isEditor())
-					fpage.dispose();
-				updatePageIndices();
-			}
-		}
-		super.removePage(pageIndex);
-	}
-
-	// fix the page indices after the removal
-	private void updatePageIndices() {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				fpage.setIndex(i);
-			}
-		}
-	}
-
-	/**
-	 * Called to indicate that the editor has been made dirty or the changes
-	 * have been saved.
-	 */
-	public void editorDirtyStateChanged() {
-		firePropertyChange(PROP_DIRTY);
-	}
-
-	/**
-	 * Disposes the pages and the toolkit after disposing the editor itself.
-	 * Subclasses must call 'super' when reimplementing the method.
-	 */
-	public void dispose() {
-		super.dispose();
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				// don't dispose source pages because they will
-				// be disposed as nested editors by the superclass
-				if (!fpage.isEditor())
-					fpage.dispose();
-			}
-		}
-		pages = null;
-		// toolkit may be null if editor has been instantiated
-		// but never created - see defect #62190
-		if (toolkit != null) {
-			toolkit.dispose();
-			toolkit = null;
-		}
-	}
-
-	/**
-	 * Returns the toolkit owned by this editor.
-	 * 
-	 * @return the toolkit object
-	 */
-	public FormToolkit getToolkit() {
-		return toolkit;
-	}
-
-	/**
-	 * Widens the visibility of the method in the superclass.
-	 * 
-	 * @return the active nested editor
-	 */
-	public IEditorPart getActiveEditor() {
-		return super.getActiveEditor();
-	}
-
-	/**
-	 * Returns the current page index. The value is identical to the value of
-	 * 'getActivePage()' except during the page switch, when this method still
-	 * has the old active page index.
-	 * <p>
-	 * Another important difference is during the editor closing. When the tab
-	 * folder is disposed, 'getActivePage()' will return -1, while this method
-	 * will still return the last active page.
-	 * 
-	 * @see #getActivePage
-	 * @return the currently selected page or -1 if no page is currently
-	 *         selected
-	 */
-	protected int getCurrentPage() {
-		return currentPage;
-	}
-
-	/**
-	 * @see MultiPageEditorPart#pageChange(int)
-	 */
-	protected void pageChange(int newPageIndex) {
-		// fix for windows handles
-		int oldPage = getCurrentPage();
-		if (oldPage != -1 && pages.size() > oldPage
-				&& pages.get(oldPage) instanceof IFormPage
-				&& oldPage != newPageIndex) {
-			// Check the old page
-			IFormPage oldFormPage = (IFormPage) pages.get(oldPage);
-			if (oldFormPage.canLeaveThePage() == false) {
-				setActivePage(oldPage);
-				return;
-			}
-		}
-		// Now is the absolute last moment to create the page control.
-		Object page = pages.get(newPageIndex);
-		if (page instanceof IFormPage) {
-			IFormPage fpage = (IFormPage) page;
-			if (fpage.getPartControl() == null) {
-				fpage.createPartControl(getContainer());
-				setControl(newPageIndex, fpage.getPartControl());
-				fpage.getPartControl().setMenu(getContainer().getMenu());
-			}
-		}
-		if (oldPage != -1 && pages.size() > oldPage
-				&& pages.get(oldPage) instanceof IFormPage) {
-			// Commit old page before activating the new one
-			IFormPage oldFormPage = (IFormPage) pages.get(oldPage);
-			IManagedForm mform = oldFormPage.getManagedForm();
-			if (mform != null)
-				mform.commit(false);
-		}
-		if (pages.size() > newPageIndex
-				&& pages.get(newPageIndex) instanceof IFormPage)
-			((IFormPage) pages.get(newPageIndex)).setActive(true);
-		if (oldPage != -1 && pages.size() > oldPage
-				&& pages.get(oldPage) instanceof IFormPage)
-			((IFormPage) pages.get(oldPage)).setActive(false);
-		// Call super - this will cause pages to switch
-		super.pageChange(newPageIndex);
-		this.currentPage = newPageIndex;
-		IFormPage newPage = getActivePageInstance();
-		if (newPage != null)
-			firePageChanged(new PageChangedEvent(this, newPage));
-	}
-
-	/**
-	 * Sets the active page using the unique page identifier.
-	 * 
-	 * @param pageId
-	 *            the id of the page to switch to
-	 * @return page that was set active or <samp>null </samp> if not found.
-	 */
-	public IFormPage setActivePage(String pageId) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (fpage.getId().equals(pageId)) {
-					setActivePage(i);
-					return fpage;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds the page instance that has the provided id.
-	 * 
-	 * @param pageId
-	 *            the id of the page to find
-	 * @return page with the matching id or <code>null</code> if not found.
-	 */
-	public IFormPage findPage(String pageId) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) pages.get(i);
-				if (fpage.getId().equals(pageId))
-					return fpage;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the active page using the unique page identifier and sets its input
-	 * to the provided object.
-	 * 
-	 * @param pageId
-	 *            the id of the page to switch to
-	 * @param pageInput
-	 *            the page input
-	 * @return page that was set active or <samp>null </samp> if not found.
-	 */
-	public IFormPage setActivePage(String pageId, Object pageInput) {
-		IFormPage page = setActivePage(pageId);
-		if (page != null) {
-			IManagedForm mform = page.getManagedForm();
-			if (mform != null)
-				mform.setInput(pageInput);
-		}
-		return page;
-	}
-
-	/**
-	 * Iterates through the pages calling similar method until a page is found
-	 * that contains the desired page input.
-	 * 
-	 * @param pageInput
-	 *            the object to select and reveal
-	 * @return the page that accepted the request or <code>null</code> if no
-	 *         page has the desired object.
-	 * @see #setActivePage
-	 */
-	public IFormPage selectReveal(Object pageInput) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (fpage.selectReveal(pageInput))
-					return fpage;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns active page instance if the currently selected page index is not
-	 * -1, or <code>null</code> if it is.
-	 * 
-	 * @return active page instance if selected, or <code>null</code> if no
-	 *         page is currently active.
-	 */
-	public IFormPage getActivePageInstance() {
-		int index = getActivePage();
-		if (index != -1) {
-			Object page = pages.get(index);
-			if (page instanceof IFormPage)
-				return (IFormPage) page;
-		}
-		return null;
-	}
-
-	/**
-	 * @see MultiPageEditorPart#setActivePage(int)
-	 */
-	protected void setActivePage(int pageIndex) {
-		// fix for window handles problem
-		// this should be called only when the editor is first opened
-		if (pages.size() > pageIndex
-				&& pages.get(pageIndex) instanceof IFormPage) {
-			pageChange(pageIndex);
-			IFormPage activePage = (IFormPage) pages.get(pageIndex);
-			activePage.setActive(true);
-			super.setActivePage(pageIndex);
-		} else
-			super.setActivePage(pageIndex);
-		updateActionBarContributor(pageIndex);
-	}
-
-	/**
-	 * Notifies action bar contributor about page change.
-	 * 
-	 * @param pageIndex
-	 *            the index of the new page
-	 */
-	protected void updateActionBarContributor(int pageIndex) {
-		// this is to enable the undo/redo actions before a page change has
-		// occurred
-		IEditorActionBarContributor contributor = getEditorSite()
-				.getActionBarContributor();
-		if (contributor != null
-				&& contributor instanceof MultiPageEditorActionBarContributor) {
-			((MultiPageEditorActionBarContributor) contributor)
-					.setActivePage(getEditor(pageIndex));
-		}
-	}
-
-	/**
-	 * Closes the editor programmatically.
-	 * 
-	 * @param save
-	 *            if <code>true</code>, the content should be saved before
-	 *            closing.
-	 */
-	public void close(final boolean save) {
-		Display display = getSite().getShell().getDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (toolkit != null) {
-					getSite().getPage().closeEditor(FormEditor.this, save);
-				}
-			}
-		});
-	}
-
-	private void registerPage(int index, Object page) throws PartInitException {
-		if (!pages.contains(page)) {
-			if (index == -1)
-				pages.add(page);
-			else
-				pages.add(index, page);
-		}
-		if (page instanceof IFormPage) {
-			IFormPage fpage = (IFormPage) page;
-			if (fpage.isEditor() == false)
-				fpage.init(getEditorSite(), getEditorInput());
-		}
-	}
-
-	private void firePageChanged(final PageChangedEvent event) {
-		Object[] listeners = pageListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			final IPageChangedListener l = (IPageChangedListener) listeners[i];
-			SafeRunnable.run(new SafeRunnable() {
-				public void run() {
-					l.pageChanged(event);
-				}
-			});
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.java
deleted file mode 100644
index 9b96146..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.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 Eclipse Public License v1.0
- * which accompanies 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.forms.editor;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.part.EditorPart;
-/**
- * A base class that all pages that should be added to FormEditor must subclass.
- * Form page has an instance of PageForm that extends managed form. Subclasses
- * should override method 'createFormContent(ManagedForm)' to fill the form with
- * content. Note that page itself can be loaded lazily (on first open).
- * Consequently, the call to create the form content can come after the editor
- * has been opened for a while (in fact, it is possible to open and close the
- * editor and never create the form because no attempt has been made to show the
- * page).
- * 
- * @since 3.0
- */
-public class FormPage extends EditorPart implements IFormPage {
-	private FormEditor editor;
-	private PageForm mform;
-	private int index;
-	private String id;
-	
-	private static class PageForm extends ManagedForm {
-		public PageForm(FormPage page, ScrolledForm form) {
-			super(page.getEditor().getToolkit(), form);
-			setContainer(page);
-		}
-		
-		public FormPage getPage() {
-			return (FormPage)getContainer();
-		}
-		public void dirtyStateChanged() {
-			getPage().getEditor().editorDirtyStateChanged();
-		}
-		public void staleStateChanged() {
-			if (getPage().isActive())
-				refresh();
-		}
-	}
-	/**
-	 * A constructor that creates the page and initializes it with the editor.
-	 * 
-	 * @param editor
-	 *            the parent editor
-	 * @param id
-	 *            the unique identifier
-	 * @param title
-	 *            the page title
-	 */
-	public FormPage(FormEditor editor, String id, String title) {
-		this(id, title);
-		initialize(editor);
-	}
-	/**
-	 * The constructor. The parent editor need to be passed in the
-	 * <code>initialize</code> method if this constructor is used.
-	 * 
-	 * @param id
-	 *            a unique page identifier
-	 * @param title
-	 *            a user-friendly page title
-	 */
-	public FormPage(String id, String title) {
-		this.id = id;
-		setPartName(title);
-	}
-	/**
-	 * Initializes the form page.
-	 * 
-	 * @see IEditorPart#init
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		setSite(site);
-		setInput(input);
-	}
-	/**
-	 * Primes the form page with the parent editor instance.
-	 * 
-	 * @param editor
-	 *            the parent editor
-	 */
-	public void initialize(FormEditor editor) {
-		this.editor = editor;
-	}
-	/**
-	 * Returns the parent editor.
-	 * 
-	 * @return parent editor instance
-	 */
-	public FormEditor getEditor() {
-		return editor;
-	}
-	/**
-	 * Returns the managed form owned by this page.
-	 * 
-	 * @return the managed form
-	 */
-	public IManagedForm getManagedForm() {
-		return mform;
-	}
-	/**
-	 * Implements the required method by refreshing the form when set active.
-	 * Subclasses must call super when overriding this method.
-	 */
-	public void setActive(boolean active) {
-		if (active) {
-			// We are switching to this page - refresh it
-			// if needed.
-			mform.refresh();
-		}
-	}
-	/**
-	 * Tests if the page is active by asking the parent editor if this page is
-	 * the currently active page.
-	 * 
-	 * @return <code>true</code> if the page is currently active,
-	 *         <code>false</code> otherwise.
-	 */
-	public boolean isActive() {
-		return this.equals(editor.getActivePageInstance());
-	}
-	/**
-	 * Creates the part control by creating the managed form using the parent
-	 * editor's toolkit. Subclasses should override
-	 * <code>createFormContent(IManagedForm)</code> to populate the form with
-	 * content.
-	 * 
-	 * @param parent
-	 *            the page parent composite
-	 */
-	public void createPartControl(Composite parent) {
-		ScrolledForm form = editor.getToolkit().createScrolledForm(parent);
-		mform = new PageForm(this, form);
-		BusyIndicator.showWhile(parent.getDisplay(), new Runnable() {
-			public void run() {
-				createFormContent(mform);
-			}
-		});
-	}
-	/**
-	 * Subclasses should override this method to create content in the form
-	 * hosted in this page.
-	 * 
-	 * @param managedForm
-	 *            the form hosted in this page.
-	 */
-	protected void createFormContent(IManagedForm managedForm) {
-	}
-	/**
-	 * Returns the form page control.
-	 * 
-	 * @return managed form's control
-	 */
-	public Control getPartControl() {
-		return mform != null ? mform.getForm() : null;
-	}
-	/**
-	 * Disposes the managed form.
-	 */
-	public void dispose() {
-		if (mform != null)
-			mform.dispose();
-	}
-	/**
-	 * Returns the unique identifier that can be used to reference this page.
-	 * 
-	 * @return the unique page identifier
-	 */
-	public String getId() {
-		return id;
-	}
-	/**
-	 * Returns <code>null</code>- form page has no title image. Subclasses
-	 * may override.
-	 * 
-	 * @return <code>null</code>
-	 */
-	public Image getTitleImage() {
-		return null;
-	}
-	/**
-	 * Sets the focus by delegating to the managed form.
-	 */
-	public void setFocus() {
-		if (mform != null)
-			mform.setFocus();
-	}
-	/**
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		if (mform != null)
-			mform.commit(true);
-	}
-	/**
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-	/**
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-	/**
-	 * Implemented by testing if the managed form is dirty.
-	 * 
-	 * @return <code>true</code> if the managed form is dirty,
-	 *         <code>false</code> otherwise.
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#isDirty()
-	 */
-	public boolean isDirty() {
-		return mform != null ? mform.isDirty() : false;
-	}
-	/**
-	 * Preserves the page index.
-	 * 
-	 * @param index
-	 *            the assigned page index
-	 */
-	public void setIndex(int index) {
-		this.index = index;
-	}
-	/**
-	 * Returns the saved page index.
-	 * 
-	 * @return the page index
-	 */
-	public int getIndex() {
-		return index;
-	}
-	/**
-	 * Form pages are not editors.
-	 * 
-	 * @return <code>false</code>
-	 */
-	public boolean isEditor() {
-		return false;
-	}
-	/**
-	 * Attempts to select and reveal the given object by passing the request to
-	 * the managed form.
-	 * 
-	 * @param object
-	 *            the object to select and reveal in the page if possible.
-	 * @return <code>true</code> if the page has been successfully selected
-	 *         and revealed by one of the managed form parts, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean selectReveal(Object object) {
-		if (mform != null)
-			return mform.setInput(object);
-		return false;
-	}
-	/**
-	 * By default, editor will be allowed to flip the page.
-	 * @return <code>true</code>
-	 */
-	public boolean canLeaveThePage() {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java
deleted file mode 100644
index bf84643..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.forms.editor;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.forms.IManagedForm;
-/**
- * Interface that all GUI pages need to implement in order
- * to be added to FormEditor part. The interface makes 
- * several assumptions:
- * <ul>
- * <li>The form page has a managed form</li>
- * <li>The form page has a unique id</li>
- * <li>The form page can be GUI but can also wrap a complete
- * editor class (in that case, it should return <code>true</code>
- * from <code>isEditor()</code> method).</li>
- * <li>The form page is lazy i.e. understands that 
- * its part control will be created at the last possible
- * moment.</li>.
- * </ul>
- * <p>Existing editors can be wrapped by implementing
- * this interface. In this case, 'isEditor' should return <code>true</code>.
- * A common editor to wrap in <code>TextEditor</code> that is
- * often added to show the raw source code of the file open into
- * the multi-page editor.
- * 
- * @since 3.0
- */
-public interface IFormPage extends IEditorPart {
-	/**
-	 * @param editor
-	 *            the form editor that this page belongs to
-	 */
-	void initialize(FormEditor editor);
-	/**
-	 * Returns the editor this page belongs to.
-	 * 
-	 * @return the form editor
-	 */
-	FormEditor getEditor();
-	/**
-	 * Returns the managed form of this page, unless this is a source page.
-	 * 
-	 * @return the managed form or <samp>null </samp> if this is a source page.
-	 */
-	IManagedForm getManagedForm();
-	/**
-	 * Indicates whether the page has become the active in the editor. Classes
-	 * that implement this interface may use this method to commit the page (on
-	 * <code>false</code>) or lazily create and/or populate the content on
-	 * <code>true</code>.
-	 * 
-	 * @param active
-	 *            <code>true</code> if page should be visible, <code>false</code>
-	 *            otherwise.
-	 */
-	void setActive(boolean active);
-	/**
-	 * Returns <samp>true </samp> if page is currently active, false if not.
-	 * 
-	 * @return <samp>true </samp> for active page.
-	 */
-	boolean isActive();
-	/**
-	 * Tests if the content of the page is in a state that allows the
-	 * editor to flip to another page. Typically, pages that contain
-	 * raw source with syntax errors should not allow editors to 
-	 * leave them until errors are corrected.
-	 * @return <code>true</code> if the editor can flip to another page,
-	 * <code>false</code> otherwise.
-	 */
-	boolean canLeaveThePage();
-	/**
-	 * Returns the control associated with this page.
-	 * 
-	 * @return the control of this page if created or <samp>null </samp> if the
-	 *         page has not been shown yet.
-	 */
-	Control getPartControl();
-	/**
-	 * Page must have a unique id that can be used to show it without knowing
-	 * its relative position in the editor.
-	 * 
-	 * @return the unique page identifier
-	 */
-	String getId();
-	/**
-	 * Returns the position of the page in the editor.
-	 * 
-	 * @return the zero-based index of the page in the editor.
-	 */
-	int getIndex();
-	/**
-	 * Sets the position of the page in the editor.
-	 * 
-	 * @param index
-	 *            the zero-based index of the page in the editor.
-	 */
-	void setIndex(int index);
-	/**
-	 * Tests whether this page wraps a complete editor that
-	 * can be registered on its own, or represents a page
-	 * that cannot exist outside the multi-page editor context.
-	 * 
-	 * @return <samp>true </samp> if the page wraps an editor,
-	 *         <samp>false </samp> if this is a form page.
-	 */
-	boolean isEditor();
-	/**
-	 * A hint to bring the provided object into focus. If the object is in a
-	 * tree or table control, select it. If it is shown on a scrollable page,
-	 * ensure that it is visible. If the object is not presented in 
-	 * the page, <code>false</code> should be returned to allow another
-	 * page to try.
-	 * 
-	 * @param object
-	 *            object to select and reveal
-	 * @return <code>true</code> if the request was successful, <code>false</code>
-	 *         otherwise.
-	 */
-	boolean selectReveal(Object object);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/package.html b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/package.html
deleted file mode 100644
index df243bc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/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>
-Support for forms-based multi-page editors.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.java
deleted file mode 100644
index cbe07ce..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.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 Eclipse Public License v1.0
- * which accompanies 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.forms.events;
-/**
- * This adapter class provides default implementations for the methods
- * described by the <code>ExpansionListener</code> interface.
- * <p>
- * Classes that wish to deal with <code>ExpansionEvent</code>s can extend
- * this class and override only the methods which they are interested in.
- * </p>
- * 
- * @see IExpansionListener
- * @see ExpansionEvent
- * @since 3.0
- */
-public class ExpansionAdapter implements IExpansionListener {
-	/**
-	 * Sent when the link is entered. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void expansionStateChanging(ExpansionEvent e) {
-	}
-	/**
-	 * Sent when the link is exited. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void expansionStateChanged(ExpansionEvent e) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.java
deleted file mode 100644
index 5324629..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.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 Eclipse Public License v1.0
- * which accompanies 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.forms.events;
-import org.eclipse.swt.events.TypedEvent;
-/**
- * Notifies listeners when expandable controls change expansion state.
- * 
- * @since 3.0
- */
-public final class ExpansionEvent extends TypedEvent {
-	private static final long serialVersionUID = 6009335074727417445L;
-	/**
-	 * Creates a new expansion ecent.
-	 * 
-	 * @param obj
-	 *            event source
-	 * @param state
-	 *            the new expansion state
-	 */
-	public ExpansionEvent(Object obj, boolean state) {
-		super(obj);
-		data = state ? Boolean.TRUE : Boolean.FALSE;
-	}
-	/**
-	 * Returns the new expansion state of the widget.
-	 * 
-	 * @return <code>true</code> if the widget is now expaned, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean getState() {
-		return data.equals(Boolean.TRUE) ? true : false;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.java
deleted file mode 100644
index 6eec96c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.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 Eclipse Public License v1.0
- * which accompanies 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.forms.events;
-/**
- * This adapter class provides default implementations for the methods
- * described by the <code>HyperlinkListener</code> interface.
- * <p>
- * Classes that wish to deal with <code>HyperlinkEvent</code> s can extend
- * this class and override only the methods which they are interested in.
- * </p>
- * 
- * @see IHyperlinkListener
- * @see HyperlinkEvent
- * @since 3.0
- */
-public class HyperlinkAdapter implements IHyperlinkListener {
-	/**
-	 * Sent when the link is entered. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void linkEntered(HyperlinkEvent e) {
-	}
-	/**
-	 * Sent when the link is exited. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void linkExited(HyperlinkEvent e) {
-	}
-	/**
-	 * Sent when the link is activated. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void linkActivated(HyperlinkEvent e) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.java
deleted file mode 100644
index 1674a76..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.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 Eclipse Public License v1.0
- * which accompanies 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.forms.events;
-import org.eclipse.swt.events.TypedEvent;
-import org.eclipse.swt.widgets.Widget;
-/**
- * Notifies listeners about a hyperlink change.
- *
- * @since 3.0
- */
-public final class HyperlinkEvent extends TypedEvent {
-	private static final long serialVersionUID = 6009335074727417445L;
-	private String label;
-	private int stateMask;
-	/**
-	 * Creates a new hyperlink
-	 * 
-	 * @param widget
-	 *            event source
-	 * @param href
-	 *            the hyperlink reference that will be followed upon when the
-	 *            hyperlink is activated.
-	 * @param label
-	 *            the name of the hyperlink (the text that is rendered as a
-	 *            link in the source widget).
-	 * @param stateMask
-	 *            the given state mask
-	 */
-	public HyperlinkEvent(Widget widget, Object href, String label, int stateMask) {
-		super(widget);
-		this.widget = widget;
-		this.data = href;
-		this.label = label;
-		this.stateMask = stateMask;
-	}
-	/**
-	 * The hyperlink reference that will be followed when the hyperlink is
-	 * activated.
-	 * 
-	 * @return the hyperlink reference object
-	 */
-	public Object getHref() {
-		return this.data;
-	}
-	/**
-	 * The text of the hyperlink rendered in the source widget.
-	 * 
-	 * @return the hyperlink label
-	 */
-	public String getLabel() {
-		return label;
-	}
-	/**
-	 * Returns the value of the keyboard state mask present when
-	 * the event occured, or SWT.NULL for no modifiers.
-	 * @return the keyboard state mask or <code>SWT.NULL</code>. 
-	 */
-	public int getStateMask() {
-		return stateMask;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.java
deleted file mode 100644
index 79aca9c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.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 Eclipse Public License v1.0
- * which accompanies 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.forms.events;
-/**
- * Classes that implement this interface will be notified before and after the
- * expandable control's expansion state changes.
- * 
- * @since 3.0
- */
-public interface IExpansionListener {
-	/**
-	 * Notifies the listener that the expandable control is about to change its
-	 * expansion state. The state provided by the event is the new state.
-	 * 
-	 * @param e
-	 *            the expansion event
-	 */
-	void expansionStateChanging(ExpansionEvent e);
-	/**
-	 * Notifies the listener after the expandable control has changed its
-	 * expansion state. The state provided by the event is the new state.
-	 * 
-	 * @param e
-	 *            the expansion event
-	 */
-	void expansionStateChanged(ExpansionEvent e);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.java
deleted file mode 100644
index 85de398..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.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 Eclipse Public License v1.0
- * which accompanies 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.forms.events;
-/**
- * Classes that implement this interface will be notified when hyperlinks are
- * entered, exited and activated.
- * 
- * @see org.eclipse.ui.forms.widgets.Hyperlink
- * @see org.eclipse.ui.forms.widgets.ImageHyperlink
- * @see org.eclipse.ui.forms.widgets.FormText
- * @since 3.0
- */
-public interface IHyperlinkListener {
-	/**
-	 * Sent when hyperlink is entered either by mouse entering the link client
-	 * area, or keyboard focus switching to the hyperlink.
-	 * 
-	 * @param e
-	 *            an event containing information about the hyperlink
-	 */
-	void linkEntered(HyperlinkEvent e);
-	/**
-	 * Sent when hyperlink is exited either by mouse exiting the link client
-	 * area, or keyboard focus switching from the hyperlink.
-	 * 
-	 * @param e
-	 *            an event containing information about the hyperlink
-	 */
-	void linkExited(HyperlinkEvent e);
-	/**
-	 * Sent when hyperlink is activated either by mouse click inside the link
-	 * client area, or by pressing 'Enter' key while hyperlink has keyboard
-	 * focus.
-	 * 
-	 * @param e
-	 *            an event containing information about the hyperlink
-	 */
-	void linkActivated(HyperlinkEvent e);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/package.html b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/package.html
deleted file mode 100644
index 56fb041..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/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>
-Events and listeners for forms-based parts.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/package.html b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/package.html
deleted file mode 100644
index 6e8c5dc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/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>
-Forms-based controls for use in views, editors, and wizards.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java
deleted file mode 100644
index c1e09df..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-
-import java.util.Vector;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.internal.forms.widgets.FormsResources;
-
-/**
- * This is the base class for custom hyperlink widget. It is responsible for
- * processing mouse and keyboard events, and converting them into unified
- * hyperlink events. Subclasses are responsible for rendering the hyperlink in
- * the client area.
- * 
- * @since 3.0
- */
-public abstract class AbstractHyperlink extends Canvas {
-	private boolean hasFocus;
-
-	private Vector listeners;
-
-	/**
-	 * Amount of the margin width around the hyperlink (default is 1).
-	 */
-	protected int marginWidth = 1;
-
-	/**
-	 * Amount of the margin height around the hyperlink (default is 1).
-	 */
-	protected int marginHeight = 1;
-
-	/**
-	 * Creates a new hyperlink in the provided parent.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the widget style
-	 */
-	public AbstractHyperlink(Composite parent, int style) {
-		super(parent, style);
-		addListener(SWT.KeyDown, new Listener() {
-			public void handleEvent(Event e) {
-				if (e.character == '\r') {
-					handleActivate(e);
-				}
-			}
-		});
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				paint(e);
-			}
-		});
-		addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.detail) {
-				case SWT.TRAVERSE_PAGE_NEXT:
-				case SWT.TRAVERSE_PAGE_PREVIOUS:
-				case SWT.TRAVERSE_ARROW_NEXT:
-				case SWT.TRAVERSE_ARROW_PREVIOUS:
-				case SWT.TRAVERSE_RETURN:
-					e.doit = false;
-					return;
-				}
-				e.doit = true;
-			}
-		});
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.type) {
-				case SWT.FocusIn:
-					hasFocus = true;
-					handleEnter(e);
-					break;
-				case SWT.FocusOut:
-					hasFocus = false;
-					handleExit(e);
-					break;
-				case SWT.DefaultSelection:
-					handleActivate(e);
-					break;
-				case SWT.MouseEnter:
-					handleEnter(e);
-					break;
-				case SWT.MouseExit:
-					handleExit(e);
-					break;
-				case SWT.MouseUp:
-					handleMouseUp(e);
-					break;
-				}
-			}
-		};
-		addListener(SWT.MouseEnter, listener);
-		addListener(SWT.MouseExit, listener);
-		addListener(SWT.MouseUp, listener);
-		addListener(SWT.FocusIn, listener);
-		addListener(SWT.FocusOut, listener);
-		setCursor(FormsResources.getHandCursor());
-	}
-
-	/**
-	 * Adds the event listener to this hyperlink.
-	 * 
-	 * @param listener
-	 *            the event listener to add
-	 */
-	public void addHyperlinkListener(IHyperlinkListener listener) {
-		if (listeners == null)
-			listeners = new Vector();
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-	}
-
-	/**
-	 * Removes the event listener from this hyperlink.
-	 * 
-	 * @param listener
-	 *            the event listener to remove
-	 */
-	public void removeHyperlinkListener(IHyperlinkListener listener) {
-		if (listeners == null)
-			return;
-		listeners.remove(listener);
-	}
-
-	/**
-	 * Returns the selection state of the control. When focus is gained, the
-	 * state will be <samp>true </samp>; it will switch to <samp>false </samp>
-	 * when the control looses focus.
-	 * 
-	 * @return <code>true</code> if the widget has focus, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean getSelection() {
-		return hasFocus;
-	}
-
-	/**
-	 * Called when hyperlink is entered. Subclasses that override this method
-	 * must call 'super'.
-	 */
-	protected void handleEnter(Event e) {
-		redraw();
-		if (listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, getHref(), getText(),
-				e.stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkEntered(he);
-		}
-	}
-
-	/**
-	 * Called when hyperlink is exited. Subclasses that override this method
-	 * must call 'super'.
-	 */
-	protected void handleExit(Event e) {
-		redraw();
-		if (listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, getHref(), getText(),
-				e.stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkExited(he);
-		}
-	}
-
-	/**
-	 * Called when hyperlink has been activated. Subclasses that override this
-	 * method must call 'super'.
-	 */
-	protected void handleActivate(Event e) {
-		getAccessible().setFocus(ACC.CHILDID_SELF);
-		if (listeners == null)
-			return;
-		int size = listeners.size();
-		setCursor(FormsResources.getBusyCursor());
-		HyperlinkEvent he = new HyperlinkEvent(this, getHref(), getText(),
-				e.stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkActivated(he);
-		}
-		if (!isDisposed())
-			setCursor(FormsResources.getHandCursor());
-	}
-
-	/**
-	 * Sets the object associated with this hyperlink. Concrete implementation
-	 * of this class can use if to store text, URLs or model objects that need
-	 * to be processed on hyperlink events.
-	 * 
-	 * @param href
-	 *            the hyperlink object reference
-	 */
-	public void setHref(Object href) {
-		setData("href", href); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the object associated with this hyperlink.
-	 * 
-	 * @see #setHref
-	 * @return the hyperlink object reference
-	 */
-	public Object getHref() {
-		return getData("href"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the textual representation of this hyperlink suitable for showing
-	 * in tool tips or on the status line.
-	 * 
-	 * @return the hyperlink text
-	 */
-	public String getText() {
-		return getToolTipText();
-	}
-
-	/**
-	 * Paints the hyperlink as a reaction to the provided paint event.
-	 * 
-	 * @param gc
-	 *            graphic context
-	 */
-	protected abstract void paintHyperlink(GC gc);
-
-	/**
-	 * Paints the control as a reaction to the provided paint event.
-	 * 
-	 * @param e
-	 *            the paint event
-	 */
-	protected void paint(PaintEvent e) {
-		GC gc = e.gc;
-		Rectangle clientArea = getClientArea();
-		if (clientArea.width == 0 || clientArea.height == 0)
-			return;
-		paintHyperlink(gc);
-		if (hasFocus) {
-			Rectangle carea = getClientArea();
-			gc.setForeground(getForeground());
-			gc.drawFocus(0, 0, carea.width, carea.height);
-		}
-	}
-
-	private void handleMouseUp(Event e) {
-		if (e.button != 1)
-			return;
-		Point size = getSize();
-		// Filter out mouse up events outside
-		// the link. This can happen when mouse is
-		// clicked, dragged outside the link, then
-		// released.
-		if (e.x < 0)
-			return;
-		if (e.y < 0)
-			return;
-		if (e.x >= size.x)
-			return;
-		if (e.y >= size.y)
-			return;
-		handleActivate(e);
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java
deleted file mode 100644
index e4eec10..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     dinko.ivanov@sap.com - patch #70790
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-/**
- * This layout manager arranges children of the composite parent in vertical
- * columns. All the columns are identical size and children are stretched
- * horizontally to fill the column width. The goal is to give layout some
- * reasonable range of column numbers to allow it to handle various parent
- * widths. That way, column number will drop to the lowest number in the range
- * when width decreases, and grow up to the highest number in the range when
- * allowed by the parent width.
- * <p>
- * In addition, the layout attempts to 'fill the space' equally i.e. to avoid
- * large gaps at the and of the last column.
- * <p>
- * Child controls are layed out according to their 'natural' (preferred) size.
- * For 'stretchy' controls that do not have natural preferred size, it is
- * possible to set width and/or height hints using ColumnLayoutData objects.
- * 
- * @see ColumnLayoutData
- * @since 3.0
- */
-public final class ColumnLayout extends Layout implements ILayoutExtension {
-	/**
-	 * Minimum number of columns (default is 1).
-	 */
-	public int minNumColumns = 1;
-	/**
-	 * Maximum number of columns (default is 3).
-	 */
-	public int maxNumColumns = 3;
-	/**
-	 * Horizontal spacing between columns (default is 5).
-	 */
-	public int horizontalSpacing = 5;
-	/**
-	 * Vertical spacing between controls (default is 5).
-	 */
-	public int verticalSpacing = 5;
-	/**
-	 * Top margin (default is 5).
-	 */
-	public int topMargin = 5;
-	/**
-	 * Left margin (default is 5).
-	 */
-	public int leftMargin = 5;
-	/**
-	 * Bottom margin (default is 5).
-	 */
-	public int bottomMargin = 5;
-	/**
-	 * Right margin (default is 5).
-	 */
-	public int rightMargin = 5;
-
-	/**
-	 * Creates a new instance of the column layout.
-	 */
-	public ColumnLayout() {
-	}
-
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		if (wHint == 0)
-			return computeSize(composite, wHint, hHint, minNumColumns);
-		else if (wHint == SWT.DEFAULT)
-			return computeSize(composite, wHint, hHint, maxNumColumns);
-		else
-			return computeSize(composite, wHint, hHint, -1);
-	}
-
-	private Point computeSize(Composite parent, int wHint, int hHint, int ncolumns) {
-		Control[] children = parent.getChildren();
-		int cwidth = 0;
-		int cheight = 0;
-		Point[] sizes = new Point[children.length];
-
-		int cwHint = SWT.DEFAULT;
-		if (ncolumns != -1) {
-			cwHint = wHint - leftMargin - rightMargin - (ncolumns - 1) * horizontalSpacing;
-			if (cwHint <= 0)
-				cwHint = 0;
-			else
-				cwHint /= ncolumns;
-		}
-
-		for (int i = 0; i < children.length; i++) {
-			sizes[i] = computeControlSize(children[i], cwHint);
-			cwidth = Math.max(cwidth, sizes[i].x);
-			cheight += sizes[i].y;
-		}
-		if (ncolumns == -1) {
-			// must compute
-			ncolumns = (wHint - leftMargin - rightMargin - horizontalSpacing) / (cwidth + horizontalSpacing);
-			ncolumns = Math.max(ncolumns, minNumColumns);
-			ncolumns = Math.min(ncolumns, maxNumColumns);
-		}
-		int perColHeight = cheight / ncolumns;
-		if (cheight % ncolumns != 0)
-			perColHeight++;
-		int colHeight = 0;
-		int[] heights = new int[ncolumns];
-		int ncol = 0;
-		
-		boolean fillIn = false;
-		
-		for (int i = 0; i < sizes.length; i++) {
-			int childHeight = sizes[i].y;
-			if (colHeight + childHeight > perColHeight) {
-				heights[ncol] = colHeight;
-				ncol++;
-				if (ncol == ncolumns || fillIn) {
-					// overflow - start filling in
-					fillIn = true;
-					ncol = findShortestColumn(heights);
-				}
-				colHeight = heights[ncol];
-			}
-			if (colHeight > 0)
-				colHeight += verticalSpacing;
-			colHeight += childHeight;
-		}
-		heights[ncol] = Math.max(heights[ncol],colHeight);
-		
-		Point size = new Point(0, 0);
-		for (int i = 0; i < ncolumns; i++) {
-			size.y = Math.max(size.y, heights[i]);
-		}
-		size.x = cwidth * ncolumns + (ncolumns - 1) * horizontalSpacing;
-		size.x += leftMargin + rightMargin;
-		//System.out.println("ColumnLayout: whint="+wHint+", size.x="+size.x);
-		size.y += topMargin + bottomMargin;
-		return size;
-	}
-
-	private Point computeControlSize(Control c, int wHint) {
-		ColumnLayoutData cd = (ColumnLayoutData) c.getLayoutData();
-		int widthHint = cd != null ? cd.widthHint : wHint;
-		int heightHint = cd != null ? cd.heightHint : SWT.DEFAULT;
-		return c.computeSize(widthHint, heightHint);
-	}
-
-	private int findShortestColumn(int[] heights) {
-		int result = 0;
-		int height = Integer.MAX_VALUE;
-		for (int i = 0; i < heights.length; i++) {
-			if (height > heights[i]) {
-				height = heights[i];
-				result = i;
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite,
-	 *      boolean)
-	 */
-	protected void layout(Composite parent, boolean flushCache) {
-		Control[] children = parent.getChildren();
-		Rectangle carea = parent.getClientArea();
-		int cwidth = 0;
-		int cheight = 0;
-		Point[] sizes = new Point[children.length];
-		for (int i = 0; i < children.length; i++) {
-			sizes[i] = computeControlSize(children[i], SWT.DEFAULT);
-			cwidth = Math.max(cwidth, sizes[i].x);
-			cheight += sizes[i].y;
-		}
-		int ncolumns = (carea.width - leftMargin - rightMargin - horizontalSpacing) / (cwidth + horizontalSpacing);
-		ncolumns = Math.max(ncolumns, minNumColumns);
-		ncolumns = Math.min(ncolumns, maxNumColumns);
-		int realWidth = (carea.width - leftMargin - rightMargin + horizontalSpacing) / ncolumns - horizontalSpacing;
-//		int childrenPerColumn = children.length / ncolumns;
-//		if (children.length % ncolumns != 0)
-//			childrenPerColumn++;
-//		int colWidth = 0;
-
-		int fillWidth = Math.max(cwidth, realWidth);
-		
-		int perColHeight = cheight / ncolumns;
-		if (cheight % ncolumns != 0)
-			perColHeight++;
-		
-		int colHeight = 0;
-		int[] heights = new int[ncolumns];
-		int ncol = 0;
-		int x = leftMargin;
-		boolean fillIn = false;
-		
-		for (int i = 0; i < sizes.length; i++) {
-			Control child = children[i];
-			Point csize = sizes[i];
-			ColumnLayoutData cd = (ColumnLayoutData) child.getLayoutData();
-			int align = cd != null ? cd.horizontalAlignment : ColumnLayoutData.FILL;
-			int childWidth = align == ColumnLayoutData.FILL ? fillWidth : csize.x;
-
-			if (colHeight + csize.y > perColHeight) {
-				heights[ncol] = colHeight;
-				if (fillIn || ncol == ncolumns-1) {
-					// overflow - start filling in
-					fillIn = true;
-					ncol = findShortestColumn(heights);
-					
-					x = leftMargin + ncol * (fillWidth + horizontalSpacing);
-
-				}
-				else {
-					ncol++;
-					x += fillWidth + horizontalSpacing;
-				}
-				colHeight = heights[ncol];
-			}
-			if (colHeight > 0)
-				colHeight += verticalSpacing;
-			
-			
-			switch (align) {
-				case ColumnLayoutData.LEFT :
-				case ColumnLayoutData.FILL :
-					child.setBounds(x, topMargin+colHeight, childWidth, csize.y);
-					break;
-				case ColumnLayoutData.RIGHT :
-					child.setBounds(x + fillWidth - childWidth, topMargin+colHeight, childWidth, csize.y);
-					break;
-				case ColumnLayoutData.CENTER :
-					child.setBounds(x + fillWidth / 2 - childWidth / 2, topMargin+colHeight, childWidth, csize.y);
-					break;
-			}
-			
-			colHeight += csize.y;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.widgets.ILayoutExtension#computeMaximumWidth(org.eclipse.swt.widgets.Composite,
-	 *      boolean)
-	 */
-	public int computeMaximumWidth(Composite parent, boolean changed) {
-		return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.widgets.ILayoutExtension#computeMinimumWidth(org.eclipse.swt.widgets.Composite,
-	 *      boolean)
-	 */
-	public int computeMinimumWidth(Composite parent, boolean changed) {
-		return computeSize(parent, 0, SWT.DEFAULT, changed).x;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.java
deleted file mode 100644
index 66326b8..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.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 Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-import org.eclipse.swt.SWT;
-/**
- * This class is used to store layout data for the <code>ColumnLayout</code>
- * class. You can control width and height hints, as well as horizontal
- * alignment using instances of this class. As with other layouts, they are not
- * required to get the default behaviour.
- * 
- * @see ColumnLayout
- * @since 3.0
- */
-public final class ColumnLayoutData {
-	/**
-	 * Width hint that will be used instead of the computed control width when
-	 * used in conjunction with <code>ColumnLayout</code> class (default is
-	 * SWT.DEFAULT).
-	 */
-	public int widthHint = SWT.DEFAULT;
-	/**
-	 * Height hint that will be used instead of the computed control height
-	 * when used in conjunction with <code>ColumnLayout</code> class (default
-	 * is SWT.DEFAULT).
-	 */
-	public int heightHint = SWT.DEFAULT;
-	/**
-	 * Horizontal alignment constant - control will be aligned to the left.
-	 */
-	public static final int LEFT = 1;
-	/**
-	 * Horizontal alignment constant - control will be aligned to the right.
-	 */
-	public static final int CENTER = 2;
-	/**
-	 * Horizontal alignment constant - control will be centered.
-	 */
-	public static final int RIGHT = 3;
-	/**
-	 * Horizontal alignment constant - control will fill the column.
-	 */
-	public static final int FILL = 4;
-	/**
-	 * Horizontal alignment variable (default is FILL).
-	 */
-	public int horizontalAlignment = FILL;
-	/**
-	 * Convinience constructor for the class.
-	 * 
-	 * @param wHint
-	 *            width hint for the control
-	 * @param hHint
-	 *            height hint for the control
-	 */
-	public ColumnLayoutData(int wHint, int hHint) {
-		this.widthHint = wHint;
-		this.heightHint = hHint;
-	}
-	/**
-	 * Convinience constructor for the class.
-	 * 
-	 * @param wHint
-	 *            width hint for the control
-	 */
-	public ColumnLayoutData(int wHint) {
-		this.widthHint = wHint;
-	}
-	/**
-	 * The default constructor.
-	 *  
-	 */
-	public ColumnLayoutData() {
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java
deleted file mode 100644
index 12b6688..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java
+++ /dev/null
@@ -1,1014 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.util.Vector;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.forms.events.ExpansionEvent;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IExpansionListener;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-import org.eclipse.ui.internal.forms.widgets.FormsResources;
-
-/**
- * This composite is capable of expanding or collapsing a single client that is
- * its direct child. The composite renders an expansion toggle affordance
- * (according to the chosen style), and a title that also acts as a hyperlink
- * (can be selected and is traversable). The client is layed out below the title
- * when expanded, or hidden when collapsed.
- * <p>
- * The widget can be instantiated as-is, or subclassed to modify some aspects of
- * it.
- * 
- * <p>
- * Since 3.1, left/right arrow keys can be used to control the expansion state.
- * If several expandable composites are created in the same parent, up/down
- * arrow keys can be used to traverse between them. Expandable text accepts
- * mnemonics and mnemonic activation will toggle the expansion state.
- * 
- * @see Section
- * @since 3.0
- */
-public class ExpandableComposite extends Canvas {
-	/**
-	 * If this style is used, a twistie will be used to render the expansion
-	 * toggle.
-	 */
-	public static final int TWISTIE = 1 << 1;
-
-	/**
-	 * If this style is used, a tree node with either + or - signs will be used
-	 * to render the expansion toggle.
-	 */
-	public static final int TREE_NODE = 1 << 2;
-
-	/**
-	 * If this style is used, the title text will be rendered as a hyperlink
-	 * that can individually accept focus. Otherwise, it will still act like a
-	 * hyperlink, but only the toggle control will accept focus.
-	 */
-	public static final int FOCUS_TITLE = 1 << 3;
-
-	/**
-	 * If this style is used, the client origin will be vertically aligned with
-	 * the title text. Otherwise, it will start at x = 0.
-	 */
-	public static final int CLIENT_INDENT = 1 << 4;
-
-	/**
-	 * If this style is used, computed size of the composite will take the
-	 * client width into consideration only in the expanded state. Otherwise,
-	 * client width will always be taken into acount.
-	 */
-	public static final int COMPACT = 1 << 5;
-
-	/**
-	 * If this style is used, the control will be created in the expanded state.
-	 * This state can later be changed programmatically or by the user if
-	 * TWISTIE or TREE_NODE style is used.
-	 */
-	public static final int EXPANDED = 1 << 6;
-
-	/**
-	 * If this style is used, title bar decoration will be painted behind the
-	 * text.
-	 */
-	public static final int TITLE_BAR = 1 << 8;
-
-	/**
-	 * If this style is used, a short version of the title bar decoration will
-	 * be painted behind the text. This style is useful when a more descrete
-	 * option is needed for the title bar.
-	 * 
-	 * @since 3.1
-	 */
-	public static final int SHORT_TITLE_BAR = 1 << 9;
-
-	/**
-	 * If this style is used, title will not be rendered.
-	 */
-	public static final int NO_TITLE = 1 << 12;
-
-	/**
-	 * By default, text client is right-aligned. If this style is used, it will
-	 * be positioned after the text control and vertically centered with it.
-	 */
-	public static final int LEFT_TEXT_CLIENT_ALIGNMENT = 1 << 13;
-
-	/**
-	 * Width of the margin that will be added around the control (default is 0).
-	 */
-	public int marginWidth = 0;
-
-	/**
-	 * Height of the margin that will be added around the control (default is
-	 * 0).
-	 */
-	public int marginHeight = 0;
-
-	/**
-	 * Vertical spacing between the title area and the composite client control
-	 * (default is 3).
-	 */
-	public int clientVerticalSpacing = 3;
-
-	private static final Point NULL_SIZE = new Point(0, 0);
-
-	private int VSPACE = 3;
-
-	protected int GAP = 4;
-
-	private int SEPARATOR_HEIGHT = 2;
-
-	private int expansionStyle = TWISTIE | FOCUS_TITLE | EXPANDED;
-
-	private boolean expanded;
-
-	private Control textClient;
-
-	private Control client;
-
-	private Vector listeners;
-
-	protected ToggleHyperlink toggle;
-
-	protected Control textLabel;
-
-	private Color titleBarForeground;
-
-	private class ExpandableLayout extends Layout implements ILayoutExtension {
-
-		private SizeCache toggleCache = new SizeCache();
-
-		private SizeCache textClientCache = new SizeCache();
-
-		private SizeCache textLabelCache = new SizeCache();
-
-		private SizeCache descriptionCache = new SizeCache();
-
-		private SizeCache clientCache = new SizeCache();
-
-		private void initCache(boolean shouldFlush) {
-			toggleCache.setControl(toggle);
-			textClientCache.setControl(textClient);
-			textLabelCache.setControl(textLabel);
-			descriptionCache.setControl(getDescriptionControl());
-			clientCache.setControl(client);
-
-			if (shouldFlush) {
-				toggleCache.flush();
-				textClientCache.flush();
-				textLabelCache.flush();
-				descriptionCache.flush();
-				clientCache.flush();
-			}
-		}
-
-		protected void layout(Composite parent, boolean changed) {
-			initCache(changed);
-
-			Rectangle clientArea = parent.getClientArea();
-			int thmargin = 0;
-			int tvmargin = 0;
-
-			if (hasTitleBar()) {
-				thmargin = GAP;
-				tvmargin = GAP;
-			}
-			int x = marginWidth + thmargin;
-			int y = marginHeight + tvmargin;
-			Point tsize = NULL_SIZE;
-			Point tcsize = NULL_SIZE;
-			if (toggle != null)
-				tsize = toggleCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			int twidth = clientArea.width - marginWidth - marginWidth
-					- thmargin - thmargin;
-			if (tsize.x > 0)
-				twidth -= tsize.x + GAP;
-			if (textClient != null)
-				tcsize = textClientCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			if (tcsize.x > 0)
-				twidth -= tcsize.x + GAP;
-			Point size = NULL_SIZE;
-			if (textLabel != null)
-				size = textLabelCache.computeSize(twidth, SWT.DEFAULT);
-			if (textLabel instanceof Label) {
-				Point defSize = textLabelCache.computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				if (defSize.y == size.y) {
-					// One line - pick the smaller of the two widths
-					size.x = Math.min(defSize.x, size.x);
-				}
-			}
-			if (toggle != null) {
-				GC gc = new GC(ExpandableComposite.this);
-				gc.setFont(getFont());
-				FontMetrics fm = gc.getFontMetrics();
-				int textHeight = fm.getHeight();
-				gc.dispose();
-				if (textClient != null
-						&& (expansionStyle & LEFT_TEXT_CLIENT_ALIGNMENT) != 0) {
-					textHeight = Math.max(textHeight, tcsize.y);
-				}
-				int ty = textHeight / 2 - tsize.y / 2 + 1;
-				ty = Math.max(ty, 0);
-				ty += marginHeight + tvmargin;
-				toggle.setLocation(x, ty);
-				toggle.setSize(tsize);
-				x += tsize.x + GAP;
-			}
-			if (textLabel != null) {
-				int ty = y;
-				if (textClient != null
-						&& (expansionStyle & LEFT_TEXT_CLIENT_ALIGNMENT) != 0) {
-					if (size.y < tcsize.y)
-						ty = tcsize.y / 2 - size.y / 2 + marginHeight
-								+ tvmargin;
-				}
-				textLabelCache.setBounds(x, ty, size.x, size.y);
-			}
-			if (textClient != null) {
-				int tcx;
-				if ((expansionStyle & LEFT_TEXT_CLIENT_ALIGNMENT) != 0) {
-					tcx = x + size.x + GAP;
-				} else {
-					tcx = clientArea.width - tcsize.x - marginWidth - thmargin;
-				}
-				textClientCache.setBounds(tcx, y, tcsize.x, tcsize.y);
-			}
-			int tbarHeight = 0;
-			if (size.y>0)
-				tbarHeight = size.y;
-			if (tcsize.y > 0)
-				tbarHeight = Math.max(tbarHeight, tcsize.y);
-			y += tbarHeight;
-			if (hasTitleBar())
-				y += tvmargin;
-			if (getSeparatorControl() != null) {
-				y += VSPACE;
-				getSeparatorControl().setBounds(marginWidth, y,
-						clientArea.width - marginWidth - marginWidth,
-						SEPARATOR_HEIGHT);
-				y += SEPARATOR_HEIGHT;
-				if (expanded)
-					y += VSPACE;
-			}
-			if (expanded) {
-				int areaWidth = clientArea.width - marginWidth - marginWidth
-						- thmargin - thmargin;
-				int cx = marginWidth + thmargin;
-				if ((expansionStyle & CLIENT_INDENT) != 0) {
-					cx = x;
-					areaWidth -= x;
-				}
-				if (client != null) {
-					Point dsize = null;
-					Control desc = getDescriptionControl();
-					if (desc != null) {
-						dsize = descriptionCache.computeSize(areaWidth,
-								SWT.DEFAULT);
-						descriptionCache.setBounds(cx, y, dsize.x, dsize.y);
-						y += dsize.y + clientVerticalSpacing;
-					} else {
-						y += clientVerticalSpacing;
-						if (getSeparatorControl()!=null)
-							y -= VSPACE;
-					}
-					int cwidth = areaWidth;
-					int cheight = clientArea.height - marginHeight
-							- marginHeight - y;
-					clientCache.setBounds(cx, y, cwidth, cheight);
-				}
-			}
-		}
-
-		protected Point computeSize(Composite parent, int wHint, int hHint,
-				boolean changed) {
-			initCache(changed);
-
-			int width = 0, height = 0;
-			Point tsize = NULL_SIZE;
-			int twidth = 0;
-			if (toggle != null) {
-				tsize = toggleCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				twidth = tsize.x + GAP;
-			}
-			int thmargin = 0;
-			int tvmargin = 0;
-
-			if (hasTitleBar()) {
-				thmargin = GAP;
-				tvmargin = GAP;
-			}
-			int innerwHint = wHint; 
-			if (innerwHint != SWT.DEFAULT)
-				innerwHint -= twidth + marginWidth + marginWidth
-				+ thmargin + thmargin;
-
-			int innertHint = innerwHint;
-
-			Point tcsize = NULL_SIZE;
-			if (textClient != null) {
-				tcsize = textClientCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				if (innertHint != SWT.DEFAULT)
-					innertHint -= GAP + tcsize.x;
-			}
-			Point size = NULL_SIZE;
-
-			if (textLabel != null)
-				size = textLabelCache.computeSize(innertHint, SWT.DEFAULT);
-			if (textLabel instanceof Label) {
-				Point defSize = textLabelCache.computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				if (defSize.y == size.y) {
-					// One line - pick the smaller of the two widths
-					size.x = Math.min(defSize.x, size.x);
-				}
-			}
-			if (size.x > 0)
-				width = size.x;
-			if (tcsize.x>0)
-				width += GAP + tcsize.x;
-			height = tcsize.y > 0 ? Math.max(tcsize.y, size.y) : size.y;
-			if (getSeparatorControl() != null) {
-				height += VSPACE + SEPARATOR_HEIGHT;
-				if (expanded && client != null)
-					height += VSPACE;
-			}
-			if (hasTitleBar())
-				height += VSPACE;
-			if ((expanded || (expansionStyle & COMPACT) == 0) && client != null) {
-				int cwHint = wHint;
-
-				if (cwHint != SWT.DEFAULT) {
-					cwHint -= marginWidth + marginWidth + thmargin + thmargin;
-					if ((expansionStyle & CLIENT_INDENT) != 0)
-						if (tcsize.x>0)
-							cwHint -= twidth;
-				}
-				Point dsize = null;
-				Point csize = clientCache.computeSize(FormUtil.getWidthHint(
-						cwHint, client), SWT.DEFAULT);
-				if (getDescriptionControl() != null) {
-					int dwHint = cwHint;
-					if (dwHint == SWT.DEFAULT) {
-						dwHint = csize.x;
-						if ((expansionStyle & CLIENT_INDENT) != 0)
-							dwHint -= twidth;
-					}
-					dsize = descriptionCache.computeSize(dwHint, SWT.DEFAULT);
-				}
-				if (dsize != null) {
-					width = Math.max(width, dsize.x);
-					if (expanded)
-						height += dsize.y + clientVerticalSpacing;
-				} else {
-					height += clientVerticalSpacing;
-					if (getSeparatorControl()!=null)
-						height -= VSPACE;
-				}
-				width = Math.max(width, csize.x);
-				if (expanded)
-					height += csize.y;
-			}
-			if (toggle != null) {
-				height = height - size.y + Math.max(size.y, tsize.y);
-				width += twidth;
-			}
-			
-			Point result = new Point(width + marginWidth + marginWidth
-					+ thmargin + thmargin, height + marginHeight + marginHeight
-					+ tvmargin + tvmargin);
-			return result;
-		}
-
-		public int computeMinimumWidth(Composite parent, boolean changed) {
-			/*
-			initCache(changed);
-
-			int width = 0;
-			Point size = NULL_SIZE;
-			if (textLabel != null)
-				size = textLabelCache.computeSize(5, SWT.DEFAULT);
-			Point tcsize = NULL_SIZE;
-			if (textClient != null) {
-				tcsize = textClientCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			}
-			int thmargin = 0;
-
-			if (hasTitleBar()) {
-				thmargin = GAP;
-			}
-			if (size.x > 0)
-				width = size.x;
-			if (tcsize.x > 0)
-				width += GAP + tcsize.x;
-
-			if ((expanded || (expansionStyle & COMPACT) == 0) && client != null) {
-				Point dsize = null;
-				if (getDescriptionControl() != null) {
-					dsize = descriptionCache.computeSize(5, SWT.DEFAULT);
-					width = Math.max(width, dsize.x);
-				}
-				int cwidth = FormUtil.computeMinimumWidth(client, changed);
-				width = Math.max(width, cwidth);
-			}
-			if (toggle != null) {
-				Point tsize = toggleCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				width += tsize.x + GAP;
-			}
-			return width + marginWidth + marginWidth + thmargin + thmargin;
-			*/
-			return computeSize(parent, 0, SWT.DEFAULT, changed).x;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.parts.ILayoutExtension#computeMinimumWidth(org.eclipse.swt.widgets.Composite,
-		 *      boolean)
-		 */
-		public int computeMaximumWidth(Composite parent, boolean changed) {
-			/*
-
-			initCache(changed);
-
-			int width = 0;
-			Point size = NULL_SIZE;
-			if (textLabel != null)
-				size = textLabelCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			Point tcsize = NULL_SIZE;
-			int thmargin = 0;
-
-			if (hasTitleBar()) {
-				thmargin = GAP;
-			}
-			if (textClient != null) {
-				tcsize = textClientCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			}
-			if (size.x > 0)
-				width = size.x;
-			if (tcsize.x > 0)
-				width += GAP + tcsize.x;
-			if ((expanded || (expansionStyle & COMPACT) == 0) && client != null) {
-				Point dsize = null;
-				if (getDescriptionControl() != null) {
-					dsize = descriptionCache.computeSize(SWT.DEFAULT,
-							SWT.DEFAULT);
-					width = Math.max(width, dsize.x);
-				}
-				int cwidth = FormUtil.computeMaximumWidth(client, changed);
-				width = Math.max(width, cwidth);
-			}
-			if (toggle != null) {
-				Point tsize = toggleCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				width += tsize.x + GAP;
-			}
-			return width + marginWidth + marginWidth + thmargin + thmargin;
-			*/
-			return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;
-		}
-	}
-
-	/**
-	 * Creates an expandable composite using a TWISTIE toggle.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param style
-	 *            SWT style bits
-	 */
-	public ExpandableComposite(Composite parent, int style) {
-		this(parent, style, TWISTIE);
-	}
-
-	/**
-	 * Creates the expandable composite in the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param style
-	 *            the control style
-	 * @param expansionStyle
-	 *            the style of the expansion widget (TREE_NODE, TWISTIE,
-	 *            CLIENT_INDENT, COMPACT, FOCUS_TITLE)
-	 */
-	public ExpandableComposite(Composite parent, int style, int expansionStyle) {
-		super(parent, style);
-		this.expansionStyle = expansionStyle;
-		if ((expansionStyle & TITLE_BAR)!=0) 
-			setBackgroundMode(SWT.INHERIT_DEFAULT);
-		super.setLayout(new ExpandableLayout());
-		listeners = new Vector();
-		if (hasTitleBar()) {
-			this.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					onPaint(e);
-				}
-			});
-		}
-		if ((expansionStyle & TWISTIE) != 0)
-			toggle = new Twistie(this, SWT.NULL);
-		else if ((expansionStyle & TREE_NODE) != 0)
-			toggle = new TreeNode(this, SWT.NULL);
-		else
-			expanded = true;
-		if ((expansionStyle & EXPANDED) != 0)
-			expanded = true;
-		if (toggle != null) {
-			toggle.setExpanded(expanded);
-			toggle.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					toggleState();
-				}
-			});
-			toggle.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					if (textLabel instanceof Label && !isFixedStyle())
-						textLabel.setForeground(toggle.hover ? toggle
-								.getHoverDecorationColor() : getTitleBarForeground());
-				}
-			});
-			toggle.addKeyListener(new KeyAdapter() {
-				public void keyPressed(KeyEvent e) {
-					if (e.keyCode == SWT.ARROW_UP) {
-						verticalMove(false);
-						e.doit=false;
-					}
-					else if (e.keyCode == SWT.ARROW_DOWN) {
-						verticalMove(true);
-						e.doit=false;
-					}
-				}
-			});
-		}
-		if ((expansionStyle & FOCUS_TITLE) != 0) {
-			Hyperlink link = new Hyperlink(this, SWT.WRAP);
-			link.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					programmaticToggleState();
-				}
-			});
-			textLabel = link;
-		} else if ((expansionStyle & NO_TITLE) == 0) {
-			final Label label = new Label(this, SWT.WRAP);
-			if (!isFixedStyle()) {
-				label.setCursor(FormsResources.getHandCursor());
-				Listener listener = new Listener() {
-					public void handleEvent(Event e) {
-						switch (e.type) {
-						case SWT.MouseDown:
-							if (toggle != null)
-								toggle.setFocus();
-							break;
-						case SWT.MouseUp:
-							label.setCursor(FormsResources.getBusyCursor());
-							programmaticToggleState();
-							label.setCursor(FormsResources.getHandCursor());
-							break;
-						case SWT.MouseEnter:
-							if (toggle != null) {
-								label.setForeground(toggle
-										.getHoverDecorationColor());
-								toggle.hover = true;
-								toggle.redraw();
-							}
-							break;
-						case SWT.MouseExit:
-							if (toggle != null) {
-								label.setForeground(getTitleBarForeground());
-								toggle.hover = false;
-								toggle.redraw();
-							}
-							break;
-						}
-					}
-				};
-				label.addListener(SWT.MouseDown, listener);
-				label.addListener(SWT.MouseUp, listener);
-				label.addListener(SWT.MouseEnter, listener);
-				label.addListener(SWT.MouseExit, listener);
-			}
-			textLabel = label;
-		}
-		if (textLabel != null) {
-			textLabel.setMenu(getMenu());
-			textLabel.addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent e) {
-					if (e.detail == SWT.TRAVERSE_MNEMONIC) {
-						// steal the mnemonic
-						if (!isVisible() || !isEnabled())
-							return;
-						if (FormUtil.mnemonicMatch(getText(), e.character)) {
-							e.doit = false;
-							programmaticToggleState();
-							setFocus();
-						}
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * Overrides 'super' to pass the menu to the text label.
-	 * 
-	 * @param menu
-	 *            the menu from the parent to attach to this control.
-	 */
-
-	public void setMenu(Menu menu) {
-		if (textLabel != null)
-			textLabel.setMenu(menu);
-		super.setMenu(menu);
-	}
-
-	/**
-	 * Prevents assignment of the layout manager - expandable composite uses its
-	 * own layout.
-	 */
-	public final void setLayout(Layout layout) {
-	}
-
-	/**
-	 * Sets the background of all the custom controls in the expandable.
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if ((getExpansionStyle() & TITLE_BAR)==0) {
-			if (textLabel != null)
-				textLabel.setBackground(bg);
-			if (toggle != null)
-				toggle.setBackground(bg);
-		}
-	}
-
-	/**
-	 * Sets the foreground of all the custom controls in the expandable.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (textLabel != null)
-			textLabel.setForeground(fg);
-		if (toggle != null)
-			toggle.setForeground(fg);
-	}
-
-	/**
-	 * Sets the color of the toggle control.
-	 * 
-	 * @param c
-	 *            the color object
-	 */
-	public void setToggleColor(Color c) {
-		if (toggle != null)
-			toggle.setDecorationColor(c);
-	}
-
-	/**
-	 * Sets the active color of the toggle control (when the mouse enters the
-	 * toggle area).
-	 * 
-	 * @param c
-	 *            the active color object
-	 */
-	public void setActiveToggleColor(Color c) {
-		if (toggle != null)
-			toggle.setHoverDecorationColor(c);
-	}
-
-	/**
-	 * Sets the fonts of all the custom controls in the expandable.
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		if (textLabel != null)
-			textLabel.setFont(font);
-		if (toggle != null)
-			toggle.setFont(font);
-	}
-
-	/**
-	 * Sets the client of this expandable composite. The client must not be
-	 * <samp>null </samp> and must be a direct child of this container.
-	 * 
-	 * @param client
-	 *            the client that will be expanded or collapsed
-	 */
-	public void setClient(Control client) {
-		Assert.isTrue(client != null && client.getParent().equals(this));
-		this.client = client;
-	}
-
-	/**
-	 * Returns the current expandable client.
-	 * 
-	 * @return the client control
-	 */
-	public Control getClient() {
-		return client;
-	}
-
-	/**
-	 * Sets the title of the expandable composite. The title will act as a
-	 * hyperlink and activating it will toggle the client between expanded and
-	 * collapsed state.
-	 * 
-	 * @param title
-	 *            the new title string
-	 * @see #getText()
-	 */
-	public void setText(String title) {
-		if (textLabel instanceof Label)
-			((Label) textLabel).setText(title);
-		else if (textLabel instanceof Hyperlink)
-			((Hyperlink) textLabel).setText(title);
-	}
-
-	/**
-	 * Returns the title string.
-	 * 
-	 * @return the title string
-	 * @see #setText(String)
-	 */
-	public String getText() {
-		if (textLabel instanceof Label)
-			return ((Label) textLabel).getText();
-		else if (textLabel instanceof Hyperlink)
-			return ((Hyperlink) textLabel).getText();
-		else
-			return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Tests the expanded state of the composite.
-	 * 
-	 * @return <samp>true </samp> if expanded, <samp>false </samp> if collapsed.
-	 */
-	public boolean isExpanded() {
-		return expanded;
-	}
-
-	/**
-	 * Returns the bitwise-ORed style bits for the expansion control.
-	 * 
-	 * @return the bitwise-ORed style bits for the expansion control
-	 */
-	public int getExpansionStyle() {
-		return expansionStyle;
-	}
-
-	/**
-	 * Programmatically changes expanded state.
-	 * 
-	 * @param expanded
-	 *            the new expanded state
-	 */
-	public void setExpanded(boolean expanded) {
-		internalSetExpanded(expanded);
-		if (toggle != null)
-			toggle.setExpanded(expanded);
-	}
-
-	/**
-	 * Performs the expansion state change for the expandable control.
-	 * 
-	 * @param expanded
-	 *            the expansion state
-	 */
-	protected void internalSetExpanded(boolean expanded) {
-		if (this.expanded != expanded) {
-			this.expanded = expanded;
-			if (getDescriptionControl() != null)
-				getDescriptionControl().setVisible(expanded);
-			if (client != null)
-				client.setVisible(expanded);
-			layout();
-		}
-	}
-
-	/**
-	 * Adds the listener that will be notified when the expansion state changes.
-	 * 
-	 * @param listener
-	 *            the listener to add
-	 */
-	public void addExpansionListener(IExpansionListener listener) {
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-	}
-
-	/**
-	 * Removes the expansion listener.
-	 * 
-	 * @param listener
-	 *            the listner to remove
-	 */
-	public void removeExpansionListener(IExpansionListener listener) {
-		if (listeners.contains(listener))
-			listeners.remove(listener);
-	}
-
-	private void toggleState() {
-		boolean newState = !isExpanded();
-		fireExpanding(newState, true);
-		internalSetExpanded(newState);
-		fireExpanding(newState, false);
-		if (newState)
-			FormUtil.ensureVisible(this);
-	}
-
-	/**
-	 * If TITLE_BAR or SHORT_TITLE_BAR style is used, title bar decoration will
-	 * be painted behind the text in this method. The default implementation
-	 * does nothing - subclasses are responsible for rendering the title area.
-	 * 
-	 * @param e
-	 *            the paint event
-	 */
-	protected void onPaint(PaintEvent e) {
-	}
-
-	private void fireExpanding(boolean state, boolean before) {
-		int size = listeners.size();
-		if (size == 0)
-			return;
-		ExpansionEvent e = new ExpansionEvent(this, state);
-		for (int i = 0; i < size; i++) {
-			IExpansionListener listener = (IExpansionListener) listeners.get(i);
-			if (before)
-				listener.expansionStateChanging(e);
-			else
-				listener.expansionStateChanged(e);
-		}
-	}
-
-	/**
-	 * Returns description control that will be placed under the title if
-	 * present.
-	 * 
-	 * @return the description control or <samp>null </samp> if not used.
-	 */
-	protected Control getDescriptionControl() {
-		return null;
-	}
-
-	/**
-	 * Returns the separator control that will be placed between the title and
-	 * the description if present.
-	 * 
-	 * @return the separator control or <samp>null </samp> if not used.
-	 */
-	protected Control getSeparatorControl() {
-		return null;
-	}
-
-	/**
-	 * Computes the size of the expandable composite.
-	 * 
-	 * @see org.eclipse.swt.widgets.Composite#computeSize
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		Point size;
-		ExpandableLayout layout = (ExpandableLayout) getLayout();
-		if (wHint == SWT.DEFAULT || hHint == SWT.DEFAULT) {
-			size = layout.computeSize(this, wHint, hHint, changed);
-		} else {
-			size = new Point(wHint, hHint);
-		}
-		Rectangle trim = computeTrim(0, 0, size.x, size.y);
-		return new Point(trim.width, trim.height);
-	}
-
-	/**
-	 * Returns <samp>true </samp> if the composite is fixed i.e. cannot be
-	 * expanded or collapsed. Fixed control will still contain the title,
-	 * separator and description (if present) as well as the client, but will be
-	 * in the permanent expanded state and the toggle affordance will not be
-	 * shown.
-	 * 
-	 * @return <samp>true </samp> if the control is fixed in the expanded state,
-	 *         <samp>false </samp> if it can be collapsed.
-	 */
-	protected boolean isFixedStyle() {
-		return (expansionStyle & TWISTIE) == 0
-				&& (expansionStyle & TREE_NODE) == 0;
-	}
-
-	/**
-	 * Returns the text client control.
-	 * 
-	 * @return Returns the text client control if specified, or
-	 *         <code>null</code> if not.
-	 */
-	public Control getTextClient() {
-		return textClient;
-	}
-
-	/**
-	 * Sets the text client control. Text client is a control that is a child of
-	 * the expandable composite and is placed to the right of the text. It can
-	 * be used to place small image hyperlinks. If more than one control is
-	 * needed, use Composite to hold them. Care should be taken that the height
-	 * of the control is comparable to the height of the text.
-	 * 
-	 * @param textClient
-	 *            the textClient to set or <code>null</code> if not needed any
-	 *            more.
-	 */
-	public void setTextClient(Control textClient) {
-		if (this.textClient != null)
-			this.textClient.dispose();
-		this.textClient = textClient;
-	}
-
-	protected boolean hasTitleBar() {
-		return (getExpansionStyle() & TITLE_BAR) != 0
-				|| (getExpansionStyle() & SHORT_TITLE_BAR) != 0;
-	}
-
-	/**
-	 * Sets the color of the title bar foreground when TITLE_BAR style is used.
-	 * 
-	 * @param color
-	 *            the title bar foreground
-	 */
-	public void setTitleBarForeground(Color color) {
-		titleBarForeground= color;
-		textLabel.setForeground(color);
-	}
-
-	/**
-	 * Returns the title bar foreground when TITLE_BAR style is used.
-	 * 
-	 * @return the title bar foreground
-	 */
-	public Color getTitleBarForeground() {
-		return titleBarForeground;
-	}
-
-	private void verticalMove(boolean down) {
-		Composite parent = getParent();
-		Control[] children = parent.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-			if (child == this) {
-				ExpandableComposite sibling = getSibling(children, i, down);
-				if (sibling != null && sibling.toggle != null) {
-					sibling.setFocus();
-				}
-				break;
-			}
-		}
-	}
-
-	private ExpandableComposite getSibling(Control[] children, int index,
-			boolean down) {
-		int loc = down ? index + 1 : index - 1;
-		while (loc >= 0 && loc < children.length) {
-			Control c = children[loc];
-			if (c instanceof ExpandableComposite && c.isVisible())
-				return (ExpandableComposite) c;
-			loc = down ? loc + 1 : loc - 1;
-		}
-		return null;
-	}
-
-	private void programmaticToggleState() {
-		if (toggle != null)
-			toggle.setExpanded(!toggle.isExpanded());
-		toggleState();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java
deleted file mode 100644
index 9b7dd33..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java
+++ /dev/null
@@ -1,533 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.internal.forms.widgets.FormHeading;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * Form is a custom control that renders a title and an optional background
- * image above the body composite. It can be used alone when part of parents
- * that are scrolled. If scrolling is required, use <code>ScrolledForm</code>
- * instead because it has an instance of <code>Form</code> and adds scrolling
- * capability.
- * <p>
- * Form can have a title if set. If not set, title area will not be left empty -
- * form body will be resized to fill the entire form. In addition, an optional
- * title image can be set and is rendered to the left of the title (since 3.2).
- * <p>
- * The form supports status messages. These messages can have various
- * severity (error, warning, info or none). Message tray can be minimized and
- * later restored by the user, but can only be closed programmatically.
- * <p>
- * Form can have a background image behind the title text. The image can be
- * painted as-is, or tiled as many times as needed to fill the title area.
- * Alternatively, gradient background can be painted vertically or
- * horizontally.
- * <p>Form can be put in the 'busy' state. While in this state,
- * title image is replaced with an animation that lasts as long as the
- * 'busy' state is active.
- * <p>It is possible to create an optional head client control.
- * When created, this control is placed next to the title. If title tool
- * bar is also present, a new row is created in the header, and the tool
- * bar is right-justified in the second row.
- * <p>
- * Form has a custom layout manager that is wrap-enabled. If a form is placed in
- * a composite whose layout manager implements ILayoutExtension, the body of the
- * worm will participate in wrapping as long as its layout manager implements
- * ILayoutExtension as well.
- * <p>
- * Children of the form should typically be created using FormToolkit to match
- * the appearance and behaviour. When creating children, use the form body as a
- * parent by calling 'getBody()' on the form instance. Example:
- * 
- * <pre>
- * FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- * Form form = toolkit.createForm(parent);
- * formContent.setText(&quot;Sample form&quot;);
- * formContent.getBody().setLayout(new GridLayout());
- * toolkit.createButton(formContent.getBody(), &quot;Checkbox&quot;, SWT.CHECK);
- * </pre>
- * 
- * <p>
- * No layout manager has been set on the body. Clients are required to set the
- * desired layout manager explicitly.
- * <p>
- * Although the class is not final, it should not be subclassed.
- * 
- * @since 3.0
- */
-public class Form extends Composite {
-	private FormHeading head;
-
-	private Composite body;
-
-	private SizeCache bodyCache = new SizeCache();
-
-	private SizeCache headCache = new SizeCache();
-
-	private FormText selectionText;
-
-	private class FormLayout extends Layout implements ILayoutExtension {
-		public int computeMinimumWidth(Composite composite, boolean flushCache) {
-			return computeSize(composite, 5, SWT.DEFAULT, flushCache).x;
-		}
-
-		public int computeMaximumWidth(Composite composite, boolean flushCache) {
-			return computeSize(composite, SWT.DEFAULT, SWT.DEFAULT, flushCache).x;
-		}
-
-		public Point computeSize(Composite composite, int wHint, int hHint,
-				boolean flushCache) {
-			if (flushCache) {
-				bodyCache.flush();
-				headCache.flush();
-			}
-			bodyCache.setControl(body);
-			headCache.setControl(head);
-
-			int width = 0;
-			int height = 0;
-
-			Point hsize = headCache.computeSize(FormUtil.getWidthHint(wHint,
-					head), SWT.DEFAULT);
-			width = Math.max(hsize.x, width);
-			height = hsize.y;
-
-			Point bsize = bodyCache.computeSize(FormUtil.getWidthHint(wHint,
-					body), SWT.DEFAULT);
-			width = Math.max(bsize.x, width);
-			height += bsize.y;
-			return new Point(width, height);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			if (flushCache) {
-				bodyCache.flush();
-				headCache.flush();
-			}
-			bodyCache.setControl(body);
-			headCache.setControl(head);
-			Rectangle carea = composite.getClientArea();
-
-			Point hsize = headCache.computeSize(carea.width, SWT.DEFAULT);
-			headCache.setBounds(0, 0, carea.width, hsize.y);
-			bodyCache
-					.setBounds(0, hsize.y, carea.width, carea.height - hsize.y);
-		}
-	}
-
-	/**
-	 * Creates the form content control as a child of the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public Form(Composite parent, int style) {
-		super(parent, SWT.NO_BACKGROUND | style);
-		super.setLayout(new FormLayout());
-		head = new FormHeading(this, SWT.NULL);
-		head.setMenu(parent.getMenu());
-		body = new LayoutComposite(this, SWT.NULL);
-		body.setMenu(parent.getMenu());
-	}
-
-	/**
-	 * Passes the menu to the form body.
-	 * 
-	 * @param menu
-	 *            the parent menu
-	 */
-	public void setMenu(Menu menu) {
-		super.setMenu(menu);
-		head.setMenu(menu);
-		body.setMenu(menu);
-	}
-
-	/**
-	 * Fully delegates the size computation to the internal layout manager.
-	 */
-	public final Point computeSize(int wHint, int hHint, boolean changed) {
-		return ((FormLayout) getLayout()).computeSize(this, wHint, hHint,
-				changed);
-	}
-
-	/**
-	 * Prevents from changing the custom control layout.
-	 */
-	public final void setLayout(Layout layout) {
-	}
-
-	/**
-	 * Returns the title text that will be rendered at the top of the form.
-	 * 
-	 * @return the title text
-	 */
-	public String getText() {
-		return head.getText();
-	}
-
-	/**
-	 * Returns the title image that will be rendered to the left of the title.
-	 * 
-	 * @return the title image or <code>null</code> if not set.
-	 * @since 3.2
-	 */
-	public Image getImage() {
-		return head.getImage();
-	}
-
-	/**
-	 * Sets the foreground color of the form. This color will also be used for
-	 * the body.
-	 * 
-	 * @param fg
-	 *            the foreground color
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		head.setForeground(fg);
-		body.setForeground(fg);
-	}
-
-	/**
-	 * Sets the background color of the form. This color will also be used for
-	 * the body.
-	 * 
-	 * @param bg
-	 *            the background color
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		head.setBackground(bg);
-		body.setBackground(bg);
-	}
-
-	/**
-	 * Sets the font of the header text.
-	 * 
-	 * @param font
-	 *            the new font
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		head.setFont(font);
-	}
-
-	/**
-	 * Sets the text to be rendered at the top of the form above the body as a
-	 * title.
-	 * 
-	 * @param text
-	 *            the title text
-	 */
-	public void setText(String text) {
-		head.setText(text);
-		layout();
-		redraw();
-	}
-
-	/**
-	 * Sets the image to be rendered to the left of the title.
-	 * 
-	 * @param image
-	 *            the title image or <code>null</code> to show no image.
-	 * @since 3.2
-	 */
-	public void setImage(Image image) {
-		head.setImage(image);
-		layout();
-		redraw();
-	}
-
-	/**
-	 * Sets the background colors to be painted behind the title text in a
-	 * gradient.
-	 * 
-	 * @param gradientColors
-	 *            the array of colors that form the gradient
-	 * @param percents
-	 *            the partition of the overall space between the gradient colors
-	 * @param vertical
-	 *            of <code>true</code>, the gradient will be rendered
-	 *            vertically, if <code>false</code> the orientation will be
-	 *            horizontal.
-	 */
-
-	public void setTextBackground(Color[] gradientColors, int[] percents,
-			boolean vertical) {
-		head.setTextBackground(gradientColors, percents, vertical);
-	}
-
-	/**
-	 * Returns the optional background image of the form head.
-	 * 
-	 * @return the background image or <code>null</code> if not specified.
-	 */
-	public Image getBackgroundImage() {
-		return head.getBackgroundImage();
-	}
-
-	/**
-	 * Sets the optional background image to be rendered behind the title
-	 * starting at the position 0,0.
-	 * 
-	 * @param backgroundImage
-	 *            the head background image.
-	 * 
-	 */
-	public void setBackgroundImage(Image backgroundImage) {
-		head.setBackgroundImage(backgroundImage);
-	}
-
-	/**
-	 * Returns the tool bar manager that is used to manage tool items in the
-	 * form's title area.
-	 * 
-	 * @return form tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		return head.getToolBarManager();
-	}
-
-	/**
-	 * Updates the local tool bar manager if used. Does nothing if local tool
-	 * bar manager has not been created yet.
-	 */
-	public void updateToolBar() {
-		head.updateToolBar();
-	}
-
-	/**
-	 * Returns the container that occupies the head of the form (the form area
-	 * above the body). Use this container as a parent for the head client.
-	 * 
-	 * @return the head of the form.
-	 * @since 3.2
-	 */
-	public Composite getHead() {
-		return head;
-	}
-
-	/**
-	 * Returns the optional head client if set.
-	 * 
-	 * @return the head client or <code>null</code> if not set.
-	 * @see #setHeadClient(Control)
-	 * @since 3.2
-	 */
-	public Control getHeadClient() {
-		return head.getHeadClient();
-	}
-
-	/**
-	 * Sets the optional head client. Head client is placed after the form
-	 * title. This option causes the tool bar to be placed in the second raw of
-	 * the header (below the head client).
-	 * <p>
-	 * The head client must be a child of the composite returned by
-	 * <code>getHead()</code> method.
-	 * 
-	 * @param headClient
-	 *            the optional child of the head
-	 * @since 3.2
-	 */
-	public void setHeadClient(Control headClient) {
-		head.setHeadClient(headClient);
-		layout();
-	}
-
-	/**
-	 * Returns the container that occupies the body of the form (the form area
-	 * below the title). Use this container as a parent for the controls that
-	 * should be in the form. No layout manager has been set on the form body.
-	 * 
-	 * @return Returns the body of the form.
-	 */
-	public Composite getBody() {
-		return body;
-	}
-
-	/**
-	 * TODO add javadoc -
-	 * 
-	 * @return Returns the backgroundImageTiled.
-	 */
-	public boolean isBackgroundImageTiled() {
-		return head.isBackgroundImageTiled();
-	}
-
-	/**
-	 * TODO add javadoc
-	 * 
-	 * @param backgroundImageTiled
-	 *            The backgroundImageTiled to set.
-	 */
-	public void setBackgroundImageTiled(boolean backgroundImageTiled) {
-		head.setBackgroundImageTiled(backgroundImageTiled);
-	}
-
-	/**
-	 * @return Returns the backgroundImageAlignment. TODO add javadoc
-	 * @since 3.1
-	 */
-	public int getBackgroundImageAlignment() {
-		return head.getBackgroundImageAlignment();
-	}
-
-	/**
-	 * @param backgroundImageAlignment
-	 *            The backgroundImageAlignment to set. TODO add javadoc
-	 * @since 3.1
-	 */
-	public void setBackgroundImageAlignment(int backgroundImageAlignment) {
-		head.setBackgroundImageAlignment(backgroundImageAlignment);
-	}
-
-	/**
-	 * @return Returns the backgroundImageClipped.
-	 * @since 3.1
-	 */
-	public boolean isBackgroundImageClipped() {
-		return head.isBackgroundImageClipped();
-	}
-
-	/**
-	 * @param backgroundImageClipped
-	 *            The backgroundImageClipped to set.
-	 * @since 3.1
-	 */
-	public void setBackgroundImageClipped(boolean backgroundImageClipped) {
-		head.setBackgroundImageClipped(backgroundImageClipped);
-	}
-
-	void setSelectionText(FormText text) {
-		if (selectionText != null && selectionText != text) {
-			selectionText.clearSelection();
-		}
-		this.selectionText = text;
-	}
-
-	/**
-	 * TODO add javadoc experimental - do not use yet
-	 * 
-	 * @return <code>true</code> if the receiver is a visible separator,
-	 *         <code>false</code> otherwise
-	 */
-	public boolean isSeparatorVisible() {
-		return head.isSeparatorVisible();
-	}
-
-	/**
-	 * If set, adds a separator between the head and body. If gradient text
-	 * background is used, the separator will use gradient colors.
-	 * 
-	 * @param addSeparator
-	 *            <code>true</code> to make the separator visible,
-	 *            <code>false</code> otherwise.
-	 * @since 3.2
-	 */
-	public void setSeparatorVisible(boolean addSeparator) {
-		head.setSeparatorVisible(addSeparator);
-	}
-
-	/**
-	 * Returns the color used to render the optional head separator.
-	 * 
-	 * @return separator color or <code>null</code> if not set.
-	 */
-
-	public Color getSeparatorColor() {
-		return head.getSeparatorColor();
-	}
-
-	/**
-	 * Sets the color to be used to render the optional head separator.
-	 * 
-	 * @param separatorColor
-	 *            the color to render the head separator or <code>null</code>
-	 *            to use the default color.
-	 * @since 3.2
-	 */
-	public void setSeparatorColor(Color separatorColor) {
-		head.setSeparatorColor(separatorColor);
-	}
-
-	/**
-	 * Sets the message for this form. Message text is rendered in the form head
-	 * when shown.
-	 * 
-	 * @param message
-	 *            the message, or <code>null</code> to clear the message
-	 * @see #setMessage(String, int)
-	 * @since 3.2
-	 */
-	public void setMessage(String message) {
-		head.setMessage(message);
-	}
-
-	/**
-	 * Sets the message for this form with an indication of what type of message
-	 * it is.
-	 * <p>
-	 * The valid message types are one of <code>NONE</code>,
-	 * <code>INFORMATION</code>,<code>WARNING</code>, or
-	 * <code>ERROR</code>.
-	 * </p>
-	 * <p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 * @param newType
-	 *            the message type
-	 * @since 3.2
-	 */
-
-	public void setMessage(String newMessage, int newType) {
-		head.setMessage(newMessage, newType);
-	}
-
-	/**
-	 * Tests if the form is in the 'busy' state. Busy form displays 'busy'
-	 * animation in the area of the title image.
-	 * 
-	 * @return <code>true</code> if busy, <code>false</code> otherwise.
-	 * @since 3.2
-	 */
-
-	public boolean isBusy() {
-		return head.isBusy();
-	}
-
-	/**
-	 * Sets the form's busy state. Busy form will display 'busy' animation in
-	 * the area of the title image.
-	 * 
-	 * @param busy
-	 *            the form's busy state
-	 * @since 3.2
-	 */
-
-	public void setBusy(boolean busy) {
-		head.setBusy(busy);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java
deleted file mode 100644
index d4e0965..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java
+++ /dev/null
@@ -1,1684 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.eclipse.swt.SWT;
-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.custom.ScrolledComposite;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.events.MenuListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.TypedListener;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.internal.forms.Messages;
-import org.eclipse.ui.internal.forms.widgets.ControlSegment;
-import org.eclipse.ui.internal.forms.widgets.FormTextModel;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-import org.eclipse.ui.internal.forms.widgets.IFocusSelectable;
-import org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment;
-import org.eclipse.ui.internal.forms.widgets.ImageSegment;
-import org.eclipse.ui.internal.forms.widgets.Locator;
-import org.eclipse.ui.internal.forms.widgets.Paragraph;
-import org.eclipse.ui.internal.forms.widgets.ParagraphSegment;
-import org.eclipse.ui.internal.forms.widgets.SelectionData;
-import org.eclipse.ui.internal.forms.widgets.TextSegment;
-
-/**
- * This class is a read-only text control that is capable of rendering wrapped
- * text. Text can be rendered as-is or by parsing the formatting XML tags.
- * Independently, words that start with http:// can be converted into hyperlinks
- * on the fly.
- * <p>
- * When configured to use formatting XML, the control requires the root element
- * <code>form</code> to be used. The following tags can be children of the
- * <code>form</code> element:
- * </p>
- * <ul>
- * <li><b>p </b>- for defining paragraphs. The following attributes are
- * allowed:
- * <ul>
- * <li><b>vspace </b>- if set to 'false', no vertical space will be added
- * (default is 'true')</li>
- * </ul>
- * </li>
- * <li><b>li </b>- for defining list items. The following attributes are
- * allowed:
- * <ul>
- * <li><b>vspace </b>- the same as with the <b>p </b> tag</li>
- * <li><b>style </b>- could be 'bullet' (default), 'text' and 'image'</li>
- * <li><b>value </b>- not used for 'bullet'. For text, it is the value of the
- * text that is rendered as a bullet. For image, it is the href of the image to
- * be rendered as a bullet.</li>
- * <li><b>indent </b>- the number of pixels to indent the text in the list item
- * </li>
- * <li><b>bindent </b>- the number of pixels to indent the bullet itself</li>
- * </ul>
- * </li>
- * </ul>
- * <p>
- * Text in paragraphs and list items will be wrapped according to the width of
- * the control. The following tags can appear as children of either <b>p </b> or
- * <b>li </b> elements:
- * <ul>
- * <li><b>img </b>- to render an image. Element accepts attribute 'href' that
- * is a key to the <code>Image</code> set using 'setImage' method. Vertical
- * position of image relative to surrounding text is optionally controlled by
- * the attribute <b>align</b> that can have values <b>top</b>, <b>middle</b>
- * and <b>bottom</b></li>
- * <li><b>a </b>- to render a hyperlink. Element accepts attribute 'href' that
- * will be provided to the hyperlink listeners via HyperlinkEvent object. The
- * element also accepts 'nowrap' attribute (default is false). When set to
- * 'true', the hyperlink will not be wrapped. Hyperlinks automatically created
- * when 'http://' is encountered in text are not wrapped.</li>
- * <li><b>b </b>- the enclosed text will use bold font.</li>
- * <li><b>br </b>- forced line break (no attributes).</li>
- * <li><b>span </b>- the enclosed text will have the color and font specified
- * in the element attributes. Color is provided using 'color' attribute and is a
- * key to the Color object set by 'setColor' method. Font is provided using
- * 'font' attribute and is a key to the Font object set by 'setFont' method.
- * </li>
- * <li><b>control (new in 3.1)</b> - to place a control that is a child of the
- * text control. Element accepts attribute 'href' that is a key to the Control
- * object set using 'setControl' method. Optionally, attribute 'fill' can be set
- * to <code>true</code> to make the control fill the entire width of the text.
- * Form text is not responsible for creating or disposing controls, it only
- * places them relative to the surrounding text. Similar to <b>img</b>,
- * vertical position of the control can be set using the <b>align</b>
- * attribute.
- * </ul>
- * <p>
- * None of the elements can nest. For example, you cannot have <b>b </b> inside
- * a <b>span </b>. This was done to keep everything simple and transparent.
- * Since 3.1, an exception to this rule has been added to support nesting images
- * and text inside the hyperlink tag (<b>a</b>). Image enclosed in the
- * hyperlink tag acts as a hyperlink, can be clicked on and can accept and
- * render selection focus. When both text and image is enclosed, selection and
- * rendering will affect both as a single hyperlink.
- * </p>
- * <p>
- * Since 3.1, it is possible to select text. Text selection can be
- * programmatically accessed and also copied to clipboard. Non-textual objects
- * (images, controls etc.) in the selection range are ignored.
- * <p>
- * Care should be taken when using this control. Form text is not an HTML
- * browser and should not be treated as such. If you need complex formatting
- * capabilities, use Browser widget. If you need editing capabilities and
- * font/color styles of text segments is all you need, use StyleText widget.
- * Finally, if all you need is to wrap text, use SWT Label widget and create it
- * with SWT.WRAP style.
- * 
- * @see FormToolkit
- * @see TableWrapLayout
- * @since 3.0
- */
-public class FormText extends Canvas {
-	/**
-	 * The object ID to be used when registering action to handle URL hyperlinks
-	 * (those that should result in opening the web browser). Value is
-	 * "urlHandler".
-	 */
-	public static final String URL_HANDLER_ID = "urlHandler"; //$NON-NLS-1$
-
-	/**
-	 * Value of the horizontal margin (default is 0).
-	 */
-	public int marginWidth = 0;
-
-	/**
-	 * Value of tue vertical margin (default is 1).
-	 */
-	public int marginHeight = 1;
-
-	// private fields
-	//TODO We should remove the dependency on Platform
-	private static final boolean DEBUG_TEXT = false;//"true".equalsIgnoreCase(Platform.getDebugOption(FormUtil.DEBUG_TEXT));
-	private static final boolean DEBUG_TEXTSIZE = false;//"true".equalsIgnoreCase(Platform.getDebugOption(FormUtil.DEBUG_TEXTSIZE));
-
-	private static final boolean DEBUG_FOCUS = false;//"true".equalsIgnoreCase(Platform.getDebugOption(FormUtil.DEBUG_FOCUS));	
-
-	private boolean hasFocus;
-
-	private boolean paragraphsSeparated = true;
-
-	private FormTextModel model;
-
-	private Vector listeners;
-
-	private Hashtable resourceTable = new Hashtable();
-
-	private IHyperlinkSegment entered;
-
-	private boolean mouseFocus = false;
-
-	private boolean controlFocusTransfer = false;
-
-	private boolean inSelection = false;
-
-	private SelectionData selData;
-
-	private static final String INTERNAL_MENU = "__internal_menu__"; //$NON-NLS-1$
-
-	private static final String CONTROL_KEY = "__segment__"; //$NON-NLS-1$
-
-	private class FormTextLayout extends Layout implements ILayoutExtension {
-		public FormTextLayout() {
-		}
-
-		public int computeMaximumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;
-		}
-
-		public int computeMinimumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, 5, SWT.DEFAULT, true).x;
-		}
-
-		/*
-		 * @see Layout#computeSize(Composite, int, int, boolean)
-		 */
-		public Point computeSize(Composite composite, int wHint, int hHint,
-				boolean changed) {
-			long start = 0;
-
-			if (DEBUG_TEXT)
-				start = System.currentTimeMillis();
-			int innerWidth = wHint;
-			if (innerWidth != SWT.DEFAULT)
-				innerWidth -= marginWidth * 2;
-			Point textSize = computeTextSize(innerWidth);
-			int textWidth = textSize.x + 2 * marginWidth;
-			int textHeight = textSize.y + 2 * marginHeight;
-			Point result = new Point(textWidth, textHeight);
-			if (DEBUG_TEXT) {
-				long stop = System.currentTimeMillis();
-				System.out.println("FormText computeSize: " + (stop - start) //$NON-NLS-1$
-						+ "ms"); //$NON-NLS-1$
-			}
-			if (DEBUG_TEXTSIZE) {
-				System.out.println("FormText ("+model.getAccessibleText()+"), computeSize: wHint="+wHint+", result="+result); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			return result;
-		}
-
-		private Point computeTextSize(int wHint) {
-			Paragraph[] paragraphs = model.getParagraphs();
-			GC gc = new GC(FormText.this);
-			gc.setFont(getFont());
-			Locator loc = new Locator();
-			int width = wHint != SWT.DEFAULT ? wHint : 0;
-			FontMetrics fm = gc.getFontMetrics();
-			int lineHeight = fm.getHeight();
-			boolean selectableInTheLastRow = false;
-			for (int i = 0; i < paragraphs.length; i++) {
-				Paragraph p = paragraphs[i];
-				if (i > 0 && getParagraphsSeparated()
-						&& p.getAddVerticalSpace())
-					loc.y += getParagraphSpacing(lineHeight);
-				loc.rowHeight = 0;
-				loc.indent = p.getIndent();
-				loc.x = p.getIndent();
-				ParagraphSegment[] segments = p.getSegments();
-				if (segments.length > 0) {
-					selectableInTheLastRow = false;
-					int pwidth = 0;
-					for (int j = 0; j < segments.length; j++) {
-						ParagraphSegment segment = segments[j];
-						segment.advanceLocator(gc, wHint, loc, resourceTable,
-								false);
-						if (wHint != SWT.DEFAULT) {
-							width = Math.max(width, loc.width);
-						} else {
-							pwidth += loc.width;
-						}
-						if (segment instanceof IFocusSelectable)
-							selectableInTheLastRow = true;
-					}
-					if (wHint == SWT.DEFAULT)
-						width = Math.max(width, pwidth);
-					loc.y += loc.rowHeight;
-				} else {
-					// empty new line
-					loc.y += lineHeight;
-				}
-			}
-			gc.dispose();
-			if (selectableInTheLastRow)
-				loc.y += 1;
-			return new Point(width, loc.y);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			long start = 0;
-
-			if (DEBUG_TEXT) {
-				start = System.currentTimeMillis();
-			}
-			selData = null;
-			Rectangle carea = composite.getClientArea();
-			if (DEBUG_TEXTSIZE) {
-				System.out.println("FormText layout ("+model.getAccessibleText()+"), carea="+carea); //$NON-NLS-1$ //$NON-NLS-2$
-			}			
-			GC gc = new GC(composite);
-			gc.setFont(getFont());
-			ensureBoldFontPresent(getFont());
-			gc.setForeground(getForeground());
-			gc.setBackground(getBackground());
-
-			Locator loc = new Locator();
-			loc.marginWidth = marginWidth;
-			loc.marginHeight = marginHeight;
-			loc.x = marginWidth;
-			loc.y = marginHeight;
-			FontMetrics fm = gc.getFontMetrics();
-			int lineHeight = fm.getHeight();
-
-			Paragraph[] paragraphs = model.getParagraphs();
-			IHyperlinkSegment selectedLink = getSelectedLink();
-			for (int i = 0; i < paragraphs.length; i++) {
-				Paragraph p = paragraphs[i];
-				if (i > 0 && paragraphsSeparated && p.getAddVerticalSpace())
-					loc.y += getParagraphSpacing(lineHeight);
-				loc.indent = p.getIndent();
-				loc.resetCaret();
-				loc.rowHeight = 0;
-				p.layout(gc, carea.width, loc, lineHeight, resourceTable,
-						selectedLink);
-			}
-			gc.dispose();
-			if (DEBUG_TEXT) {
-				long stop = System.currentTimeMillis();
-				System.out.println("FormText.layout: " + (stop - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	/**
-	 * Contructs a new form text widget in the provided parent and using the
-	 * styles.
-	 * 
-	 * @param parent
-	 *            form text parent control
-	 * @param style
-	 *            the widget style
-	 */
-	public FormText(Composite parent, int style) {
-		super(parent, SWT.NO_BACKGROUND | SWT.WRAP | style);
-		setLayout(new FormTextLayout());
-		model = new FormTextModel();
-		addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				model.dispose();
-				disposeResourceTable(true);
-			}
-		});
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				paint(e);
-			}
-		});
-		addListener(SWT.KeyDown, new Listener() {
-			public void handleEvent(Event e) {
-				if (e.character == '\r') {
-					activateSelectedLink();
-					return;
-				}
-			}
-		});
-		addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event e) {
-				if (DEBUG_FOCUS)
-					System.out.println("Traversal: " + e); //$NON-NLS-1$
-				switch (e.detail) {
-				case SWT.TRAVERSE_PAGE_NEXT:
-				case SWT.TRAVERSE_PAGE_PREVIOUS:
-				case SWT.TRAVERSE_ARROW_NEXT:
-				case SWT.TRAVERSE_ARROW_PREVIOUS:
-					e.doit = false;
-					return;
-				}
-				if (!model.hasFocusSegments()) {
-					e.doit = true;
-					return;
-				}
-				if (e.detail == SWT.TRAVERSE_TAB_NEXT)
-					e.doit = advance(true);
-				else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
-					e.doit = advance(false);
-				else if (e.detail != SWT.TRAVERSE_RETURN)
-					e.doit = true;
-			}
-		});
-		addFocusListener(new FocusListener() {
-			public void focusGained(FocusEvent e) {
-				if (!hasFocus) {
-					hasFocus = true;
-					if (DEBUG_FOCUS) {
-						System.out.println("FormText: focus gained"); //$NON-NLS-1$
-					}
-					if (!mouseFocus && !controlFocusTransfer) {
-						handleFocusChange();
-					}
-				}
-			}
-
-			public void focusLost(FocusEvent e) {
-				if (DEBUG_FOCUS) {
-					System.out.println("FormText: focus lost"); //$NON-NLS-1$
-				}
-				if (hasFocus) {
-					hasFocus = false;
-					if (!controlFocusTransfer)
-						handleFocusChange();
-				}
-			}
-		});
-		addMouseListener(new MouseListener() {
-			public void mouseDoubleClick(MouseEvent e) {
-			}
-
-			public void mouseDown(MouseEvent e) {
-				// select a link
-				handleMouseClick(e, true);
-			}
-
-			public void mouseUp(MouseEvent e) {
-				// activate a link
-				handleMouseClick(e, false);
-			}
-		});
-		addMouseTrackListener(new MouseTrackListener() {
-			public void mouseEnter(MouseEvent e) {
-				handleMouseMove(e);
-			}
-
-			public void mouseExit(MouseEvent e) {
-				if (entered != null) {
-					exitLink(entered, e.stateMask);
-					paintLinkHover(entered, false);
-					entered = null;
-					setCursor(null);
-				}
-			}
-
-			public void mouseHover(MouseEvent e) {
-				handleMouseHover(e);
-			}
-		});
-		addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent e) {
-				handleMouseMove(e);
-			}
-		});
-		initAccessible();
-		ensureBoldFontPresent(getFont());
-		createMenu();
-		// we will handle traversal of controls, if any
-		setTabList(new Control[] {});
-	}
-
-	/**
-	 * Test for focus.
-	 * 
-	 * @return <samp>true </samp> if the widget has focus.
-	 */
-	public boolean getFocus() {
-		return hasFocus;
-	}
-
-	/**
-	 * Test if the widget is currently processing the text it is about to
-	 * render.
-	 * 
-	 * @return <samp>true </samp> if the widget is still loading the text,
-	 *         <samp>false </samp> otherwise.
-	 * @deprecated not used any more - returns <code>false</code>
-	 */
-	public boolean isLoading() {
-		return false;
-	}
-
-	/**
-	 * Returns the text that will be shown in the control while the real content
-	 * is loading.
-	 * 
-	 * @return loading text message
-	 * @deprecated loading text is not used since 3.1
-	 */
-	public String getLoadingText() {
-		return null;
-	}
-
-	/**
-	 * Sets the text that will be shown in the control while the real content is
-	 * loading. This is significant when content to render is loaded from the
-	 * input stream that was created from a remote URL, and the time to load the
-	 * entire content is nontrivial.
-	 * 
-	 * @param loadingText
-	 *            loading text message
-	 * @deprecated use setText(loadingText, false, false);
-	 */
-	public void setLoadingText(String loadingText) {
-		setText(loadingText, false, false);
-	}
-
-	/**
-	 * If paragraphs are separated, spacing will be added between them.
-	 * Otherwise, new paragraphs will simply start on a new line with no
-	 * spacing.
-	 * 
-	 * @param value
-	 *            <samp>true </samp> if paragraphs are separated, </samp> false
-	 *            </samp> otherwise.
-	 */
-	public void setParagraphsSeparated(boolean value) {
-		paragraphsSeparated = value;
-	}
-
-	/**
-	 * Tests if there is some inter-paragraph spacing.
-	 * 
-	 * @return <samp>true </samp> if paragraphs are separated, <samp>false
-	 *         </samp> otherwise.
-	 */
-	public boolean getParagraphsSeparated() {
-		return paragraphsSeparated;
-	}
-
-	/**
-	 * Registers the image referenced by the provided key.
-	 * <p>
-	 * For <samp>img </samp> tags, an object of a type <samp>Image </samp> must
-	 * be registered using the key equivalent to the value of the <samp>href
-	 * </samp> attribute used in the tag.
-	 * 
-	 * @param key
-	 *            unique key that matches the value of the <samp>href </samp>
-	 *            attribute.
-	 * @param image
-	 *            an object of a type <samp>Image </samp>.
-	 */
-	public void setImage(String key, Image image) {
-		resourceTable.put("i." + key, image); //$NON-NLS-1$
-	}
-
-	/**
-	 * Registers the color referenced by the provided key.
-	 * <p>
-	 * For <samp>span </samp> tags, an object of a type <samp>Color </samp> must
-	 * be registered using the key equivalent to the value of the <samp>color
-	 * </samp> attribute.
-	 * 
-	 * @param key
-	 *            unique key that matches the value of the <samp>color </samp>
-	 *            attribute.
-	 * @param color
-	 *            an object of the type <samp>Color </samp> or <samp>null</samp>
-	 *            if the key needs to be cleared.
-	 */
-	public void setColor(String key, Color color) {
-		String fullKey = "c." + key; //$NON-NLS-1$
-		if (color == null)
-			resourceTable.remove(fullKey);
-		else
-			resourceTable.put(fullKey, color);
-	}
-
-	/**
-	 * Registers the font referenced by the provided key.
-	 * <p>
-	 * For <samp>span </samp> tags, an object of a type <samp>Font </samp> must
-	 * be registered using the key equivalent to the value of the <samp>font
-	 * </samp> attribute.
-	 * 
-	 * @param key
-	 *            unique key that matches the value of the <samp>font </samp>
-	 *            attribute.
-	 * @param font
-	 *            an object of the type <samp>Font </samp> or <samp>null</samp>
-	 *            if the key needs to be cleared.
-	 */
-	public void setFont(String key, Font font) {
-		String fullKey = "f." + key; //$NON-NLS-1$
-		if (font == null)
-			resourceTable.remove(fullKey);
-		else
-			resourceTable.put(fullKey, font);
-		model.clearCache(fullKey);
-	}
-
-	/**
-	 * Registers the control referenced by the provided key.
-	 * <p>
-	 * For <samp>control</samp> tags, an object of a type <samp>Control</samp>
-	 * must be registered using the key equivalent to the value of the
-	 * <samp>control</samp> attribute.
-	 * 
-	 * @param key
-	 *            unique key that matches the value of the <samp>control</samp>
-	 *            attribute.
-	 * @param control
-	 *            an object of the type <samp>Control</samp> or <samp>null</samp>
-	 *            if the existing control at the specified key needs to be
-	 *            removed.
-	 * @since 3.1
-	 */
-	public void setControl(String key, Control control) {
-		String fullKey = "o." + key; //$NON-NLS-1$
-		if (control == null)
-			resourceTable.remove(fullKey);
-		else
-			resourceTable.put(fullKey, control);
-	}
-
-	/**
-	 * Sets the font to use to render the default text (text that does not have
-	 * special font property assigned). Bold font will be constructed from this
-	 * font.
-	 * 
-	 * @param font
-	 *            the default font to use
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		model.clearCache(null);
-		Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID);
-		if (boldFont != null) {
-			boldFont.dispose();
-			resourceTable.remove(FormTextModel.BOLD_FONT_ID);
-		}
-		ensureBoldFontPresent(getFont());
-	}
-
-	/**
-	 * Sets the provided text. Text can be rendered as-is, or by parsing the
-	 * formatting tags. Optionally, sections of text starting with http:// will
-	 * be converted to hyperlinks.
-	 * 
-	 * @param text
-	 *            the text to render
-	 * @param parseTags
-	 *            if <samp>true </samp>, formatting tags will be parsed.
-	 *            Otherwise, text will be rendered as-is.
-	 * @param expandURLs
-	 *            if <samp>true </samp>, URLs found in the untagged text will be
-	 *            converted into hyperlinks.
-	 */
-	public void setText(String text, boolean parseTags, boolean expandURLs) {
-		disposeResourceTable(false);
-		entered = null;
-		if (parseTags)
-			model.parseTaggedText(text, expandURLs);
-		else
-			model.parseRegularText(text, expandURLs);
-		hookControlSegmentFocus();
-		layout();
-		redraw();
-	}
-
-	/**
-	 * Sets the contents of the stream. Optionally, URLs in untagged text can be
-	 * converted into hyperlinks. The caller is responsible for closing the
-	 * stream.
-	 * 
-	 * @param is
-	 *            stream to render
-	 * @param expandURLs
-	 *            if <samp>true </samp>, URLs found in untagged text will be
-	 *            converted into hyperlinks.
-	 */
-	public void setContents(InputStream is, boolean expandURLs) {
-		entered = null;
-		disposeResourceTable(false);
-		model.parseInputStream(is, expandURLs);
-		hookControlSegmentFocus();
-		layout();
-		redraw();
-	}
-
-	private void hookControlSegmentFocus() {
-		Paragraph[] paragraphs = model.getParagraphs();
-		if (paragraphs == null)
-			return;
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.type) {
-				case SWT.FocusIn:
-					if (!controlFocusTransfer)
-						syncControlSegmentFocus((Control) e.widget);
-					break;
-				case SWT.Traverse:
-					if (DEBUG_FOCUS)
-						System.out.println("Control traversal: " + e); //$NON-NLS-1$
-					switch (e.detail) {
-					case SWT.TRAVERSE_PAGE_NEXT:
-					case SWT.TRAVERSE_PAGE_PREVIOUS:
-					case SWT.TRAVERSE_ARROW_NEXT:
-					case SWT.TRAVERSE_ARROW_PREVIOUS:
-						e.doit = false;
-						return;
-					}
-					Control c = (Control) e.widget;
-					ControlSegment segment = (ControlSegment) c
-							.getData(CONTROL_KEY);
-					if (e.detail == SWT.TRAVERSE_TAB_NEXT)
-						e.doit = advanceControl(c, segment, true);
-					else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
-						e.doit = advanceControl(c, segment, false);
-					if (!e.doit)
-						e.detail = SWT.TRAVERSE_NONE;
-					break;
-				}
-			}
-		};
-		for (int i = 0; i < paragraphs.length; i++) {
-			Paragraph p = paragraphs[i];
-			ParagraphSegment[] segments = p.getSegments();
-			for (int j = 0; j < segments.length; j++) {
-				if (segments[j] instanceof ControlSegment) {
-					ControlSegment cs = (ControlSegment) segments[j];
-					Control c = cs.getControl(resourceTable);
-					if (c != null) {
-						if (c.getData(CONTROL_KEY) == null) {
-							// first time - hook
-							c.setData(CONTROL_KEY, cs);
-							attachTraverseListener(c, listener);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private void attachTraverseListener(Control c, Listener listener) {
-		if (c instanceof Composite) {
-			Composite parent = (Composite) c;
-			Control[] children = parent.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				attachTraverseListener(children[i], listener);
-			}
-			if (c instanceof Canvas) {
-				// If Canvas, the control iteself can accept
-				// traverse events and should be monitored
-				c.addListener(SWT.Traverse, listener);
-				c.addListener(SWT.FocusIn, listener);
-			}
-		} else {
-			c.addListener(SWT.Traverse, listener);
-			c.addListener(SWT.FocusIn, listener);
-		}
-	}
-
-	/**
-	 * If we click on the control randomly, our internal book-keeping will be
-	 * off. We need to update the model and mark the control segment and
-	 * currently selected. Hyperlink that may have had focus must also be
-	 * exited.
-	 * 
-	 * @param control
-	 *            the control that got focus
-	 */
-	private void syncControlSegmentFocus(Control control) {
-		ControlSegment cs = null;
-
-		while (control != null) {
-			cs = (ControlSegment) control.getData(CONTROL_KEY);
-			if (cs != null)
-				break;
-			control = control.getParent();
-		}
-		if (cs == null)
-			return;
-		IFocusSelectable current = model.getSelectedSegment();
-		// If the model and the control match, all is well
-		if (current == cs)
-			return;
-		IHyperlinkSegment oldLink = null;
-		if (current != null && current instanceof IHyperlinkSegment) {
-			oldLink = (IHyperlinkSegment) current;
-			exitLink(oldLink, SWT.NULL);
-		}
-		if (DEBUG_FOCUS)
-			System.out.println("Sync control: " + cs + ", oldLink=" + oldLink); //$NON-NLS-1$ //$NON-NLS-2$
-		model.select(cs);
-		if (oldLink != null)
-			paintFocusTransfer(oldLink, null);
-		// getAccessible().setFocus(model.getSelectedSegmentIndex());
-	}
-
-	private boolean advanceControl(Control c, ControlSegment segment,
-			boolean next) {
-		Composite parent = c.getParent();
-		if (parent == this) {
-			// segment-level control
-			IFocusSelectable nextSegment = model.getNextFocusSegment(next);
-			if (nextSegment != null) {
-				controlFocusTransfer = true;
-				super.forceFocus();
-				controlFocusTransfer = false;
-				model.select(segment);
-				return advance(next);
-			}
-			// nowhere to go
-			return setFocusToNextSibling(this, next);
-		}
-		if (setFocusToNextSibling(c, next))
-			return true;
-		// still here - must go one level up
-		segment = (ControlSegment) parent.getData(CONTROL_KEY);
-		return advanceControl(parent, segment, next);
-	}
-
-	private boolean setFocusToNextSibling(Control c, boolean next) {
-		Composite parent = c.getParent();
-		Control[] children = parent.getTabList();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-			if (child == c) {
-				// here
-				if (next) {
-					for (int j = i + 1; j < children.length; j++) {
-						Control nc = children[j];
-						if (nc.setFocus())
-							return false;
-					}
-				} else {
-					for (int j = i - 1; j >= 0; j--) {
-						Control pc = children[j];
-						if (pc.setFocus())
-							return false;
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Controls whether whitespace inside paragraph and list items is
-	 * normalized. Note that the new value will not affect the current text in
-	 * the control, only subsequent calls to <code>setText</code> or
-	 * <code>setContents</code>.
-	 * <p>
-	 * If normalized:
-	 * <ul>
-	 * <li>all white space characters will be condensed into at most one when
-	 * between words.</li>
-	 * <li>new line characters will be ignored and replaced with one white
-	 * space character</li>
-	 * <li>white space characters after the opening tags and before the closing
-	 * tags will be trimmed</li>
-	 * 
-	 * @param value
-	 *            <code>true</code> if whitespace is normalized,
-	 *            <code>false</code> otherwise.
-	 */
-	public void setWhitespaceNormalized(boolean value) {
-		model.setWhitespaceNormalized(value);
-	}
-
-	/**
-	 * Tests whether whitespace inside paragraph and list item is normalized.
-	 * 
-	 * @see #setWhitespaceNormalized(boolean)
-	 * @return <code>true</code> if whitespace is normalized,
-	 *         <code>false</code> otherwise.
-	 */
-	public boolean isWhitespaceNormalized() {
-		return model.isWhitespaceNormalized();
-	}
-
-	/**
-	 * Disposes the internal menu if created and sets the menu provided as a
-	 * parameter.
-	 * 
-	 * @param menu
-	 *            the menu to associate with this text control
-	 */
-	public void setMenu(Menu menu) {
-		Menu currentMenu = super.getMenu();
-		if (currentMenu != null && INTERNAL_MENU.equals(currentMenu.getData())) {
-			// internal menu set
-			if (menu != null) {
-				currentMenu.dispose();
-				super.setMenu(menu);
-			}
-		} else
-			super.setMenu(menu);
-	}
-
-	private void createMenu() {
-		Menu menu = new Menu(this);
-		final MenuItem copyItem = new MenuItem(menu, SWT.PUSH);
-		copyItem.setText(Messages.FormText_copy);
-
-		SelectionListener listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (e.widget == copyItem) {
-					copy();
-				}
-			}
-		};
-		copyItem.addSelectionListener(listener);
-		menu.addMenuListener(new MenuListener() {
-			public void menuShown(MenuEvent e) {
-				copyItem.setEnabled(canCopy());
-			}
-
-			public void menuHidden(MenuEvent e) {
-			}
-		});
-		menu.setData(INTERNAL_MENU);
-		super.setMenu(menu);
-	}
-
-	/**
-	 * Returns the hyperlink settings that are in effect for this control.
-	 * 
-	 * @return current hyperlinks settings
-	 */
-	public HyperlinkSettings getHyperlinkSettings() {
-		return model.getHyperlinkSettings();
-	}
-
-	/**
-	 * Sets the hyperlink settings to be used for this control. Settings will
-	 * affect things like hyperlink color, rendering style, cursor etc.
-	 * 
-	 * @param settings
-	 *            hyperlink settings for this control
-	 */
-	public void setHyperlinkSettings(HyperlinkSettings settings) {
-		model.setHyperlinkSettings(settings);
-	}
-
-	/**
-	 * Adds a listener that will handle hyperlink events.
-	 * 
-	 * @param listener
-	 *            the listener to add
-	 */
-	public void addHyperlinkListener(IHyperlinkListener listener) {
-		if (listeners == null)
-			listeners = new Vector();
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-	}
-
-	/**
-	 * Removes the hyperlink listener.
-	 * 
-	 * @param listener
-	 *            the listener to remove
-	 */
-	public void removeHyperlinkListener(IHyperlinkListener listener) {
-		if (listeners == null)
-			return;
-		listeners.remove(listener);
-	}
-
-	/**
-	 * Adds a selection listener. A Selection event is sent by the widget when
-	 * the selection has changed.
-	 * <p>
-	 * <code>widgetDefaultSelected</code> is not called for FormText.
-	 * </p>
-	 * 
-	 * @param listener
-	 *            the listener
-	 * @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>
-	 * @exception IllegalArgumentException
-	 *                <ul>
-	 *                <li>ERROR_NULL_ARGUMENT when listener is null</li>
-	 *                </ul>
-	 * @since 3.1
-	 */
-	public void addSelectionListener(SelectionListener listener) {
-		checkWidget();
-		if (listener == null) {
-			SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		}
-		TypedListener typedListener = new TypedListener(listener);
-		addListener(SWT.Selection, typedListener);
-	}
-
-	/**
-	 * Removes the specified selection listener.
-	 * <p>
-	 * 
-	 * @param listener
-	 *            the listener
-	 * @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>
-	 * @exception IllegalArgumentException
-	 *                <ul>
-	 *                <li>ERROR_NULL_ARGUMENT when listener is null</li>
-	 *                </ul>
-	 * @since 3.1
-	 */
-	public void removeSelectionListener(SelectionListener listener) {
-		checkWidget();
-		if (listener == null) {
-			SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		}
-		removeListener(SWT.Selection, listener);
-	}
-
-	/**
-	 * Returns the selected text.
-	 * <p>
-	 * 
-	 * @return selected text, or an empty String if there is no selection.
-	 * @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>
-	 * @since 3.1
-	 */
-
-	public String getSelectionText() {
-		checkWidget();
-		if (selData != null)
-			return selData.getSelectionText();
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Tests if the text is selected and can be copied into the clipboard.
-	 * 
-	 * @return <code>true</code> if the selected text can be copied into the
-	 *         clipboard, <code>false</code> otherwise.
-	 * @since 3.1
-	 */
-	public boolean canCopy() {
-		return selData != null && selData.canCopy();
-	}
-
-	/**
-	 * Copies the selected text into the clipboard. Does nothing if no text is
-	 * selected or the text cannot be copied for any other reason.
-	 * 
-	 * @since 3.1
-	 */
-
-	public void copy() {
-		if (!canCopy())
-			return;
-		Clipboard clipboard = new Clipboard(getDisplay());
-		Object[] o = new Object[] { getSelectionText() };
-		Transfer[] t = new Transfer[] { TextTransfer.getInstance() };
-		clipboard.setContents(o, t);
-		clipboard.dispose();
-	}
-
-	/**
-	 * Returns the reference of the hyperlink that currently has keyboard focus,
-	 * or <code>null</code> if there are no hyperlinks in the receiver or no
-	 * hyperlink has focus at the moment.
-	 * 
-	 * @return href of the selected hyperlink or <code>null</code> if none
-	 *         selected.
-	 * @since 3.1
-	 */
-	public Object getSelectedLinkHref() {
-		IHyperlinkSegment link = getSelectedLink();
-		return link != null ? link.getHref() : null;
-	}
-
-	/**
-	 * Returns the text of the hyperlink that currently has keyboard focus, or
-	 * <code>null</code> if there are no hyperlinks in the receiver or no
-	 * hyperlink has focus at the moment.
-	 * 
-	 * @return text of the selected hyperlink or <code>null</code> if none
-	 *         selected.
-	 * @since 3.1
-	 */
-	public String getSelectedLinkText() {
-		IHyperlinkSegment link = getSelectedLink();
-		return link != null ? link.getText() : null;
-	}
-
-	private IHyperlinkSegment getSelectedLink() {
-		IFocusSelectable segment = model.getSelectedSegment();
-		if (segment != null && segment instanceof IHyperlinkSegment)
-			return (IHyperlinkSegment) segment;
-		return null;
-	}
-
-	private void initAccessible() {
-		Accessible accessible = getAccessible();
-		accessible.addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				if (e.childID == ACC.CHILDID_SELF)
-					e.result = model.getAccessibleText();
-				else {
-					int linkCount = model.getHyperlinkCount();
-					if (e.childID >= 0 && e.childID < linkCount) {
-						IHyperlinkSegment link = model.getHyperlink(e.childID);
-						e.result = link.getText();
-					}
-				}
-			}
-
-			public void getHelp(AccessibleEvent e) {
-				e.result = getToolTipText();
-				int linkCount = model.getHyperlinkCount();
-				if (e.result == null && e.childID >= 0 && e.childID < linkCount) {
-					IHyperlinkSegment link = model.getHyperlink(e.childID);
-					e.result = link.getText();
-				}
-			}
-		});
-		accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-			public void getChildAtPoint(AccessibleControlEvent e) {
-				Point pt = toControl(new Point(e.x, e.y));
-				IHyperlinkSegment link = model.findHyperlinkAt(pt.x, pt.y);
-				if (link != null)
-					e.childID = model.indexOf(link);
-				else
-					e.childID = ACC.CHILDID_SELF;
-			}
-
-			public void getLocation(AccessibleControlEvent e) {
-				Rectangle location = null;
-				if (e.childID != ACC.CHILDID_SELF
-						&& e.childID != ACC.CHILDID_NONE) {
-					int index = e.childID;
-					IHyperlinkSegment link = model.getHyperlink(index);
-					if (link != null) {
-						location = link.getBounds();
-					}
-				}
-				if (location == null) {
-					location = getBounds();
-				}
-				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 getFocus(AccessibleControlEvent e) {
-				int childID = ACC.CHILDID_NONE;
-
-				if (isFocusControl()) {
-					int selectedIndex = model.getSelectedSegmentIndex();
-					if (selectedIndex == -1) {
-						childID = ACC.CHILDID_SELF;
-					} else {
-						childID = selectedIndex;
-					}
-				}
-				e.childID = childID;
-			}
-
-			public void getChildCount(AccessibleControlEvent e) {
-				e.detail = model.getHyperlinkCount();
-			}
-
-			public void getRole(AccessibleControlEvent e) {
-				int role = 0;
-				int childID = e.childID;
-				int linkCount = model.getHyperlinkCount();
-				if (childID == ACC.CHILDID_SELF) {
-					role = ACC.ROLE_TEXT;
-				} else if (childID >= 0 && childID < linkCount) {
-					role = ACC.ROLE_LINK;
-				}
-				e.detail = role;
-			}
-
-			public void getSelection(AccessibleControlEvent e) {
-				int selectedIndex = model.getSelectedSegmentIndex();
-				e.childID = (selectedIndex == -1) ? ACC.CHILDID_NONE
-						: selectedIndex;
-			}
-
-			public void getState(AccessibleControlEvent e) {
-				int linkCount = model.getHyperlinkCount();
-				int selectedIndex = model.getSelectedSegmentIndex();
-				int state = 0;
-				int childID = e.childID;
-				if (childID == ACC.CHILDID_SELF) {
-					state = ACC.STATE_NORMAL;
-				} else if (childID >= 0 && childID < linkCount) {
-					state = ACC.STATE_SELECTABLE;
-					if (isFocusControl()) {
-						state |= ACC.STATE_FOCUSABLE;
-					}
-					if (selectedIndex == childID) {
-						state |= ACC.STATE_SELECTED;
-						if (isFocusControl()) {
-							state |= ACC.STATE_FOCUSED;
-						}
-					}
-				}
-				state |= ACC.STATE_READONLY;
-				e.detail = state;
-			}
-
-			public void getChildren(AccessibleControlEvent e) {
-				int linkCount = model.getHyperlinkCount();
-				Object[] children = new Object[linkCount];
-				for (int i = 0; i < linkCount; i++) {
-					children[i] = new Integer(i);
-				}
-				e.children = children;
-			}
-
-			public void getValue(AccessibleControlEvent e) {
-				// e.result = model.getAccessibleText();
-			}
-		});
-	}
-
-	private void startSelection(MouseEvent e) {
-		inSelection = true;
-		selData = new SelectionData(e);
-		redraw();
-		Form form = FormUtil.getForm(this);
-		if (form != null)
-			form.setSelectionText(this);
-	}
-
-	private void endSelection(MouseEvent e) {
-		inSelection = false;
-		if (selData != null) {
-			if (!selData.isEnclosed())
-				selData = null;
-			else
-				computeSelection();
-		}
-		notifySelectionChanged();
-	}
-
-	private void computeSelection() {
-		GC gc = new GC(this);
-		Paragraph[] paragraphs = model.getParagraphs();
-		IHyperlinkSegment selectedLink = getSelectedLink();
-		if (getDisplay().getFocusControl() != this)
-			selectedLink = null;
-		for (int i = 0; i < paragraphs.length; i++) {
-			Paragraph p = paragraphs[i];
-			if (i > 0)
-				selData.markNewLine();
-			p.computeSelection(gc, resourceTable, selectedLink, selData);
-		}
-		gc.dispose();
-	}
-
-	void clearSelection() {
-		selData = null;
-		if (!isDisposed()) {
-			redraw();
-			notifySelectionChanged();
-		}
-	}
-
-	private void notifySelectionChanged() {
-		Event event = new Event();
-		event.widget = this;
-		event.display = this.getDisplay();
-		event.type = SWT.Selection;
-		notifyListeners(SWT.Selection, event);
-		getAccessible().selectionChanged();
-	}
-
-	private void handleDrag(MouseEvent e) {
-		if (selData != null) {
-			ScrolledComposite scomp = FormUtil.getScrolledComposite(this);
-			if (scomp != null) {
-				FormUtil.ensureVisible(scomp, this, e);
-			}
-			selData.update(e);
-			redraw();
-		}
-	}
-
-	private void handleMouseClick(MouseEvent e, boolean down) {
-		if (DEBUG_FOCUS)
-			System.out.println("FormText: mouse click(" + down + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (down) {
-			// select a hyperlink
-			mouseFocus = true;
-			IHyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);
-			if (segmentUnder != null) {
-				IHyperlinkSegment oldLink = getSelectedLink();
-				if (getDisplay().getFocusControl() != this) {
-					setFocus();
-				}
-				model.selectLink(segmentUnder);
-				enterLink(segmentUnder, e.stateMask);
-				paintFocusTransfer(oldLink, segmentUnder);
-			}
-			if (e.button == 1)
-				startSelection(e);
-			else {
-			}
-		} else {
-			if (e.button == 1) {
-				endSelection(e);
-				IHyperlinkSegment segmentUnder = model
-						.findHyperlinkAt(e.x, e.y);
-				if (segmentUnder != null && selData == null) {
-					activateLink(segmentUnder, e.stateMask);
-				}
-			}
-			mouseFocus = false;
-		}
-	}
-
-	private void handleMouseHover(MouseEvent e) {
-	}
-
-	private void updateTooltipText(ParagraphSegment segment) {
-		String tooltipText = null;
-		if (segment != null) {
-			tooltipText = segment.getTooltipText();
-		}
-		String currentTooltipText = getToolTipText();
-
-		if ((currentTooltipText != null && tooltipText == null)
-				|| (currentTooltipText == null && tooltipText != null))
-			setToolTipText(tooltipText);
-	}
-
-	private void handleMouseMove(MouseEvent e) {
-		if (inSelection) {
-			handleDrag(e);
-			return;
-		}
-		ParagraphSegment segmentUnder = model.findSegmentAt(e.x, e.y);
-		updateTooltipText(segmentUnder);
-		if (segmentUnder == null) {
-			if (entered != null) {
-				exitLink(entered, e.stateMask);
-				paintLinkHover(entered, false);
-				entered = null;
-			}
-			setCursor(null);
-		} else {
-			if (segmentUnder instanceof IHyperlinkSegment) {
-				IHyperlinkSegment linkUnder = (IHyperlinkSegment) segmentUnder;
-				if (entered == null) {
-					entered = linkUnder;
-					enterLink(linkUnder, e.stateMask);
-					paintLinkHover(entered, true);
-					setCursor(model.getHyperlinkSettings().getHyperlinkCursor());
-				}
-			} else {
-				if (entered != null) {
-					exitLink(entered, e.stateMask);
-					paintLinkHover(entered, false);
-					entered = null;
-				}
-				if (segmentUnder instanceof TextSegment)
-					setCursor(model.getHyperlinkSettings().getTextCursor());
-				else
-					setCursor(null);
-			}
-		}
-	}
-
-	private boolean advance(boolean next) {
-		if (DEBUG_FOCUS)
-			System.out.println("Advance: next=" + next); //$NON-NLS-1$
-		IFocusSelectable current = model.getSelectedSegment();
-		if (current != null && current instanceof IHyperlinkSegment)
-			exitLink((IHyperlinkSegment) current, SWT.NULL);
-		IFocusSelectable newSegment = null;
-		boolean valid = false;
-		// get the next segment that can accept focus. Links
-		// can always accept focus but controls may not
-		while (!valid) {
-			if (!model.traverseFocusSelectableObjects(next))
-				break;
-			newSegment = model.getSelectedSegment();
-			if (newSegment == null)
-				break;
-			valid = setControlFocus(next, newSegment);
-		}
-		IHyperlinkSegment newLink = newSegment instanceof IHyperlinkSegment ? (IHyperlinkSegment) newSegment
-				: null;
-		if (valid)
-			enterLink(newLink, SWT.NULL);
-		IHyperlinkSegment oldLink = current instanceof IHyperlinkSegment ? (IHyperlinkSegment) current
-				: null;
-		if (oldLink != null || newLink != null)
-			paintFocusTransfer(oldLink, newLink);
-		if (newLink != null)
-			ensureVisible(newLink);
-		if (newLink != null)
-			getAccessible().setFocus(model.getSelectedSegmentIndex());
-		return !valid;
-	}
-
-	private boolean setControlFocus(boolean next, IFocusSelectable selectable) {
-		controlFocusTransfer = true;
-		boolean result = selectable.setFocus(resourceTable, next);
-		controlFocusTransfer = false;
-		return result;
-	}
-
-	private void handleFocusChange() {
-		if (DEBUG_FOCUS) {
-			System.out.println("Handle focus change: hasFocus=" + hasFocus //$NON-NLS-1$
-					+ ", mouseFocus=" + mouseFocus); //$NON-NLS-1$
-		}
-		if (hasFocus) {
-			boolean advance = true;
-			if (!mouseFocus) {
-				// if (model.restoreSavedLink() == false)
-				boolean valid = false;
-				IFocusSelectable selectable = null;
-				while (!valid) {
-					if (!model.traverseFocusSelectableObjects(advance))
-						break;
-					selectable = model.getSelectedSegment();
-					if (selectable == null)
-						break;
-					valid = setControlFocus(advance, selectable);
-				}
-				if (selectable != null)
-					ensureVisible(selectable);
-				if (selectable instanceof IHyperlinkSegment) {
-					enterLink((IHyperlinkSegment) selectable, SWT.NULL);
-					paintFocusTransfer(null, (IHyperlinkSegment) selectable);
-				}
-			}
-		} else {
-			paintFocusTransfer(getSelectedLink(), null);
-			model.selectLink(null);
-		}
-	}
-
-	private void enterLink(IHyperlinkSegment link, int stateMask) {
-		if (link == null || listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, link.getHref(), link
-				.getText(), stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkEntered(he);
-		}
-	}
-
-	private void exitLink(IHyperlinkSegment link, int stateMask) {
-		if (link == null || listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, link.getHref(), link
-				.getText(), stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkExited(he);
-		}
-	}
-
-	private void paintLinkHover(IHyperlinkSegment link, boolean hover) {
-		GC gc = new GC(this);
-		HyperlinkSettings settings = getHyperlinkSettings();
-		Color newFg = hover ? settings.getActiveForeground() : settings
-				.getForeground();
-		if (newFg != null)
-			gc.setForeground(newFg);
-		gc.setBackground(getBackground());
-		gc.setFont(getFont());
-		boolean selected = (link == getSelectedLink());
-		((ParagraphSegment) link).paint(gc, hover, resourceTable, selected,
-				selData, null);
-		gc.dispose();
-	}
-
-	private void activateSelectedLink() {
-		IHyperlinkSegment link = getSelectedLink();
-		if (link != null)
-			activateLink(link, SWT.NULL);
-	}
-
-	private void activateLink(IHyperlinkSegment link, int stateMask) {
-		setCursor(model.getHyperlinkSettings().getBusyCursor());
-		if (listeners != null) {
-			int size = listeners.size();
-			HyperlinkEvent e = new HyperlinkEvent(this, link.getHref(), link
-					.getText(), stateMask);
-			for (int i = 0; i < size; i++) {
-				IHyperlinkListener listener = (IHyperlinkListener) listeners
-						.get(i);
-				listener.linkActivated(e);
-			}
-		}
-		if (!isDisposed() && model.linkExists(link)) {
-			setCursor(model.getHyperlinkSettings().getHyperlinkCursor());
-		}
-	}
-
-	private void ensureBoldFontPresent(Font regularFont) {
-		Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID);
-		if (boldFont != null)
-			return;
-		boldFont = FormUtil.createBoldFont(getDisplay(), regularFont);
-		resourceTable.put(FormTextModel.BOLD_FONT_ID, boldFont);
-	}
-
-	private void paint(PaintEvent e) {
-		GC gc = e.gc;
-		gc.setFont(getFont());
-		ensureBoldFontPresent(getFont());
-		gc.setForeground(getForeground());
-		gc.setBackground(getBackground());
-		repaint(gc, e.x, e.y, e.width, e.height);
-	}
-
-	private void repaint(GC gc, int x, int y, int width, int height) {
-		Image textBuffer = new Image(getDisplay(), width, height);
-		Color bg = getBackground();
-		Color fg = getForeground();
-		if (!isEnabled()) {
-			bg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-			fg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		}
-		GC textGC = new GC(textBuffer, gc.getStyle());
-		textGC.setForeground(fg);
-		textGC.setBackground(bg);
-		textGC.setFont(getFont());
-		textGC.fillRectangle(0, 0, width, height);
-		Rectangle repaintRegion = new Rectangle(x, y, width, height);
-
-		Paragraph[] paragraphs = model.getParagraphs();
-		IHyperlinkSegment selectedLink = getSelectedLink();
-		if (getDisplay().getFocusControl() != this)
-			selectedLink = null;
-		for (int i = 0; i < paragraphs.length; i++) {
-			Paragraph p = paragraphs[i];
-			p
-					.paint(textGC, repaintRegion, resourceTable, selectedLink,
-							selData);
-		}
-		gc.drawImage(textBuffer, x, y);
-		textGC.dispose();
-		textBuffer.dispose();
-	}
-
-	private int getParagraphSpacing(int lineHeight) {
-		return lineHeight / 2;
-	}
-
-	private void paintFocusTransfer(IHyperlinkSegment oldLink,
-			IHyperlinkSegment newLink) {
-		GC gc = new GC(this);
-		Color bg = getBackground();
-		Color fg = getForeground();
-		gc.setFont(getFont());
-		if (oldLink != null) {
-			gc.setBackground(bg);
-			gc.setForeground(fg);
-			oldLink.paintFocus(gc, bg, fg, false, null);
-		}
-		if (newLink != null) {
-			// ensureVisible(newLink);
-			gc.setBackground(bg);
-			gc.setForeground(fg);
-			newLink.paintFocus(gc, bg, fg, true, null);
-		}
-		gc.dispose();
-	}
-
-	private void ensureVisible(IFocusSelectable segment) {
-		if (mouseFocus) {
-			mouseFocus = false;
-			return;
-		}
-		if (segment == null)
-			return;
-		Rectangle bounds = segment.getBounds();
-		ScrolledComposite scomp = FormUtil.getScrolledComposite(this);
-		if (scomp == null)
-			return;
-		Point origin = FormUtil.getControlLocation(scomp, this);
-		origin.x += bounds.x;
-		origin.y += bounds.y;
-		FormUtil.ensureVisible(scomp, origin, new Point(bounds.width,
-				bounds.height));
-	}
-
-	/**
-	 * Overrides the method by fully trusting the layout manager (computed width
-	 * or height may be larger than the provider width or height hints). Callers
-	 * should be prepared that the computed width is larger than the provided
-	 * wHint.
-	 * 
-	 * @see org.eclipse.swt.widgets.Composite#computeSize(int, int, boolean)
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		Point size;
-		FormTextLayout layout = (FormTextLayout) getLayout();
-		if (wHint == SWT.DEFAULT || hHint == SWT.DEFAULT) {
-			size = layout.computeSize(this, wHint, hHint, changed);
-		} else {
-			size = new Point(wHint, hHint);
-		}
-		Rectangle trim = computeTrim(0, 0, size.x, size.y);
-		if (DEBUG_TEXTSIZE)
-			System.out.println("FormText Computed size: "+trim); //$NON-NLS-1$
-		return new Point(trim.width, trim.height);
-	}
-
-	private void disposeResourceTable(boolean disposeBoldFont) {
-		if (disposeBoldFont) {
-			Font boldFont = (Font) resourceTable
-					.get(FormTextModel.BOLD_FONT_ID);
-			if (boldFont != null) {
-				boldFont.dispose();
-				resourceTable.remove(FormTextModel.BOLD_FONT_ID);
-			}
-		}
-		ArrayList imagesToRemove = new ArrayList();
-		for (Enumeration enm = resourceTable.keys(); enm.hasMoreElements();) {
-			String key = (String) enm.nextElement();
-			if (key.startsWith(ImageSegment.SEL_IMAGE_PREFIX)) {
-				Object obj = resourceTable.get(key);
-				if (obj instanceof Image) {
-					Image image = (Image) obj;
-					if (!image.isDisposed()) {
-						image.dispose();
-						imagesToRemove.add(key);
-					}
-				}
-			}
-		}
-		for (int i = 0; i < imagesToRemove.size(); i++) {
-			resourceTable.remove(imagesToRemove.get(i));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		redraw();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Control#setFocus()
-	 */
-	public boolean setFocus() {
-		mouseFocus = true;
-		FormUtil.setFocusScrollingEnabled(this, false);
-		boolean result = super.setFocus();
-		mouseFocus = false;
-		FormUtil.setFocusScrollingEnabled(this, true);
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java
deleted file mode 100644
index 6cd08b7..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java
+++ /dev/null
@@ -1,840 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Michael Williamson (eclipse-bugs@magnaworks.com) - patch (see Bugzilla #92545) 
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.io.File;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * The toolkit is responsible for creating SWT controls adapted to work in
- * Eclipse forms. In addition to changing their presentation properties (fonts,
- * colors etc.), various listeners are attached to make them behave correctly in
- * the form context.
- * <p>
- * In addition to being the control factory, the toolkit is also responsible for
- * painting flat borders for select controls, managing hyperlink groups and
- * control colors.
- * <p>
- * The toolkit creates some of the most common controls used to populate Eclipse
- * forms. Controls that must be created using their constructors,
- * <code>adapt()</code> method is available to change its properties in the
- * same way as with the supported toolkit controls.
- * <p>
- * Typically, one toolkit object is created per workbench part (for example, an
- * editor or a form wizard). The toolkit is disposed when the part is disposed.
- * To conserve resources, it is possible to create one color object for the
- * entire plug-in and share it between several toolkits. The plug-in is
- * responsible for disposing the colors (disposing the toolkit that uses shared
- * color object will not dispose the colors).
- * <p>
- * FormToolkit is normally instantiated, but can also be subclassed if some of
- * the methods needs to be modified. In those cases, <code>super</code> must
- * be called to preserve normal behaviour.
- * 
- * @since 3.0
- */
-public class FormToolkit {
-	public static final String KEY_DRAW_BORDER = "FormWidgetFactory.drawBorder"; //$NON-NLS-1$
-
-	public static final String TREE_BORDER = "treeBorder"; //$NON-NLS-1$
-
-	public static final String TEXT_BORDER = "textBorder"; //$NON-NLS-1$
-
-	private int borderStyle = SWT.NULL;
-
-	private FormColors colors;
-
-	private int orientation = Window.getDefaultOrientation();
-
-	// private KeyListener deleteListener;
-	private BorderPainter borderPainter;
-
-	private BoldFontHolder boldFontHolder;
-
-	private HyperlinkGroup hyperlinkGroup;
-
-	/* default */
-	VisibilityHandler visibilityHandler;
-
-	/* default */
-	KeyboardHandler keyboardHandler;
-
-	private class BorderPainter implements PaintListener {
-		public void paintControl(PaintEvent event) {
-			Composite composite = (Composite) event.widget;
-			Control[] children = composite.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				Control c = children[i];
-				boolean inactiveBorder = false;
-				boolean textBorder = false;
-				if (!c.isVisible())
-					continue;
-				if (c.getEnabled() == false && !(c instanceof CCombo))
-					continue;
-				if (c instanceof Hyperlink)
-					continue;
-				Object flag = c.getData(KEY_DRAW_BORDER);
-				if (flag != null) {
-					if (flag.equals(Boolean.FALSE))
-						continue;
-					if (flag.equals(TREE_BORDER))
-						inactiveBorder = true;
-					else if (flag.equals(TEXT_BORDER))
-						textBorder = true;
-				}
-				if (getBorderStyle() == SWT.BORDER) {
-					if (!inactiveBorder && !textBorder) {
-						continue;
-					}
-					if (c instanceof Text || c instanceof Table
-							|| c instanceof Tree || c instanceof TableTree)
-						continue;
-				}
-				if (!inactiveBorder
-						&& (c instanceof Text || c instanceof CCombo || textBorder)) {
-					Rectangle b = c.getBounds();
-					GC gc = event.gc;
-					gc.setForeground(c.getBackground());
-					gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1,
-							b.height + 1);
-					// gc.setForeground(getBorderStyle() == SWT.BORDER ? colors
-					// .getBorderColor() : colors.getForeground());
-					gc.setForeground(colors.getBorderColor());
-					if (c instanceof CCombo)
-						gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1,
-								b.height + 1);
-					else
-						gc.drawRectangle(b.x - 1, b.y - 2, b.width + 1,
-								b.height + 3);
-				} else if (inactiveBorder || c instanceof Table
-						|| c instanceof Tree || c instanceof TableTree) {
-					Rectangle b = c.getBounds();
-					GC gc = event.gc;
-					gc.setForeground(colors.getBorderColor());
-					gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1,
-							b.height + 1);
-				}
-			}
-		}
-	}
-
-	private static class VisibilityHandler extends FocusAdapter {
-		public void focusGained(FocusEvent e) {
-			Widget w = e.widget;
-			if (w instanceof Control) {
-				FormUtil.ensureVisible((Control) w);
-			}
-		}
-	}
-
-	private static class KeyboardHandler extends KeyAdapter {
-		public void keyPressed(KeyEvent e) {
-			Widget w = e.widget;
-			if (w instanceof Control) {
-				if (e.doit)
-					FormUtil.processKey(e.keyCode, (Control) w);
-			}
-		}
-	}
-
-	private class BoldFontHolder {
-		private Font normalFont;
-
-		private Font boldFont;
-
-		public BoldFontHolder() {
-		}
-
-		public Font getBoldFont(Font font) {
-			createBoldFont(font);
-			return boldFont;
-		}
-
-		private void createBoldFont(Font font) {
-			if (normalFont == null || !normalFont.equals(font)) {
-				normalFont = font;
-				dispose();
-			}
-			if (boldFont == null) {
-				boldFont = FormUtil.createBoldFont(colors.getDisplay(),
-						normalFont);
-			}
-		}
-
-		public void dispose() {
-			if (boldFont != null) {
-				boldFont.dispose();
-				boldFont = null;
-			}
-		}
-	}
-
-	/**
-	 * Creates a toolkit that is self-sufficient (will manage its own colors).
-	 * 
-	 */
-	public FormToolkit(Display display) {
-		this(new FormColors(display));
-	}
-
-	/**
-	 * Creates a toolkit that will use the provided (shared) colors. The toolkit
-	 * will <b>not </b> dispose the provided colors.
-	 * 
-	 * @param colors
-	 *            the shared colors
-	 */
-	public FormToolkit(FormColors colors) {
-		this.colors = colors;
-		initialize();
-	}
-
-	/**
-	 * Creates a button as a part of the form.
-	 * 
-	 * @param parent
-	 *            the button parent
-	 * @param text
-	 *            an optional text for the button (can be <code>null</code>)
-	 * @param style
-	 *            the button style (for example, <code>SWT.PUSH</code>)
-	 * @return the button widget
-	 */
-	public Button createButton(Composite parent, String text, int style) {
-		Button button = new Button(parent, style | SWT.FLAT | orientation);
-		if (text != null)
-			button.setText(text);
-		adapt(button, true, true);
-		return button;
-	}
-
-	/**
-	 * Creates the composite as a part of the form.
-	 * 
-	 * @param parent
-	 *            the composite parent
-	 * @return the composite widget
-	 */
-	public Composite createComposite(Composite parent) {
-		return createComposite(parent, SWT.NULL);
-	}
-
-	/**
-	 * Creates the composite as part of the form using the provided style.
-	 * 
-	 * @param parent
-	 *            the composite parent
-	 * @param style
-	 *            the composite style
-	 * @return the composite widget
-	 */
-	public Composite createComposite(Composite parent, int style) {
-		Composite composite = new LayoutComposite(parent, style | orientation);
-		adapt(composite);
-		return composite;
-	}
-
-	/**
-	 * Creats the composite that can server as a separator between various parts
-	 * of a form. Separator height should be controlled by setting the height
-	 * hint on the layout data for the composite.
-	 * 
-	 * @param parent
-	 *            the separator parent
-	 * @return the separator widget
-	 */
-	public Composite createCompositeSeparator(Composite parent) {
-		final Composite composite = new Composite(parent, orientation);
-		composite.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event e) {
-				if (composite.isDisposed())
-					return;
-				Rectangle bounds = composite.getBounds();
-				GC gc = e.gc;
-				gc.setForeground(colors.getColor(FormColors.SEPARATOR));
-				if (colors.getBackground() != null)
-					gc.setBackground(colors.getBackground());
-				gc.fillGradientRectangle(0, 0, bounds.width, bounds.height,
-						false);
-			}
-		});
-		if (parent instanceof Section)
-			((Section) parent).setSeparatorControl(composite);
-		return composite;
-	}
-
-	/**
-	 * Creates a label as a part of the form.
-	 * 
-	 * @param parent
-	 *            the label parent
-	 * @param text
-	 *            the label text
-	 * @return the label widget
-	 */
-	public Label createLabel(Composite parent, String text) {
-		return createLabel(parent, text, SWT.NONE);
-	}
-
-	/**
-	 * Creates a label as a part of the form.
-	 * 
-	 * @param parent
-	 *            the label parent
-	 * @param text
-	 *            the label text
-	 * @param style
-	 *            the label style
-	 * @return the label widget
-	 */
-	public Label createLabel(Composite parent, String text, int style) {
-		Label label = new Label(parent, style | orientation);
-		if (text != null)
-			label.setText(text);
-		adapt(label, false, false);
-		return label;
-	}
-
-	/**
-	 * Creates a hyperlink as a part of the form. The hyperlink will be added to
-	 * the hyperlink group that belongs to this toolkit.
-	 * 
-	 * @param parent
-	 *            the hyperlink parent
-	 * @param text
-	 *            the text of the hyperlink
-	 * @param style
-	 *            the hyperlink style
-	 * @return the hyperlink widget
-	 */
-	public Hyperlink createHyperlink(Composite parent, String text, int style) {
-		Hyperlink hyperlink = new Hyperlink(parent, style | orientation);
-		if (text != null)
-			hyperlink.setText(text);
-		hyperlink.addFocusListener(visibilityHandler);
-		hyperlink.addKeyListener(keyboardHandler);
-		hyperlinkGroup.add(hyperlink);
-		return hyperlink;
-	}
-
-	/**
-	 * Creates an image hyperlink as a part of the form. The hyperlink will be
-	 * added to the hyperlink group that belongs to this toolkit.
-	 * 
-	 * @param parent
-	 *            the hyperlink parent
-	 * @param style
-	 *            the hyperlink style
-	 * @return the image hyperlink widget
-	 */
-	public ImageHyperlink createImageHyperlink(Composite parent, int style) {
-		ImageHyperlink hyperlink = new ImageHyperlink(parent, style
-				| orientation);
-		hyperlink.addFocusListener(visibilityHandler);
-		hyperlink.addKeyListener(keyboardHandler);
-		hyperlinkGroup.add(hyperlink);
-		return hyperlink;
-	}
-
-	/**
-	 * Creates a rich text as a part of the form.
-	 * 
-	 * @param parent
-	 *            the rich text parent
-	 * @param trackFocus
-	 *            if <code>true</code>, the toolkit will monitor focus
-	 *            transfers to ensure that the hyperlink in focus is visible in
-	 *            the form.
-	 * @return the rich text widget
-	 */
-	public FormText createFormText(Composite parent, boolean trackFocus) {
-		FormText engine = new FormText(parent, SWT.WRAP | orientation);
-		engine.marginWidth = 1;
-		engine.marginHeight = 0;
-		engine.setHyperlinkSettings(getHyperlinkGroup());
-		adapt(engine, trackFocus, true);
-		engine.setMenu(parent.getMenu());
-		return engine;
-	}
-
-	/**
-	 * Adapts a control to be used in a form that is associated with this
-	 * toolkit. This involves adjusting colors and optionally adding handlers to
-	 * ensure focus tracking and keyboard management.
-	 * 
-	 * @param control
-	 *            a control to adapt
-	 * @param trackFocus
-	 *            if <code>true</code>, form will be scrolled horizontally
-	 *            and/or vertically if needed to ensure that the control is
-	 *            visible when it gains focus. Set it to <code>false</code> if
-	 *            the control is not capable of gaining focus.
-	 * @param trackKeyboard
-	 *            if <code>true</code>, the control that is capable of
-	 *            gaining focus will be tracked for certain keys that are
-	 *            important to the underlying form (for example, PageUp,
-	 *            PageDown, ScrollUp, ScrollDown etc.). Set it to
-	 *            <code>false</code> if the control is not capable of gaining
-	 *            focus or these particular key event are already used by the
-	 *            control.
-	 */
-	public void adapt(Control control, boolean trackFocus, boolean trackKeyboard) {
-		control.setBackground(colors.getBackground());
-		control.setForeground(colors.getForeground());
-		if (control instanceof ExpandableComposite) {
-			ExpandableComposite ec = (ExpandableComposite)control;
-			if (ec.toggle != null) {
-				if (trackFocus)
-					ec.toggle.addFocusListener(visibilityHandler);
-				if (trackKeyboard)
-					ec.toggle.addKeyListener(keyboardHandler);
-			}
-			if (ec.textLabel != null) {
-				if (trackFocus)
-					ec.textLabel.addFocusListener(visibilityHandler);
-				if (trackKeyboard)
-					ec.textLabel.addKeyListener(keyboardHandler);
-			}
-			return;
-		}
-		if (trackFocus)
-			control.addFocusListener(visibilityHandler);
-		if (trackKeyboard)
-			control.addKeyListener(keyboardHandler);
-	}
-	
-	/**
-	 * Adapts a composite to be used in a form associated with this toolkit.
-	 * 
-	 * @param composite
-	 *            the composite to adapt
-	 */
-	public void adapt(Composite composite) {
-		composite.setBackground(colors.getBackground());
-		composite.addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent e) {
-				((Control) e.widget).setFocus();
-			}
-		});
-		composite.setMenu(composite.getParent().getMenu());
-	}
-
-	/**
-	 * A helper method that ensures the provided control is visible when
-	 * ScrolledComposite is somewhere in the parent chain. If scroll bars are
-	 * visible and the control is clipped, the client of the scrolled composite
-	 * will be scrolled to reveal the control.
-	 * 
-	 * @param c
-	 *            the control to reveal
-	 */
-	public static void ensureVisible(Control c) {
-		FormUtil.ensureVisible(c);
-	}
-
-	/**
-	 * Creates a section as a part of the form.
-	 * 
-	 * @param parent
-	 *            the section parent
-	 * @param sectionStyle
-	 *            the section style
-	 * @return the section widget
-	 */
-	public Section createSection(Composite parent, int sectionStyle) {
-		Section section = new Section(parent, orientation, sectionStyle);
-		section.setMenu(parent.getMenu());
-		adapt(section, true, true);
-		if (section.toggle != null) {
-			section.toggle.setHoverDecorationColor(colors
-					.getColor(FormColors.TB_TOGGLE_HOVER));
-			section.toggle.setDecorationColor(colors
-					.getColor(FormColors.TB_TOGGLE));
-		}
-		section.setFont(boldFontHolder.getBoldFont(parent.getFont()));
-		if ((sectionStyle & Section.TITLE_BAR) != 0
-				|| (sectionStyle & Section.SHORT_TITLE_BAR) != 0) {
-			colors.initializeSectionToolBarColors();
-			section.setTitleBarBackground(colors.getColor(FormColors.TB_GBG));
-			section.setTitleBarBorderColor(colors
-					.getColor(FormColors.TB_BORDER));
-			section.setTitleBarGradientBackground(colors
-					.getColor(FormColors.TB_GBG));
-			section.setTitleBarForeground(colors.getColor(FormColors.TB_FG));
-		}
-		return section;
-	}
-
-	/**
-	 * Creates an expandable composite as a part of the form.
-	 * 
-	 * @param parent
-	 *            the expandable composite parent
-	 * @param expansionStyle
-	 *            the expandable composite style
-	 * @return the expandable composite widget
-	 */
-	public ExpandableComposite createExpandableComposite(Composite parent,
-			int expansionStyle) {
-		ExpandableComposite ec = new ExpandableComposite(parent, orientation,
-				expansionStyle);
-		ec.setMenu(parent.getMenu());
-		adapt(ec, true, true);
-		ec.setFont(boldFontHolder.getBoldFont(ec.getFont()));
-		return ec;
-	}
-
-	/**
-	 * Creates a separator label as a part of the form.
-	 * 
-	 * @param parent
-	 *            the separator parent
-	 * @param style
-	 *            the separator style
-	 * @return the separator label
-	 */
-	public Label createSeparator(Composite parent, int style) {
-		Label label = new Label(parent, SWT.SEPARATOR | style | orientation);
-		label.setBackground(colors.getBackground());
-		label.setForeground(colors.getBorderColor());
-		return label;
-	}
-
-	/**
-	 * Creates a table as a part of the form.
-	 * 
-	 * @param parent
-	 *            the table parent
-	 * @param style
-	 *            the table style
-	 * @return the table widget
-	 */
-	public Table createTable(Composite parent, int style) {
-		Table table = new Table(parent, style | borderStyle | orientation);
-		adapt(table, false, false);
-		// hookDeleteListener(table);
-		return table;
-	}
-
-	/**
-	 * Creates a text as a part of the form.
-	 * 
-	 * @param parent
-	 *            the text parent
-	 * @param value
-	 *            the text initial value
-	 * @return the text widget
-	 */
-	public Text createText(Composite parent, String value) {
-		return createText(parent, value, SWT.SINGLE);
-	}
-
-	/**
-	 * Creates a text as a part of the form.
-	 * 
-	 * @param parent
-	 *            the text parent
-	 * @param value
-	 *            the text initial value
-	 * @param style
-	 *            the text style
-	 * @return the text widget
-	 */
-	public Text createText(Composite parent, String value, int style) {
-		Text text = new Text(parent, borderStyle | style | orientation);
-		if (value != null)
-			text.setText(value);
-		text.setForeground(colors.getForeground());
-		text.addFocusListener(visibilityHandler);
-		return text;
-	}
-
-	/**
-	 * Creates a tree widget as a part of the form.
-	 * 
-	 * @param parent
-	 *            the tree parent
-	 * @param style
-	 *            the tree style
-	 * @return the tree widget
-	 */
-	public Tree createTree(Composite parent, int style) {
-		Tree tree = new Tree(parent, borderStyle | style | orientation);
-		adapt(tree, false, false);
-		// hookDeleteListener(tree);
-		return tree;
-	}
-
-	/**
-	 * Creates a scrolled form widget in the provided parent. If you do not
-	 * require scrolling because there is already a scrolled composite up the
-	 * parent chain, use 'createForm' instead.
-	 * 
-	 * @param parent
-	 *            the scrolled form parent
-	 * @return the form that can scroll itself
-	 * @see #createForm
-	 */
-	public ScrolledForm createScrolledForm(Composite parent) {
-		ScrolledForm form = new ScrolledForm(parent, SWT.V_SCROLL
-				| SWT.H_SCROLL | orientation);
-		form.setExpandHorizontal(true);
-		form.setExpandVertical(true);
-		form.setBackground(colors.getBackground());
-		form.setForeground(colors.getColor(FormColors.TITLE));
-		colors.initializeSectionToolBarColors();
-		form.getForm().setSeparatorColor(colors.getColor(FormColors.TB_BORDER));
-		form.setFont(JFaceResources.getHeaderFont());
-		return form;
-	}
-
-	/**
-	 * Creates a form widget in the provided parent. Note that this widget does
-	 * not scroll its content, so make sure there is a scrolled composite up the
-	 * parent chain. If you require scrolling, use 'createScrolledForm' instead.
-	 * 
-	 * @param parent
-	 *            the form parent
-	 * @return the form that does not scroll
-	 * @see #createScrolledForm
-	 */
-	public Form createForm(Composite parent) {
-		Form formContent = new Form(parent, orientation);
-		formContent.setBackground(colors.getBackground());
-		formContent.setForeground(colors.getColor(FormColors.TITLE));
-		colors.initializeSectionToolBarColors();
-		formContent.setSeparatorColor(colors.getColor(FormColors.TB_BORDER));
-		formContent.setFont(JFaceResources.getHeaderFont());
-		return formContent;
-	}
-
-	/**
-	 * Creates a scrolled page book widget as a part of the form.
-	 * 
-	 * @param parent
-	 *            the page book parent
-	 * @param style
-	 *            the text style
-	 * @return the scrolled page book widget
-	 */
-	public ScrolledPageBook createPageBook(Composite parent, int style) {
-		ScrolledPageBook book = new ScrolledPageBook(parent, style
-				| orientation);
-		adapt(book, true, true);
-		book.setMenu(parent.getMenu());
-		return book;
-	}
-
-	/**
-	 * Disposes the toolkit.
-	 */
-	public void dispose() {
-		if (colors.isShared() == false) {
-			colors.dispose();
-			colors = null;
-		}
-		boldFontHolder.dispose();
-	}
-
-	/**
-	 * Returns the hyperlink group that manages hyperlinks for this toolkit.
-	 * 
-	 * @return the hyperlink group
-	 */
-	public HyperlinkGroup getHyperlinkGroup() {
-		return hyperlinkGroup;
-	}
-
-	/**
-	 * Sets the background color for the entire toolkit. The method delegates
-	 * the call to the FormColors object and also updates the hyperlink group so
-	 * that hyperlinks and other objects are in sync.
-	 * 
-	 * @param bg
-	 *            the new background color
-	 */
-	public void setBackground(Color bg) {
-		hyperlinkGroup.setBackground(bg);
-		colors.setBackground(bg);
-	}
-
-	/**
-	 * Refreshes the hyperlink colors by loading from JFace settings.
-	 */
-	public void refreshHyperlinkColors() {
-		hyperlinkGroup.initializeDefaultForegrounds(colors.getDisplay());
-	}
-
-	/**
-	 * Paints flat borders for widgets created by this toolkit within the
-	 * provided parent. Borders will not be painted if the global border style
-	 * is SWT.BORDER (i.e. if native borders are used). Call this method during
-	 * creation of a form composite to get the borders of its children painted.
-	 * Care should be taken when selection layout margins. At least one pixel
-	 * pargin width and height must be chosen to allow the toolkit to paint the
-	 * border on the parent around the widgets.
-	 * <p>
-	 * Borders are painted for some controls that are selected by the toolkit by
-	 * default. If a control needs a border but is not on its list, it is
-	 * possible to force border in the following way:
-	 * 
-	 * <pre>
-	 * 
-	 *  
-	 *   
-	 *           widget.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);
-	 *           
-	 *           or
-	 *           
-	 *           widget.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
-	 *          
-	 *   
-	 *  
-	 * </pre>
-	 * 
-	 * @param parent
-	 *            the parent that owns the children for which the border needs
-	 *            to be painted.
-	 */
-	public void paintBordersFor(Composite parent) {
-		// if (borderStyle == SWT.BORDER)
-		// return;
-		if (borderPainter == null)
-			borderPainter = new BorderPainter();
-		parent.addPaintListener(borderPainter);
-	}
-
-	/**
-	 * Returns the colors used by this toolkit.
-	 * 
-	 * @return the color object
-	 */
-	public FormColors getColors() {
-		return colors;
-	}
-
-	/**
-	 * Returns the border style used for various widgets created by this
-	 * toolkit. The intent of the toolkit is to create controls with styles that
-	 * yield a 'flat' appearance. On systems where the native borders are
-	 * already flat, we set the style to SWT.BORDER and don't paint the borders
-	 * ourselves. Otherwise, the style is set to SWT.NULL, and borders are
-	 * painted by the toolkit.
-	 * 
-	 * @return the global border style
-	 */
-	public int getBorderStyle() {
-		return borderStyle;
-	}
-
-	/**
-	 * Sets the border style to be used when creating widgets. The toolkit
-	 * chooses the correct style based on the platform but this value can be
-	 * changed using this method.
-	 * 
-	 * @param style
-	 *            <code>SWT.BORDER</code> or <code>SWT.NULL</code>
-	 * @see #getBorderStyle
-	 */
-	public void setBorderStyle(int style) {
-		this.borderStyle = style;
-	}
-
-	/**
-	 * A utility method that ensures that the control is visible in the scrolled
-	 * composite. The prerequisite for this method is that the control has a
-	 * class that extends ScrolledComposite somewhere in the parent chain. If
-	 * the control is partially or fully clipped, the composite is scrolled to
-	 * set by setting the origin to the control origin.
-	 * 
-	 * @param c
-	 *            the control to make visible
-	 * @param verticalOnly
-	 *            if <code>true</code>, the scrolled composite will be
-	 *            scrolled only vertically if needed. Otherwise, the scrolled
-	 *            composite origin will be set to the control origin.
-	 * @since 3.1
-	 */
-	public static void setControlVisible(Control c, boolean verticalOnly) {
-		ScrolledComposite scomp = FormUtil.getScrolledComposite(c);
-		if (scomp == null)
-			return;
-		Point location = FormUtil.getControlLocation(scomp, c);
-		scomp.setOrigin(location);
-	}
-
-	private void initialize() {
-		initializeBorderStyle();
-		hyperlinkGroup = new HyperlinkGroup(colors.getDisplay());
-		hyperlinkGroup.setBackground(colors.getBackground());
-		visibilityHandler = new VisibilityHandler();
-		keyboardHandler = new KeyboardHandler();
-		boldFontHolder = new BoldFontHolder();
-	}
-
-	private void initializeBorderStyle() {
-		String osname = System.getProperty("os.name"); //$NON-NLS-1$
-		if (osname.equals("Windows XP")) { //$NON-NLS-1$
-			String javaHome = System.getProperty("java.home"); //$NON-NLS-1$
-			File homeDir = new File(javaHome);
-			File binDir = new File(homeDir, "bin"); //$NON-NLS-1$
-			File manifest = new File(binDir, "javaw.exe.manifest"); //$NON-NLS-1$
-			if (manifest.exists()) {
-				// Skinned widgets used - check for Windows Classic
-				// If not used, set the style to BORDER
-				RGB rgb = colors.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-				if (rgb.red != 212 && rgb.green != 208 && rgb.blue != 200)
-					borderStyle = SWT.BORDER;
-			}
-		} else if (osname.startsWith("Mac")) //$NON-NLS-1$
-			borderStyle = SWT.BORDER;
-	}
-
-	/**
-	 * Returns the orientation that all the widgets created by this toolkit will
-	 * inherit, if set. Can be <code>SWT.NULL</code>,
-	 * <code>SWT.LEFT_TO_RIGHT</code> and <code>SWT.RIGHT_TO_LEFT</code>.
-	 * 
-	 * @return orientation style for this toolkit, or <code>SWT.NULL</code> if
-	 *         not set. The default orientation is inherited from the Window
-	 *         default orientation.
-	 * @see org.eclipse.jface.window.Window#getDefaultOrientation()
-	 * @since 3.1
-	 */
-
-	public int getOrientation() {
-		return orientation;
-	}
-
-	/**
-	 * Sets the orientation that all the widgets created by this toolkit will
-	 * inherit. Can be <code>SWT.NULL</code>, <code>SWT.LEFT_TO_RIGHT</code>
-	 * and <code>SWT.RIGHT_TO_LEFT</code>.
-	 * 
-	 * @param orientation
-	 *            style for this toolkit.
-	 * @since 3.1
-	 */
-
-	public void setOrientation(int orientation) {
-		this.orientation = orientation;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java
deleted file mode 100644
index f771478..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java
+++ /dev/null
@@ -1,206 +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.forms.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.internal.forms.widgets.*;
-
-/**
- * Hyperlink is a concrete implementation of the abstract base class that draws
- * text in the client area. Text can be wrapped and underlined. Hyperlink is
- * typically added to the hyperlink group so that certain properties are managed
- * for all the hyperlinks that belong to it.
- * <p>
- * Hyperlink can be extended.
- * 
- * @see org.eclipse.ui.forms.HyperlinkGroup
- * @since 3.0
- */
-public class Hyperlink extends AbstractHyperlink {
-	private String text;
-
-	private boolean underlined;
-
-	/**
-	 * Creates a new hyperlink control in the provided parent.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the widget style
-	 */
-	public Hyperlink(Composite parent, int style) {
-		super(parent, style);
-		initAccessible();
-	}
-
-	protected void initAccessible() {
-		Accessible accessible = getAccessible();
-		accessible.addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				e.result = getText();
-				if (e.result == null)
-					getHelp(e);
-			}
-
-			public void getHelp(AccessibleEvent e) {
-				e.result = getToolTipText();
-			}
-		});
-		accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-			public void getChildAtPoint(AccessibleControlEvent e) {
-				Point pt = toControl(new Point(e.x, e.y));
-				e.childID = (getBounds().contains(pt)) ? ACC.CHILDID_SELF
-						: ACC.CHILDID_NONE;
-			}
-
-			public void getLocation(AccessibleControlEvent e) {
-				Rectangle location = getBounds();
-				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 = 0;
-			}
-
-			public void getRole(AccessibleControlEvent e) {
-				e.detail = ACC.ROLE_LINK;
-			}
-
-			public void getState(AccessibleControlEvent e) {
-				int state = ACC.STATE_NORMAL;
-				if (Hyperlink.this.getSelection())
-					state = ACC.STATE_SELECTED | ACC.STATE_FOCUSED;
-				e.detail = state;
-			}
-		});
-	}
-
-	/**
-	 * Sets the underlined state. It is not necessary to call this method when
-	 * in a hyperlink group.
-	 * 
-	 * @param underlined
-	 *            if <samp>true </samp>, a line will be drawn below the text for
-	 *            each wrapped line.
-	 */
-	public void setUnderlined(boolean underlined) {
-		this.underlined = underlined;
-		redraw();
-	}
-
-	/**
-	 * Returns the underline state of the hyperlink.
-	 * 
-	 * @return <samp>true </samp> if text is underlined, <samp>false </samp>
-	 *         otherwise.
-	 */
-	public boolean isUnderlined() {
-		return underlined;
-	}
-
-	/**
-	 * Overrides the parent by incorporating the margin.
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		int innerWidth = wHint;
-		if (innerWidth != SWT.DEFAULT)
-			innerWidth -= marginWidth * 2;
-		Point textSize = computeTextSize(innerWidth, hHint);
-		int textWidth = textSize.x + 2 * marginWidth;
-		int textHeight = textSize.y + 2 * marginHeight;
-		return new Point(textWidth, textHeight);
-	}
-
-	/**
-	 * Returns the current hyperlink text.
-	 * 
-	 * @return hyperlink text
-	 */
-	public String getText() {
-		return text;
-	}
-
-	/**
-	 * Sets the text of this hyperlink.
-	 * 
-	 * @param text
-	 *            the hyperlink text
-	 */
-	public void setText(String text) {
-		if (text != null)
-			this.text = text;
-		else
-			this.text = ""; //$NON-NLS-1$
-		redraw();
-	}
-
-	/**
-	 * Paints the hyperlink text.
-	 * 
-	 * @param gc
-	 *            graphic context
-	 */
-	protected void paintHyperlink(GC gc) {
-		Rectangle carea = getClientArea();
-		Rectangle bounds = new Rectangle(marginWidth, marginHeight, carea.width
-				- marginWidth - marginWidth, carea.height - marginHeight
-				- marginHeight);
-		paintText(gc, bounds);
-	}
-
-	/**
-	 * Paints the hyperlink text in provided bounding rectangle.
-	 * 
-	 * @param gc
-	 *            graphic context
-	 * @param bounds
-	 *            the bounding rectangle in which to paint the text
-	 */
-	protected void paintText(GC gc, Rectangle bounds) {
-		gc.setFont(getFont());
-		gc.setForeground(getForeground());
-		if ((getStyle() & SWT.WRAP) != 0) {
-			FormUtil.paintWrapText(gc, text, bounds, underlined);
-		} else {
-			Point textSize = computeTextSize(bounds.width, SWT.DEFAULT);
-			int textWidth = textSize.x;
-			int textHeight = textSize.y;
-			gc.drawText(getText(), bounds.x, bounds.y, true);
-			if (underlined) {
-				int descent = gc.getFontMetrics().getDescent();
-				int lineY = bounds.y + textHeight - descent + 1;
-				gc.drawLine(bounds.x, lineY, bounds.x + textWidth, lineY);
-			}
-		}
-	}
-
-	protected Point computeTextSize(int wHint, int hHint) {
-		Point extent;
-		GC gc = new GC(this);
-		gc.setFont(getFont());
-		if ((getStyle() & SWT.WRAP) != 0 && wHint != SWT.DEFAULT) {
-			extent = FormUtil.computeWrapSize(gc, getText(), wHint);
-		} else {
-			extent = gc.textExtent(getText());
-		}
-		gc.dispose();
-		return extent;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java
deleted file mode 100644
index fb3a4a1..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.forms.widgets;
-import org.eclipse.swt.widgets.Composite;
-/**
- * Classes that extend abstract class Layout and implement this interface can
- * take part in layout computation of the TableWrapLayout manager. This layout
- * uses alternative algorithm that computes columns before rows. It allows it
- * to 'flow' wrapped text proportionally (similar to the way web browser
- * renders tables). Custom layout managers that implement this interface will
- * allow TableWrapLayout to properly compute width hint to pass.
- * 
- * @see TableWrapLayout
- * @see ColumnLayout
- * @since 3.0
- */
-public interface ILayoutExtension {
-	/**
-	 * Computes the minimum width of the parent. All widgets capable of word
-	 * wrapping should return the width of the longest word that cannot be
-	 * broken any further.
-	 * 
-	 * @param parent the parent composite
-	 * @param changed <code>true</code> if the cached information should be
-	 * flushed, <code>false</code> otherwise.
-	 * @return the minimum width of the parent composite
-	 */
-	public int computeMinimumWidth(Composite parent, boolean changed);
-	/**
-	 * Computes the maximum width of the parent. All widgets capable of word
-	 * wrapping should return the length of the entire text with wrapping
-	 * turned off.
-	 * 
-	 * @param parent the parent composite
-	 * @param changed <code>true</code> if the cached information
-	 * should be flushed, <code>false</code> otherwise.
-	 * @return the maximum width of the parent composite
-	 */
-	public int computeMaximumWidth(Composite parent, boolean changed);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java
deleted file mode 100644
index f1eec30..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Chriss Gross (schtoo@schtoo.com) - fix for 61670
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * This class extends hyperlink widget by adding the capability to render an
- * image relative to the text. If no text has been set, only image will be
- * shown. Images for hover and active states can be set in addition to the
- * normal state image.
- * <p>
- * When image is taller than the text, additional style can be provided to
- * control vertical alignment (supported values are SWT.TOP, SWT.BOTTOM and
- * SWT.CENTER).
- * <p>
- * The class does not need to be sublassed but it is allowed to do so if some
- * aspect of the image hyperlink needs to be modified.
- * 
- * @since 3.0
- */
-public class ImageHyperlink extends Hyperlink {
-	/**
-	 * Amount of pixels between the image and the text (default is 5).
-	 */
-	public int textSpacing = 5;
-
-	private Image image;
-
-	private Image hoverImage;
-
-	private Image activeImage;
-
-	private int state;
-
-	private static final int HOVER = 1 << 1;
-
-	private static final int ACTIVE = 1 << 2;
-
-	private int verticalAlignment = SWT.CENTER;
-
-	private int horizontalAlignment = SWT.LEFT;
-
-	/**
-	 * Creates the image hyperlink instance.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the control style (SWT.WRAP, BOTTOM, TOP, MIDDLE, LEFT, RIGHT)
-	 */
-	public ImageHyperlink(Composite parent, int style) {
-		super(parent, removeAlignment(style));
-		extractAlignment(style);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.widgets.AbstractHyperlink#paintHyperlink(org.eclipse.swt.events.PaintEvent)
-	 */
-	protected void paintHyperlink(GC gc) {
-		Rectangle clientArea = getClientArea();
-		Image image = null;
-		if ((state & ACTIVE) != 0)
-			image = activeImage;
-		else if ((state & HOVER) != 0)
-			image = hoverImage;
-		if (image == null)
-			image = this.image;
-		Rectangle ibounds = image != null ? image.getBounds() : new Rectangle(0, 0, 0, 0);
-		Point maxsize = computeMaxImageSize();
-		int spacing = image!=null?textSpacing:0;		
-		int textWidth = clientArea.width - maxsize.x - spacing
-				- marginWidth - marginWidth;
-		int y = marginHeight + maxsize.y / 2 - ibounds.height / 2;
-
-		if (horizontalAlignment == SWT.LEFT) {
-			int x = marginWidth + maxsize.x / 2 - ibounds.width / 2;
-			int textX = marginWidth + maxsize.x + spacing;
-			if (image != null)
-				gc.drawImage(image, x, y);
-			if (getText() != null)
-				drawText(gc, clientArea, textX, textWidth);
-		} else if (horizontalAlignment == SWT.RIGHT) {
-			int x = marginWidth;
-			if (getText() != null) {
-				x += drawText(gc, clientArea, x, textWidth);
-			}
-			x += maxsize.x / 2 - ibounds.width / 2 + spacing;
-			if (image != null)
-				gc.drawImage(image, x, y);
-		}
-	}
-
-	private int drawText(GC gc, Rectangle clientArea, int textX, int textWidth) {
-		Point textSize = computeTextSize(textWidth, SWT.DEFAULT);
-		int slotHeight = clientArea.height - marginHeight - marginHeight;
-		int textY;
-		textWidth = textSize.x;
-		int textHeight = textSize.y;
-		if (verticalAlignment == SWT.BOTTOM) {
-			textY = marginHeight + slotHeight - textHeight;
-		} else if (verticalAlignment == SWT.CENTER) {
-			textY = marginHeight + slotHeight / 2 - textHeight / 2;
-		} else {
-			textY = marginHeight;
-		}
-		paintText(gc, new Rectangle(textX, textY, textWidth, textHeight));
-		return textWidth;
-	}
-
-	/**
-	 * Computes the control size by reserving space for images in addition to
-	 * text.
-	 * 
-	 * @param wHint
-	 *            width hint
-	 * @param hHint
-	 *            height hint
-	 * @param changed
-	 *            if <code>true</code>, any cached layout data should be
-	 *            computed anew
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		Point isize = computeMaxImageSize();
-		int spacing = isize.x>0?textSpacing:0;
-		Point textSize = null;
-		if (getText() != null) {
-			int innerWHint = wHint;
-			if (wHint != SWT.DEFAULT) {
-				innerWHint = wHint - 2 * marginWidth - isize.x - spacing;
-			}
-			textSize = super.computeSize(innerWHint, hHint, changed);
-		}
-		int width = isize.x;
-		int height = isize.y;
-		if (textSize != null) {
-			width += spacing;
-			width += textSize.x;
-			height = Math.max(height, textSize.y);
-		}
-		width += 2 * marginWidth;
-		height += 2 * marginHeight;
-		return new Point(width, height);
-	}
-
-	protected void handleEnter(Event e) {
-		state = HOVER;
-		super.handleEnter(e);
-	}
-
-	protected void handleExit(Event e) {
-		state = 0;
-		super.handleExit(e);
-	}
-
-	protected void handleActivate(Event e) {
-		state &= ACTIVE;
-		redraw();
-		super.handleActivate(e);
-		state &= ~ACTIVE;
-		if (!isDisposed())
-			redraw();
-	}
-
-	/**
-	 * Returns active image.
-	 * 
-	 * @return active image or <code>null</code> if not set.
-	 */
-	public Image getActiveImage() {
-		return activeImage;
-	}
-
-	/**
-	 * Sets the image to show when link is activated.
-	 * 
-	 * @param activeImage
-	 * 
-	 */
-	public void setActiveImage(Image activeImage) {
-		this.activeImage = activeImage;
-	}
-
-	/**
-	 * Returns the hover image.
-	 * 
-	 * @return hover image or <code>null</code> if not set.
-	 */
-	public Image getHoverImage() {
-		return hoverImage;
-	}
-
-	/**
-	 * Sets the image to show when link is hover state (on mouse over).
-	 * 
-	 * @param hoverImage
-	 */
-	public void setHoverImage(Image hoverImage) {
-		this.hoverImage = hoverImage;
-	}
-
-	/**
-	 * Returns the image to show in the normal state.
-	 * 
-	 * @return normal image or <code>null</code> if not set.
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Sets the image to show when link is in the normal state.
-	 * 
-	 * @param image
-	 */
-	public void setImage(Image image) {
-		this.image = image;
-	}
-
-	private Point computeMaxImageSize() {
-		int x = 0;
-		int y = 0;
-		if (image != null) {
-			x = Math.max(image.getBounds().width, x);
-			y = Math.max(image.getBounds().height, y);
-		}
-		if (hoverImage != null) {
-			x = Math.max(hoverImage.getBounds().width, x);
-			y = Math.max(hoverImage.getBounds().height, y);
-		}
-		if (activeImage != null) {
-			x = Math.max(activeImage.getBounds().width, x);
-			y = Math.max(activeImage.getBounds().height, y);
-		}
-		return new Point(x, y);
-	}
-
-	private static int removeAlignment(int style) {
-		int resultStyle = style;
-		if ((style & SWT.CENTER) != 0) {
-			resultStyle &= (~SWT.CENTER);
-		}
-		if ((style & SWT.TOP) != 0) {
-			resultStyle &= (~SWT.TOP);
-		}
-		if ((style & SWT.BOTTOM) != 0) {
-			resultStyle &= (~SWT.BOTTOM);
-		}
-		if ((style & SWT.LEFT) != 0) {
-			resultStyle &= (~SWT.LEFT);
-		}
-		if ((style & SWT.RIGHT) != 0) {
-			resultStyle &= (~SWT.RIGHT);
-		}
-		return resultStyle;
-	}
-
-	private void extractAlignment(int style) {
-		if ((style & SWT.CENTER) != 0) {
-			verticalAlignment = SWT.CENTER;
-		} else if ((style & SWT.TOP) != 0) {
-			verticalAlignment = SWT.TOP;
-		} else if ((style & SWT.BOTTOM) != 0) {
-			verticalAlignment = SWT.BOTTOM;
-		}
-		if ((style & SWT.LEFT) != 0) {
-			horizontalAlignment = SWT.LEFT;
-		} else if ((style & SWT.RIGHT) != 0) {
-			horizontalAlignment = SWT.RIGHT;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutCache.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutCache.java
deleted file mode 100644
index 3eea570..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutCache.java
+++ /dev/null
@@ -1,120 +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.forms.widgets;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Caches the preferred sizes of an array of controls
- * 
- * @since 3.0
- */
-public class LayoutCache {
-    private SizeCache[] caches = new SizeCache[0];
-
-    /**
-     * Creates an empty layout cache
-     */
-    public LayoutCache() {
-    }
-
-    /**
-     * Creates a cache for the given array of controls
-     * 
-     * @param controls
-     */
-    public LayoutCache(Control[] controls) {
-        rebuildCache(controls);
-    }
-
-    /**
-     * Returns the size cache for the given control
-     * 
-     * @param idx
-     * @return the size cache for the given control
-     */
-    public SizeCache getCache(int idx) {
-        return caches[idx];
-    }
-
-    /**
-     * Sets the controls that are being cached here. If these are the same
-     * controls that were used last time, this method does nothing. Otherwise,
-     * the cache is flushed and a new cache is created for the new controls.
-     * 
-     * @param controls
-     */
-    public void setControls(Control[] controls) {
-        // If the number of controls has changed, discard the entire cache
-        if (controls.length != caches.length) {
-            rebuildCache(controls);
-            return;
-        }
-
-        for (int idx = 0; idx < controls.length; idx++) {
-            caches[idx].setControl(controls[idx]);
-        }
-    }
-
-    /**
-     * Creates a new size cache for the given set of controls, discarding any
-     * existing cache.
-     * 
-     * @param controls the controls whose size is being cached
-     */
-    private void rebuildCache(Control[] controls) {
-        SizeCache[] newCache = new SizeCache[controls.length];
-
-        for (int idx = 0; idx < controls.length; idx++) {
-            // Try to reuse existing caches if possible
-            if (idx < caches.length) {
-                newCache[idx] = caches[idx];
-                newCache[idx].setControl(controls[idx]);
-            } else {
-                newCache[idx] = new SizeCache(controls[idx]);
-            }
-        }
-
-        caches = newCache;
-    }
-
-    /**
-     * Computes the preferred size of the nth control
-     * 
-     * @param controlIndex index of the control whose size will be computed
-     * @param widthHint width of the control (or SWT.DEFAULT if unknown)
-     * @param heightHint height of the control (or SWT.DEFAULT if unknown)
-     * @return the preferred size of the control
-     */
-    public Point computeSize(int controlIndex, int widthHint, int heightHint) {
-        return caches[controlIndex].computeSize(widthHint, heightHint);
-    }
-
-    /**
-     * Flushes the cache for the given control. This should be called if exactly
-     * one of the controls has changed but the remaining controls remain unmodified
-     * 
-     * @param controlIndex
-     */
-    public void flush(int controlIndex) {
-        caches[controlIndex].flush();
-    }
-
-    /**
-     * Flushes the cache.
-     */
-    public void flush() {
-        for (int idx = 0; idx < caches.length; idx++) {
-            caches[idx].flush();
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java
deleted file mode 100644
index 2855839..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-/**
- * The class overrides default method for computing size in Composite by
- * accepting size returned from layout managers as-is. The default code accepts
- * width or height hint assuming it is correct. However, it is possible that
- * the computation using the provided width hint results in a real size that is
- * larger. This can result in wrapped text widgets being clipped, asking to
- * render in bounds narrower than the longest word.
- */
-/* package */class LayoutComposite extends Composite {
-	public LayoutComposite(Composite parent, int style) {
-		super(parent, style);
-		setMenu(parent.getMenu());
-	}
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Layout layout = getLayout();
-		if (layout instanceof TableWrapLayout)
-			return ((TableWrapLayout) layout).computeSize(this, wHint, hHint,
-					changed);
-		if (layout instanceof ColumnLayout)
-			return ((ColumnLayout) layout).computeSize(this, wHint, hHint,
-					changed);
-		return super.computeSize(wHint, hHint, changed);
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/OldForm.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/OldForm.java
deleted file mode 100644
index b701d83..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/OldForm.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.internal.forms.widgets.FormHeading;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * Form is a custom control that renders a title and an optional background
- * image above the body composite. It can be used alone when part of parents
- * that are scrolled. If scrolling is required, use <code>ScrolledForm</code>
- * instead because it has an instance of <code>Form</code> and adds scrolling
- * capability.
- * <p>
- * Form can have a title if set. If not set, title area will not be left empty -
- * form body will be resized to fill the entire form. In addition, an optional
- * title image can be set and is rendered to the left of the title.
- * <p>
- * Since 3.2, the form supports status messages. These messages can have various
- * severity (error, warning, info or none). Message tray can be minimized and
- * later restored by the user, but can only be closed programmatically.
- * <p>
- * Form can have a background image behind the title text. The image can be
- * painted as-is, or tiled as many times as needed to fill the title area.
- * <p>
- * Form has a custom layout manager that is wrap-enabled. If a form is placed in
- * a composite whose layout manager implements ILayoutExtension, the body of the
- * worm will participate in wrapping as long as its layout manager implements
- * ILayoutExtension as well.
- * <p>
- * Children of the form should typically be created using FormToolkit to match
- * the appearance and behaviour. When creating children, use the form body as a
- * parent by calling 'getBody()' on the form instance. Example:
- * 
- * <pre>
- * FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- * Form form = toolkit.createForm(parent);
- * formContent.setText(&quot;Sample form&quot;);
- * formContent.getBody().setLayout(new GridLayout());
- * toolkit.createButton(formContent.getBody(), &quot;Checkbox&quot;, SWT.CHECK);
- * </pre>
- * 
- * <p>
- * No layout manager has been set on the body. Clients are required to set the
- * desired layout manager explicitly.
- * <p>
- * Although the class is not final, it should not be subclassed.
- * 
- * @since 3.0
- */
-public class OldForm extends Composite {
-	private FormHeading head;
-	private Composite body;
-	private SizeCache bodyCache = new SizeCache();
-	private SizeCache headCache = new SizeCache();
-	private FormText selectionText;
-
-	private class FormLayout extends Layout implements ILayoutExtension {
-		public int computeMinimumWidth(Composite composite, boolean flushCache) {
-			return computeSize(composite, 5, SWT.DEFAULT, flushCache).x;
-		}
-
-		public int computeMaximumWidth(Composite composite, boolean flushCache) {
-			return computeSize(composite, SWT.DEFAULT, SWT.DEFAULT, flushCache).x;
-		}
-
-		public Point computeSize(Composite composite, int wHint, int hHint,
-				boolean flushCache) {
-			if (flushCache) {
-				bodyCache.flush();
-				headCache.flush();
-			}
-			bodyCache.setControl(body);
-			headCache.setControl(head);
-
-			int width = 0;
-			int height = 0;
-			
-			Point hsize = headCache.computeSize(FormUtil.getWidthHint(wHint,
-					head), SWT.DEFAULT);
-			width = Math.max(hsize.x, width);
-			height = hsize.y;
-			
-			Point bsize = bodyCache.computeSize(FormUtil.getWidthHint(wHint,
-					body), SWT.DEFAULT);
-			width = Math.max(bsize.x, width);
-			height += bsize.y;
-			return new Point(width, height);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			if (flushCache) {
-				bodyCache.flush();
-				headCache.flush();
-			}
-			bodyCache.setControl(body);
-			headCache.setControl(head);
-			Rectangle carea = composite.getClientArea();			
-			
-			Point hsize = headCache.computeSize(carea.width, SWT.DEFAULT);
-			headCache.setBounds(0, 0, carea.width, hsize.y);
-			bodyCache.setBounds(0, hsize.y, carea.width, carea.height - hsize.y);
-		}
-	}
-
-	/**
-	 * Creates the form content control as a child of the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public OldForm(Composite parent, int style) {
-		super(parent, SWT.NO_BACKGROUND | style);
-		super.setLayout(new FormLayout());
-		head = new FormHeading(this, SWT.NULL);
-		head.setMenu(parent.getMenu());
-		body = new LayoutComposite(this, SWT.NULL);
-		body.setMenu(parent.getMenu());
-	}
-
-	/**
-	 * Passes the menu to the form body.
-	 * 
-	 * @param menu
-	 */
-	public void setMenu(Menu menu) {
-		super.setMenu(menu);
-		head.setMenu(menu);
-		body.setMenu(menu);
-	}
-
-	/**
-	 * Fully delegates the size computation to the internal layout manager.
-	 */
-	public final Point computeSize(int wHint, int hHint, boolean changed) {
-		return ((FormLayout) getLayout()).computeSize(this, wHint, hHint,
-				changed);
-	}
-
-	/**
-	 * Prevents from changing the custom control layout.
-	 */
-	public final void setLayout(Layout layout) {
-	}
-
-	/**
-	 * Returns the title text that will be rendered at the top of the form.
-	 * 
-	 * @return the title text
-	 */
-	public String getText() {
-		return head.getText();
-	}
-
-	/**
-	 * Returns the title image that will be rendered to the left of the title.
-	 * 
-	 * @return the title image
-	 * @since 3.2
-	 */
-	public Image getImage() {
-		return head.getImage();
-	}
-
-	/**
-	 * Sets the foreground color of the form. This color will also be used for
-	 * the body.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		head.setForeground(fg);
-		body.setForeground(fg);
-	}
-
-	/**
-	 * Sets the background color of the form. This color will also be used for
-	 * the body.
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		head.setBackground(bg);
-		body.setBackground(bg);
-	}
-	
-	/**
-	 * Sets the font of the header text.
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		head.setFont(font);
-	}
-
-	/**
-	 * Sets the text to be rendered at the top of the form above the body as a
-	 * title.
-	 * 
-	 * @param text
-	 *            the title text
-	 */
-	public void setText(String text) {
-		head.setText(text);
-		layout();
-		redraw();
-	}
-
-	/**
-	 * Sets the image to be rendered to the left of the title.
-	 * 
-	 * @param image
-	 *            the title image or <code>null</code> to show no image.
-	 * @since 3.2
-	 */
-	public void setImage(Image image) {
-		head.setImage(image);
-		layout();
-		redraw();
-	}
-
-	public void setTextBackground(Color[] gradientColors, int[] percents,
-			boolean vertical) {
-		head.setTextBackground(gradientColors, percents, vertical);
-	}
-
-	/**
-	 * Returns the optional background image of this form. The image is rendered
-	 * starting at the position 0,0 and is painted behind the title.
-	 * 
-	 * @return Returns the background image.
-	 */
-	public Image getBackgroundImage() {
-		return head.getBackgroundImage();
-	}
-
-	/**
-	 * Sets the optional background image to be rendered behind the title
-	 * starting at the position 0,0.
-	 * 
-	 * @param backgroundImage
-	 *            The backgroundImage to set.
-	 */
-	public void setBackgroundImage(Image backgroundImage) {
-		head.setBackgroundImage(backgroundImage);
-		redraw();
-	}
-
-	/**
-	 * Returns the tool bar manager that is used to manage tool items in the
-	 * form's title area.
-	 * 
-	 * @return form tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		return head.getToolBarManager();
-	}
-
-	/**
-	 * Updates the local tool bar manager if used. Does nothing if local tool
-	 * bar manager has not been created yet.
-	 */
-	public void updateToolBar() {
-		head.updateToolBar();
-	}
-
-	/**
-	 * Returns the container that occupies the body of the form (the form area
-	 * below the title). Use this container as a parent for the controls that
-	 * should be in the form. No layout manager has been set on the form body.
-	 * 
-	 * @return Returns the body of the form.
-	 */
-	public Composite getBody() {
-		return body;
-	}
-	/**
-	 * TODO add javadoc
-	 * 
-	 * @return Returns the backgroundImageTiled.
-	 */
-	public boolean isBackgroundImageTiled() {
-		return head.isBackgroundImageTiled();
-	}
-
-	/**
-	 * TODO add javadoc
-	 * 
-	 * @param backgroundImageTiled
-	 *            The backgroundImageTiled to set.
-	 */
-	public void setBackgroundImageTiled(boolean backgroundImageTiled) {
-		head.setBackgroundImageTiled(backgroundImageTiled);
-	}
-
-	/**
-	 * @return Returns the backgroundImageAlignment. TODO add javadoc
-	 * @since 3.1
-	 */
-	public int getBackgroundImageAlignment() {
-		return head.getBackgroundImageAlignment();
-	}
-
-	/**
-	 * @param backgroundImageAlignment
-	 *            The backgroundImageAlignment to set. TODO add javadoc
-	 * @since 3.1
-	 */
-	public void setBackgroundImageAlignment(int backgroundImageAlignment) {
-		head.setBackgroundImageAlignment(backgroundImageAlignment);
-	}
-
-	/**
-	 * @return Returns the backgroundImageClipped.
-	 * @since 3.1
-	 */
-	public boolean isBackgroundImageClipped() {
-		return head.isBackgroundImageClipped();
-	}
-
-	/**
-	 * @param backgroundImageClipped
-	 *            The backgroundImageClipped to set.
-	 * @since 3.1
-	 */
-	public void setBackgroundImageClipped(boolean backgroundImageClipped) {
-		head.setBackgroundImageClipped(backgroundImageClipped);
-	}
-
-	void setSelectionText(FormText text) {
-		if (selectionText != null && selectionText != text) {
-			selectionText.clearSelection();
-		}
-		this.selectionText = text;
-	}
-
-	/**
-	 * TODO add javadoc experimental - do not use yet
-	 * 
-	 * @return <code>true</code> if the receiver is a visible separator,
-	 *         <code>false</code> otherwise
-	 */
-	public boolean isSeparatorVisible() {
-		return head.isSeparatorVisible();
-	}
-
-	/**
-	 * experimental - do not use yet TODO add javadoc
-	 */
-	public void setSeparatorVisible(boolean addSeparator) {
-head.setSeparatorVisible(addSeparator);
-	}
-
-	/**
-	 * experimental - do not use yet TODO add javadoc
-	 */
-
-	public Color getSeparatorColor() {
-		return head.getSeparatorColor();
-	}
-
-	/**
-	 * experimental - do not use yet TODO add javadoc
-	 */
-	public void setSeparatorColor(Color separatorColor) {
-		head.setSeparatorColor(separatorColor);
-	}
-
-	/**
-	 * Sets the message for this form.
-	 * 
-	 * @param message
-	 *            the message, or <code>null</code> to clear the message
-	 * @since 3.2
-	 */
-	public void setMessage(String message) {
-		head.setMessage(message);
-	}
-
-	/**
-	 * Sets the message for this form with an indication of what type of message
-	 * it is.
-	 * <p>
-	 * The valid message types are one of <code>NONE</code>,
-	 * <code>INFORMATION</code>,<code>WARNING</code>, or
-	 * <code>ERROR</code>.
-	 * </p>
-	 * <p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 * @param newType
-	 *            the message type
-	 * @since 3.2
-	 */
-
-	public void setMessage(String newMessage, int newType) {
-		head.setMessage(newMessage, newType);
-	}
-	/**
-	 * Tests if the form is in the 'busy' state.
-	 * 
-	 * @return <code>true</code> if busy, <code>false</code> otherwise.
-	 */
-
-	public boolean isBusy() {
-		return head.isBusy();
-	}
-
-	/**
-	 * Sets the form's busy state. Busy form will display 'busy' animation in
-	 * the area of the title image.
-	 * 
-	 * @param busy
-	 *            the form's busy state
-	 */
-
-	public void setBusy(boolean busy) {
-		head.setBusy(busy);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.java
deleted file mode 100644
index d44eb60..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.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 Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-/**
- * ScrolledForm is a control that is capable of scrolling an instance of the
- * Form class. It should be created in a parent that will allow it to use all
- * the available area (for example, a shell, a view or an editor).
- * <p>
- * Children of the form should typically be created using FormToolkit to match
- * the appearance and behaviour. When creating children, use a form body as a
- * parent by calling 'getBody()' on the form instance. Example:
- * 
- * <pre>
- *  FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- *  ScrolledForm form = toolkit.createScrolledForm(parent);
- *  form.setText(&quot;Sample form&quot;);
- *  form.getBody().setLayout(new GridLayout());
- *  toolkit.createButton(form.getBody(), &quot;Checkbox&quot;, SWT.CHECK);
- * </pre>
- * 
- * <p>
- * No layout manager has been set on the body. Clients are required to set the
- * desired layout manager explicitly.
- *<p>Although the class is not final, it is not expected to be
- * be extended. 
- *
- * @since 3.0
- */
-public class ScrolledForm extends SharedScrolledComposite {
-	private Form content;
-	public ScrolledForm(Composite parent) {
-		this(parent, SWT.V_SCROLL | SWT.H_SCROLL);
-	}
-	/**
-	 * Creates the form control as a child of the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public ScrolledForm(Composite parent, int style) {
-		super(parent, style);
-		super.setMenu(parent.getMenu());
-		content = new Form(this, SWT.NULL);
-		super.setContent(content);
-		content.setMenu(getMenu());
-	}
-/**
- * Passes the menu to the body.
- * @param menu
- */
-	public void setMenu(Menu menu) {
-		super.setMenu(menu);
-		if (content!=null) 
-			content.setMenu(menu);
-	}
-	/**
-	 * Returns the title text that will be rendered at the top of the form.
-	 * 
-	 * @return the title text
-	 */
-	public String getText() {
-		return content.getText();
-	}
-	
-	/**
-	 * Returns the title image that will be rendered to the left of the title.
-	 * 
-	 * @return the title image
-	 */
-	public Image getImage() {
-		return content.getImage();
-	}
-	/**
-	 * Sets the foreground color of the form. This color will also be used for
-	 * the body.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		content.setForeground(fg);
-	}
-	/**
-	 * Sets the background color of the form. This color will also be used for
-	 * the body.
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		content.setBackground(bg);
-	}
-	/**
-	 * The form sets the content widget. This method should not be called by
-	 * classes that instantiate this widget.
-	 */
-	public final void setContent(Control c) {
-	}
-	/**
-	 * Sets the text to be rendered at the top of the form above the body as a
-	 * title.
-	 * 
-	 * @param text
-	 *            the title text
-	 */
-	public void setText(String text) {
-		content.setText(text);
-		reflow(true);
-	}
-	
-	/**
-	 * Sets the image to be rendered to the left of the title.
-	 * 
-	 * @param image
-	 *            the title image or <code>null</code> for no image.
-	 */
-	public void setImage(Image image) {
-		content.setImage(image);
-		reflow(true);
-	}
-	/**
-	 * Returns the optional background image of this form. The image is
-	 * rendered starting at the position 0,0 and is painted behind the title.
-	 * 
-	 * @return Returns the background image.
-	 */
-	public Image getBackgroundImage() {
-		return content.getBackgroundImage();
-	}
-	/**
-	 * Sets the optional background image to be rendered behind the title
-	 * starting at the position 0,0.
-	 * 
-	 * @param backgroundImage
-	 *            The backgroundImage to set.
-	 */
-	public void setBackgroundImage(Image backgroundImage) {
-		content.setBackgroundImage(backgroundImage);
-	}
-	/**
-	 * Returns the tool bar manager that is used to manage tool items in the
-	 * form's title area.
-	 * 
-	 * @return form tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		return content.getToolBarManager();
-	}
-	/**
-	 * Updates the local tool bar manager if used. Does nothing if local tool
-	 * bar manager has not been created yet.
-	 */
-	public void updateToolBar() {
-		content.updateToolBar();
-	}
-	/**
-	 * Recomputes the body layout and form scroll bars. The method should be
-	 * used when changes somewhere in the form body invalidate the current
-	 * layout and/or scroll bars.
-	 * 
-	 * @param flushCache
-	 *            if <samp>true </samp>, drop any cached layout information and
-	 *            compute new one.
-	 */
-	public void reflow(boolean flushCache) {
-		//content.getBody().layout();
-		//content.layout();
-		super.reflow(flushCache);
-	}
-	/**
-	 * Returns the container that occupies the body of the form (the form area
-	 * below the title). Use this container as a parent for the controls that
-	 * should be in the form. No layout manager has been set on the form body.
-	 * 
-	 * @return Returns the body of the form.
-	 */
-	public Composite getBody() {
-		return content.getBody();
-	}
-	/**
-	 * Returns the instance of the form owned by the scrolled form.
-	 * 
-	 * @return the form instance
-	 */
-	public Form getForm() {
-		return content;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java
deleted file mode 100644
index 2d411dc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-import java.io.InputStream;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.*;
-/**
- * ScrolledFormText is a control that is capable of scrolling an instance of
- * the FormText class. It should be created in a parent that will allow it to
- * use all the available area (for example, a shell, a view or an editor). The
- * form text can be created by the class itself, or set from outside. In the
- * later case, the form text instance must be a direct child of the
- * ScrolledFormText instance.
- * <p>
- * The class assumes that text to be rendered contains formatting tags. In case
- * of a string, it will enclose the text in 'form' root element if missing from
- * the text as a convinience. For example:
- * 
- * <pre>
- *  ftext.setText(&quot;&lt;p&gt;Some text here&lt;/&gt;&quot;);
- * </pre>
- * 
- * will not cause an error. The same behavior does not exist for content from
- * the input stream, however - it must be well formed in that case.
- * </p>
-
- * @since 3.0
- * @see FormText
- */
-public class ScrolledFormText extends SharedScrolledComposite {
-	private FormText content;
-	private String text;
-	/**
-	 * Creates the new scrolled text instance in the provided parent
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param createFormText
-	 *            if <code>true</code>, enclosing form text instance will be
-	 *            created in this constructor.
-	 */
-	public ScrolledFormText(Composite parent, boolean createFormText) {
-		this(parent, SWT.V_SCROLL | SWT.H_SCROLL, createFormText);
-	}
-	/**
-	 * Creates the new scrolled text instance in the provided parent
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param style
-	 *            the style to pass to the scrolled composite
-	 * @param createFormText
-	 *            if <code>true</code>, enclosing form text instance will be
-	 *            created in this constructor.
-	 */
-	public ScrolledFormText(Composite parent, int style, boolean createFormText) {
-		super(parent, style);
-		if (createFormText)
-			setFormText(new FormText(this, SWT.NULL));
-	}
-	/**
-	 * Sets the form text to be managed by this scrolled form text. The
-	 * instance must be a direct child of this class. If this method is used,
-	 * <code>false</code> must be passed in either of the constructors to
-	 * avoid creating form text instance.
-	 * 
-	 * @param formText
-	 *            the form text instance to use.
-	 */
-	public void setFormText(FormText formText) {
-		this.content = formText;
-		super.setContent(content);
-		content.setMenu(getMenu());
-		if (text != null)
-			loadText(text);
-	}
-	/**
-	 * Sets the foreground color of the scrolled form text.
-	 * 
-	 * @param fg
-	 *            the foreground color
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (content != null)
-			content.setForeground(fg);
-	}
-	/**
-	 * Sets the background color of the scrolled form text.
-	 * 
-	 * @param bg
-	 *            the background color
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (content != null)
-			content.setBackground(bg);
-	}
-	/**
-	 * The class sets the content widget. This method should not be called by
-	 * classes that instantiate this widget.
-	 * 
-	 * @param c
-	 *            content control
-	 */
-	public final void setContent(Control c) {
-	}
-	/**
-	 * Sets the text to be rendered in the scrolled form text. The text must
-	 * contain formatting tags.
-	 * 
-	 * @param text
-	 *            the text to be rendered
-	 */
-	public void setText(String text) {
-		this.text = text;
-		loadText(text);
-		reflow(true);
-	}
-	/**
-	 * Sets the contents to rendered in the scrolled form text. The stream must
-	 * contain formatting tags. The caller is responsible for closing the input
-	 * stream. The call may be long running. For best results, call this method
-	 * from another thread and call 'reflow' when done (but make both calls
-	 * using 'Display.asyncExec' because these calls must be made in the event
-	 * dispatching thread).
-	 * 
-	 * @param is
-	 *            content input stream
-	 */
-	public void setContents(InputStream is) {
-		loadContents(is);
-	}
-	/**
-	 * Returns the instance of the form text.
-	 * 
-	 * @return the form text instance
-	 */
-	public FormText getFormText() {
-		return content;
-	}
-	private void loadText(String text) {
-		if (content != null) {
-			String markup = text;
-			if (!markup.startsWith("<form>")) //$NON-NLS-1$
-				markup = "<form>" + text + "</form>";  //$NON-NLS-1$//$NON-NLS-2$
-			content.setText(markup, true, false);
-		}
-	}
-	private void loadContents(InputStream is) {
-		if (content != null) {
-			content.setContents(is, false);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java
deleted file mode 100644
index 8017a89..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-import java.util.Hashtable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.forms.widgets.WrappedPageBook;
-/**
- * ScrolledPageBook is a class that is capable of stacking several composites
- * (pages), while showing one at a time. The content is scrolled if there is
- * not enough space to fit it in the client area.
- * 
- * @since 3.0
- */
-public class ScrolledPageBook extends SharedScrolledComposite {
-	private WrappedPageBook pageBook;
-	private Hashtable pages;
-	private Composite emptyPage;
-	private Control currentPage;
-	/**
-	 * Creates a new instance in the provided parent
-	 * 
-	 * @param parent
-	 */
-	public ScrolledPageBook(Composite parent) {
-		this(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-	}
-	/**
-	 * Creates a new instance in the provided parent and with the provided
-	 * style.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the style to use
-	 */
-	public ScrolledPageBook(Composite parent, int style) {
-		super(parent, style);
-		pageBook = new WrappedPageBook(this, SWT.NULL);
-		setContent(pageBook);
-		pages = new Hashtable();
-		setExpandHorizontal(true);
-		setExpandVertical(true);
-		this.addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.detail) {
-					case SWT.TRAVERSE_ESCAPE :
-					case SWT.TRAVERSE_RETURN :
-					case SWT.TRAVERSE_TAB_NEXT :
-					case SWT.TRAVERSE_TAB_PREVIOUS :
-						e.doit = true;
-						break;
-				}
-			}
-		});
-	}
-	/**
-	 * Removes the default size of the composite, allowing the control to
-	 * shrink to the trim.
-	 * 
-	 * @param wHint
-	 *            the width hint
-	 * @param hHint
-	 *            the height hint
-	 * @param changed
-	 *            if <code>true</code>, do not use cached values
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Rectangle trim = computeTrim(0, 0, 10, 10);
-		return new Point(trim.width, trim.height);
-	}
-	/**
-	 * Tests if the page under the provided key is currently in the book.
-	 * 
-	 * @param key
-	 *            the page key
-	 * @return <code>true</code> if page exists, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean hasPage(Object key) {
-		return pages.containsKey(key);
-	}
-	/**
-	 * Creates a new page for the provided key. Use the returned composite to
-	 * create children in it.
-	 * 
-	 * @param key
-	 *            the page key
-	 * @return the newly created page composite
-	 */
-	public Composite createPage(Object key) {
-		Composite page = createPage();
-		pages.put(key, page);
-		return page;
-	}
-	/**
-	 * Returns the page book container.
-	 * 
-	 * @return the page book container
-	 */
-	public Composite getContainer() {
-		return pageBook;
-	}
-	/**
-	 * Registers a page under the privided key to be managed by the page book.
-	 * The page must be a direct child of the page book container.
-	 * 
-	 * @param key
-	 *            the page key
-	 * @param page
-	 *            the page composite to register
-	 * @see #createPage
-	 * @see #getContainer
-	 */
-	public void registerPage(Object key, Control page) {
-		pages.put(key, page);
-	}
-	/**
-	 * Removes the page under the provided key from the page book. Does nothing
-	 * if page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key.
-	 */
-	public void removePage(Object key) {
-		removePage(key, true);
-	}
-	/**
-	 * Removes the page under the provided key from the page book. Does nothing
-	 * if page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key.
-	 * @param showEmptyPage
-	 * 			  if <code>true</code>, shows the empty page
-	 *            after page removal.
-	 */
-	public void removePage(Object key, boolean showEmptyPage) {
-		Control page = (Control) pages.get(key);
-		if (page != null) {
-			pages.remove(key);
-			page.dispose();
-			if (showEmptyPage)
-				showEmptyPage();
-		}
-	}
-	/**
-	 * Shows the page with the provided key and hides the page previously
-	 * showing. Does nothing if the page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key
-	 */
-	public void showPage(Object key) {
-		Control page = (Control) pages.get(key);
-		if (page != null) {
-			pageBook.showPage(page);
-			if (currentPage != null && currentPage != page) {
-				// switching pages - force layout
-				if (page instanceof Composite)
-					((Composite) page).layout(false);
-			}
-			currentPage = page;
-		} else {
-			showEmptyPage();
-		}
-		reflow(true);
-	}
-	/**
-	 * Shows a page with no children to be used if the desire is to not show
-	 * any registered page.
-	 */
-	public void showEmptyPage() {
-		if (emptyPage == null) {
-			emptyPage = createPage();
-			emptyPage.setLayout(new GridLayout());
-		}
-		pageBook.showPage(emptyPage);
-		currentPage = emptyPage;
-		reflow(true);
-	}
-	/**
-	 * Sets focus on the current page if shown.
-	 */
-	public boolean setFocus() {
-		if (currentPage != null)
-			return currentPage.setFocus();
-		return super.setFocus();
-	}
-	/**
-	 * Returns the page currently showing.
-	 * 
-	 * @return the current page
-	 */
-	public Control getCurrentPage() {
-		return currentPage;
-	}
-	private Composite createPage() {
-		Composite page = new LayoutComposite(pageBook, SWT.NULL);
-		page.setBackground(getBackground());
-		page.setForeground(getForeground());
-		page.setMenu(pageBook.getMenu());
-		return page;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java
deleted file mode 100644
index 8f4cc9b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Michael Williamson (eclipse-bugs@magnaworks.com) - patch (see Bugzilla #92545) 
- *       
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.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.Label;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * A variation of the expandable composite that adds optional description below
- * the title. Section is often used as a basic building block if forms because
- * it provides for logical grouping of information.
- * <p>
- * In case of the TITLE_BAR style, Section renders the title bar in a way
- * compatible with the rest of the workbench. Since it is a widget, all the
- * colors must be supplied directly. When created by the form toolkit, these
- * colors are supplied by the toolkit. The toolkit initializes these colors
- * based on the system colors. For this reason, it is recommended to create the
- * section by the toolkit instead of through its own constructor.
- * <p>
- * Since 3.1, it is possible to set a control to be used for section
- * description. If used, <code>DESCRIPTION</code> style should not be set. A
- * typical way to take advantage of the new method is to set an instance of
- * <code>FormText</code> to provide for hyperlinks and images in the
- * description area.
- * 
- * @since 3.0
- */
-public class Section extends ExpandableComposite {
-	/**
-	 * Description style. If used, description will be rendered below the title.
-	 */
-	public static final int DESCRIPTION = 1 << 7;
-
-	private Control descriptionControl;
-
-	private Control separator;
-
-	private Hashtable titleColors;
-
-	private static final String COLOR_BG = "bg"; //$NON-NLS-1$
-
-	private static final String COLOR_GBG = "gbg"; //$NON-NLS-1$
-
-	private static final String COLOR_BORDER = "border"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new section instance in the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param style
-	 *            the style to use
-	 */
-	public Section(Composite parent, int style) {
-		this(parent, SWT.NULL, style);
-	}
-
-	Section(Composite parent, int cstyle, int style) {
-		super(parent, cstyle|getBackgroundStyle(style), style);
-		int rtl = cstyle & SWT.RIGHT_TO_LEFT;
-		if ((style & DESCRIPTION) != 0) {
-			descriptionControl = new Label(this, SWT.WRAP | rtl);
-		}
-		if ((style & TITLE_BAR) != 0) {
-			addListener(SWT.Resize, new Listener() {
-				public void handleEvent(Event e) {
-					Image image = Section.super.getBackgroundImage();
-					if (image != null)
-						image.dispose();
-					Section.super.setBackgroundImage(null);
-				}
-			});
-		}
-	}
-	
-	private static int getBackgroundStyle(int estyle) {
-		return ((estyle & TITLE_BAR)!=0)?SWT.NO_BACKGROUND:SWT.NULL;
-	}
-
-	protected void internalSetExpanded(boolean expanded) {
-		super.internalSetExpanded(expanded);
-		reflow();
-	}
-
-	protected void reflow() {
-		Composite c = this;
-		while (c != null) {
-			c.setRedraw(false);
-			c = c.getParent();
-			if (c instanceof ScrolledForm) {
-				break;
-			}
-		}
-		c = this;
-		while (c != null) {
-			c.layout(true);
-			c = c.getParent();
-			if (c instanceof ScrolledForm) {
-				((ScrolledForm) c).reflow(true);
-				break;
-			}
-		}
-		c = this;
-		while (c != null) {
-			c.setRedraw(true);
-			c = c.getParent();
-			if (c instanceof ScrolledForm) {
-				break;
-			}
-		}
-	}
-
-	/**
-	 * Sets the description text. Has no effect if DESCRIPTION style was not
-	 * used to create the control.
-	 * 
-	 * @param description
-	 */
-	public void setDescription(String description) {
-		if (descriptionControl instanceof Label)
-			((Label) descriptionControl).setText(description);
-	}
-
-	/**
-	 * Returns the current description text.
-	 * 
-	 * @return description text or <code>null</code> if DESCRIPTION style was
-	 *         not used to create the control.
-	 */
-	public String getDescription() {
-		if (descriptionControl instanceof Label)
-			return ((Label) descriptionControl).getText();
-		return null;
-	}
-
-	/**
-	 * Sets the separator control of this section. The separator must not be
-	 * <samp>null </samp> and must be a direct child of this container. If
-	 * defined, separator will be placed below the title text and will remain
-	 * visible regardless of the expansion state.
-	 * 
-	 * @param separator
-	 *            the separator that will be placed below the title text.
-	 */
-	public void setSeparatorControl(Control separator) {
-		Assert.isTrue(separator != null && separator.getParent().equals(this));
-		this.separator = separator;
-	}
-
-	/**
-	 * Returns the control that is used as a separator betweeen the title and
-	 * the client, or <samp>null </samp> if not set.
-	 * 
-	 * @return separator control or <samp>null </samp> if not set.
-	 */
-	public Control getSeparatorControl() {
-		return separator;
-	}
-
-	/**
-	 * Sets the background of the section.
-	 * 
-	 * @param bg
-	 *            the new background
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (descriptionControl != null
-				&& (getExpansionStyle() & DESCRIPTION) != 0)
-			descriptionControl.setBackground(bg);
-	}
-
-	/**
-	 * Sets the foreground of the section.
-	 * 
-	 * @param fg
-	 *            the new foreground.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (descriptionControl != null
-				&& (getExpansionStyle() & DESCRIPTION) != 0)
-			descriptionControl.setForeground(fg);
-	}
-
-	/**
-	 * Returns the control used to render the description. In 3.1, this method
-	 * was promoted to public.
-	 * 
-	 * @return description control or <code>null</code> if DESCRIPTION style
-	 *         was not used to create the control and description control was
-	 *         not set by the client.
-	 * @see #setDescriptionControl(org.eclipse.swt.widgets.Control)
-	 */
-	public Control getDescriptionControl() {
-		return descriptionControl;
-	}
-
-	/**
-	 * Sets the description control of this section. The control must not be
-	 * <samp>null</samp> and must be a direct child of this container. If
-	 * defined, contol will be placed below the title text and the separator and
-	 * will be hidden int he collapsed state.
-	 * <p>
-	 * This method and <code>DESCRIPTION</code> style are mutually exclusive.
-	 * Use the method only if you want to create the description control
-	 * yourself.
-	 * 
-	 * @since 3.1
-	 * @param descriptionControl
-	 *            the control that will be placed below the title text.
-	 */
-	public void setDescriptionControl(Control descriptionControl) {
-		Assert.isTrue((getExpansionStyle() & DESCRIPTION) == 0);
-		Assert.isTrue(descriptionControl != null
-				&& descriptionControl.getParent().equals(this));
-		this.descriptionControl = descriptionControl;
-	}
-
-	/**
-	 * Sets the color of the title bar border when TITLE_BAR style is used.
-	 * 
-	 * @param color
-	 *            the title bar border color
-	 */
-	public void setTitleBarBorderColor(Color color) {
-		putTitleBarColor(COLOR_BORDER, color);
-	}
-
-	/**
-	 * Sets the color of the title bar background when TITLE_BAR style is used.
-	 * This color is used as a starting color for the vertical gradient.
-	 * 
-	 * @param color
-	 *            the title bar border background
-	 */
-	public void setTitleBarBackground(Color color) {
-		putTitleBarColor(COLOR_BG, color);
-	}
-
-	/**
-	 * Sets the color of the title bar gradient background when TITLE_BAR style
-	 * is used. This color is used at the height where title controls end
-	 * (toggle, tool bar).
-	 * 
-	 * @param color
-	 *            the title bar gradient background
-	 */
-	public void setTitleBarGradientBackground(Color color) {
-		putTitleBarColor(COLOR_GBG, color);
-		/*
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			textLabel.setBackground(color);
-			if (toggle != null)
-				toggle.setBackground(color);
-		}
-		*/
-	}
-
-	/**
-	 * Returns the title bar border color when TITLE_BAR style is used.
-	 * 
-	 * @return the title bar border color
-	 */
-	public Color getTitleBarBorderColor() {
-		if (titleColors == null)
-			return null;
-		return (Color) titleColors.get(COLOR_BORDER);
-	}
-
-	/**
-	 * Returns the title bar gradient background color when TITLE_BAR style is
-	 * used.
-	 * 
-	 * @return the title bar gradient background
-	 */
-	public Color getTitleBarGradientBackground() {
-		if (titleColors == null)
-			return null;
-		if ((getExpansionStyle() & SHORT_TITLE_BAR) != 0)
-			return getBackground();
-		return (Color) titleColors.get(COLOR_GBG);
-	}
-
-	/**
-	 * Returns the title bar background when TITLE_BAR style is used.
-	 * 
-	 * @return the title bar background
-	 */
-	public Color getTitleBarBackground() {
-		if (titleColors == null)
-			return null;
-		return (Color) titleColors.get(COLOR_BG);
-	}
-
-	private void putTitleBarColor(String key, Color color) {
-		if (color == null)
-			return;
-		if (titleColors == null)
-			titleColors = new Hashtable();
-		titleColors.put(key, color);
-	}
-
-	protected void onPaint(PaintEvent e) {
-		Color bg = null;
-		Color gbg = null;
-		Color fg = null;
-		Color border = null;
-
-		GC gc = e.gc;
-		Image buffer = null;
-		Rectangle bounds = getClientArea();
-
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			buffer = new Image(getDisplay(), bounds.width, bounds.height);
-			buffer.setBackground(getBackground());
-			gc = new GC(buffer);
-		}
-		if (titleColors != null) {
-			bg = (Color) titleColors.get(COLOR_BG);
-			gbg = (Color) titleColors.get(COLOR_GBG);
-			fg = getTitleBarForeground();
-			border = (Color) titleColors.get(COLOR_BORDER);
-		}
-		if (bg == null)
-			bg = getBackground();
-		if (fg == null)
-			fg = getForeground();
-		if (border == null)
-			border = fg;
-		if (gbg == null)
-			gbg = bg;
-		int theight = 0;
-		int tvmargin = GAP;
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			Point tsize = null;
-			Point tcsize = null;
-			if (toggle != null)
-				tsize = toggle.getSize();
-			int twidth = bounds.width - marginWidth - marginWidth;
-			if (tsize != null)
-				twidth -= tsize.x + GAP;
-			if (getTextClient() != null)
-				tcsize = getTextClient().getSize();
-			if (tcsize != null)
-				twidth -= tcsize.x + GAP;
-			Point size = textLabel.getSize();
-			if (tsize != null)
-				theight += Math.max(theight, tsize.y);
-			if (tcsize != null)
-				theight = Math.max(theight, tcsize.y);
-			theight = Math.max(theight, size.y);
-			theight += tvmargin + tvmargin;
-		} else {
-			theight = 5;
-		}
-		int midpoint = (theight * 66) / 100;
-		int rem = theight - midpoint;
-
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			if (getBackgroundImage() == null)
-				updateHeaderImage(bg, gbg, bounds, theight, midpoint, rem);
-			gc.setBackground(getBackground());
-			gc.fillRectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-			drawBackground(gc, bounds.x, bounds.y, bounds.width, theight);
-			if (marginWidth>0) {
-				// fix up margins
-				gc.setBackground(getBackground());
-				gc.fillRectangle(0, 0, marginWidth, theight);
-				gc.fillRectangle(bounds.x+bounds.width-marginWidth, 0, marginWidth, theight);
-			}
-			/*
-			 * gc.setForeground(bg); gc.setBackground(gbg);
-			 * gc.fillGradientRectangle(marginWidth, marginHeight, bounds.width -
-			 * 1 - marginWidth - marginWidth, midpoint - 1, true);
-			 * gc.setForeground(gbg); gc.setBackground(getBackground()); gc
-			 * .fillGradientRectangle(marginWidth, marginHeight + midpoint - 1,
-			 * bounds.width - 1 - marginWidth - marginWidth, rem - 1, true);
-			 */
-		} else if (isExpanded()) {
-			gc.setForeground(bg);
-			gc.setBackground(getBackground());
-			gc.fillGradientRectangle(marginWidth, marginHeight, bounds.width
-					- marginWidth - marginWidth, theight, true);
-		}
-		gc.setBackground(getBackground());
-		// repair the upper left corner
-		gc.fillPolygon(new int[] { marginWidth, marginHeight, marginWidth,
-				marginHeight + 2, marginWidth + 2, marginHeight });
-		// repair the upper right corner
-		gc.fillPolygon(new int[] { bounds.width - marginWidth - 3,
-				marginHeight, bounds.width - marginWidth - 1, marginHeight,
-				bounds.width - marginWidth - 1, marginHeight + 2 });
-		gc.setForeground(border);
-		if (isExpanded() || (getExpansionStyle() & TITLE_BAR) != 0) {
-			// top left curve
-			gc.drawLine(marginWidth, marginHeight + 2, marginWidth + 2,
-					marginHeight);
-			// top edge
-			gc.drawLine(marginWidth + 2, marginHeight, bounds.width
-					- marginWidth - 3, marginHeight);
-			// top right curve
-			gc.drawLine(bounds.width - marginWidth - 3, marginHeight,
-					bounds.width - marginWidth - 1, marginHeight + 2);
-		} else {
-			// collapsed short title bar
-			// top edge
-			gc.drawLine(marginWidth, marginHeight, bounds.width - 1,
-					marginHeight);
-		}
-		if ((getExpansionStyle() & TITLE_BAR) != 0 && toggle != null
-				&& !isExpanded()) {
-			// left vertical edge
-			gc.drawLine(marginWidth, marginHeight + 2, marginWidth,
-					marginHeight + theight - 1);
-			// right vertical edge
-			gc.drawLine(bounds.width - marginWidth - 1, marginHeight + 2,
-					bounds.width - marginWidth - 1, marginHeight + theight - 1);
-			// bottom edge (if closed)
-			gc.drawLine(marginWidth, marginHeight + theight - 1, bounds.width
-					- marginWidth - 1, marginHeight + theight - 1);
-		} else if (isExpanded()) {
-			// left vertical edge gradient
-			gc.fillGradientRectangle(marginWidth, marginHeight + 2, 1,
-					theight - 2, true);
-			// right vertical edge gradient
-			gc.fillGradientRectangle(bounds.width - marginWidth - 1,
-					marginHeight + 2, 1, theight - 2, true);
-		}
-		if (buffer != null) {
-			// e.gc.drawImage(buffer, bounds.x, bounds.y);
-			e.gc.drawImage(buffer, 0, 0);
-			gc.dispose();
-			buffer.dispose();
-		}
-	}
-
-	private void updateHeaderImage(Color bg, Color gbg, Rectangle bounds,
-			int theight, int midpoint, int rem) {
-		Image image = new Image(getDisplay(), 1, theight);
-		image.setBackground(getBackground());
-		GC gc = new GC(image);
-		gc.setBackground(getBackground());
-		gc.fillRectangle(0, 0, 1, theight);
-		gc.setForeground(bg);
-		gc.setBackground(gbg);
-		gc.fillGradientRectangle(0, marginHeight, 1, midpoint - 1, true);
-		gc.setForeground(gbg);
-		gc.setBackground(getBackground());
-		gc.fillGradientRectangle(0, marginHeight + midpoint - 1, 
-				1, rem - 1, true);
-		gc.dispose();
-		super.setBackgroundImage(image);
-	}
-
-	/**
-	 * Background image is used for the title gradent - does nothing.
-	 */
-	public final void setBackgroundImage(Image image) {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java
deleted file mode 100644
index 4d9aabc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-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.ScrollBar;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * This class is used to provide common scrolling services to a number of
- * controls in the toolkit. Classes that extend it are not required to implement
- * any method.
- * 
- * @since 3.0
- */
-public abstract class SharedScrolledComposite extends ScrolledComposite {
-	private static final int H_SCROLL_INCREMENT = 5;
-
-	private static final int V_SCROLL_INCREMENT = 64;
-	
-	private boolean ignoreLayouts = true;
-
-	private boolean ignoreResizes = false;
-
-	private boolean expandHorizontal = false;
-
-	private boolean expandVertical = false;
-
-	private SizeCache contentCache = new SizeCache();
-
-	private boolean reflowPending = false;
-
-	private boolean delayedReflow = true;
-	
-	/**
-	 * Creates the new instance.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param style
-	 *            the style to use
-	 */
-	public SharedScrolledComposite(Composite parent, int style) {
-		super(parent, style);
-		addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event e) {
-				if (!ignoreResizes) {
-					scheduleReflow(false);
-				}
-			}
-		});
-		initializeScrollBars();
-	}
-
-	/**
-	 * Sets the foreground of the control and its content.
-	 * 
-	 * @param fg
-	 *            the new foreground color
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (getContent() != null)
-			getContent().setForeground(fg);
-	}
-
-	/**
-	 * Sets the background of the control and its content.
-	 * 
-	 * @param bg
-	 *            the new background color
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (getContent() != null)
-			getContent().setBackground(bg);
-	}
-
-	/**
-	 * Sets the font of the form. This font will be used to render the title
-	 * text. It will not affect the body.
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		if (getContent() != null)
-			getContent().setFont(font);
-	}
-
-	/**
-	 * Overrides 'super' to pass the proper colors and font
-	 */
-	public void setContent(Control content) {
-		super.setContent(content);
-		if (content != null) {
-			content.setForeground(getForeground());
-			content.setBackground(getBackground());
-			content.setFont(getFont());
-		}
-	}
-
-	/**
-	 * If content is set, transfers focus to the content.
-	 */
-	public boolean setFocus() {
-		boolean result;
-		FormUtil.setFocusScrollingEnabled(this, false);
-		if (getContent() != null)
-			result = getContent().setFocus();
-		else
-			result = super.setFocus();
-		FormUtil.setFocusScrollingEnabled(this, true);
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Composite#layout(boolean)
-	 */
-	public void layout(boolean changed) {
-		if (ignoreLayouts) {
-			return;
-		}
-
-		ignoreLayouts = true;
-		ignoreResizes = true;
-		super.layout(changed);
-		ignoreResizes = false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.custom.ScrolledComposite#setExpandHorizontal(boolean)
-	 */
-	public void setExpandHorizontal(boolean expand) {
-		expandHorizontal = expand;
-		super.setExpandHorizontal(expand);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.custom.ScrolledComposite#setExpandVertical(boolean)
-	 */
-	public void setExpandVertical(boolean expand) {
-		expandVertical = expand;
-		super.setExpandVertical(expand);
-	}
-
-	/**
-	 * Recomputes the body layout and the scroll bars. The method should be used
-	 * when changes somewhere in the form body invalidate the current layout
-	 * and/or scroll bars.
-	 * 
-	 * @param flushCache
-	 *            if <code>true</code>, drop the cached data
-	 */
-	public void reflow(boolean flushCache) {
-		Composite c = (Composite) getContent();
-		Rectangle clientArea = getClientArea();
-		if (c == null)
-			return;
-
-		contentCache.setControl(c);
-		if (flushCache) {
-			contentCache.flush();
-		}
-		setRedraw(false);
-		Point newSize = contentCache.computeSize(FormUtil.getWidthHint(
-				clientArea.width, c), FormUtil.getHeightHint(clientArea.height,
-				c));
-
-		// Point currentSize = c.getSize();
-		if (!(expandHorizontal && expandVertical)) {
-			c.setSize(newSize);
-		}
-
-		setMinSize(newSize);
-		FormUtil.updatePageIncrement(this);
-
-		ignoreLayouts = false;
-		layout(flushCache);
-		ignoreLayouts = true;
-
-		contentCache.layoutIfNecessary();
-		setRedraw(true);
-	}
-
-	private void updateSizeWhilePending() {
-		Control c = getContent();
-		Rectangle area = getClientArea();
-		setMinSize(area.width, c.getSize().y);
-	}
-
-	private void scheduleReflow(final boolean flushCache) {
-		if (delayedReflow) {
-			if (reflowPending) {
-				updateSizeWhilePending();
-				return;
-			}
-			getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					if (!isDisposed())
-						reflow(flushCache);
-					reflowPending = false;
-				}
-			});
-			reflowPending = true;
-		} else
-			reflow(flushCache);
-	}
-
-	private void initializeScrollBars() {
-		ScrollBar hbar = getHorizontalBar();
-		if (hbar != null) {
-			hbar.setIncrement(H_SCROLL_INCREMENT);
-		}
-		ScrollBar vbar = getVerticalBar();
-		if (vbar != null) {
-			vbar.setIncrement(V_SCROLL_INCREMENT);
-		}
-		FormUtil.updatePageIncrement(this);
-	}
-
-	/**
-	 * Tests if the control uses delayed reflow.
-	 * @return <code>true</code> if reflow requests will
-	 * be delayed, <code>false</code> otherwise. 
-	 */
-	public boolean isDelayedReflow() {
-		return delayedReflow;
-	}
-
-	/**
-	 * Sets the delayed reflow feature. When used,
-	 * it will schedule a reflow on resize requests
-	 * and reject subsequent reflows until the
-	 * scheduled one is performed. This improves
-	 * performance by 
-	 * @param delayedReflow
-	 *            The delayedReflow to set.
-	 */
-	public void setDelayedReflow(boolean delayedReflow) {
-		this.delayedReflow = delayedReflow;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SizeCache.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SizeCache.java
deleted file mode 100644
index e56219d..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SizeCache.java
+++ /dev/null
@@ -1,531 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.util.List;
-
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-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.Layout;
-import org.eclipse.swt.widgets.ProgressBar;
-import org.eclipse.swt.widgets.Sash;
-import org.eclipse.swt.widgets.Scale;
-import org.eclipse.swt.widgets.Slider;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * Caches the preferred size of an SWT control
- * 
- * @since 3.0
- */
-public class SizeCache {
-    private Control control;
-
-    private Point preferredSize;
-
-    private int cachedWidthQuery;
-    private int cachedWidthResult;
-
-    private int cachedHeightQuery;
-    private int cachedHeightResult;
-    
-    private int minimumWidth;
-    private int heightAtMinimumWidth = -1;
-    private int maximumWidth;
-    
-    /**
-     * True iff we should recursively flush all children on the next layout
-     */
-    private boolean flushChildren;
-
-    /**
-     * True iff changing the height hint does not affect the preferred width and changing
-     * the width hint does not change the preferred height
-     */
-    private boolean independentDimensions = false;
-
-    /**
-     * True iff the preferred height for any hint larger than the preferred width will not
-     * change the preferred height.
-     */
-    private boolean preferredWidthOrLargerIsMinimumHeight = false;
-
-    // HACK: these values estimate how much to subtract from the width and height
-    // hints that get passed into computeSize, in order to produce a result
-    // that is exactly the desired size. To be removed once bug 46112 is fixed (note:
-    // bug 46112 is currently flagged as a duplicate, but there is still no workaround).
-    private int widthAdjustment = 0;
-
-    private int heightAdjustment = 0;
-
-    private int minimumHeight;
-
-    private int widthAtMinimumHeight = -1;
-    
-    // If the layout is dirty, this is the size of the control at the time its
-    // layout was dirtied. null if the layout is not dirty.
-    private Point dirtySize = null; 
-
-
-    // END OF HACK
-
-    public SizeCache() {
-        this(null);
-    }
-
-    /**
-     * Creates a cache for size computations on the given control
-     * 
-     * @param control the control for which sizes will be calculated, 
-     * or null to always return (0,0) 
-     */
-    public SizeCache(Control control) {
-        setControl(control);
-    }
-
-    /**
-     * Sets the control whose size is being cached. Does nothing (will not
-     * even flush the cache) if this is the same control as last time. 
-     * 
-     * @param newControl the control whose size is being cached, or null to always return (0,0)
-     */
-    public void setControl(Control newControl) {
-        if (newControl != control) {
-            control = newControl;
-            if (control == null) {
-                independentDimensions = true;
-                preferredWidthOrLargerIsMinimumHeight = false;
-                widthAdjustment = 0;
-                heightAdjustment = 0;
-            } else {
-                independentDimensions = independentLengthAndWidth(control);
-                preferredWidthOrLargerIsMinimumHeight = isPreferredWidthMaximum(control);
-                computeHintOffset(control);
-                flush();
-            }
-        }
-    }
-
-    /**
-     * Returns the control whose size is being cached
-     * 
-     * @return the control whose size is being cached, or null if this cache always returns (0,0)
-     */
-    public Control getControl() {
-        return control;
-    }
-
-    /**
-     * Flush the cache (should be called if the control's contents may have changed since the
-     * last query)
-     */
-    public void flush() {
-        flush(true);
-    }
-
-    public void flush(boolean recursive) {
-        preferredSize = null;
-        cachedWidthQuery = -1;
-        cachedWidthResult = -1;
-        cachedHeightQuery = -1;
-        cachedHeightResult = -1;
-        minimumWidth = -1;
-        maximumWidth = -1;
-        minimumHeight = -1;
-        heightAtMinimumWidth = -1;
-        widthAtMinimumHeight = -1;
-        
-        if (recursive || dirtySize != null) {
-            if (control == null || control.isDisposed()) {
-                dirtySize = new Point(0,0);
-                control = null;
-            } else {
-                dirtySize = control.getSize();
-            }
-        }
-        
-        this.flushChildren = this.flushChildren || recursive;
-    }
-
-    private Point getPreferredSize() {
-        if (preferredSize == null) {
-            preferredSize = controlComputeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-
-        return preferredSize;
-    }
-
-    /**
-     * Computes the preferred size of the control.
-     *  
-     * @param widthHint the known width of the control (pixels) or SWT.DEFAULT if unknown
-     * @param heightHint the known height of the control (pixels) or SWT.DEFAULT if unknown
-     * @return the preferred size of the control
-     */
-    public Point computeSize(int widthHint, int heightHint) {
-        if (control == null || control.isDisposed()) {
-            return new Point(0, 0);
-        }
-        
-        // If we're asking for a result smaller than the minimum width
-        int minWidth = computeMinimumWidth();
-        
-        if (widthHint != SWT.DEFAULT && widthHint + widthAdjustment < minWidth) {
-            if (heightHint == SWT.DEFAULT) {
-                return new Point(minWidth, computeHeightAtMinimumWidth());   
-            }
-            
-            widthHint = minWidth - widthAdjustment;
-        }
-        
-        // If we're asking for a result smaller than the minimum height
-        int minHeight = computeMinimumHeight();
-        
-        if (heightHint != SWT.DEFAULT && heightHint + heightAdjustment < minHeight) {
-            if (widthHint == SWT.DEFAULT) {
-                return new Point(computeWidthAtMinimumHeight(), minHeight);
-            }
-            
-            heightHint = minHeight - heightAdjustment;
-        }
-        
-        // If both dimensions were supplied in the input, compute the trivial result
-        if (widthHint != SWT.DEFAULT && heightHint != SWT.DEFAULT) {                        
-            return new Point(widthHint + widthAdjustment, heightHint + heightAdjustment);
-        }
-
-        // No hints given -- find the preferred size
-        if (widthHint == SWT.DEFAULT && heightHint == SWT.DEFAULT) {
-            return Geometry.copy(getPreferredSize());
-        }
-
-        // If the length and width are independent, compute the preferred size
-        // and adjust whatever dimension was supplied in the input
-        if (independentDimensions) {
-            Point result = Geometry.copy(getPreferredSize());
-
-            if (widthHint != SWT.DEFAULT) {
-                result.x = widthHint + widthAdjustment;
-            }
-
-            if (heightHint != SWT.DEFAULT) {
-                result.y = heightHint + heightAdjustment;
-            }
-
-            return result;
-        }
-
-        // Computing a height
-        if (heightHint == SWT.DEFAULT) {
-            // If we know the control's preferred size
-            if (preferredSize != null) {
-                // If the given width is the preferred width, then return the preferred size
-                if (widthHint + widthAdjustment == preferredSize.x) {
-                    return Geometry.copy(preferredSize);
-                }
-            }
-
-            // If we have a cached height measurement
-            if (cachedHeightQuery != -1) {
-                // If this was measured with the same width hint
-                if (cachedHeightQuery == widthHint) {
-                    return new Point(widthHint + widthAdjustment, cachedHeightResult);
-                }
-            }
-
-            // If this is a control where any hint larger than the
-            // preferred width results in the minimum height, determine if
-            // we can compute the result based on the preferred height
-            if (preferredWidthOrLargerIsMinimumHeight) {
-                // Computed the preferred size (if we don't already know it)
-                getPreferredSize();
-
-                // If the width hint is larger than the preferred width, then
-                // we can compute the result from the preferred width
-                if (widthHint + widthAdjustment >= preferredSize.x) {
-                    return new Point(widthHint + widthAdjustment, preferredSize.y);
-                }
-            }
-
-            // Else we can't find an existing size in the cache, so recompute
-            // it from scratch.
-            Point newHeight = controlComputeSize(widthHint, heightHint);
-
-            cachedHeightQuery = heightHint;
-            cachedHeightResult = newHeight.y;
-            
-            return newHeight;
-        }
-
-        // Computing a width
-        if (widthHint == SWT.DEFAULT) {
-            // If we know the control's preferred size
-            if (preferredSize != null) {
-                // If the given height is the preferred height, then return the preferred size
-                if (heightHint + heightAdjustment == preferredSize.y) {
-                    return Geometry.copy(preferredSize);
-                }
-            }
-
-            // If we have a cached width measurement with the same height hint
-            if (cachedWidthQuery == heightHint) {
-                return new Point(cachedWidthResult, heightHint + heightAdjustment);
-            }
-
-            Point widthResult = controlComputeSize(widthHint, heightHint);
-
-            cachedWidthQuery = heightHint;
-            cachedWidthResult = widthResult.x;
-            
-            return widthResult;
-        }
-
-        return controlComputeSize(widthHint, heightHint);
-    }
-    
-    /**
-     * Compute the control's size, and ensure that non-default hints are returned verbatim
-     * (this tries to compensate for SWT's hints, which aren't really the outer width of the
-     * control).
-     * 
-     * @param widthHint the horizontal hint
-     * @param heightHint the vertical hint
-     * @return the control's size
-     */
-    public Point computeAdjustedSize(int widthHint, int heightHint) {
-        int adjustedWidthHint = widthHint == SWT.DEFAULT ? SWT.DEFAULT : Math
-                .max(0, widthHint - widthAdjustment);
-        int adjustedHeightHint = heightHint == SWT.DEFAULT ? SWT.DEFAULT : Math
-                .max(0, heightHint - heightAdjustment);
-
-        Point result = computeSize(adjustedWidthHint, adjustedHeightHint);
-
-        // If the amounts we subtracted off the widthHint and heightHint didn't do the trick, then
-        // manually adjust the result to ensure that a non-default hint will return that result verbatim.
-        
-        return result;
-    }
-
-    /**
-     * Returns true if the preferred length of the given control is 
-     * independent of the width and visa-versa. If this returns true,
-     * then changing the widthHint argument to control.computeSize will
-     * never change the resulting height and changing the heightHint
-     * will never change the resulting width. Returns false if unknown.
-     * <p>
-     * This information can be used to improve caching. Incorrectly returning
-     * a value of false may decrease performance, but incorrectly returning 
-     * a value of true will generate incorrect layouts... so always return
-     * false if unsure.
-     * </p>
-     * 
-     * @param control
-     * @return
-     */
-    static boolean independentLengthAndWidth(Control control) {
-        if (control == null || control.isDisposed()) {
-            return true;
-        }
-
-        if (control instanceof Button || control instanceof ProgressBar
-                || control instanceof Sash || control instanceof Scale
-                || control instanceof Slider || control instanceof List
-                || control instanceof Combo || control instanceof Tree) {
-            return true;
-        }
-
-        if (control instanceof Label || control instanceof Text) {
-            return (control.getStyle() & SWT.WRAP) == 0;
-        }
-
-        // Unless we're certain that the control has this property, we should
-        // return false.
-
-        return false;
-    }
-    
-    /**
-     * Try to figure out how much we need to subtract from the hints that we
-     * pass into the given control's computeSize(...) method. This tries to
-     * compensate for bug 46112. To be removed once SWT provides an "official"
-     * way to compute one dimension of a control's size given the other known
-     * dimension.
-     * 
-     * @param control
-     */
-    private void computeHintOffset(Control control) {
-        if (control instanceof Composite) {
-            // For composites, subtract off the trim size
-            Composite composite = (Composite) control;
-            Rectangle trim = composite.computeTrim(0, 0, 0, 0);
-
-            widthAdjustment = trim.width;
-            heightAdjustment = trim.height;
-        } else {
-            // For non-composites, subtract off 2 * the border size
-            widthAdjustment = control.getBorderWidth() * 2;
-            heightAdjustment = widthAdjustment;
-        }
-    }
-
-    private Point controlComputeSize(int widthHint, int heightHint) {
-        Point result = control.computeSize(widthHint, heightHint, flushChildren);
-        flushChildren = false;
-        
-        return result;
-    }
-
-    /**
-     * Returns true only if the control will return a constant height for any
-     * width hint larger than the preferred width. Returns false if there is
-     * any situation in which the control does not have this property.
-     * 
-     * <p>
-     * Note: this method is only important for wrapping controls, and it can
-     * safely return false for anything else. AFAIK, all SWT controls have this
-     * property, but to be safe they will only be added to the list once the
-     * property has been confirmed.
-     * </p> 
-     * 
-     * @param control
-     * @return
-     */
-    private static boolean isPreferredWidthMaximum(Control control) {
-        return (control instanceof ToolBar
-        //|| control instanceof CoolBar
-        || control instanceof Label);
-    }
-    
-    public int computeMinimumWidth() {
-        if (minimumWidth == -1) {
-    		if (control instanceof Composite) {
-    			Layout layout = ((Composite)control).getLayout();
-    			if (layout instanceof ILayoutExtension) {
-    				minimumWidth = ((ILayoutExtension)layout).computeMinimumWidth((Composite)control, flushChildren);
-    				flushChildren = false;
-    			}
-    		}
-        }
-
-        if (minimumWidth == -1) {
-            Point minWidth = controlComputeSize(FormUtil.getWidthHint(5, control), SWT.DEFAULT); 
-            minimumWidth = minWidth.x;
-            heightAtMinimumWidth = minWidth.y;
-        }
-		
-		return minimumWidth;
-    }
-    
-    public int computeMaximumWidth() {
-        if (maximumWidth == -1) {
-    		if (control instanceof Composite) {
-    			Layout layout = ((Composite)control).getLayout();
-    			if (layout instanceof ILayoutExtension) {
-    				maximumWidth = ((ILayoutExtension)layout).computeMaximumWidth((Composite)control, flushChildren);
-    				flushChildren = false;
-    			}
-    		}
-        }
-
-        if (maximumWidth == -1) {
-            maximumWidth = getPreferredSize().x;
-        }
-		
-        return maximumWidth;
-	}
-    
-    private int computeHeightAtMinimumWidth() {
-        int minimumWidth = computeMinimumWidth();
-        
-        if (heightAtMinimumWidth == -1) {
-            heightAtMinimumWidth = controlComputeSize(minimumWidth - widthAdjustment, SWT.DEFAULT).y;
-        }
-        
-        return heightAtMinimumWidth;
-    }
-    
-    private int computeWidthAtMinimumHeight() {
-        int minimumHeight = computeMinimumHeight();
-        
-        if (widthAtMinimumHeight == -1) {
-            widthAtMinimumHeight = controlComputeSize(SWT.DEFAULT, minimumHeight - heightAdjustment).x;
-        }
-        
-        return widthAtMinimumHeight;
-    }
-
-    private int computeMinimumHeight() {
-        if (minimumHeight == -1) {
-            Point sizeAtMinHeight = controlComputeSize(SWT.DEFAULT, 0);
-            
-            minimumHeight = sizeAtMinHeight.y;
-            widthAtMinimumHeight = sizeAtMinHeight.x;
-        }
-        
-        return minimumHeight;
-    }
-    
-    public Point computeMinimumSize() {
-        return new Point(computeMinimumWidth(), computeMinimumHeight());
-    }
-
-    public void setSize(Point newSize) {
-        if (control != null) {
-            control.setSize(newSize);
-        }
-        
-        layoutIfNecessary();
-    }
-    
-    public void setSize(int width, int height) {
-        if (control != null) {
-            control.setSize(width, height);
-        }
-        
-        layoutIfNecessary();        
-    }
-    
-    public void setBounds(int x, int y, int width, int height) {
-        if (control != null) {
-            control.setBounds(x, y, width, height);
-        }
-        
-        layoutIfNecessary();        
-    }
-    
-    public void setBounds(Rectangle bounds) {
-        if (control != null) {
-            control.setBounds(bounds);
-        }
-        
-        layoutIfNecessary();
-    }
-
-    public void layoutIfNecessary() {
-        if (dirtySize != null && control != null && control instanceof Composite) {
-            if (control.getSize().equals(dirtySize)) {
-	            ((Composite)control).layout(flushChildren);
-	            flushChildren = false;
-            }
-        }
-        dirtySize = null;
-    }
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java
deleted file mode 100644
index 7e776e0..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.forms.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * Layout data used in conjunction with <code>HTMLTableLayout</code>.
- * Children in a composite that uses this layout should call <samp>setLayoutData
- * </samp> and pass an instance of this class to control physical placement in
- * the parent.
- * 
- * @see TableWrapLayout
- * @since 3.0
- */
-public final class TableWrapData {
-	/**
-	 * The control will be left-justified.
-	 */
-	public static final int LEFT = 1 << 1;
-
-	/**
-	 * The control will be centered horizontally.
-	 */
-	public static final int CENTER = 1 << 2;
-
-	/**
-	 * The control will be right-justified.
-	 */
-	public static final int RIGHT = 1 << 3;
-
-	/**
-	 * The control will be aligned with the top of the cell.
-	 */
-	public static final int TOP = 1 << 4;
-
-	/**
-	 * The control will be centered vertically.
-	 */
-	public static final int MIDDLE = 1 << 5;
-
-	/**
-	 * The control will be aligned with the bottom of the cell.
-	 */
-	public static final int BOTTOM = 1 << 6;
-
-	/**
-	 * The control will have the same width as the column it occupies.
-	 */
-	public static final int FILL = 1 << 7;
-
-	/**
-	 * In addition to filling width or height, the control will take part in
-	 * allocation of any excess space. Note that this constant can only be
-	 * passed to the constructor (cannot be directly assigned to
-	 * <code>align</code> variable).
-	 */
-	public static final int FILL_GRAB = 1 << 8;
-
-	/**
-	 * Number of columns to span (default is 1).
-	 */
-	public int colspan = 1;
-
-	/**
-	 * Number of rows to span (default is 1).
-	 */
-	public int rowspan = 1;
-
-	/**
-	 * Horizontal alignment (LEFT, CENTER, RIGHT or FILL; default is LEFT).
-	 */
-	public int align = LEFT;
-
-	/**
-	 * Vertical alignment (TOP, MIDDLE, BOTTOM or FILL; default is TOP).
-	 */
-	public int valign = TOP;
-
-	/**
-	 * Horizontal indent (default is 0).
-	 */
-	public int indent = 0;
-
-	/**
-	 * Maximum width of the control (default is SWT.DEFAULT).
-	 */
-	public int maxWidth = SWT.DEFAULT;
-
-	/**
-	 * Maximum height of the control (default is SWT.DEFAULT).
-	 */
-	public int maxHeight = SWT.DEFAULT;
-
-	/**
-	 * Height hint of the control (default is SWT.DEFAULT).
-	 */
-	public int heightHint = SWT.DEFAULT;
-
-	/**
-	 * If <code>true</code>, take part in excess horizontal space
-	 * distribution. (default is <code>false</code>).
-	 */
-	public boolean grabHorizontal;
-
-	/**
-	 * If <code>true</code>, will grab any excess vertical space (default is
-	 * <code>false</code>). Note that since TableWrapLayout works top-down
-	 * and does not grows to fill the parent, this only applies to local excess
-	 * space created by fixed-height children that span multiple rows.
-	 */
-	public boolean grabVertical;
-
-	int childIndex;
-
-	boolean isItemData = true;
-
-	int compWidth;
-
-	Point compSize;
-
-	/**
-	 * The default constructor.
-	 */
-	public TableWrapData() {
-	}
-
-	/**
-	 * The convinience constructor - allows passing the horizontal alignment
-	 * style.
-	 * 
-	 * @param align
-	 *            horizontal alignment (LEFT, MIDDLE, RIGHT, FILL or FILL_GRAB).
-	 */
-	public TableWrapData(int align) {
-		this(align, TOP, 1, 1);
-	}
-
-	/**
-	 * The convinience constructor - allows passing the alignment styles.
-	 * 
-	 * @param align
-	 *            horizontal alignment (LEFT, CENTER, RIGHT, FILL or FILL_GRAB).
-	 * @param valign
-	 *            vertical alignment (TOP, MIDDLE, BOTTOM, FILL or FILL_GRAB).
-	 */
-	public TableWrapData(int align, int valign) {
-		this(align, valign, 1, 1);
-	}
-
-	/**
-	 * The convinience constructor - allows passing the alignment styles, column
-	 * and row spans.
-	 * 
-	 * @param align
-	 *            horizontal alignment (LEFT, CENTER, RIGHT, FILL or FILL_GRAB).
-	 * @param valign
-	 *            vertical alignment (TOP, MIDDLE, BOTTOM, FILL or FILL_GRAB)
-	 * @param rowspan
-	 *            row span (1 or more)
-	 * @param colspan
-	 *            column span (1 or more)
-	 */
-	public TableWrapData(int align, int valign, int rowspan, int colspan) {
-		if (align != LEFT && align != CENTER && align != RIGHT && align != FILL
-				&& align != FILL_GRAB)
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, "align"); //$NON-NLS-1$
-		if (valign != TOP && valign != MIDDLE && valign != BOTTOM
-				&& valign != FILL && valign != FILL_GRAB)
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, "valign"); //$NON-NLS-1$
-		if (rowspan < 1)
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, "rowspan"); //$NON-NLS-1$
-		if (colspan < 1)
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, "colspan"); //$NON-NLS-1$
-		if (align == FILL_GRAB) {
-			this.align = FILL;
-			grabHorizontal = true;
-		} else
-			this.align = align;
-		if (valign == FILL_GRAB) {
-			this.valign = FILL;
-			grabVertical = true;
-		} else
-			this.valign = valign;
-		this.rowspan = rowspan;
-		this.colspan = colspan;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java
deleted file mode 100644
index 00c7baf..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java
+++ /dev/null
@@ -1,901 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.util.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This implementation of the layout algorithm attempts to position controls in
- * the composite using a two-pass autolayout HTML table altorithm recommeded by
- * HTML 4.01 W3C specification (see
- * http://www.w3.org/TR/html4/appendix/notes.html#h-B.5.2.2). The main
- * differences with GridLayout is that it has two passes and that width and
- * height are not calculated in the same pass.
- * <p>
- * The advantage of the algorithm over GridLayout is that it is capable of
- * flowing text controls capable of line wrap. These controls do not have
- * natural 'preferred size'. Instead, they are capable of providing the required
- * height if the width is set. Consequently, this algorithm first calculates the
- * widths that will be assigned to columns, and then passes those widths to the
- * controls to calculate the height. When a composite with this layout is a
- * child of the scrolling composite, they should interact in such a way that
- * reduction in the scrolling composite width results in the reflow and increase
- * of the overall height.
- * <p>
- * If none of the columns contain expandable and wrappable controls, the
- * end-result will be similar to the one provided by GridLayout. The difference
- * will show up for layouts that contain controls whose minimum and maximum
- * widths are not the same.
- * 
- * @see TableWrapData
- * @since 3.0
- */
-public final class TableWrapLayout extends Layout implements ILayoutExtension {
-	/**
-	 * Number of columns to use when positioning children (default is 1).
-	 */
-	public int numColumns = 1;
-
-	/**
-	 * Left margin variable (default is 5).
-	 */
-	public int leftMargin = 5;
-
-	/**
-	 * Right margin variable (default is 5).
-	 */
-	public int rightMargin = 5;
-
-	/**
-	 * Top margin variable (default is 5).
-	 */
-	public int topMargin = 5;
-
-	/**
-	 * Botom margin variable (default is 5).
-	 */
-	public int bottomMargin = 5;
-
-	/**
-	 * Horizontal spacing (default is 5).
-	 */
-	public int horizontalSpacing = 5;
-
-	/**
-	 * Vertical spacing (default is 5).
-	 */
-	public int verticalSpacing = 5;
-
-	/**
-	 * If set to <code>true</code>, all the columns will have the same width.
-	 * Otherwise, column widths will be computed based on controls in them and
-	 * their layout data (default is <code>false</code>).
-	 */
-	public boolean makeColumnsEqualWidth = false;
-
-	private boolean initialLayout = true;
-
-	private Vector grid = null;
-
-	private Hashtable rowspans;
-
-	private int[] minColumnWidths, maxColumnWidths;
-
-	private int widestColumnWidth;
-
-	private int[] growingColumns;
-
-	private int[] growingRows;
-
-	private LayoutCache cache = new LayoutCache();
-
-	private class RowSpan {
-		Control child;
-
-		int row;
-
-		int column;
-
-		int height;
-
-		int totalHeight;
-
-		public RowSpan(Control child, int column, int row) {
-			this.child = child;
-			this.column = column;
-			this.row = row;
-		}
-
-		public void update(int currentRow, int rowHeight) {
-			TableWrapData td = (TableWrapData) child.getLayoutData();
-			if (currentRow - row <= td.rowspan - 1) {
-				totalHeight += rowHeight;
-				if (currentRow > row)
-					totalHeight += verticalSpacing;
-			}
-		}
-
-		public int getRequiredHeightIncrease() {
-			if (totalHeight < height)
-				return height - totalHeight;
-			return 0;
-		}
-	}
-
-	/**
-	 * Implements ILayoutExtension. Should not be called directly.
-	 * 
-	 * @see ILayoutExtension
-	 */
-	public int computeMinimumWidth(Composite parent, boolean changed) {
-
-		Control[] children = parent.getChildren();
-		if (changed) {
-			cache.flush();
-		}
-
-		cache.setControls(children);
-
-		changed = true;
-		initializeIfNeeded(parent, changed);
-		if (initialLayout) {
-			changed = true;
-			initialLayout = false;
-		}
-		if (grid == null || changed) {
-			changed = true;
-			grid = new Vector();
-			createGrid(parent);
-		}
-		if (minColumnWidths == null)
-			minColumnWidths = new int[numColumns];
-		for (int i = 0; i < numColumns; i++) {
-			minColumnWidths[i] = 0;
-		}
-		return internalGetMinimumWidth(parent, changed);
-	}
-
-	/**
-	 * Implements ILayoutExtension. Should not be called directly.
-	 * 
-	 * @see ILayoutExtension
-	 */
-	public int computeMaximumWidth(Composite parent, boolean changed) {
-		Control[] children = parent.getChildren();
-		if (changed) {
-			cache.flush();
-		}
-
-		cache.setControls(children);
-
-		changed = true;
-		initializeIfNeeded(parent, changed);
-		if (initialLayout) {
-			changed = true;
-			initialLayout = false;
-		}
-		if (grid == null || changed) {
-			changed = true;
-			grid = new Vector();
-			createGrid(parent);
-		}
-		if (maxColumnWidths == null)
-			maxColumnWidths = new int[numColumns];
-		for (int i = 0; i < numColumns; i++) {
-			maxColumnWidths[i] = 0;
-		}
-		return internalGetMaximumWidth(parent, changed);
-	}
-
-	/**
-	 * @see Layout#layout(Composite, boolean)
-	 */
-	protected void layout(Composite parent, boolean changed) {
-
-		Rectangle clientArea = parent.getClientArea();
-		Control[] children = parent.getChildren();
-		if (changed) {
-			cache.flush();
-		}
-
-		if (children.length == 0)
-			return;
-
-		cache.setControls(children);
-
-		int parentWidth = clientArea.width;
-		changed = true;
-		initializeIfNeeded(parent, changed);
-		if (initialLayout) {
-			changed = true;
-			initialLayout = false;
-		}
-		if (grid == null || changed) {
-			changed = true;
-			grid = new Vector();
-			createGrid(parent);
-		}
-		resetColumnWidths();
-		int minWidth = internalGetMinimumWidth(parent, changed);
-		int maxWidth = internalGetMaximumWidth(parent, changed);
-		int tableWidth = parentWidth;
-		int[] columnWidths;
-		if (parentWidth <= minWidth) {
-			tableWidth = minWidth;
-			if (makeColumnsEqualWidth) {
-				columnWidths = new int[numColumns];
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = widestColumnWidth;
-				}
-			} else
-				columnWidths = minColumnWidths;
-		} else if (parentWidth > maxWidth) {
-			if (growingColumns.length == 0) {
-				tableWidth = maxWidth;
-				columnWidths = maxColumnWidths;
-			} else {
-				columnWidths = new int[numColumns];
-				int colSpace = tableWidth - leftMargin - rightMargin;
-				colSpace -= (numColumns - 1) * horizontalSpacing;
-				int extra = parentWidth - maxWidth;
-				int colExtra = extra / growingColumns.length;
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = maxColumnWidths[i];
-					if (isGrowingColumn(i)) {
-						columnWidths[i] += colExtra;
-					}
-				}
-			}
-		} else {
-			columnWidths = new int[numColumns];
-			if (makeColumnsEqualWidth) {
-				int colSpace = tableWidth - leftMargin - rightMargin;
-				colSpace -= (numColumns - 1) * horizontalSpacing;
-				int col = colSpace / numColumns;
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = col;
-				}
-			} else {
-				columnWidths = assignExtraSpace(tableWidth, maxWidth, minWidth);
-			}
-		}
-		int y = topMargin+clientArea.y;
-		int[] rowHeights = computeRowHeights(children, columnWidths, changed);
-		for (int i = 0; i < grid.size(); i++) {
-			int rowHeight = rowHeights[i];
-			int x = leftMargin+clientArea.x;
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData) {
-					Control child = children[td.childIndex];
-					placeControl(child, td, x, y, rowHeights, i);
-				}
-				x += columnWidths[j];
-				if (j < numColumns - 1)
-					x += horizontalSpacing;
-			}
-			y += rowHeight + verticalSpacing;
-		}
-	}
-
-	int[] computeRowHeights(Control[] children, int[] columnWidths,
-			boolean changed) {
-		int[] rowHeights = new int[grid.size()];
-		for (int i = 0; i < grid.size(); i++) {
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			rowHeights[i] = 0;
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData == false) {
-					continue;
-				}
-				Control child = children[td.childIndex];
-				int span = td.colspan;
-				int cwidth = 0;
-				for (int k = j; k < j + span; k++) {
-					cwidth += columnWidths[k];
-					if (k < j + span - 1)
-						cwidth += horizontalSpacing;
-				}
-				Point size = computeSize(td.childIndex, cwidth, td.indent, td.maxWidth, td.maxHeight);
-				td.compWidth = cwidth;
-				if (td.heightHint != SWT.DEFAULT) {
-					size = new Point(size.x, td.heightHint);
-				}
-				td.compSize = size;
-				RowSpan rowspan = (RowSpan) rowspans.get(child);
-				if (rowspan == null) {
-					rowHeights[i] = Math.max(rowHeights[i], size.y);
-				} else
-					rowspan.height = size.y;
-			}
-			updateRowSpans(i, rowHeights[i]);
-		}
-		for (Enumeration enm = rowspans.elements(); enm.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enm.nextElement();
-			int increase = rowspan.getRequiredHeightIncrease();
-			if (increase == 0)
-				continue;
-			TableWrapData td = (TableWrapData) rowspan.child.getLayoutData();
-			int ngrowing = 0;
-			int[] affectedRows = new int[grid.size()];
-			for (int i = 0; i < growingRows.length; i++) {
-				int growingRow = growingRows[i];
-				if (growingRow >= rowspan.row
-						&& growingRow < rowspan.row + td.rowspan) {
-					affectedRows[ngrowing++] = growingRow;
-				}
-			}
-			if (ngrowing == 0) {
-				ngrowing = 1;
-				affectedRows[0] = rowspan.row + td.rowspan - 1;
-			}
-			increase += increase % ngrowing;
-			int perRowIncrease = increase / ngrowing;
-			for (int i = 0; i < ngrowing; i++) {
-				int growingRow = affectedRows[i];
-				rowHeights[growingRow] += perRowIncrease;
-			}
-		}
-		return rowHeights;
-	}
-
-	boolean isGrowingColumn(int col) {
-		if (growingColumns == null)
-			return false;
-		for (int i = 0; i < growingColumns.length; i++) {
-			if (col == growingColumns[i])
-				return true;
-		}
-		return false;
-	}
-
-	int[] assignExtraSpace(int tableWidth, int maxWidth, int minWidth) {
-		int fixedPart = leftMargin + rightMargin + (numColumns - 1)
-				* horizontalSpacing;
-		int D = maxWidth - minWidth;
-		int W = tableWidth - fixedPart - minWidth;
-		int widths[] = new int[numColumns];
-		int rem = 0;
-		for (int i = 0; i < numColumns; i++) {
-			int cmin = minColumnWidths[i];
-			int cmax = maxColumnWidths[i];
-			int d = cmax - cmin;
-			int extra = D != 0 ? (d * W) / D : 0;
-			if (i < numColumns - 1) {
-				widths[i] = cmin + extra;
-				rem += widths[i];
-			} else {
-				widths[i] = tableWidth - fixedPart - rem;
-			}
-		}
-		return widths;
-	}
-
-	Point computeSize(int childIndex, int width, int indent, int maxWidth, int maxHeight) {
-		int widthArg = width - indent;
-		SizeCache controlCache = cache.getCache(childIndex);
-		if (!isWrap(controlCache.getControl()))
-			widthArg = SWT.DEFAULT;
-		Point size = controlCache.computeSize(widthArg, SWT.DEFAULT);
-		if (maxWidth!=SWT.DEFAULT)
-			size.x = Math.min(size.x, maxWidth);
-		if (maxHeight!=SWT.DEFAULT)
-			size.y = Math.min(size.y, maxHeight);
-		size.x += indent;
-		return size;
-	}
-
-	void placeControl(Control control, TableWrapData td, int x, int y,
-			int[] rowHeights, int row) {
-		int xloc = x + td.indent;
-		int yloc = y;
-		int height = td.compSize.y;
-		int colWidth = td.compWidth - td.indent;
-		int width = td.compSize.x-td.indent;
-		width = Math.min(width, colWidth);
-		int slotHeight = rowHeights[row];
-		RowSpan rowspan = (RowSpan) rowspans.get(control);
-		if (rowspan != null) {
-			slotHeight = 0;
-			for (int i = row; i < row + td.rowspan; i++) {
-				if (i > row)
-					slotHeight += verticalSpacing;
-				slotHeight += rowHeights[i];
-			}
-		}
-		// align horizontally
-		if (td.align == TableWrapData.CENTER) {
-			xloc = x + colWidth / 2 - width / 2;
-		} else if (td.align == TableWrapData.RIGHT) {
-			xloc = x + colWidth - width;
-		} else if (td.align == TableWrapData.FILL) {
-			width = colWidth;
-		}
-		// align vertically
-		if (td.valign == TableWrapData.MIDDLE) {
-			yloc = y + slotHeight / 2 - height / 2;
-		} else if (td.valign == TableWrapData.BOTTOM) {
-			yloc = y + slotHeight - height;
-		} else if (td.valign == TableWrapData.FILL) {
-			height = slotHeight;
-		}
-		control.setBounds(xloc, yloc, width, height);
-	}
-
-	void createGrid(Composite composite) {
-		int row, column, rowFill, columnFill;
-		Control[] children;
-		TableWrapData spacerSpec;
-		Vector growingCols = new Vector();
-		Vector growingRows = new Vector();
-		rowspans = new Hashtable();
-		// 
-		children = composite.getChildren();
-		if (children.length == 0)
-			return;
-		// 
-		grid.addElement(createEmptyRow());
-		row = 0;
-		column = 0;
-		// Loop through the children and place their associated layout specs in
-		// the
-		// grid. Placement occurs left to right, top to bottom (i.e., by row).
-		for (int i = 0; i < children.length; i++) {
-			// Find the first available spot in the grid.
-			Control child = children[i];
-			TableWrapData spec = (TableWrapData) child.getLayoutData();
-			while (((TableWrapData[]) grid.elementAt(row))[column] != null) {
-				column = column + 1;
-				if (column >= numColumns) {
-					row = row + 1;
-					column = 0;
-					if (row >= grid.size()) {
-						grid.addElement(createEmptyRow());
-					}
-				}
-			}
-			// See if the place will support the widget's horizontal span. If
-			// not, go to the
-			// next row.
-			if (column + spec.colspan - 1 >= numColumns) {
-				grid.addElement(createEmptyRow());
-				row = row + 1;
-				column = 0;
-			}
-			// The vertical span for the item will be at least 1. If it is > 1,
-			// add other rows to the grid.
-			if (spec.rowspan > 1) {
-				rowspans.put(child, new RowSpan(child, column, row));
-			}
-			for (int j = 2; j <= spec.rowspan; j++) {
-				if (row + j > grid.size()) {
-					grid.addElement(createEmptyRow());
-				}
-			}
-			// Store the layout spec. Also cache the childIndex. NOTE: That we
-			// assume the children of a
-			// composite are maintained in the order in which they are created
-			// and added to the composite.
-			((TableWrapData[]) grid.elementAt(row))[column] = spec;
-			spec.childIndex = i;
-			if (spec.grabHorizontal) {
-				updateGrowingColumns(growingCols, spec, column);
-			}
-			if (spec.grabVertical) {
-				updateGrowingRows(growingRows, spec, row);
-			}
-			// Put spacers in the grid to account for the item's vertical and
-			// horizontal
-			// span.
-			rowFill = spec.rowspan - 1;
-			columnFill = spec.colspan - 1;
-			for (int r = 1; r <= rowFill; r++) {
-				for (int c = 0; c < spec.colspan; c++) {
-					spacerSpec = new TableWrapData();
-					spacerSpec.isItemData = false;
-					((TableWrapData[]) grid.elementAt(row + r))[column + c] = spacerSpec;
-				}
-			}
-			for (int c = 1; c <= columnFill; c++) {
-				for (int r = 0; r < spec.rowspan; r++) {
-					spacerSpec = new TableWrapData();
-					spacerSpec.isItemData = false;
-					((TableWrapData[]) grid.elementAt(row + r))[column + c] = spacerSpec;
-				}
-			}
-			column = column + spec.colspan - 1;
-		}
-		// Fill out empty grid cells with spacers.
-		for (int k = column + 1; k < numColumns; k++) {
-			spacerSpec = new TableWrapData();
-			spacerSpec.isItemData = false;
-			((TableWrapData[]) grid.elementAt(row))[k] = spacerSpec;
-		}
-		for (int k = row + 1; k < grid.size(); k++) {
-			spacerSpec = new TableWrapData();
-			spacerSpec.isItemData = false;
-			((TableWrapData[]) grid.elementAt(k))[column] = spacerSpec;
-		}
-		growingColumns = new int[growingCols.size()];
-		for (int i = 0; i < growingCols.size(); i++) {
-			growingColumns[i] = ((Integer) growingCols.get(i)).intValue();
-		}
-		this.growingRows = new int[growingRows.size()];
-		for (int i = 0; i < growingRows.size(); i++) {
-			this.growingRows[i] = ((Integer) growingRows.get(i)).intValue();
-		}
-	}
-
-	private void updateGrowingColumns(Vector growingColumns,
-			TableWrapData spec, int column) {
-		int affectedColumn = column + spec.colspan - 1;
-		for (int i = 0; i < growingColumns.size(); i++) {
-			Integer col = (Integer) growingColumns.get(i);
-			if (col.intValue() == affectedColumn)
-				return;
-		}
-		growingColumns.add(new Integer(affectedColumn));
-	}
-
-	private void updateGrowingRows(Vector growingRows, TableWrapData spec,
-			int row) {
-		int affectedRow = row + spec.rowspan - 1;
-		for (int i = 0; i < growingRows.size(); i++) {
-			Integer irow = (Integer) growingRows.get(i);
-			if (irow.intValue() == affectedRow)
-				return;
-		}
-		growingRows.add(new Integer(affectedRow));
-	}
-
-	private TableWrapData[] createEmptyRow() {
-		TableWrapData[] row = new TableWrapData[numColumns];
-		for (int i = 0; i < numColumns; i++)
-			row[i] = null;
-		return row;
-	}
-
-	/**
-	 * @see Layout#computeSize(Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite parent, int wHint, int hHint,
-			boolean changed) {
-		Control[] children = parent.getChildren();
-		if (changed) {
-			cache.flush();
-		}
-		if (children.length == 0) {
-			return new Point(0, 0);
-		}
-		cache.setControls(children);
-
-		int parentWidth = wHint;
-		changed = true;
-		initializeIfNeeded(parent, changed);
-		if (initialLayout) {
-			changed = true;
-			initialLayout = false;
-		}
-		if (grid == null || changed) {
-			changed = true;
-			grid = new Vector();
-			createGrid(parent);
-		}
-		resetColumnWidths();
-		int minWidth = internalGetMinimumWidth(parent, changed);
-		int maxWidth = internalGetMaximumWidth(parent, changed);
-		int tableWidth = parentWidth;
-		int[] columnWidths;
-		if (parentWidth <= minWidth) {
-			tableWidth = minWidth;
-			if (makeColumnsEqualWidth) {
-				columnWidths = new int[numColumns];
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = widestColumnWidth;
-				}
-			} else
-				columnWidths = minColumnWidths;
-		} else if (parentWidth > maxWidth) {
-			if (makeColumnsEqualWidth) {
-				columnWidths = new int[numColumns];
-				int colSpace = parentWidth - leftMargin - rightMargin;
-				colSpace -= (numColumns - 1) * horizontalSpacing;
-				int col = colSpace / numColumns;
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = col;
-				}
-			} else {
-				tableWidth = maxWidth;
-				columnWidths = maxColumnWidths;
-			}
-		} else {
-			columnWidths = new int[numColumns];
-			if (makeColumnsEqualWidth) {
-				int colSpace = tableWidth - leftMargin - rightMargin;
-				colSpace -= (numColumns - 1) * horizontalSpacing;
-				int col = colSpace / numColumns;
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = col;
-				}
-			} else {
-				columnWidths = assignExtraSpace(tableWidth, maxWidth, minWidth);
-			}
-		}
-		int totalHeight = 0;
-		int innerHeight = 0;
-		// compute widths
-		for (int i = 0; i < grid.size(); i++) {
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			// assign widths, calculate heights
-			int rowHeight = 0;
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData == false) {
-					continue;
-				}
-				Control child = children[td.childIndex];
-				int span = td.colspan;
-				int cwidth = 0;
-				for (int k = j; k < j + span; k++) {
-					if (k > j)
-						cwidth += horizontalSpacing;
-					cwidth += columnWidths[k];
-				}
-				int cy = td.heightHint;
-				if (cy == SWT.DEFAULT) {
-					Point size = computeSize(td.childIndex, cwidth, td.indent, td.maxWidth, td.maxHeight);
-					cy = size.y;
-				}
-				RowSpan rowspan = (RowSpan) rowspans.get(child);
-				if (rowspan != null) {
-					// don't take the height of this child into acount
-					// because it spans multiple rows
-					rowspan.height = cy;
-				} else {
-					rowHeight = Math.max(rowHeight, cy);
-				}
-			}
-			updateRowSpans(i, rowHeight);
-			if (i > 0)
-				innerHeight += verticalSpacing;
-			innerHeight += rowHeight;
-		}
-		if (!rowspans.isEmpty())
-			innerHeight = compensateForRowSpans(innerHeight);
-		totalHeight = topMargin + innerHeight + bottomMargin;
-		return new Point(tableWidth, totalHeight);
-	}
-
-	private void updateRowSpans(int row, int rowHeight) {
-		if (rowspans == null || rowspans.size() == 0)
-			return;
-		for (Enumeration enm = rowspans.elements(); enm.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enm.nextElement();
-			rowspan.update(row, rowHeight);
-		}
-	}
-
-	private int compensateForRowSpans(int totalHeight) {
-		for (Enumeration enm = rowspans.elements(); enm.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enm.nextElement();
-			totalHeight += rowspan.getRequiredHeightIncrease();
-		}
-		return totalHeight;
-	}
-
-	int internalGetMinimumWidth(Composite parent, boolean changed) {
-		if (changed)
-			calculateMinimumColumnWidths(parent, true);
-		int minimumWidth = 0;
-		widestColumnWidth = 0;
-		if (makeColumnsEqualWidth) {
-			for (int i = 0; i < numColumns; i++) {
-				widestColumnWidth = Math.max(widestColumnWidth,
-						minColumnWidths[i]);
-			}
-		}
-		for (int i = 0; i < numColumns; i++) {
-			if (i > 0)
-				minimumWidth += horizontalSpacing;
-			if (makeColumnsEqualWidth)
-				minimumWidth += widestColumnWidth;
-			else
-				minimumWidth += minColumnWidths[i];
-		}
-		// add margins
-		minimumWidth += leftMargin + rightMargin;
-		return minimumWidth;
-	}
-
-	int internalGetMaximumWidth(Composite parent, boolean changed) {
-		if (changed)
-			calculateMaximumColumnWidths(parent, true);
-		int maximumWidth = 0;
-		for (int i = 0; i < numColumns; i++) {
-			if (i > 0)
-				maximumWidth += horizontalSpacing;
-			maximumWidth += maxColumnWidths[i];
-		}
-		// add margins
-		maximumWidth += leftMargin + rightMargin;
-		return maximumWidth;
-	}
-
-	void resetColumnWidths() {
-		if (minColumnWidths == null)
-			minColumnWidths = new int[numColumns];
-		if (maxColumnWidths == null)
-			maxColumnWidths = new int[numColumns];
-		for (int i = 0; i < numColumns; i++) {
-			minColumnWidths[i] = 0;
-		}
-		for (int i = 0; i < numColumns; i++) {
-			maxColumnWidths[i] = 0;
-		}
-	}
-
-	void calculateMinimumColumnWidths(Composite parent, boolean changed) {
-		//Control[] children = parent.getChildren();
-		for (int i = 0; i < grid.size(); i++) {
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData == false)
-					continue;
-				//Control child = children[td.childIndex];
-
-				SizeCache childCache = cache.getCache(td.childIndex);
-				int minWidth = childCache.computeMinimumWidth();
-				if (td.maxWidth!=SWT.DEFAULT)
-					minWidth = Math.min(minWidth, td.maxWidth);
-
-				minWidth += td.indent;
-				if (td.colspan == 1)
-					minColumnWidths[j] = Math.max(minColumnWidths[j], minWidth);
-				else {
-					// check if the current minimum width is enough to
-					// support the control; if not, add the delta to
-					// the last column
-					int current = 0;
-					for (int k = j; k < j + td.colspan; k++) {
-						if (k > j)
-							current += horizontalSpacing;
-						current += minColumnWidths[k];
-					}
-					if (minWidth <= current) {
-						// we are ok - nothing to do here
-					} else {
-						int ndiv = 0;
-						if (growingColumns != null) {
-							for (int k = j; k < j + td.colspan; k++) {
-								if (isGrowingColumn(k)) {
-									ndiv++;
-								}
-							}
-						}
-						if (ndiv == 0) {
-							// add the delta to the last column
-							minColumnWidths[j + td.colspan - 1] += minWidth
-									- current;
-						} else {
-							// distribute the delta to the growing
-							// columns
-							int percolumn = (minWidth - current) / ndiv;
-							if ((minWidth - current) % ndiv > 0)
-								percolumn++;
-							for (int k = j; k < j + td.colspan; k++) {
-								if (isGrowingColumn(k))
-									minColumnWidths[k] += percolumn;
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	boolean isWrap(Control control) {
-		if (control instanceof Composite
-				&& ((Composite) control).getLayout() instanceof ILayoutExtension)
-			return true;
-		return (control.getStyle() & SWT.WRAP) != 0;
-	}
-
-	void calculateMaximumColumnWidths(Composite parent, boolean changed) {
-		//Control[] children = parent.getChildren();
-		for (int i = 0; i < numColumns; i++) {
-			maxColumnWidths[i] = 0;
-		}
-		for (int i = 0; i < grid.size(); i++) {
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData == false)
-					continue;
-				//Control child = children[td.childIndex];
-
-				SizeCache sc = cache.getCache(td.childIndex);
-				int maxWidth = sc.computeMaximumWidth();
-				if (td.maxWidth!=SWT.DEFAULT)
-					maxWidth = Math.min(maxWidth, td.maxWidth);
-
-				maxWidth += td.indent;
-				if (td.colspan == 1)
-					maxColumnWidths[j] = Math.max(maxColumnWidths[j], maxWidth);
-				else {
-					// check if the current maximum width is enough to
-					// support the control; if not, add the delta to
-					// the last column
-					int current = 0;
-					for (int k = j; k < j + td.colspan; k++) {
-						if (k > j)
-							current += horizontalSpacing;
-						current += maxColumnWidths[k];
-					}
-					if (maxWidth <= current) {
-						// we are ok - nothing to do here
-					} else {
-						int ndiv = 0;
-						if (growingColumns != null) {
-							for (int k = j; k < j + td.colspan; k++) {
-								if (isGrowingColumn(k)) {
-									ndiv++;
-								}
-							}
-						}
-						if (ndiv == 0) {
-							// add the delta to the last column
-							maxColumnWidths[j + td.colspan - 1] += maxWidth
-									- current;
-						} else {
-							// distribute the delta to the growing
-							// columns
-							int percolumn = (maxWidth - current) / ndiv;
-							if ((maxWidth - current) % ndiv > 0)
-								percolumn++;
-							// divide the distribution per row
-							// if the control will span multiple rows
-							percolumn /= td.rowspan;
-							for (int k = j; k < j + td.colspan; k++) {
-								if (isGrowingColumn(k))
-									maxColumnWidths[k] += percolumn;
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private void initializeIfNeeded(Composite parent, boolean changed) {
-		if (changed)
-			initialLayout = true;
-		if (initialLayout) {
-			initializeLayoutData(parent);
-			initialLayout = false;
-		}
-	}
-
-	void initializeLayoutData(Composite composite) {
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-			if (child.getLayoutData() == null) {
-				child.setLayoutData(new TableWrapData());
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java
deleted file mode 100644
index 37d51d3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.events.*;
-/**
- * A custom selectable control that can be used to control areas that can be
- * expanded or collapsed.
- * <p>
- * This is an abstract class. Subclasses are responsible for rendering the
- * control using decoration and hover decoration color. Control should be
- * rendered based on the current expansion state.
- * 
- * @since 3.0
- */
-public abstract class ToggleHyperlink extends AbstractHyperlink {
-	protected int innerWidth;
-	protected int innerHeight;
-	protected boolean hover;
-	private boolean expanded;	
-	private Color decorationColor;
-	private Color hoverColor;
-	/**
-	 * Creates a control in a provided composite.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param style
-	 *            the style
-	 */
-	public ToggleHyperlink(Composite parent, int style) {
-		super(parent, style);
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.type) {
-					case SWT.MouseEnter:
-						hover=true;
-						redraw();
-						break;
-					case SWT.MouseExit:
-						hover = false;
-						redraw();
-						break;
-					case SWT.KeyDown:
-						onKeyDown(e);
-						break;
-				}
-			}
-		};
-		addListener(SWT.MouseEnter, listener);
-		addListener(SWT.MouseExit, listener);
-		addListener(SWT.KeyDown, listener);
-		addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				setExpanded(!isExpanded());
-			}
-		});
-		initAccessible();
-	}
-	/**
-	 * Sets the color of the decoration.
-	 * 
-	 * @param decorationColor
-	 */
-	public void setDecorationColor(Color decorationColor) {
-		this.decorationColor = decorationColor;
-	}
-	/**
-	 * Returns the color of the decoration.
-	 * 
-	 * @return decoration color
-	 */
-	public Color getDecorationColor() {
-		return decorationColor;
-	}
-	/**
-	 * Sets the hover color of decoration. Hover color will be used when mouse
-	 * enters the decoration area.
-	 * 
-	 * @param hoverColor
-	 *            the hover color to use
-	 */
-	public void setHoverDecorationColor(Color hoverColor) {
-		this.hoverColor = hoverColor;
-	}
-	/**
-	 * Returns the hover color of the decoration.
-	 * 
-	 * @return the hover color of the decoration.
-	 * @since 3.1
-	 */
-	public Color getHoverDecorationColor() {
-		return hoverColor;
-	}
-	
-	/**
-	 * Returns the hover color of the decoration.
-	 * 
-	 * @return the hover color of the decoration.
-	 * @deprecated use <code>getHoverDecorationColor</code>
-	 * @see #getHoverDecorationColor()
-	 */
-	public Color geHoverDecorationColor() {
-		return hoverColor;
-	}
-	/**
-	 * Computes the size of the control.
-	 * 
-	 * @param wHint
-	 *            width hint
-	 * @param hHint
-	 *            height hint
-	 * @param changed
-	 *            if true, flush any saved layout state
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		int width, height;
-		/*
-		if (wHint != SWT.DEFAULT)
-			width = wHint;
-		else */
-			width = innerWidth + 2 * marginWidth;
-		/*
-		if (hHint != SWT.DEFAULT)
-			height = hHint;
-		else */
-			height = innerHeight + 2 * marginHeight;
-		return new Point(width, height);
-	}
-	/**
-	 * Returns the expansion state of the toggle control. When toggle is in the
-	 * normal (downward) state, the value is <samp>true </samp>. Collapsed
-	 * control will return <samp>false </samp>.
-	 * 
-	 * @return <samp>false </samp> if collapsed, <samp>true </samp> otherwise.
-	 */
-	public boolean isExpanded() {
-		return expanded;
-	}
-	/**
-	 * Sets the expansion state of the twistie control
-	 * 
-	 * @param expanded the expansion state
-	 */
-	public void setExpanded(boolean expanded) {
-		this.expanded = expanded;
-		redraw();
-	}
-	private void initAccessible() {
-		getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getHelp(AccessibleEvent e) {
-				e.result = getToolTipText();
-			}
-			public void getName(AccessibleEvent e) {
-				if (getParent() instanceof ExpandableComposite) {
-					String name = ((ExpandableComposite)getParent()).getText();
-					int index = name.indexOf('&');
-					if (index != -1) {
-						name = name.substring(0, index) + name.substring(index + 1);
-					}
-					e.result = name;
-				}
-					
-			}
-			public void getDescription(AccessibleEvent e) {
-				getName(e);
-			}
-		});
-		getAccessible().addAccessibleControlListener(
-				new AccessibleControlAdapter() {
-					public void getChildAtPoint(AccessibleControlEvent e) {
-						Point testPoint = toControl(new Point(e.x, e.y));
-						if (getBounds().contains(testPoint)) {
-							e.childID = ACC.CHILDID_SELF;
-						}
-					}
-					public void getLocation(AccessibleControlEvent e) {
-						Rectangle location = getBounds();
-						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 = 0;
-					}
-					public void getRole(AccessibleControlEvent e) {
-						e.detail = ACC.ROLE_TREE;
-					}
-					public void getState(AccessibleControlEvent e) {
-						e.detail = ToggleHyperlink.this.isExpanded()
-								? ACC.STATE_EXPANDED
-								: ACC.STATE_COLLAPSED;
-					}
-					public void getValue(AccessibleControlEvent e) {
-						e.result = "0"; //$NON-NLS-1$
-					}
-				});
-	}
-	private void onKeyDown(Event e) {
-		if (e.keyCode==SWT.ARROW_RIGHT) {
-			// expand if collapsed
-			if (!isExpanded()) {
-				handleActivate(e);
-			}
-			e.doit=false;
-		}
-		else if (e.keyCode==SWT.ARROW_LEFT) {
-			// collapse if expanded
-			if (isExpanded()) {
-				handleActivate(e);
-			}
-			e.doit=false;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java
deleted file mode 100644
index 4270a4c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-/**
- * A custom selectable control that can be used to control areas that can be
- * expanded or collapsed. The control control can be toggled between selected
- * and deselected state with a mouse or by pressing 'Enter' while the control
- * has focus.
- * <p>
- * The control is rendered as box with a '+' or '-' sign, depending on the
- * expansion state. Focus indication is rendered around the box when the
- * control has keyboard focus.
- * 
- * @see Twistie
- * @since 3.0
- */
-public class TreeNode extends ToggleHyperlink {
-	/**
-	 * Creates a control in a provided composite.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param style
-	 *            the style
-	 */
-	public TreeNode(Composite parent, int style) {
-		super(parent, style);
-		innerWidth = 10;
-		innerHeight = 10;
-	}
-	protected void paint(PaintEvent e) {
-		paintHyperlink(e.gc);
-	}
-	protected void paintHyperlink(GC gc) {
-		Rectangle box = getBoxBounds(gc);
-		gc.setForeground(getDisplay().getSystemColor(
-				SWT.COLOR_WIDGET_NORMAL_SHADOW));
-		gc.drawRectangle(box);
-		gc.setForeground(getForeground());
-		gc.drawLine(box.x + 2, box.y + 4, box.x + 6, box.y + 4);
-		if (!isExpanded()) {
-			gc.drawLine(box.x + 4, box.y + 2, box.x + 4, box.y + 6);
-		}
-		if (getSelection()) {
-			gc.setForeground(getForeground());
-			gc.drawFocus(box.x - 1, box.y - 1, box.width + 3, box.height + 3);
-		}
-	}
-	private Rectangle getBoxBounds(GC gc) {
-		int x = 1;
-		int y = 0;
-		gc.setFont(getFont());
-		//int height = gc.getFontMetrics().getHeight();
-		//y = height / 2 - 4;
-		//y = Math.max(y, 0);
-		y = 2;
-		return new Rectangle(x, y, 8, 8);
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.java
deleted file mode 100644
index 96a2736..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.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 Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A custom selectable control that can be used to control areas that can be
- * expanded or collapsed. The control control can be toggled between selected
- * and deselected state with a mouse or by pressing 'Enter' while the control
- * has focus.
- * <p>
- * The control is rendered as a triangle that points to the right in the
- * collapsed and down in the expanded state. Triangle color can be changed.
- * 
- * @see TreeNode
- * @since 3.0
- */
-public class Twistie extends ToggleHyperlink {
-	private static final int[] onPoints = { 0, 2, 8, 2, 4, 6 };
-
-	private static final int[] offPoints = { 2, -1, 2, 8, 6, 4 };
-
-	/**
-	 * Creates a control in a provided composite.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param style
-	 *            the style
-	 */
-	public Twistie(Composite parent, int style) {
-		super(parent, style);
-		innerWidth = 9;
-		innerHeight = 9;
-	}
-
-	/*
-	 * @see SelectableControl#paint(GC)
-	 */
-	protected void paintHyperlink(GC gc) {
-		Color bg;
-		if (!isEnabled())
-			bg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		else if (hover && getHoverDecorationColor() != null)
-			bg = getHoverDecorationColor();
-		else if (getDecorationColor() != null)
-			bg = getDecorationColor();
-		else
-			bg = getForeground();
-		gc.setBackground(bg);
-		int[] data;
-		Point size = getSize();
-		int x = (size.x - 9) / 2;
-		int y = (size.y - 9) / 2;
-		if (isExpanded())
-			data = translate(onPoints, x, y);
-		else
-			data = translate(offPoints, x, y);
-		gc.fillPolygon(data);
-		gc.setBackground(getBackground());
-	}
-
-	private int[] translate(int[] data, int x, int y) {
-		int[] target = new int[data.length];
-		for (int i = 0; i < data.length; i += 2) {
-			target[i] = data[i] + x;
-		}
-		for (int i = 1; i < data.length; i += 2) {
-			target[i] = data[i] + y;
-		}
-		return target;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		redraw();
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/package.html b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/package.html
deleted file mode 100644
index 2ec1b59..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/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>
-Custom widgets and controls for forms-based parts.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.java
deleted file mode 100644
index 9d42887..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.ui.internal.forms;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.forms.Messages"; //$NON-NLS-1$
-
-	private Messages() {
-	}
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	public static String FormText_copy;
-	public static String Form_tooltip_minimize;
-	public static String Form_tooltip_restore;
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.properties b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.properties
deleted file mode 100644
index bc8a24d..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-FormText_copy=&Copy
-Form_tooltip_minimize=Minimize
-Form_tooltip_restore=Restore
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/AggregateHyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/AggregateHyperlinkSegment.java
deleted file mode 100644
index 839e9a7..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/AggregateHyperlinkSegment.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * This segment contains a collection of images and links that all belong to one
- * logical hyperlink.
- */
-public class AggregateHyperlinkSegment extends ParagraphSegment implements
-		IHyperlinkSegment {
-	private String href;
-
-	private Vector segments = new Vector();
-
-	public AggregateHyperlinkSegment() {
-	}
-
-	public void add(TextHyperlinkSegment segment) {
-		segments.add(segment);
-	}
-
-	public void add(ImageHyperlinkSegment segment) {
-		segments.add(segment);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#advanceLocator(org.eclipse.swt.graphics.GC,
-	 *      int, org.eclipse.ui.internal.forms.widgets.Locator,
-	 *      java.util.Hashtable, boolean)
-	 */
-	public boolean advanceLocator(GC gc, int wHint, Locator loc,
-			Hashtable objectTable, boolean computeHeightOnly) {
-		boolean newLine = false;
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			if (segment.advanceLocator(gc, wHint, loc, objectTable,
-					computeHeightOnly))
-				newLine = true;
-		}
-		return newLine;
-	}
-
-	/**
-	 * @return Returns the href.
-	 */
-	public String getHref() {
-		return href;
-	}
-
-	/**
-	 * @param href
-	 *            The href to set.
-	 */
-	public void setHref(String href) {
-		this.href = href;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#repaint(org.eclipse.swt.graphics.GC,
-	 *      boolean)
-	 */
-	public void paint(GC gc, boolean hover, Hashtable resourceTable,
-			boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			segment.paint(gc, hover, resourceTable, selected, selData,
-					repaintRegion);
-		}
-	}
-
-	public String getText() {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			buf.append(segment.getText());
-		}
-		return buf.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#paintFocus(org.eclipse.swt.graphics.GC,
-	 *      org.eclipse.swt.graphics.Color, org.eclipse.swt.graphics.Color,
-	 *      boolean)
-	 */
-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected,
-			Rectangle repaintRegion) {
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			segment.paintFocus(gc, bg, fg, selected, repaintRegion);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#getBounds()
-	 */
-	public Rectangle getBounds() {
-		Rectangle bounds = new Rectangle(Integer.MAX_VALUE, Integer.MAX_VALUE,
-				0, 0);
-		// TODO this is wrong
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			Rectangle sbounds = segment.getBounds();
-			bounds.x = Math.min(bounds.x, sbounds.x);
-			bounds.y = Math.min(bounds.y, sbounds.y);
-			bounds.width = Math.max(bounds.width, sbounds.width);
-			bounds.height = Math.max(bounds.height, sbounds.height);
-		}
-		return bounds;
-	}
-
-	public boolean contains(int x, int y) {
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			if (segment.contains(x, y))
-				return true;
-		}
-		return false;
-	}
-
-	public boolean intersects(Rectangle rect) {
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			if (segment.intersects(rect))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#layout(org.eclipse.swt.graphics.GC,
-	 *      int, org.eclipse.ui.internal.forms.widgets.Locator,
-	 *      java.util.Hashtable, boolean,
-	 *      org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void layout(GC gc, int width, Locator locator,
-			Hashtable resourceTable, boolean selected) {
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			segment.layout(gc, width, locator, resourceTable, selected);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#computeSelection(org.eclipse.swt.graphics.GC,
-	 *      java.util.Hashtable, boolean,
-	 *      org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void computeSelection(GC gc, Hashtable resourceTable,
-			SelectionData selData) {
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			segment.computeSelection(gc, resourceTable, selData);
-		}
-	}
-
-	public void clearCache(String fontId) {
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			segment.clearCache(fontId);
-		}
-	}
-
-	public String getTooltipText() {
-		if (segments.size() > 0)
-			return ((ParagraphSegment) segments.get(0)).getTooltipText();
-		return super.getTooltipText();
-	}
-
-	public boolean isFocusSelectable(Hashtable resourceTable) {
-		return true;
-	}
-
-	public boolean setFocus(Hashtable resourceTable, boolean direction) {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java
deleted file mode 100644
index 435dad3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * This segment serves as break within a paragraph. It has no data -
- * just starts a new line and resets the locator.
- */
-
-public class BreakSegment extends ParagraphSegment {
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.internal.widgets.ParagraphSegment#advanceLocator(org.eclipse.swt.graphics.GC, int, org.eclipse.ui.forms.internal.widgets.Locator, java.util.Hashtable)
-	 */
-	public boolean advanceLocator(GC gc, int wHint, Locator locator,
-			Hashtable objectTable, boolean computeHeightOnly) {
-		if (locator.rowHeight==0) {
-			FontMetrics fm = gc.getFontMetrics();
-			locator.rowHeight = fm.getHeight();
-		}
-		if (computeHeightOnly) locator.collectHeights();		
-		locator.x = locator.indent;
-		locator.y += locator.rowHeight;
-		locator.rowHeight = 0;
-		locator.leading = 0;
-		return true;
-	}
-
-	public void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		//nothing to paint
-	}
-	public boolean contains(int x, int y) {
-		return false;
-	}
-	public boolean intersects(Rectangle rect) {
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#layout(org.eclipse.swt.graphics.GC, int, org.eclipse.ui.internal.forms.widgets.Locator, java.util.Hashtable, boolean, org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void layout(GC gc, int width, Locator locator, Hashtable ResourceTable,
-			boolean selected) {
-		locator.resetCaret();
-		if (locator.rowHeight==0) {
-			FontMetrics fm = gc.getFontMetrics();
-			locator.rowHeight = fm.getHeight();
-		}
-		locator.y += locator.rowHeight;
-		locator.rowHeight = 0;
-		locator.rowCounter++;		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#computeSelection(org.eclipse.swt.graphics.GC, java.util.Hashtable, boolean, org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData) {
-		selData.markNewLine();
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java
deleted file mode 100644
index c804e08..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-
-public class BulletParagraph extends Paragraph {
-	public static final int CIRCLE = 1;
-
-	public static final int TEXT = 2;
-
-	public static final int IMAGE = 3;
-
-	private int style = CIRCLE;
-
-	private String text;
-
-	private int CIRCLE_DIAM = 5;
-
-	private int SPACING = 10;
-
-	private int indent = -1;
-
-	private int bindent = -1;
-
-	private Rectangle bbounds;
-
-	/**
-	 * Constructor for BulletParagraph.
-	 * 
-	 * @param addVerticalSpace
-	 */
-	public BulletParagraph(boolean addVerticalSpace) {
-		super(addVerticalSpace);
-	}
-
-	public int getIndent() {
-		int ivalue = indent;
-		if (ivalue != -1)
-			return ivalue;
-		switch (style) {
-		case CIRCLE:
-			ivalue = CIRCLE_DIAM + SPACING;
-			break;
-		default:
-			ivalue = 20;
-			break;
-		}
-		return getBulletIndent() + ivalue;
-	}
-
-	public int getBulletIndent() {
-		if (bindent != -1)
-			return bindent;
-		return 0;
-	}
-
-	/*
-	 * @see IBulletParagraph#getBulletStyle()
-	 */
-	public int getBulletStyle() {
-		return style;
-	}
-
-	public void setBulletStyle(int style) {
-		this.style = style;
-	}
-
-	public void setBulletText(String text) {
-		this.text = text;
-	}
-
-	public void setIndent(int indent) {
-		this.indent = indent;
-	}
-
-	public void setBulletIndent(int bindent) {
-		this.bindent = bindent;
-	}
-
-	/*
-	 * @see IBulletParagraph#getBulletText()
-	 */
-	public String getBulletText() {
-		return text;
-	}
-
-	public void layout(GC gc, int width, Locator loc, int lineHeight,
-			Hashtable resourceTable, IHyperlinkSegment selectedLink) {
-		computeRowHeights(gc, width, loc, lineHeight, resourceTable);
-		layoutBullet(gc, loc, lineHeight, resourceTable);
-		super.layout(gc, width, loc, lineHeight, resourceTable, selectedLink);
-	}
-
-	public void paint(GC gc, Rectangle repaintRegion,
-			Hashtable resourceTable, IHyperlinkSegment selectedLink,
-			SelectionData selData) {
-		paintBullet(gc, repaintRegion, resourceTable);
-		super.paint(gc, repaintRegion, resourceTable, selectedLink, selData);
-	}
-
-	private void layoutBullet(GC gc, Locator loc, int lineHeight,
-			Hashtable resourceTable) {
-		int x = loc.x - getIndent() + getBulletIndent();
-		int rowHeight = ((int[]) loc.heights.get(0))[0];
-		if (style == CIRCLE) {
-			int y = loc.y + rowHeight / 2 - CIRCLE_DIAM / 2;
-			bbounds = new Rectangle(x, y, CIRCLE_DIAM, CIRCLE_DIAM);
-		} else if (style == TEXT && text != null) {
-			//int height = gc.getFontMetrics().getHeight();
-			Point textSize = gc.textExtent(text);
-			bbounds = new Rectangle(x, loc.y, textSize.x, textSize.y);
-		} else if (style == IMAGE && text != null) {
-			Image image = (Image) resourceTable.get(text);
-			if (image != null) {
-				Rectangle ibounds = image.getBounds();
-				int y = loc.y + rowHeight / 2 - ibounds.height / 2;
-				bbounds = new Rectangle(x, y, ibounds.width, ibounds.height);
-			}
-		}
-	}
-
-	public void paintBullet(GC gc, Rectangle repaintRegion,
-			Hashtable resourceTable) {
-		if (bbounds == null)
-			return;
-		int x = bbounds.x;
-		int y = bbounds.y;
-		if (repaintRegion != null) {
-			x -= repaintRegion.x;
-			y -= repaintRegion.y;
-		}
-		if (style == CIRCLE) {
-			Color bg = gc.getBackground();
-			Color fg = gc.getForeground();
-			gc.setBackground(fg);
-			gc.fillRectangle(x, y + 1, 5, 3);
-			gc.fillRectangle(x + 1, y, 3, 5);
-			gc.setBackground(bg);
-		} else if (style == TEXT && text != null) {
-			gc.drawText(text, x, y);
-		} else if (style == IMAGE && text != null) {
-			Image image = (Image) resourceTable.get(text);
-			if (image != null)
-				gc.drawImage(image, x, y);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BusyIndicator.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BusyIndicator.java
deleted file mode 100644
index ffba329..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BusyIndicator.java
+++ /dev/null
@@ -1,294 +0,0 @@
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.ImageLoader;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-public class BusyIndicator extends Canvas {
-	private static final int MARGIN = 2;
-
-	private ImageData[] progressData;
-
-	protected ImageLoader loader;
-
-	protected Image image;
-
-	protected Image animationImage;
-
-	protected Thread busyThread;
-
-	protected boolean stop;
-
-	/**
-	 * BusyWidget constructor comment.
-	 * 
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 * @param style
-	 *            int
-	 */
-	public BusyIndicator(Composite parent, int style) {
-		super(parent, style);
-
-		loadProgressImage();
-
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				onPaint(event);
-			}
-		});
-	}
-
-	private void loadProgressImage() {
-		InputStream is = BusyIndicator.class
-				.getResourceAsStream("progress.gif"); //$NON-NLS-1$
-		if (is != null) {
-			loader = new ImageLoader();
-			try {
-				progressData = loader.load(is);
-			} catch (IllegalArgumentException e) {
-			}
-			try {
-				is.close();
-			} catch (IOException e) {
-			}
-		}
-	}
-
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Point size = new Point(0, 0);
-		if (image != null) {
-			Rectangle ibounds = image.getBounds();
-			size.x = ibounds.width;
-			size.y = ibounds.height;
-		}
-		if (loader != null) {
-			size.x = Math.max(size.x, loader.logicalScreenWidth);
-			size.y = Math.max(size.y, loader.logicalScreenHeight);
-		}
-		size.x += MARGIN + MARGIN;
-		size.y += MARGIN + MARGIN;
-		return size;
-	}
-
-	/**
-	 * Creates a thread to animate the image.
-	 */
-	protected synchronized void createBusyThread() {
-		if (busyThread != null)
-			return;
-
-		stop = false;
-		busyThread = new Thread() {
-			private Image timage;
-
-			public void run() {
-				try {
-					/*
-					 * Create an off-screen image to draw on, and fill it with
-					 * the shell background.
-					 */
-					Image offScreenImage = new Image(getDisplay(),
-							loader.logicalScreenWidth,
-							loader.logicalScreenHeight);
-					final GC offScreenImageGC = new GC(offScreenImage);
-					getDisplay().asyncExec(new Runnable() {
-						public void run() {
-							drawBackground(offScreenImageGC, 0, 0, loader.logicalScreenWidth, loader.logicalScreenHeight);
-						}
-					});
-					try {
-						/*
-						 * Create the first image and draw it on the off-screen
-						 * image.
-						 */
-						int imageDataIndex = 0;
-						ImageData imageData = progressData[imageDataIndex];
-						if (timage != null && !timage.isDisposed())
-							timage.dispose();
-						timage = new Image(getDisplay(), imageData);
-						offScreenImageGC.drawImage(timage, 0, 0,
-								imageData.width, imageData.height, imageData.x,
-								imageData.y, imageData.width, imageData.height);
-
-						/*
-						 * Now loop through the images, creating and drawing
-						 * each one on the off-screen image before drawing it on
-						 * the shell.
-						 */
-						int repeatCount = loader.repeatCount;
-						while (loader.repeatCount == 0 || repeatCount > 0) {
-							if (stop || isDisposed())
-								break;
-							switch (imageData.disposalMethod) {
-							case SWT.DM_FILL_BACKGROUND:
-								/*
-								 * Fill with the background color before
-								 * drawing.
-								 */
-								offScreenImageGC.fillRectangle(imageData.x,
-										imageData.y, imageData.width,
-										imageData.height);
-								break;
-							case SWT.DM_FILL_PREVIOUS:
-								/* Restore the previous image before drawing. */
-								offScreenImageGC.drawImage(timage, 0, 0,
-										imageData.width, imageData.height,
-										imageData.x, imageData.y,
-										imageData.width, imageData.height);
-								break;
-							}
-
-							imageDataIndex = (imageDataIndex + 1)
-									% progressData.length;
-							imageData = progressData[imageDataIndex];
-							timage.dispose();
-							timage = new Image(getDisplay(), imageData);
-							offScreenImageGC.drawImage(timage, 0, 0,
-									imageData.width, imageData.height,
-									imageData.x, imageData.y, imageData.width,
-									imageData.height);
-
-							/* Draw the off-screen image to the shell. */
-							animationImage = offScreenImage;
-							getDisplay().syncExec(new Runnable() {
-								public void run() {
-									if (!isDisposed())
-										redraw();
-								}
-							});
-							/*
-							 * Sleep for the specified delay time (adding
-							 * commonly-used slow-down fudge factors).
-							 */
-							try {
-								int ms = imageData.delayTime * 10;
-								if (ms < 20)
-									ms += 30;
-								if (ms < 30)
-									ms += 10;
-								Thread.sleep(ms);
-							} catch (InterruptedException e) {
-							}
-
-							/*
-							 * If we have just drawn the last image, decrement
-							 * the repeat count and start again.
-							 */
-							if (imageDataIndex == progressData.length - 1)
-								repeatCount--;
-						}
-					} catch (SWTException ex) {
-						//System.out
-						//		.println("There was an error animating the GIF");
-					} finally {
-						if (offScreenImage != null
-								&& !offScreenImage.isDisposed())
-							offScreenImage.dispose();
-						if (offScreenImageGC != null
-								&& !offScreenImageGC.isDisposed())
-							offScreenImageGC.dispose();
-						if (timage != null && !timage.isDisposed())
-							timage.dispose();
-					}
-					if (busyThread == null)
-						Display.getDefault().syncExec(new Runnable() {
-							public void run() {
-								animationImage = null;
-								redraw();
-							}
-						});
-				} catch (Exception e) {
-					// Trace.trace(Trace.WARNING, "Busy error", e);
-					// //$NON-NLS-1$
-				}
-			}
-		};
-		busyThread.setPriority(Thread.NORM_PRIORITY + 2);
-		busyThread.setDaemon(true);
-		busyThread.start();
-	}
-
-	public void dispose() {
-		stop = true;
-		busyThread = null;
-		super.dispose();
-	}
-
-	/**
-	 * Return the image or <code>null</code>.
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Returns true if it is currently busy.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isBusy() {
-		return (busyThread != null);
-	}
-
-	/*
-	 * Process the paint event
-	 */
-	protected void onPaint(PaintEvent event) {
-		if (animationImage!=null && animationImage.isDisposed()) {
-			animationImage=null;
-		}
-		Rectangle rect = getClientArea();
-		if (rect.width == 0 || rect.height == 0)
-			return;
-
-		GC gc = event.gc;
-		Image activeImage = animationImage != null ? animationImage : image;
-		if (activeImage != null) {
-			Rectangle ibounds = activeImage.getBounds();
-			gc.drawImage(activeImage, rect.width / 2 - ibounds.width / 2,
-					rect.height / 2 - ibounds.height / 2);
-		}
-	}
-
-	/**
-	 * Sets the indicators busy count up (true) or down (false) one.
-	 * 
-	 * @param busy
-	 *            boolean
-	 */
-	public synchronized void setBusy(boolean busy) {
-		if (busy) {
-			if (busyThread == null)
-				createBusyThread();
-		} else {
-			if (busyThread != null) {
-				stop = true;
-				busyThread = null;
-			}
-		}
-	}
-
-	/**
-	 * Set the image. The value <code>null</code> clears it.
-	 */
-	public void setImage(Image image) {
-		if (image != this.image && !isDisposed()) {
-			this.image = image;
-			redraw();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ControlSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ControlSegment.java
deleted file mode 100644
index e93ca15..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ControlSegment.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-public class ControlSegment extends ObjectSegment implements IFocusSelectable {
-	private boolean fill;
-	
-	public ControlSegment() {
-	}
-	
-	public void setFill(boolean fill) {
-		this.fill = fill;
-	}
-	
-	public Control getControl(Hashtable resourceTable) {
-		Object obj = resourceTable.get(getObjectId());
-		if (obj instanceof Control) {
-			Control c = (Control)obj;
-			if (!c.isDisposed())
-				return c;
-		}
-		return null;
-	}
-
-	protected Point getObjectSize(Hashtable resourceTable, int wHint) {
-		Control control = getControl(resourceTable);
-		if (control==null)
-			return new Point(0,0);
-		int realWhint = FormUtil.getWidthHint(wHint, control);
-		Point size = control.computeSize(realWhint, SWT.DEFAULT);
-		if (wHint!=SWT.DEFAULT && fill)
-			size.x = Math.max(size.x, wHint);
-		return size;
-	}
-	
-	public void layout(GC gc, int width, Locator loc, Hashtable resourceTable,
-			boolean selected) {
-		super.layout(gc, width, loc, resourceTable, selected);
-		Control control = getControl(resourceTable);
-		if (control!=null)
-			control.setBounds(getBounds());
-	}
-
-	public boolean setFocus(Hashtable resourceTable, boolean next) {
-		Control c = getControl(resourceTable);
-		if (c!=null) {
-			return setFocus(c, next);
-		}
-		return false;
-	}
-	
-	private boolean setFocus(Control c, boolean direction) {
-		if (c instanceof Composite) {
-			Composite comp = (Composite)c;
-			Control [] tabList = comp.getTabList();
-			if (direction) {
-				for (int i=0; i<tabList.length; i++) {
-					if (setFocus(tabList[i], direction))
-						return true;
-				}
-			}
-			else {
-				for (int i=tabList.length-1; i>=0; i--) {
-					if (setFocus(tabList[i], direction))
-						return true;
-				}
-			}
-			if (!(c instanceof Canvas))
-				return false;
-		}
-		return c.setFocus();
-	}
-
-	public boolean isFocusSelectable(Hashtable resourceTable) {
-		Control c = getControl(resourceTable);
-		if (c!=null)
-			return true;
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormHeading.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormHeading.java
deleted file mode 100644
index a46d432..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormHeading.java
+++ /dev/null
@@ -1,1175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.resource.JFaceResources;
-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.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.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Canvas;
-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.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.ILayoutExtension;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-import org.eclipse.ui.forms.widgets.SizeCache;
-import org.eclipse.ui.internal.forms.Messages;
-
-/**
- * Form header moved out of the form class.
- */
-public class FormHeading extends Canvas {
-	private int TITLE_HMARGIN = 10;
-
-	private int TITLE_VMARGIN = 5;
-
-	private int TITLE_GAP = 5;
-
-	private int SEPARATOR_HEIGHT = 6;
-
-	private static final int S_TILED = 1 << 1;
-
-	private static final int S_CLIPPED = 1 << 2;
-
-	private static final int S_SEPARATOR = 1 << 3;
-
-	private int style = S_CLIPPED | SWT.LEFT;
-
-	private Image gradientImage;
-
-	private Image image;
-
-	private Color baseBg;
-
-	private Color separatorColor;
-
-	private GradientInfo gradientInfo;
-
-	private String text;
-
-	private ToolBarManager toolBarManager;
-
-	private SizeCache titleCache = new SizeCache();
-
-	private SizeCache toolbarCache = new SizeCache();
-
-	private SizeCache clientCache = new SizeCache();
-
-	private BusyIndicator busyLabel;
-
-	private Label titleLabel;
-
-	private Control headClient;
-
-	private MessageArea messageArea;
-
-	private class GradientInfo {
-		Color[] gradientColors;
-
-		int[] percents;
-
-		boolean vertical;
-	}
-
-	private class MessageArea extends Composite {
-		static final int BUTTON_BORDER = SWT.COLOR_WIDGET_DARK_SHADOW;
-
-		static final int BUTTON_FILL = SWT.COLOR_LIST_BACKGROUND;
-
-		static final int BUTTON_SIZE = 18;
-
-		private Image normal;
-
-		private Image hot;
-
-		static final int CLOSED = 0;
-
-		static final int OPENNING = 1;
-
-		static final int OPEN = 2;
-
-		static final int CLOSING = 3;
-
-		private CLabel label;
-
-		private ImageHyperlink rlink;
-
-		private ImageHyperlink mlink;
-
-		private int state = CLOSED;
-
-		private boolean minimized;
-
-		private boolean animationStart;
-
-		public MessageArea(Composite parent, int style) {
-			super(parent, SWT.NULL);
-			Composite container = new Composite(this, SWT.NULL);
-			GridLayout glayout = new GridLayout();
-			glayout.numColumns = 2;
-			glayout.marginWidth = 0;
-			glayout.marginHeight = 0;
-			container.setLayout(glayout);
-			label = new CLabel(container, SWT.NULL);
-			label.setLayoutData(new GridData(GridData.FILL_BOTH));
-			mlink = new ImageHyperlink(container, SWT.NULL);
-			mlink.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					setMinimized(true);
-				}
-			});
-			mlink.setToolTipText(Messages.Form_tooltip_minimize);
-			rlink = new ImageHyperlink(this, SWT.NULL);
-			rlink.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					setMinimized(false);
-				}
-			});
-			if (gradientInfo == null && getBackgroundImage() == null)
-				rlink.setBackground(getBackground());
-			rlink.setVisible(false);
-			rlink.setToolTipText(Messages.Form_tooltip_restore);
-			createMinimizedImages();
-			addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					onPaint(e);
-				}
-			});
-			addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent e) {
-					disposeMinimizeImages();
-				}
-			});
-			setLayout(new Layout() {
-				public void layout(Composite parent, boolean changed) {
-					Rectangle carea = getClientArea();
-					if (minimized) {
-						rlink.setBounds(carea.x, carea.y, carea.width,
-								carea.height);
-					} else {
-						label.getParent().setBounds(carea.x + 2, carea.y + 2,
-								carea.width - 4, carea.height - 4);
-					}
-				}
-
-				public Point computeSize(Composite parent, int wHint,
-						int hHint, boolean changed) {
-					Point size = new Point(0, 0);
-					if (minimized)
-						size = rlink.computeSize(wHint, hHint, changed);
-					else
-						size = label.getParent().computeSize(wHint, hHint,
-								changed);
-					if (!minimized) {
-						size.x += 4;
-						size.y += 4;
-					}
-					return size;
-				}
-			});
-		}
-
-		public void setMinimized(boolean minimized) {
-			setBackground(minimized ? null : baseBg);
-			this.minimized = minimized;
-			if (minimized) {
-				rlink.setImage(label.getImage());
-			}
-			rlink.setVisible(minimized);
-			label.getParent().setVisible(!minimized);
-			layout();
-
-			FormHeading.this.layout();
-			FormHeading.this.redraw();
-		}
-
-		public boolean isMinimized() {
-			return minimized;
-		}
-
-		public synchronized void setState(int state) {
-			this.state = state;
-			if (state == OPENNING)
-				setVisible(true);
-			else if (state == CLOSED)
-				setVisible(false);
-		}
-
-		public int getState() {
-			return state;
-		}
-
-		public void setBackground(Color bg) {
-			super.setBackground(bg);
-			label.setBackground(bg);
-			mlink.setBackground(bg);
-			rlink.setBackground(bg);
-			label.getParent().setBackground(bg);
-			createMinimizedImages();
-		}
-
-		public void setText(String text) {
-			this.label.setText(text);
-		}
-
-		public void setImage(Image image) {
-			this.label.setImage(image);
-		}
-
-		public boolean isInTransition() {
-			return state == OPENNING || state == CLOSING;
-		}
-
-		private void onPaint(PaintEvent e) {
-			if (minimized)
-				return;
-			Rectangle carea = getClientArea();
-			e.gc.setForeground(getForeground());
-			e.gc.drawPolyline(new int[] { carea.x, carea.y + carea.height - 1,
-					carea.x, carea.y + 2, carea.x + 2, carea.y,
-					carea.x + carea.width - 3, carea.y,
-					carea.x + carea.width - 1, carea.y + 2,
-					carea.x + carea.width - 1, carea.y + carea.height - 1 });
-		}
-
-		public boolean isAnimationStart() {
-			return animationStart;
-		}
-
-		public void setAnimationStart(boolean animationStart) {
-			this.animationStart = animationStart;
-		}
-
-		private void createMinimizedImages() {
-			disposeMinimizeImages();
-			normal = new Image(getDisplay(), BUTTON_SIZE, BUTTON_SIZE);
-			GC gc = new GC(normal);
-			paintNormalImage(getDisplay(), gc);
-			gc.dispose();
-			hot = new Image(getDisplay(), BUTTON_SIZE, BUTTON_SIZE);
-			gc = new GC(hot);
-			paintHotImage(getDisplay(), gc);
-			gc.dispose();
-			mlink.setImage(normal);
-			mlink.setHoverImage(hot);
-		}
-
-		private void disposeMinimizeImages() {
-			if (normal != null) {
-				normal.dispose();
-				normal = null;
-			}
-			if (hot != null) {
-				hot.dispose();
-				hot = null;
-			}
-		}
-
-		private void paintNormalImage(Display display, GC gc) {
-			gc.setForeground(display.getSystemColor(BUTTON_BORDER));
-			// gc.setBackground(display.getSystemColor(BUTTON_FILL));
-			gc.setBackground(getBackground());
-			paintInnerContent(gc);
-		}
-
-		private void paintHotImage(Display display, GC gc) {
-			gc.setForeground(display.getSystemColor(BUTTON_BORDER));
-			// gc.setBackground(display.getSystemColor(BUTTON_FILL));
-			// gc.setBackground(getBackground());
-			// gc.fillRoundRectangle(0, 0, BUTTON_SIZE, BUTTON_SIZE, 6, 6);
-			gc.drawRoundRectangle(0, 0, BUTTON_SIZE - 1, BUTTON_SIZE - 1, 6, 6);
-			paintInnerContent(gc);
-		}
-
-		private void paintInnerContent(GC gc) {
-			int x = BUTTON_SIZE / 2 - 5;
-			int y = 2;
-			gc.fillRectangle(x, y, 9, 3);
-			gc.drawRectangle(x, y, 9, 3);
-		}
-	}
-
-	private class FormHeadingLayout extends Layout implements ILayoutExtension {
-		public int computeMinimumWidth(Composite composite, boolean flushCache) {
-			return computeSize(composite, 5, SWT.DEFAULT, flushCache).x;
-		}
-
-		public int computeMaximumWidth(Composite composite, boolean flushCache) {
-			return computeSize(composite, SWT.DEFAULT, SWT.DEFAULT, flushCache).x;
-		}
-
-		public Point computeSize(Composite composite, int wHint, int hHint,
-				boolean flushCache) {
-			if (flushCache) {
-				titleCache.flush();
-				toolbarCache.flush();
-				clientCache.flush();
-			}
-
-			int width = 0;
-			int height = 0;
-			Point tbsize = null;
-
-			if (headClient != null) {
-				clientCache.setControl(headClient);
-				Point clsize = clientCache
-						.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				if (text != null)
-					width += TITLE_GAP;
-				width += clsize.x;
-				height += clsize.y;
-			}
-
-			if (toolBarManager != null) {
-				ToolBar toolBar = toolBarManager.getControl();
-				if (toolBar != null) {
-					toolbarCache.setControl(toolBar);
-					tbsize = toolbarCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-					if (headClient == null) {
-						if (text != null)
-							width += TITLE_GAP;
-						width += tbsize.x;
-						height = tbsize.y;
-					}
-				}
-			}
-			int iwidth = 0;
-			int iheight = 0;
-			if (messageArea != null && messageArea.isMinimized()) {
-				Point rsize = messageArea.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				iwidth = Math.max(iwidth, rsize.x);
-				iheight = Math.max(iheight, rsize.y);
-			}
-			if (busyLabel != null) {
-				Point bsize = busyLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				iwidth = Math.max(iwidth, bsize.x);
-				iheight = Math.max(iheight, bsize.y);
-			}
-			if (iwidth > 0) {
-				if (text != null)
-					width += TITLE_GAP;
-				width += iwidth;
-				height = Math.max(height, iheight);
-			}
-			if (text != null) {
-				GC gc = new GC(composite);
-				gc.setFont(getFont());
-
-				if (wHint != SWT.DEFAULT) {
-					int twHint = wHint - width;
-					Point wsize = FormUtil.computeWrapSize(gc, text, twHint);
-					width += wsize.x;
-					height = Math.max(wsize.y, height);
-				} else {
-					Point extent = gc.textExtent(text);
-					width += extent.x;
-					height = Math.max(extent.y, height);
-				}
-				gc.dispose();
-			}
-			int secondRowHeight = 0;
-			if (headClient != null) {
-				if (tbsize != null)
-					secondRowHeight = tbsize.y;
-			}
-
-			if (messageArea != null) {
-				Point masize = messageArea
-						.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				if (headClient == null)
-					height = Math.max(masize.y, height);
-				else {
-					secondRowHeight = Math.max(secondRowHeight, masize.y);
-				}
-			}
-			if (secondRowHeight > 0)
-				height += secondRowHeight;
-			if (isSeparatorVisible())
-				height += SEPARATOR_HEIGHT;
-			if (height != 0)
-				height += TITLE_VMARGIN * 2;
-			if (width != 0)
-				width += TITLE_HMARGIN * 2;
-			int ihHint = hHint;
-			if (ihHint > 0 && ihHint != SWT.DEFAULT)
-				ihHint -= height;
-			return new Point(width, height);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			if (flushCache) {
-				toolbarCache.flush();
-			}
-			Rectangle carea = composite.getClientArea();
-			int height = 0;
-			Point tbsize = null;
-			Point clsize = null;
-			int twidth = carea.width - TITLE_HMARGIN * 2;
-			if ((image != null || text != null || (messageArea != null && messageArea
-					.isMinimized()))
-					&& toolBarManager != null) {
-				ToolBar toolBar = toolBarManager.getControl();
-				if (toolBar != null) {
-					toolbarCache.setControl(toolBar);
-					tbsize = toolbarCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-					if (headClient == null) {
-						toolbarCache.setBounds(carea.width - 1 - TITLE_HMARGIN
-								- tbsize.x, TITLE_VMARGIN, tbsize.x, tbsize.y);
-						height = tbsize.y;
-					}
-				}
-			}
-
-			Rectangle clientRect = null;
-
-			if (headClient != null) {
-				clientCache.setControl(headClient);
-				clsize = clientCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				clientRect = new Rectangle(carea.width - 1 - TITLE_HMARGIN
-						- clsize.x, TITLE_VMARGIN, clsize.x, clsize.y);
-				height = clsize.y;
-				twidth -= clsize.x + TITLE_GAP;
-			}
-			if (headClient == null && tbsize != null) {
-				twidth -= tbsize.x + TITLE_GAP;
-			}
-			int tx = TITLE_HMARGIN;
-			int iwidth = 0;
-			if (image != null) {
-				Rectangle ibounds = image.getBounds();
-				iwidth = ibounds.width;
-			}
-			Point msize = null;
-			Point bsize = null;
-			int mx = 0;
-			if (messageArea != null && messageArea.isMinimized()) {
-				msize = messageArea.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				iwidth = Math.max(msize.x, iwidth);
-				mx = tx;
-			}
-			if (busyLabel != null) {
-				bsize = busyLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				iwidth = Math.max(bsize.x, iwidth);
-				mx = tx;
-			}
-			if (iwidth > 0) {
-				tx += iwidth + TITLE_GAP;
-				if (text != null)
-					twidth -= TITLE_GAP;
-				twidth -= iwidth;
-			}
-			Rectangle titleRect = new Rectangle(0, 0, 0, 0);
-			if (text != null) {
-				Point tsize = titleCache.computeSize(twidth, SWT.DEFAULT);
-				height = tsize.y;
-				if (headClient == null) {
-					if (tbsize != null)
-						height = Math.max(tbsize.y, height);
-				} else {
-					height = Math.max(clsize.y, height);
-				}
-				int minTextWidth = tsize.x;
-				Point realtsize = titleCache.computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				minTextWidth = Math.min(realtsize.x, minTextWidth);
-				titleCache.setBounds(tx, TITLE_VMARGIN, minTextWidth, height);
-				titleRect = titleCache.getControl().getBounds();
-				if (minTextWidth < tsize.x && headClient != null) {
-					// fix up the head client to use the extra space
-					int hx = tx + minTextWidth + TITLE_GAP;
-					int hwidth = carea.width - TITLE_HMARGIN - hx;
-					clientRect.x = hx;
-					clientRect.width = hwidth;
-				}
-			}
-			if (headClient != null && clientRect != null)
-				clientCache.setBounds(clientRect);
-
-			if (msize != null) {
-				messageArea.setBounds(mx, titleRect.y + titleRect.height / 2
-						- msize.y / 2, msize.x, msize.y);
-			}
-			if (bsize != null) {
-				busyLabel.setBounds(mx, titleRect.y + titleRect.height / 2
-						- bsize.y / 2, bsize.x, bsize.y);
-			}
-			if (headClient != null) {
-				if (tbsize != null) {
-					height += TITLE_GAP;
-					toolbarCache.setBounds(carea.width - 1 - TITLE_HMARGIN
-							- tbsize.x, TITLE_VMARGIN + height, tbsize.x,
-							tbsize.y);
-					height += tbsize.y;
-					// height += TITLE_GAP;
-				}
-			}
-			if (height > 0)
-				height += TITLE_VMARGIN * 2;
-			if (isSeparatorVisible())
-				height += SEPARATOR_HEIGHT;
-			if (messageArea != null
-					&& !messageArea.isMinimized()
-					&& (messageArea.isAnimationStart() || !messageArea
-							.isInTransition()) && messageArea.isVisible()) {
-				Point masize = messageArea
-						.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				int may = messageArea.isAnimationStart()
-						&& messageArea.getState() == MessageArea.OPENNING ? height - 1
-						: height - 1 - masize.y;
-				if (isSeparatorVisible())
-					may -= SEPARATOR_HEIGHT;
-				if (headClient != null)
-					may -= 2;
-				int mawidth = carea.width - TITLE_HMARGIN - TITLE_HMARGIN;
-				if (tbsize != null)
-					mawidth -= tbsize.x + TITLE_GAP;
-				messageArea.setBounds(TITLE_HMARGIN, may, mawidth, masize.y);
-				messageArea.setAnimationStart(false);
-			}
-		}
-	}
-
-	/**
-	 * Creates the form content control as a child of the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public FormHeading(Composite parent, int style) {
-		super(parent, style);
-		setBackgroundMode(SWT.INHERIT_DEFAULT);
-		addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event e) {
-				onPaint(e.gc);
-			}
-		});
-		addListener(SWT.Dispose, new Listener() {
-			public void handleEvent(Event e) {
-				if (gradientImage != null) {
-					gradientImage.dispose();
-					gradientImage = null;
-				}
-			}
-		});
-		addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event e) {
-				if (gradientInfo != null)
-					updateGradientImage();
-			}
-		});
-		super.setLayout(new FormHeadingLayout());
-		titleLabel = new Label(this, SWT.WRAP);
-		titleCache = new SizeCache(titleLabel);
-	}
-
-	/**
-	 * Fully delegates the size computation to the internal layout manager.
-	 */
-	public final Point computeSize(int wHint, int hHint, boolean changed) {
-		return ((FormHeadingLayout) getLayout()).computeSize(this, wHint,
-				hHint, changed);
-	}
-
-	/**
-	 * Prevents from changing the custom control layout.
-	 */
-	public final void setLayout(Layout layout) {
-	}
-
-	/**
-	 * Returns the title text that will be rendered at the top of the form.
-	 * 
-	 * @return the title text
-	 */
-	public String getText() {
-		return text;
-	}
-
-	/**
-	 * Returns the title image that will be rendered to the left of the title.
-	 * 
-	 * @return the title image
-	 * @since 3.2
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Sets the background color of the header.
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		titleLabel.setBackground(bg);
-		if (toolBarManager != null)
-			toolBarManager.getControl().setBackground(bg);
-		baseBg = bg;
-	}
-
-	/**
-	 * Sets the foreground color of the header.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		titleLabel.setForeground(fg);
-	}
-
-	/**
-	 * Sets the text to be rendered at the top of the form above the body as a
-	 * title.
-	 * 
-	 * @param text
-	 *            the title text
-	 */
-	public void setText(String text) {
-		this.text = text;
-		if (toolBarManager != null) {
-			toolBarManager.getControl().setVisible(
-					image != null || text != null);
-		}
-		if (text != null) {
-			titleCache.setControl(titleLabel);
-			titleLabel.setText(text);
-		}
-		titleLabel.setVisible(text != null);
-		layout();
-		redraw();
-	}
-
-	public void setFont(Font font) {
-		super.setFont(font);
-		titleLabel.setFont(font);
-	}
-
-	/**
-	 * Sets the image to be rendered to the left of the title.
-	 * 
-	 * @param image
-	 *            the title image or <code>null</code> to show no image.
-	 * @since 3.2
-	 */
-	public void setImage(Image image) {
-		this.image = image;
-		if (toolBarManager != null) {
-			toolBarManager.getControl().setVisible(
-					image != null || text != null);
-		}
-		if (image != null) {
-			createBusyLabel();
-		} else if (image == null && busyLabel != null) {
-			if (!busyLabel.isBusy()) {
-				busyLabel.dispose();
-				busyLabel = null;
-			}
-		}
-		busyLabel.setImage(image);
-		layout();
-	}
-
-	private void createBusyLabel() {
-		if (busyLabel == null) {
-			busyLabel = new BusyIndicator(this, SWT.NULL);
-			if (gradientInfo == null && getBackgroundImage() == null)
-				busyLabel.setBackground(getBackground());
-		}
-	}
-
-	public void setTextBackground(Color[] gradientColors, int[] percents,
-			boolean vertical) {
-		gradientInfo = new GradientInfo();
-		gradientInfo.gradientColors = gradientColors;
-		gradientInfo.percents = percents;
-		gradientInfo.vertical = vertical;
-		titleLabel.setBackground(null);
-		super.setBackground(null);
-		if (toolBarManager != null)
-			toolBarManager.getControl().setBackground(null);
-		if (busyLabel != null)
-			busyLabel.setBackground(null);
-		updateGradientImage();
-	}
-
-	public void setBackgroundImage(Image image) {
-		super.setBackgroundImage(image);
-		if (image != null) {
-			titleLabel.setBackground(null);
-			if (toolBarManager != null)
-				toolBarManager.getControl().setBackground(null);
-			if (busyLabel != null)
-				busyLabel.setBackground(null);
-		}
-	}
-
-	/**
-	 * Returns the tool bar manager that is used to manage tool items in the
-	 * form's title area.
-	 * 
-	 * @return form tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		if (toolBarManager == null) {
-			toolBarManager = new ToolBarManager(SWT.FLAT);
-			ToolBar toolbar = toolBarManager.createControl(this);
-			toolbar.setBackground(getBackground());
-			toolbar.setForeground(getForeground());
-			toolbar.setCursor(FormsResources.getHandCursor());
-			addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent e) {
-					if (toolBarManager != null) {
-						toolBarManager.dispose();
-						toolBarManager = null;
-					}
-				}
-			});
-		}
-		return toolBarManager;
-	}
-
-	/**
-	 * Updates the local tool bar manager if used. Does nothing if local tool
-	 * bar manager has not been created yet.
-	 */
-	public void updateToolBar() {
-		if (toolBarManager != null)
-			toolBarManager.update(false);
-	}
-
-	private void onPaint(GC gc) {
-		if (!isSeparatorVisible() && getBackgroundImage() == null)
-			return;
-		Rectangle carea = getClientArea();
-		Image buffer = new Image(getDisplay(), carea.width, carea.height);
-		buffer.setBackground(getBackground());
-		GC igc = new GC(buffer);
-		igc.setBackground(getBackground());
-		igc.fillRectangle(0, 0, carea.width, carea.height);
-		if (getBackgroundImage() != null) {
-			if (gradientInfo!=null || isBackgroundImageTiled())
-				drawBackground(igc, carea.x, carea.y, carea.width, carea.height);
-			else {
-				Image bgImage = getBackgroundImage();
-				Rectangle ibounds = bgImage.getBounds();
-				drawBackground(igc, carea.x, carea.y, ibounds.width,
-						ibounds.height);
-			}
-		}
-		if (isSeparatorVisible()) {
-			// gradient
-			if (gradientInfo != null && gradientInfo.gradientColors.length >= 2) {
-				igc.setBackground(gradientInfo.gradientColors[0]);
-				igc
-						.setForeground(gradientInfo.gradientColors[gradientInfo.gradientColors.length - 1]);
-				igc.fillGradientRectangle(0, carea.height - SEPARATOR_HEIGHT
-						+ 3, carea.width, SEPARATOR_HEIGHT - 2,
-						gradientInfo.vertical);
-			}
-			// bg separator
-			igc.setForeground(baseBg);
-			igc.drawPolyline(new int[] { 0,
-					carea.height - SEPARATOR_HEIGHT + 2, 2,
-					carea.height - SEPARATOR_HEIGHT, carea.width - 3,
-					carea.height - SEPARATOR_HEIGHT, carea.width - 1,
-					carea.height - SEPARATOR_HEIGHT + 2 });
-			// color separator
-			if (separatorColor != null)
-				igc.setForeground(separatorColor);
-			else
-				igc.setForeground(getForeground());
-			igc.drawPolyline(new int[] { 0, carea.height, 0,
-					carea.height - SEPARATOR_HEIGHT + 3, 2,
-					carea.height - SEPARATOR_HEIGHT + 1, carea.width - 3,
-					carea.height - SEPARATOR_HEIGHT + 1, carea.width - 1,
-					carea.height - SEPARATOR_HEIGHT + 3, carea.width - 1,
-					carea.height });
-		}
-		gc.drawImage(buffer, carea.x, carea.y);
-		igc.dispose();
-		buffer.dispose();
-	}
-
-	private void updateGradientImage() {
-		Rectangle rect = getBounds();
-		boolean vertical = gradientInfo.vertical;
-		if (gradientImage != null)
-			gradientImage.dispose();
-		int width = vertical ? 1 : rect.width;
-		int height = vertical ? rect.height : 1;
-		gradientImage = new Image(getDisplay(), Math.max(width, 1), Math.max(
-				height, 1));
-		GC gc = new GC(gradientImage);
-		drawTextGradient(gc, width, height);
-		gc.dispose();
-		setBackgroundImage(gradientImage);
-	}
-
-	private void drawTextGradient(GC gc, int width, int height) {
-		final Color oldBackground = gc.getBackground();
-		if (gradientInfo.gradientColors.length == 1) {
-			if (gradientInfo.gradientColors[0] != null)
-				gc.setBackground(gradientInfo.gradientColors[0]);
-			gc.fillRectangle(0, 0, width, height);
-		} else {
-			final Color oldForeground = gc.getForeground();
-			Color lastColor = gradientInfo.gradientColors[0];
-			if (lastColor == null)
-				lastColor = oldBackground;
-			int pos = 0;
-			for (int i = 0; i < gradientInfo.percents.length; ++i) {
-				gc.setForeground(lastColor);
-				lastColor = gradientInfo.gradientColors[i + 1];
-				if (lastColor == null)
-					lastColor = oldBackground;
-				gc.setBackground(lastColor);
-				if (gradientInfo.vertical) {
-					final int gradientHeight = (gradientInfo.percents[i]
-							* height / 100)
-							- pos;
-					gc.fillGradientRectangle(0, pos, width, gradientHeight,
-							true);
-					pos += gradientHeight;
-				} else {
-					final int gradientWidth = (gradientInfo.percents[i] * width / 100)
-							- pos;
-					gc.fillGradientRectangle(pos, 0, gradientWidth, height,
-							false);
-					pos += gradientWidth;
-				}
-			}
-			if (gradientInfo.vertical && pos < height) {
-				gc.setBackground(baseBg);
-				gc.fillRectangle(0, pos, width, height - pos);
-			}
-			if (!gradientInfo.vertical && pos < width) {
-				gc.setBackground(baseBg);
-				gc.fillRectangle(pos, 0, width - pos, height);
-			}
-			gc.setForeground(oldForeground);
-		}
-	}
-
-	/**
-	 * TODO add javadoc
-	 * 
-	 * @return Returns the backgroundImageTiled.
-	 */
-	public boolean isBackgroundImageTiled() {
-		return (style & S_TILED) != 0;
-	}
-
-	/**
-	 * TODO add javadoc
-	 * 
-	 * @param backgroundImageTiled
-	 *            The backgroundImageTiled to set.
-	 */
-	public void setBackgroundImageTiled(boolean backgroundImageTiled) {
-		if (backgroundImageTiled)
-			style |= S_TILED;
-		else
-			style &= (~S_TILED);
-		if (isVisible())
-			redraw();
-	}
-
-	/**
-	 * @return Returns the backgroundImageAlignment. TODO add javadoc
-	 * @since 3.1
-	 */
-	public int getBackgroundImageAlignment() {
-		if ((style & SWT.LEFT) > 0)
-			return SWT.LEFT;
-		if ((style & SWT.RIGHT) > 0)
-			return SWT.RIGHT;
-		if ((style & SWT.CENTER) > 0)
-			return SWT.CENTER;
-		return SWT.NULL;
-	}
-
-	/**
-	 * @param backgroundImageAlignment
-	 *            The backgroundImageAlignment to set. TODO add javadoc
-	 * @since 3.1
-	 */
-	public void setBackgroundImageAlignment(int backgroundImageAlignment) {
-		style &= (~getBackgroundImageAlignment());
-		style |= backgroundImageAlignment;
-		if (isVisible())
-			redraw();
-	}
-
-	/**
-	 * @return Returns the backgroundImageClipped.
-	 * @since 3.1
-	 */
-	public boolean isBackgroundImageClipped() {
-		return (style & S_CLIPPED) != 0;
-	}
-
-	/**
-	 * @param backgroundImageClipped
-	 *            The backgroundImageClipped to set.
-	 * @since 3.1
-	 */
-	public void setBackgroundImageClipped(boolean backgroundImageClipped) {
-		if (backgroundImageClipped)
-			style |= S_CLIPPED;
-		else
-			style &= (~S_CLIPPED);
-	}
-
-	/**
-	 * TODO add javadoc experimental - do not use yet
-	 * 
-	 * @return <code>true</code> if the receiver is a visible separator,
-	 *         <code>false</code> otherwise
-	 */
-	public boolean isSeparatorVisible() {
-		return (style & S_SEPARATOR) != 0;
-	}
-
-	/**
-	 * experimental - do not use yet TODO add javadoc
-	 */
-	public void setSeparatorVisible(boolean addSeparator) {
-		if (addSeparator)
-			style |= S_SEPARATOR;
-		else
-			style &= (~S_SEPARATOR);
-	}
-
-	/**
-	 * experimental - do not use yet TODO add javadoc
-	 */
-
-	public Color getSeparatorColor() {
-		return separatorColor;
-	}
-
-	/**
-	 * experimental - do not use yet TODO add javadoc
-	 */
-	public void setSeparatorColor(Color separatorColor) {
-		this.separatorColor = separatorColor;
-	}
-
-	/**
-	 * Sets the message for this form.
-	 * 
-	 * @param message
-	 *            the message, or <code>null</code> to clear the message
-	 * @since 3.2
-	 */
-	public void setMessage(String message) {
-		this.setMessage(message, IMessageProvider.NONE);
-	}
-
-	/**
-	 * Sets the message for this form with an indication of what type of message
-	 * it is.
-	 * <p>
-	 * The valid message types are one of <code>NONE</code>,
-	 * <code>INFORMATION</code>,<code>WARNING</code>, or
-	 * <code>ERROR</code>.
-	 * </p>
-	 * <p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 * @param newType
-	 *            the message type
-	 * @since 3.2
-	 */
-
-	public void setMessage(String newMessage, int newType) {
-		Image newImage = null;
-		if (newMessage != null) {
-			switch (newType) {
-			case IMessageProvider.NONE:
-				break;
-			case IMessageProvider.INFORMATION:
-				newImage = JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_INFO);
-				break;
-			case IMessageProvider.WARNING:
-				newImage = JFaceResources
-						.getImage(Dialog.DLG_IMG_MESSAGE_WARNING);
-				break;
-			case IMessageProvider.ERROR:
-				newImage = JFaceResources
-						.getImage(Dialog.DLG_IMG_MESSAGE_ERROR);
-				break;
-			}
-		}
-		showMessage(newMessage, newImage);
-	}
-
-	private void showMessage(String newMessage, Image newImage) {
-		if (newMessage == null) {
-			if (messageArea != null)
-				setMessageAreaVisible(false);
-		} else {
-			if (messageArea == null) {
-				messageArea = new MessageArea(this, SWT.NULL);
-				messageArea.setBackground(baseBg);
-				messageArea
-						.setForeground(separatorColor != null ? separatorColor
-								: getForeground());
-			}
-			messageArea.setText(newMessage);
-			messageArea.setImage(newImage);
-			setMessageAreaVisible(true);
-		}
-	}
-
-	private void setMessageAreaVisible(boolean visible) {
-		if (messageArea.isMinimized()) {
-			if (!visible)
-				messageArea.setState(MessageArea.CLOSED);
-			messageArea.setMinimized(false);
-		}
-		// check if we need to do anything
-		switch (messageArea.getState()) {
-		case MessageArea.OPENNING:
-		case MessageArea.OPEN:
-			if (visible)
-				return;
-			break;
-		case MessageArea.CLOSING:
-		case MessageArea.CLOSED:
-			if (!visible)
-				return;
-			break;
-		}
-		// we do
-		messageArea.moveAbove(null);
-		messageArea.setAnimationStart(true);
-		messageArea.setState(visible ? MessageArea.OPENNING
-				: MessageArea.CLOSING);
-		layout(true);
-		Rectangle startBounds = messageArea.getBounds();
-		final int endY = visible ? startBounds.y - startBounds.height
-				: startBounds.y + startBounds.height;
-
-		Runnable runnable = new Runnable() {
-			public void run() {
-				final boolean[] result = new boolean[1];
-				/*
-				 * getDisplay().syncExec(new Runnable() { public void run() { if
-				 * (headClient!=null) headClient.setRedraw(false); } });
-				 */
-				for (;;) {
-					getDisplay().syncExec(new Runnable() {
-						public void run() {
-							Point loc = messageArea.getLocation();
-							if (messageArea.getState() == MessageArea.OPENNING) {
-								// opening
-								loc.y--;
-								if (loc.y > endY)
-									messageArea.setLocation(loc);
-								else {
-									result[0] = true;
-									messageArea.setState(MessageArea.OPEN);
-									layout(true);
-								}
-							} else {
-								// closing
-								loc.y++;
-								if (loc.y < endY)
-									messageArea.setLocation(loc);
-								else {
-									result[0] = true;
-									messageArea.setState(MessageArea.CLOSED);
-									layout(true);
-								}
-							}
-						}
-					});
-					if (result[0]) {
-						/*
-						 * getDisplay().syncExec(new Runnable() { public void
-						 * run() { if (headClient!=null)
-						 * headClient.setRedraw(true); } });
-						 */
-						break;
-					}
-					Thread.yield();
-					try {
-						Thread.sleep(5);
-					} catch (InterruptedException e) {
-						// TODO Auto-generated catch block
-						e.printStackTrace();
-					}
-				}
-			}
-		};
-		Thread t = new Thread(runnable);
-		t.start();
-	}
-
-	/**
-	 * Tests if the form is in the 'busy' state.
-	 * 
-	 * @return <code>true</code> if busy, <code>false</code> otherwise.
-	 */
-
-	public boolean isBusy() {
-		return busyLabel != null && busyLabel.isBusy();
-	}
-
-	/**
-	 * Sets the form's busy state. Busy form will display 'busy' animation in
-	 * the area of the title image.
-	 * 
-	 * @param busy
-	 *            the form's busy state
-	 */
-
-	public void setBusy(boolean busy) {
-		if (busy)
-			createBusyLabel();
-		if (busy == busyLabel.isBusy())
-			return;
-		busyLabel.setBusy(busy);
-		layout();
-	}
-
-	public Control getHeadClient() {
-		return headClient;
-	}
-
-	public void setHeadClient(Control headClient) {
-		Assert.isTrue(headClient.getParent() == this);
-		this.headClient = headClient;
-		layout();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java
deleted file mode 100644
index da52a3c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java
+++ /dev/null
@@ -1,723 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Vector;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class FormTextModel {
-	private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
-			.newInstance();
-
-	private boolean whitespaceNormalized = true;
-
-	private Vector paragraphs;
-
-	private IFocusSelectable[] selectableSegments;
-
-	private int selectedSegmentIndex = -1;
-	
-	private int savedSelectedLinkIndex = -1;
-
-	private HyperlinkSettings hyperlinkSettings;
-
-	public static final String BOLD_FONT_ID = "f.____bold"; //$NON-NLS-1$
-
-	//private static final int TEXT_ONLY_LINK = 1;
-
-	//private static final int IMG_ONLY_LINK = 2;
-
-	//private static final int TEXT_AND_IMAGES_LINK = 3;
-
-	public FormTextModel() {
-		reset();
-	}
-
-	/*
-	 * @see ITextModel#getParagraphs()
-	 */
-	public Paragraph[] getParagraphs() {
-		if (paragraphs == null)
-			return new Paragraph[0];
-		return (Paragraph[]) paragraphs
-				.toArray(new Paragraph[paragraphs.size()]);
-	}
-
-	public String getAccessibleText() {
-		if (paragraphs == null)
-			return ""; //$NON-NLS-1$
-		StringBuffer sbuf = new StringBuffer();
-		for (int i = 0; i < paragraphs.size(); i++) {
-			Paragraph paragraph = (Paragraph) paragraphs.get(i);
-			String text = paragraph.getAccessibleText();
-			sbuf.append(text);
-		}
-		return sbuf.toString();
-	}
-
-	/*
-	 * @see ITextModel#parse(String)
-	 */
-	public void parseTaggedText(String taggedText, boolean expandURLs) {
-		if (taggedText == null) {
-			reset();
-			return;
-		}
-		try {
-			InputStream stream = new ByteArrayInputStream(taggedText
-					.getBytes("UTF8")); //$NON-NLS-1$
-			parseInputStream(stream, expandURLs);
-		} catch (UnsupportedEncodingException e) {
-			SWT.error(SWT.ERROR_UNSUPPORTED_FORMAT, e);
-		}
-	}
-
-	public void parseInputStream(InputStream is, boolean expandURLs) {
-
-		documentBuilderFactory.setNamespaceAware(true);
-		documentBuilderFactory.setIgnoringComments(true);
-
-		reset();
-		try {
-			DocumentBuilder parser = documentBuilderFactory
-					.newDocumentBuilder();
-			InputSource source = new InputSource(is);
-			Document doc = parser.parse(source);
-			processDocument(doc, expandURLs);
-		} catch (ParserConfigurationException e) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, e);
-		} catch (SAXException e) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, e);
-		} catch (IOException e) {
-			SWT.error(SWT.ERROR_IO, e);
-		}
-	}
-
-	private void processDocument(Document doc, boolean expandURLs) {
-		Node root = doc.getDocumentElement();
-		NodeList children = root.getChildNodes();
-		processSubnodes(paragraphs, children, expandURLs);
-	}
-
-	private void processSubnodes(Vector plist, NodeList children, boolean expandURLs) {
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.TEXT_NODE) {
-				// Make an implicit paragraph
-				String text = getSingleNodeText(child);
-				if (text != null && !isIgnorableWhiteSpace(text, true)) {
-					Paragraph p = new Paragraph(true);
-					p.parseRegularText(text, expandURLs,
-							getHyperlinkSettings(), null);
-					plist.add(p);
-				}
-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String tag = child.getNodeName().toLowerCase();
-				if (tag.equals("p")) { //$NON-NLS-1$
-					Paragraph p = processParagraph(child, expandURLs);
-					if (p != null)
-						plist.add(p);
-				} else if (tag.equals("li")) { //$NON-NLS-1$
-					Paragraph p = processListItem(child, expandURLs);
-					if (p != null)
-						plist.add(p);
-				}
-			}
-		}
-	}
-
-	private Paragraph processParagraph(Node paragraph, boolean expandURLs) {
-		NodeList children = paragraph.getChildNodes();
-		NamedNodeMap atts = paragraph.getAttributes();
-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace"); //$NON-NLS-1$
-		boolean addSpace = true;
-
-		if (addSpaceAtt == null)
-			addSpaceAtt = atts.getNamedItem("vspace"); //$NON-NLS-1$
-
-		if (addSpaceAtt != null) {
-			String value = addSpaceAtt.getNodeValue();
-			addSpace = value.equalsIgnoreCase("true"); //$NON-NLS-1$
-		}
-		Paragraph p = new Paragraph(addSpace);
-
-		processSegments(p, children, expandURLs);
-		return p;
-	}
-
-	private Paragraph processListItem(Node listItem, boolean expandURLs) {
-		NodeList children = listItem.getChildNodes();
-		NamedNodeMap atts = listItem.getAttributes();
-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");//$NON-NLS-1$
-		Node styleAtt = atts.getNamedItem("style");//$NON-NLS-1$
-		Node valueAtt = atts.getNamedItem("value");//$NON-NLS-1$
-		Node indentAtt = atts.getNamedItem("indent");//$NON-NLS-1$
-		Node bindentAtt = atts.getNamedItem("bindent");//$NON-NLS-1$
-		int style = BulletParagraph.CIRCLE;
-		int indent = -1;
-		int bindent = -1;
-		String text = null;
-		boolean addSpace = true;
-
-		if (addSpaceAtt != null) {
-			String value = addSpaceAtt.getNodeValue();
-			addSpace = value.equalsIgnoreCase("true"); //$NON-NLS-1$
-		}
-		if (styleAtt != null) {
-			String value = styleAtt.getNodeValue();
-			if (value.equalsIgnoreCase("text")) { //$NON-NLS-1$
-				style = BulletParagraph.TEXT;
-			} else if (value.equalsIgnoreCase("image")) { //$NON-NLS-1$
-				style = BulletParagraph.IMAGE;
-			} else if (value.equalsIgnoreCase("bullet")) { //$NON-NLS-1$
-				style = BulletParagraph.CIRCLE;
-			}
-		}
-		if (valueAtt != null) {
-			text = valueAtt.getNodeValue();
-			if (style == BulletParagraph.IMAGE)
-				text = "i." + text; //$NON-NLS-1$
-		}
-		if (indentAtt != null) {
-			String value = indentAtt.getNodeValue();
-			try {
-				indent = Integer.parseInt(value);
-			} catch (NumberFormatException e) {
-			}
-		}
-		if (bindentAtt != null) {
-			String value = bindentAtt.getNodeValue();
-			try {
-				bindent = Integer.parseInt(value);
-			} catch (NumberFormatException e) {
-			}
-		}
-
-		BulletParagraph p = new BulletParagraph(addSpace);
-		p.setIndent(indent);
-		p.setBulletIndent(bindent);
-		p.setBulletStyle(style);
-		p.setBulletText(text);
-
-		processSegments(p, children, expandURLs);
-		return p;
-	}
-
-	private void processSegments(Paragraph p, NodeList children,
-			boolean expandURLs) {
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			ParagraphSegment segment = null;
-
-			if (child.getNodeType() == Node.TEXT_NODE) {
-				String value = getSingleNodeText(child);
-
-				if (value != null && !isIgnorableWhiteSpace(value, false)) {
-					p.parseRegularText(value, expandURLs,
-							getHyperlinkSettings(), null);
-				}
-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String name = child.getNodeName();
-				if (name.equalsIgnoreCase("img")) { //$NON-NLS-1$
-					segment = processImageSegment(child);
-				} else if (name.equalsIgnoreCase("a")) { //$NON-NLS-1$
-					segment = processHyperlinkSegment(child,
-							getHyperlinkSettings());
-				} else if (name.equalsIgnoreCase("span")) { //$NON-NLS-1$
-					processTextSegment(p, expandURLs, child);
-				} else if (name.equalsIgnoreCase("b")) { //$NON-NLS-1$
-					String text = getNodeText(child);
-					String fontId = BOLD_FONT_ID;
-					p.parseRegularText(text, expandURLs,
-							getHyperlinkSettings(), fontId);
-				} else if (name.equalsIgnoreCase("br")) { //$NON-NLS-1$
-					segment = new BreakSegment();
-				} else if (name.equalsIgnoreCase("control")) { //$NON-NLS-1$
-					segment = processControlSegment(child);
-				}
-			}
-			if (segment != null) {
-				p.addSegment(segment);
-			}
-		}
-	}
-
-	private boolean isIgnorableWhiteSpace(String text, boolean ignoreSpaces) {
-		for (int i = 0; i < text.length(); i++) {
-			char c = text.charAt(i);
-			if (ignoreSpaces && c == ' ')
-				continue;
-			if (c == '\n' || c == '\r' || c == '\f')
-				continue;
-			return false;
-		}
-		return true;
-	}
-
-	private ImageSegment processImageSegment(Node image) {
-		ImageSegment segment = new ImageSegment();
-		processObjectSegment(segment, image, "i."); //$NON-NLS-1$
-		return segment;
-	}
-
-	private ControlSegment processControlSegment(Node control) {
-		ControlSegment segment = new ControlSegment();
-		processObjectSegment(segment, control, "o."); //$NON-NLS-1$
-		Node fill = control.getAttributes().getNamedItem("fill"); //$NON-NLS-1$
-		if (fill!=null) {
-			String value = fill.getNodeValue();
-			boolean doFill = value.equalsIgnoreCase("true"); //$NON-NLS-1$
-			segment.setFill(doFill);
-		}
-		return segment;
-	}
-
-	private void processObjectSegment(ObjectSegment segment, Node object, String prefix) {
-		NamedNodeMap atts = object.getAttributes();
-		Node id = atts.getNamedItem("href"); //$NON-NLS-1$
-		Node align = atts.getNamedItem("align"); //$NON-NLS-1$
-		if (id != null) {
-			String value = id.getNodeValue();
-			segment.setObjectId(prefix + value);
-		}
-		if (align != null) {
-			String value = align.getNodeValue().toLowerCase();
-			if (value.equals("top")) //$NON-NLS-1$
-				segment.setVerticalAlignment(ImageSegment.TOP);
-			else if (value.equals("middle")) //$NON-NLS-1$
-				segment.setVerticalAlignment(ImageSegment.MIDDLE);
-			else if (value.equals("bottom")) //$NON-NLS-1$
-				segment.setVerticalAlignment(ImageSegment.BOTTOM);
-		}
-	}
-
-	private void appendText(String value, StringBuffer buf, int[] spaceCounter) {
-		if (!whitespaceNormalized)
-			buf.append(value);
-		else {
-			for (int j = 0; j < value.length(); j++) {
-				char c = value.charAt(j);
-				if (c == ' ' || c == '\t') {
-					// space
-					if (++spaceCounter[0] == 1) {
-						buf.append(c);
-					}
-				} else if (c == '\n' || c == '\r' || c == '\f') {
-					// new line
-					if (++spaceCounter[0] == 1) {
-						buf.append(' ');
-					}
-				} else {
-					// other characters
-					spaceCounter[0] = 0;
-					buf.append(c);
-				}
-			}
-		}
-	}
-
-	private String getNormalizedText(String text) {
-		int[] spaceCounter = new int[1];
-		StringBuffer buf = new StringBuffer();
-
-		if (text == null)
-			return null;
-		appendText(text, buf, spaceCounter);
-		return buf.toString();
-	}
-
-	private String getSingleNodeText(Node node) {
-		return getNormalizedText(node.getNodeValue());
-	}
-
-	private String getNodeText(Node node) {
-		NodeList children = node.getChildNodes();
-		StringBuffer buf = new StringBuffer();
-		int[] spaceCounter = new int[1];
-
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.TEXT_NODE) {
-				String value = child.getNodeValue();
-				appendText(value, buf, spaceCounter);
-			}
-		}
-		return buf.toString().trim();
-	}
-
-	private ParagraphSegment processHyperlinkSegment(Node link,
-			HyperlinkSettings settings) {
-		NamedNodeMap atts = link.getAttributes();
-		String href = null;
-		boolean wrapAllowed = true;
-		String boldFontId = null;
-
-		Node hrefAtt = atts.getNamedItem("href"); //$NON-NLS-1$
-		if (hrefAtt != null) {
-			href = hrefAtt.getNodeValue();
-		}
-		Node boldAtt = atts.getNamedItem("bold"); //$NON-NLS-1$
-		if (boldAtt != null) {
-			boldFontId = BOLD_FONT_ID;
-		}
-		Node nowrap = atts.getNamedItem("nowrap"); //$NON-NLS-1$
-		if (nowrap != null) {
-			String value = nowrap.getNodeValue();
-			if (value != null && value.equalsIgnoreCase("true")) //$NON-NLS-1$
-				wrapAllowed = false;
-		}
-		Object status = checkChildren(link);
-		if (status instanceof Node) {
-			Node child = (Node)status;
-			ImageHyperlinkSegment segment = new ImageHyperlinkSegment();
-			segment.setHref(href);
-			segment.setWordWrapAllowed(wrapAllowed);
-			Node alt = child.getAttributes().getNamedItem("alt"); //$NON-NLS-1$
-			if (alt!=null)
-				segment.setTooltipText(alt.getNodeValue());
-			Node text = child.getAttributes().getNamedItem("text"); //$NON-NLS-1$
-			if (text!=null)
-				segment.setText(text.getNodeValue());
-			processObjectSegment(segment, child, "i."); //$NON-NLS-1$
-			return segment;
-		}  else if (status instanceof String) {
-			String text = (String) status;
-			TextHyperlinkSegment segment = new TextHyperlinkSegment(text,
-					settings, null);
-			segment.setHref(href);
-			segment.setFontId(boldFontId);
-			Node alt = atts.getNamedItem("alt"); //$NON-NLS-1$
-			if (alt!=null)
-				segment.setTooltipText(alt.getNodeValue());			
-			segment.setWordWrapAllowed(wrapAllowed);
-			return segment;
-		} else {
-			AggregateHyperlinkSegment parent = new AggregateHyperlinkSegment();
-			parent.setHref(href);
-			NodeList children = link.getChildNodes();
-			for (int i = 0; i < children.getLength(); i++) {
-				Node child = children.item(i);
-				if (child.getNodeType() == Node.TEXT_NODE) {
-					String value = child.getNodeValue();
-					TextHyperlinkSegment ts = new TextHyperlinkSegment(
-							getNormalizedText(value), settings, null);
-					Node alt = atts.getNamedItem("alt"); //$NON-NLS-1$
-					if (alt!=null)
-						ts.setTooltipText(alt.getNodeValue());
-					ts.setWordWrapAllowed(wrapAllowed);
-					parent.add(ts);
-				} else if (child.getNodeType() == Node.ELEMENT_NODE) {
-					String name = child.getNodeName();
-					if (name.equalsIgnoreCase("img")) { //$NON-NLS-1$
-						ImageHyperlinkSegment is = new ImageHyperlinkSegment();
-						processObjectSegment(is, child, "i."); //$NON-NLS-1$
-						Node alt = child.getAttributes().getNamedItem("alt"); //$NON-NLS-1$
-						if (alt!=null)
-							is.setTooltipText(alt.getNodeValue());
-						parent.add(is);
-						is.setWordWrapAllowed(wrapAllowed);
-					}
-				}
-			}
-			return parent;
-		}
-	}
-
-	private Object checkChildren(Node node) {
-		boolean text = false;
-		Node imgNode = null;
-		//int status = 0;
-
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.TEXT_NODE)
-				text = true;
-			else if (child.getNodeType() == Node.ELEMENT_NODE
-					&& child.getNodeName().equalsIgnoreCase("img")) { //$NON-NLS-1$
-				imgNode = child;
-			}
-		}
-		if (text && imgNode == null)
-			return getNodeText(node);
-		else if (!text && imgNode != null)
-			return imgNode;
-		else return null;
-	}
-
-	private void processTextSegment(Paragraph p, boolean expandURLs,
-			Node textNode) {
-		String text = getNodeText(textNode);
-
-		NamedNodeMap atts = textNode.getAttributes();
-		Node font = atts.getNamedItem("font"); //$NON-NLS-1$
-		Node color = atts.getNamedItem("color"); //$NON-NLS-1$
-		String fontId = null;
-		String colorId = null;
-		if (font != null) {
-			fontId = "f." + font.getNodeValue(); //$NON-NLS-1$
-		}
-		if (color != null) {
-			colorId = "c." + color.getNodeValue(); //$NON-NLS-1$
-		}
-		p.parseRegularText(text, expandURLs, getHyperlinkSettings(), fontId,
-				colorId);
-	}
-
-	public void parseRegularText(String regularText, boolean convertURLs) {
-		reset();
-
-		if (regularText == null)
-			return;
-
-		regularText = getNormalizedText(regularText);
-
-		Paragraph p = new Paragraph(true);
-		paragraphs.add(p);
-		int pstart = 0;
-
-		for (int i = 0; i < regularText.length(); i++) {
-			char c = regularText.charAt(i);
-			if (p == null) {
-				p = new Paragraph(true);
-				paragraphs.add(p);
-			}
-			if (c == '\n') {
-				String text = regularText.substring(pstart, i);
-				pstart = i + 1;
-				p.parseRegularText(text, convertURLs, getHyperlinkSettings(),
-						null);
-				p = null;
-			}
-		}
-		if (p != null) {
-			// no new line
-			String text = regularText.substring(pstart);
-			p.parseRegularText(text, convertURLs, getHyperlinkSettings(), null);
-		}
-	}
-
-	public HyperlinkSettings getHyperlinkSettings() {
-		return hyperlinkSettings;
-	}
-
-	public void setHyperlinkSettings(HyperlinkSettings settings) {
-		this.hyperlinkSettings = settings;
-	}
-
-	private void reset() {
-		if (paragraphs == null)
-			paragraphs = new Vector();
-		paragraphs.clear();
-		selectedSegmentIndex = -1;
-		savedSelectedLinkIndex = -1;
-		selectableSegments = null;
-	}
-
-	IFocusSelectable[] getFocusSelectableSegments() {
-		if (selectableSegments != null || paragraphs == null)
-			return selectableSegments;
-		Vector result = new Vector();
-		for (int i = 0; i < paragraphs.size(); i++) {
-			Paragraph p = (Paragraph) paragraphs.get(i);
-			ParagraphSegment[] segments = p.getSegments();
-			for (int j = 0; j < segments.length; j++) {
-				if (segments[j] instanceof IFocusSelectable)
-					result.add(segments[j]);
-			}
-		}
-		selectableSegments = (IFocusSelectable[]) result
-				.toArray(new IFocusSelectable[result.size()]);
-		return selectableSegments;
-	}
-	
-	public IHyperlinkSegment getHyperlink(int index) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		if (selectables.length>index) {
-			IFocusSelectable link = selectables[index];
-			if (link instanceof IHyperlinkSegment)
-				return (IHyperlinkSegment)link;
-		}
-		return null;
-	}
-	
-	public IHyperlinkSegment findHyperlinkAt(int x, int y) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		for (int i = 0; i < selectables.length; i++) {
-			IFocusSelectable segment = selectables[i];
-			if (segment instanceof IHyperlinkSegment) {
-				IHyperlinkSegment link = (IHyperlinkSegment)segment;
-				if (link.contains(x, y))
-					return link;
-			}
-		}
-		return null;
-	}
-	
-	public int getHyperlinkCount() {
-		return getFocusSelectableSegments().length;
-	}
-	
-	public int indexOf(IHyperlinkSegment link) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		for (int i = 0; i < selectables.length; i++) {
-			IFocusSelectable segment = selectables[i];
-			if (segment instanceof IHyperlinkSegment) {
-				IHyperlinkSegment l = (IHyperlinkSegment)segment;
-				if (link==l)
-					return i;
-			}
-		}
-		return -1;
-	}
-
-	public ParagraphSegment findSegmentAt(int x, int y) {
-		for (int i = 0; i < paragraphs.size(); i++) {
-			Paragraph p = (Paragraph) paragraphs.get(i);
-			ParagraphSegment segment = p.findSegmentAt(x, y);
-			if (segment != null)
-				return segment;
-		}
-		return null;
-	}
-	
-	public void clearCache(String fontId) {
-		for (int i = 0; i < paragraphs.size(); i++) {
-			Paragraph p = (Paragraph) paragraphs.get(i);
-			p.clearCache(fontId);
-		}
-	}
-
-	public IFocusSelectable getSelectedSegment() {
-		if (selectableSegments==null || selectedSegmentIndex == -1)
-			return null;
-		return selectableSegments[selectedSegmentIndex];
-	}
-	
-	public int getSelectedSegmentIndex() {
-		return selectedSegmentIndex;
-	}
-	
-	public boolean linkExists(IHyperlinkSegment link) {
-		if (selectableSegments==null)
-			return false;
-		for (int i=0; i<selectableSegments.length; i++) {
-			if (selectableSegments[i]==link)
-				return true;
-		}
-		return false;
-	}
-
-	public boolean traverseFocusSelectableObjects(boolean next) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		if (selectables == null)
-			return false;
-		int size = selectables.length;
-		if (next) {
-			selectedSegmentIndex++;
-		} else
-			selectedSegmentIndex--;
-
-		if (selectedSegmentIndex < 0 || selectedSegmentIndex > size - 1) {
-			selectedSegmentIndex = -1;
-		}
-		return selectedSegmentIndex != -1;
-	}
-	
-	public IFocusSelectable getNextFocusSegment(boolean next) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		if (selectables == null)
-			return null;
-		int nextIndex = next?selectedSegmentIndex+1:selectedSegmentIndex-1;
-
-		if (nextIndex < 0 || nextIndex > selectables.length - 1) {
-			return null;
-		}
-		return selectables[nextIndex];
-	}
-	
-	public boolean restoreSavedLink() {
-		if (savedSelectedLinkIndex!= -1) {
-			selectedSegmentIndex = savedSelectedLinkIndex;
-			return true;
-		}
-		return false;
-	}
-
-	public void selectLink(IHyperlinkSegment link) {
-		if (link == null) {
-			savedSelectedLinkIndex = selectedSegmentIndex;	
-			selectedSegmentIndex = -1;
-		}
-		else {
-			select(link);
-
-		}
-	}
-	
-	public void select(IFocusSelectable selectable) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		selectedSegmentIndex = -1;
-		if (selectables == null)
-			return;
-		for (int i = 0; i < selectables.length; i++) {
-			if (selectables[i].equals(selectable)) {
-				selectedSegmentIndex = i;
-				break;
-			}
-		}
-	}
-
-	public boolean hasFocusSegments() {
-		IFocusSelectable[] segments = getFocusSelectableSegments();
-		if (segments.length > 0)
-			return true;
-		return false;
-	}
-
-	public void dispose() {
-		paragraphs = null;
-		selectedSegmentIndex = -1;
-		savedSelectedLinkIndex = -1;
-		selectableSegments = null;
-	}
-
-	/**
-	 * @return Returns the whitespaceNormalized.
-	 */
-	public boolean isWhitespaceNormalized() {
-		return whitespaceNormalized;
-	}
-
-	/**
-	 * @param whitespaceNormalized
-	 *            The whitespaceNormalized to set.
-	 */
-	public void setWhitespaceNormalized(boolean whitespaceNormalized) {
-		this.whitespaceNormalized = whitespaceNormalized;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java
deleted file mode 100644
index cfbfe21..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java
+++ /dev/null
@@ -1,504 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Chriss Gross (schtoo@schtoo.com) - fix for 61670
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.text.BreakIterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Device;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.ColumnLayout;
-import org.eclipse.ui.forms.widgets.Form;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ILayoutExtension;
-
-public class FormUtil {
-	public static final String PLUGIN_ID = "org.eclipse.ui.forms"; //$NON-NLS-1$
-
-	static final int H_SCROLL_INCREMENT = 5;
-
-	static final int V_SCROLL_INCREMENT = 64;
-
-	public static final String DEBUG = PLUGIN_ID + "/debug"; //$NON-NLS-1$
-
-	public static final String DEBUG_TEXT = DEBUG + "/text"; //$NON-NLS-1$
-	public static final String DEBUG_TEXTSIZE = DEBUG + "/textsize"; //$NON-NLS-1$
-
-	public static final String DEBUG_FOCUS = DEBUG + "/focus"; //$NON-NLS-1$
-
-	public static final String FOCUS_SCROLLING = "focusScrolling"; //$NON-NLS-1$
-
-	public static Text createText(Composite parent, String label,
-			FormToolkit factory) {
-		return createText(parent, label, factory, 1);
-	}
-
-	public static Text createText(Composite parent, String label,
-			FormToolkit factory, int span) {
-		factory.createLabel(parent, label);
-		Text text = factory.createText(parent, ""); //$NON-NLS-1$
-		int hfill = span == 1 ? GridData.FILL_HORIZONTAL
-				: GridData.HORIZONTAL_ALIGN_FILL;
-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);
-		gd.horizontalSpan = span;
-		text.setLayoutData(gd);
-		return text;
-	}
-
-	public static Text createText(Composite parent, String label,
-			FormToolkit factory, int span, int style) {
-		Label l = factory.createLabel(parent, label);
-		if ((style & SWT.MULTI) != 0) {
-			GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-			l.setLayoutData(gd);
-		}
-		Text text = factory.createText(parent, "", style); //$NON-NLS-1$
-		int hfill = span == 1 ? GridData.FILL_HORIZONTAL
-				: GridData.HORIZONTAL_ALIGN_FILL;
-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);
-		gd.horizontalSpan = span;
-		text.setLayoutData(gd);
-		return text;
-	}
-
-	public static Text createText(Composite parent, FormToolkit factory,
-			int span) {
-		Text text = factory.createText(parent, ""); //$NON-NLS-1$
-		int hfill = span == 1 ? GridData.FILL_HORIZONTAL
-				: GridData.HORIZONTAL_ALIGN_FILL;
-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);
-		gd.horizontalSpan = span;
-		text.setLayoutData(gd);
-		return text;
-	}
-
-	public static int computeMinimumWidth(GC gc, String text) {
-		BreakIterator wb = BreakIterator.getWordInstance();
-		wb.setText(text);
-		int last = 0;
-
-		int width = 0;
-
-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
-			String word = text.substring(last, loc);
-			Point extent = gc.textExtent(word);
-			width = Math.max(width, extent.x);
-			last = loc;
-		}
-		String lastWord = text.substring(last);
-		Point extent = gc.textExtent(lastWord);
-		width = Math.max(width, extent.x);
-		return width;
-	}
-
-	public static Point computeWrapSize(GC gc, String text, int wHint) {
-		BreakIterator wb = BreakIterator.getWordInstance();
-		wb.setText(text);
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-
-		int saved = 0;
-		int last = 0;
-		int height = lineHeight;
-		int maxWidth = 0;
-
-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
-			String word = text.substring(saved, loc);
-			Point extent = gc.textExtent(word);
-			if (extent.x > wHint) {
-				// overflow
-				saved = last;
-				height += extent.y;
-			} else {
-				maxWidth = Math.max(maxWidth, extent.x);
-			}
-			last = loc;
-		}
-		return new Point(maxWidth, height);
-	}
-
-	public static void paintWrapText(GC gc, String text, Rectangle bounds) {
-		paintWrapText(gc, text, bounds, false);
-	}
-
-	public static void paintWrapText(GC gc, String text, Rectangle bounds,
-			boolean underline) {
-		BreakIterator wb = BreakIterator.getWordInstance();
-		wb.setText(text);
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		int descent = fm.getDescent();
-
-		int saved = 0;
-		int last = 0;
-		int y = bounds.y;
-		int width = bounds.width;
-
-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
-			String line = text.substring(saved, loc);
-			Point extent = gc.textExtent(line);
-
-			if (extent.x > width) {
-				// overflow
-				String prevLine = text.substring(saved, last);
-				gc.drawText(prevLine, bounds.x, y, true);
-				if (underline) {
-					Point prevExtent = gc.textExtent(prevLine);
-					int lineY = y + lineHeight - descent + 1;
-					gc
-							.drawLine(bounds.x, lineY, bounds.x + prevExtent.x,
-									lineY);
-				}
-
-				saved = last;
-				y += lineHeight;
-			}
-			last = loc;
-		}
-		// paint the last line
-		String lastLine = text.substring(saved, last);
-		gc.drawText(lastLine, bounds.x, y, true);
-		if (underline) {
-			int lineY = y + lineHeight - descent + 1;
-			Point lastExtent = gc.textExtent(lastLine);
-			gc.drawLine(bounds.x, lineY, bounds.x + lastExtent.x, lineY);
-		}
-	}
-
-	public static ScrolledComposite getScrolledComposite(Control c) {
-		Composite parent = c.getParent();
-
-		while (parent != null) {
-			if (parent instanceof ScrolledComposite) {
-				return (ScrolledComposite) parent;
-			}
-			parent = parent.getParent();
-		}
-		return null;
-	}
-
-	public static void ensureVisible(Control c) {
-		ScrolledComposite scomp = getScrolledComposite(c);
-		if (scomp != null) {
-			Object data = scomp.getData(FOCUS_SCROLLING);
-			if (data == null || !data.equals(Boolean.FALSE))
-				FormUtil.ensureVisible(scomp, c);
-		}
-	}
-
-	public static void ensureVisible(ScrolledComposite scomp, Control control) {
-		Point controlSize = control.getSize();
-		Point controlOrigin = getControlLocation(scomp, control);
-		ensureVisible(scomp, controlOrigin, controlSize);
-	}
-
-	public static void ensureVisible(ScrolledComposite scomp,
-			Point controlOrigin, Point controlSize) {
-		Rectangle area = scomp.getClientArea();
-		Point scompOrigin = scomp.getOrigin();
-
-		int x = scompOrigin.x;
-		int y = scompOrigin.y;
-
-		// horizontal right, but only if the control is smaller
-		// than the client area
-		if (controlSize.x < area.width
-				&& (controlOrigin.x + controlSize.x > scompOrigin.x
-						+ area.width)) {
-			x = controlOrigin.x + controlSize.x - area.width;
-		}
-		// horizontal left - make sure the left edge of
-		// the control is showing
-		if (controlOrigin.x < x) {
-			if (controlSize.x < area.width)
-				x = controlOrigin.x + controlSize.x - area.width;
-			else
-				x = controlOrigin.x;
-		}
-		// vertical bottom
-		if (controlSize.y < area.height
-				&& (controlOrigin.y + controlSize.y > scompOrigin.y
-						+ area.height)) {
-			y = controlOrigin.y + controlSize.y - area.height;
-		}
-		// vertical top - make sure the top of
-		// the control is showing
-		if (controlOrigin.y < y) {
-			if (controlSize.y < area.height)
-				y = controlOrigin.y + controlSize.y - area.height;
-			else
-				y = controlOrigin.y;
-		}
-
-		if (scompOrigin.x != x || scompOrigin.y != y) {
-			// scroll to reveal
-			scomp.setOrigin(x, y);
-		}
-	}
-
-	public static void ensureVisible(ScrolledComposite scomp, Control control,
-			MouseEvent e) {
-		Point controlOrigin = getControlLocation(scomp, control);
-		int rX = controlOrigin.x + e.x;
-		int rY = controlOrigin.y + e.y;
-		Rectangle area = scomp.getClientArea();
-		Point scompOrigin = scomp.getOrigin();
-
-		int x = scompOrigin.x;
-		int y = scompOrigin.y;
-		// System.out.println("Ensure: area="+area+", origin="+scompOrigin+",
-		// cloc="+controlOrigin+", csize="+controlSize+", x="+x+", y="+y);
-
-		// horizontal right
-		if (rX > scompOrigin.x + area.width) {
-			x = rX - area.width;
-		}
-		// horizontal left
-		else if (rX < x) {
-			x = rX;
-		}
-		// vertical bottom
-		if (rY > scompOrigin.y + area.height) {
-			y = rY - area.height;
-		}
-		// vertical top
-		else if (rY < y) {
-			y = rY;
-		}
-
-		if (scompOrigin.x != x || scompOrigin.y != y) {
-			// scroll to reveal
-			scomp.setOrigin(x, y);
-		}
-	}
-
-	public static Point getControlLocation(ScrolledComposite scomp,
-			Control control) {
-		int x = 0;
-		int y = 0;
-		Control content = scomp.getContent();
-		Control currentControl = control;
-		for (;;) {
-			if (currentControl == content)
-				break;
-			Point location = currentControl.getLocation();
-			// if (location.x > 0)
-			// x += location.x;
-			// if (location.y > 0)
-			// y += location.y;
-			x += location.x;
-			y += location.y;
-			currentControl = currentControl.getParent();
-		}
-		return new Point(x, y);
-	}
-
-	static void scrollVertical(ScrolledComposite scomp, boolean up) {
-		scroll(scomp, 0, up ? -V_SCROLL_INCREMENT : V_SCROLL_INCREMENT);
-	}
-
-	static void scrollHorizontal(ScrolledComposite scomp, boolean left) {
-		scroll(scomp, left ? -H_SCROLL_INCREMENT : H_SCROLL_INCREMENT, 0);
-	}
-
-	static void scrollPage(ScrolledComposite scomp, boolean up) {
-		Rectangle clientArea = scomp.getClientArea();
-		int increment = up ? -clientArea.height : clientArea.height;
-		scroll(scomp, 0, increment);
-	}
-
-	static void scroll(ScrolledComposite scomp, int xoffset, int yoffset) {
-		Point origin = scomp.getOrigin();
-		Point contentSize = scomp.getContent().getSize();
-		int xorigin = origin.x + xoffset;
-		int yorigin = origin.y + yoffset;
-		xorigin = Math.max(xorigin, 0);
-		xorigin = Math.min(xorigin, contentSize.x - 1);
-		yorigin = Math.max(yorigin, 0);
-		yorigin = Math.min(yorigin, contentSize.y - 1);
-		scomp.setOrigin(xorigin, yorigin);
-	}
-
-	public static void updatePageIncrement(ScrolledComposite scomp) {
-		ScrollBar vbar = scomp.getVerticalBar();
-		if (vbar != null) {
-			Rectangle clientArea = scomp.getClientArea();
-			int increment = clientArea.height - 5;
-			vbar.setPageIncrement(increment);
-		}
-	}
-
-	public static void processKey(int keyCode, Control c) {
-		ScrolledComposite scomp = FormUtil.getScrolledComposite(c);
-		if (scomp != null) {
-			if (c instanceof Combo)
-				return;
-			switch (keyCode) {
-			case SWT.ARROW_DOWN:
-				if (scomp.getData("novarrows") == null) //$NON-NLS-1$
-					FormUtil.scrollVertical(scomp, false);
-				break;
-			case SWT.ARROW_UP:
-				if (scomp.getData("novarrows") == null) //$NON-NLS-1$
-					FormUtil.scrollVertical(scomp, true);
-				break;
-			case SWT.ARROW_LEFT:
-				FormUtil.scrollHorizontal(scomp, true);
-				break;
-			case SWT.ARROW_RIGHT:
-				FormUtil.scrollHorizontal(scomp, false);
-				break;
-			case SWT.PAGE_UP:
-				FormUtil.scrollPage(scomp, true);
-				break;
-			case SWT.PAGE_DOWN:
-				FormUtil.scrollPage(scomp, false);
-				break;
-			}
-		}
-	}
-
-	static boolean isWrapControl(Control c) {
-		if ((c.getStyle() & SWT.WRAP) != 0)
-			return true;
-		if (c instanceof Composite) {
-			return ((Composite) c).getLayout() instanceof ILayoutExtension;
-		}
-		return false;
-	}
-
-	public static int getWidthHint(int wHint, Control c) {
-		boolean wrap = isWrapControl(c);
-		return wrap ? wHint : SWT.DEFAULT;
-	}
-
-	public static int getHeightHint(int hHint, Control c) {
-		if (c instanceof Composite) {
-			Layout layout = ((Composite) c).getLayout();
-			if (layout instanceof ColumnLayout)
-				return hHint;
-		}
-		return SWT.DEFAULT;
-	}
-
-	public static int computeMinimumWidth(Control c, boolean changed) {
-		if (c instanceof Composite) {
-			Layout layout = ((Composite) c).getLayout();
-			if (layout instanceof ILayoutExtension)
-				return ((ILayoutExtension) layout).computeMinimumWidth(
-						(Composite) c, changed);
-		}
-		return c.computeSize(FormUtil.getWidthHint(5, c), SWT.DEFAULT, changed).x;
-	}
-
-	public static int computeMaximumWidth(Control c, boolean changed) {
-		if (c instanceof Composite) {
-			Layout layout = ((Composite) c).getLayout();
-			if (layout instanceof ILayoutExtension)
-				return ((ILayoutExtension) layout).computeMaximumWidth(
-						(Composite) c, changed);
-		}
-		return c.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed).x;
-	}
-
-	public static Form getForm(Control c) {
-		Composite parent = c.getParent();
-		while (parent != null) {
-			if (parent instanceof Form) {
-				return (Form) parent;
-			}
-			parent = parent.getParent();
-		}
-		return null;
-	}
-
-	public static Image createAlphaMashImage(Device device, Image srcImage) {
-		Rectangle bounds = srcImage.getBounds();
-		int alpha = 0;
-		int calpha = 0;
-		ImageData data = srcImage.getImageData();
-		// Create a new image with alpha values alternating
-		// between fully transparent (0) and fully opaque (255).
-		// This image will show the background through the
-		// transparent pixels.
-		for (int i = 0; i < bounds.height; i++) {
-			// scan line
-			alpha = calpha;
-			for (int j = 0; j < bounds.width; j++) {
-				// column
-				data.setAlpha(j, i, alpha);
-				alpha = alpha == 255 ? 0 : 255;
-			}
-			calpha = calpha == 255 ? 0 : 255;
-		}
-		return new Image(device, data);
-	}
-
-	public static Font createBoldFont(Display display, Font regularFont) {
-		FontData[] fontDatas = regularFont.getFontData();
-		for (int i = 0; i < fontDatas.length; i++) {
-			fontDatas[i].setStyle(fontDatas[i].getStyle() | SWT.BOLD);
-		}
-		return new Font(display, fontDatas);
-	}
-
-	public static boolean mnemonicMatch(String text, char key) {
-		char mnemonic = findMnemonic(text);
-		if (mnemonic == '\0')
-			return false;
-		return Character.toUpperCase(key) == Character.toUpperCase(mnemonic);
-	}
-
-	private static char findMnemonic(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';
-	}
-	
-	public static void setFocusScrollingEnabled(Control c, boolean enabled) {
-		ScrolledComposite scomp = null;
-		
-		if (c instanceof ScrolledComposite)
-			scomp = (ScrolledComposite)c;
-		else
-			scomp = getScrolledComposite(c);
-		if (scomp!=null)
-			scomp.setData(FormUtil.FOCUS_SCROLLING, enabled?null:Boolean.FALSE);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java
deleted file mode 100644
index 5b741ee..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java
+++ /dev/null
@@ -1,67 +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 Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Utility methods to access shared form-specific resources.
- * <p>
- * All methods declared on this class are static. This
- * class cannot be instantiated.
- * </p>
- * <p>
- * </p>
- */
-public class FormsResources {
-	private static Cursor busyCursor;
-	private static Cursor handCursor;
-	private static Cursor textCursor;
-	
-	public static Cursor getBusyCursor() {
-		if (busyCursor==null)
-			busyCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_WAIT);
-		return busyCursor;
-	}
-	public static Cursor getHandCursor() {
-		if (handCursor==null)
-			handCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);
-		return handCursor;
-	}
-	public static Cursor getTextCursor() {
-		if (textCursor==null)
-			textCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_IBEAM);
-		return textCursor;
-	}
-	
-	public static int getProgressDelay(int index) {
-		/*
-		if (progressDelays==null)
-			return 0;
-		return progressDelays[index];
-		*/
-		return 100;
-	}
-	
-	public static void shutdown() {
-		if (busyCursor!=null)
-			busyCursor.dispose();
-		if (handCursor!=null)
-			handCursor.dispose();
-		if (textCursor!=null)
-			textCursor.dispose();
-		busyCursor=null;
-		handCursor=null;
-		textCursor=null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IFocusSelectable.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IFocusSelectable.java
deleted file mode 100644
index e4b9a76..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IFocusSelectable.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.Rectangle;
-
-public interface IFocusSelectable {
-	boolean isFocusSelectable(Hashtable resourceTable);
-	boolean setFocus(Hashtable resourceTable, boolean direction);
-	Rectangle getBounds();
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IHyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IHyperlinkSegment.java
deleted file mode 100644
index 57d11a9..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IHyperlinkSegment.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Chriss Gross (schtoo@schtoo.com) - fix for 61670
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.graphics.GC;
-
-public interface IHyperlinkSegment extends IFocusSelectable {
-	String getHref();
-	String getText();
-	void paintFocus(GC gc, Color bg, Color fg, boolean selected, Rectangle repaintRegion);
-	boolean contains(int x, int y);
-	boolean intersects(Rectangle rect);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageHyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageHyperlinkSegment.java
deleted file mode 100644
index b4afb01..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageHyperlinkSegment.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.*;
-
-public class ImageHyperlinkSegment extends ImageSegment implements
-		IHyperlinkSegment {
-	private String href;
-	private String text;
-
-	private String tooltipText;
-
-	public ImageHyperlinkSegment() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#setHref(java.lang.String)
-	 */
-	public void setHref(String href) {
-		this.href = href;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#getHref()
-	 */
-	public String getHref() {
-		return href;
-	}
-
-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected,
-			Rectangle repaintRegion) {
-		Rectangle bounds = getBounds();
-		if (bounds == null)
-			return;
-		if (selected) {
-			gc.setBackground(bg);
-			gc.setForeground(fg);
-			gc.drawFocus(bounds.x, bounds.y, bounds.width, bounds.height);
-		} else {
-			gc.setForeground(bg);
-			gc.drawRectangle(bounds.x, bounds.y, bounds.width - 1,
-					bounds.height - 1);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#isWordWrapAllowed()
-	 */
-	public boolean isWordWrapAllowed() {
-		return !isNowrap();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#setWordWrapAllowed(boolean)
-	 */
-	public void setWordWrapAllowed(boolean value) {
-		setNowrap(!value);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#getText()
-	 */
-	public String getText() {
-		return text!=null?text:""; //$NON-NLS-1$
-	}
-	
-	public void setText(String text) {
-		this.text = text;
-	}
-
-	/**
-	 * @return Returns the tooltipText.
-	 */
-	public String getTooltipText() {
-		return tooltipText;
-	}
-
-	/**
-	 * @param tooltipText
-	 *            The tooltipText to set.
-	 */
-	public void setTooltipText(String tooltipText) {
-		this.tooltipText = tooltipText;
-	}
-	
-	public boolean isSelectable() {
-		return true;
-	}
-
-	public boolean isFocusSelectable(Hashtable resourceTable) {
-		return true;
-	}
-
-	public boolean setFocus(Hashtable resourceTable, boolean direction) {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java
deleted file mode 100644
index a8e8613..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * @version 1.0
- * @author
- */
-public class ImageSegment extends ObjectSegment {
-	public static final String SEL_IMAGE_PREFIX = "isel."; //$NON-NLS-1$
-
-	public Image getImage(Hashtable objectTable) {
-		return getImage(getObjectId(), objectTable);
-	}
-
-	private Image getImage(String key, Hashtable objectTable) {
-		if (key == null)
-			return null;
-		Object obj = objectTable.get(key);
-		if (obj == null)
-			return null;
-		if (obj instanceof Image)
-			return (Image) obj;
-		return null;
-	}
-
-	private Image getSelectedImage(Hashtable objectTable, SelectionData selData) {
-		String key = SEL_IMAGE_PREFIX + getObjectId();
-		Image image = getImage(key, objectTable);
-		if (image==null) {
-			image = FormUtil.createAlphaMashImage(selData.display, getImage(objectTable));
-			if (image!=null)
-				objectTable.put(key, image);
-		}
-		return image;
-	}
-/*
-	private String getSelectedImageId() {
-		if (getObjectId() == null)
-			return null;
-		return SEL_IMAGE_PREFIX + getObjectId();
-	}
-*/
-	
-	public void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		Image image = getImage(resourceTable);
-		int iwidth = 0;
-		int iheight = 0;
-		if (image != null) {
-			Rectangle rect = image.getBounds();
-			iwidth = rect.width + (isSelectable()?2:0);
-			iheight = rect.height + (isSelectable()?2:0);
-		} else
-			return;
-		Rectangle bounds = getBounds();
-		int ix = bounds.x+(isSelectable()?1:0);
-		int iy = bounds.y+(isSelectable()?1:0);
-
-		if (selData != null) {
-			int leftOffset = selData.getLeftOffset(bounds.height);
-			int rightOffset = selData.getRightOffset(bounds.height);
-			boolean firstRow = selData.isFirstSelectionRow(bounds.y,
-					bounds.height);
-			boolean lastRow = selData.isLastSelectionRow(bounds.y,
-					bounds.height);
-			boolean selectedRow = selData
-					.isSelectedRow(bounds.y, bounds.height);
-			if (selectedRow) {
-				if ((firstRow && leftOffset > ix) ||
-					(lastRow && rightOffset < ix + iwidth/2)) {
-					drawClipImage(gc, image, ix, iy, repaintRegion);
-				}
-				else {
-					Color savedBg = gc.getBackground();
-					gc.setBackground(selData.bg);
-					int sx = ix;
-					int sy = iy;
-					if (repaintRegion!=null) {
-						sx -= repaintRegion.x;
-						sy -= repaintRegion.y;
-					}
-					gc.fillRectangle(sx, sy, iwidth, iheight);
-					Image selImage = getSelectedImage(resourceTable, selData);
-					gc.drawImage(selImage, sx, sy);
-					gc.setBackground(savedBg);
-				}
-			}
-			else
-				drawClipImage(gc, image, ix, iy, repaintRegion);
-		} else
-			drawClipImage(gc, image, ix, iy, repaintRegion);
-		if (selected) {
-			int fx = bounds.x;
-			int fy = bounds.y;
-			if (repaintRegion!=null) {
-				fx -= repaintRegion.x;
-				fy -= repaintRegion.y;
-			}
-			Color fg = gc.getForeground();
-			gc.setForeground(gc.getBackground());
-			// Clean up to avoid canceling out XOR if it is already
-			// selected.
-			gc.drawRectangle(bounds.x, bounds.y, bounds.width - 1,
-					bounds.height - 1);
-			gc.setForeground(fg);
-			gc.drawFocus(fx, fy, bounds.width, bounds.height);
-		}
-	}
-	private void drawClipImage(GC gc, Image image, int ix, int iy, Rectangle repaintRegion) {
-		if (repaintRegion!=null) {
-			ix -= repaintRegion.x;
-			iy -= repaintRegion.y;
-		}
-		gc.drawImage(image, ix, iy);			
-	}
-
-	protected Point getObjectSize(Hashtable resourceTable, int wHint) {
-		Image image = getImage(resourceTable);
-		if (image==null)
-			return new Point(0, 0);
-		Rectangle ibounds = image.getBounds();
-		return new Point(ibounds.width, ibounds.height);
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java
deleted file mode 100644
index 272ed06..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.ArrayList;
-
-public class Locator implements Cloneable { 
-	public int indent;
-	public int x, y;
-	public int width;
-	public int leading;
-	public int rowHeight;
-	public int marginWidth;
-	public int marginHeight;
-	public int rowCounter;
-	public ArrayList heights;
-	
-	public void newLine() {
-		resetCaret();
-		y += rowHeight;
-		rowHeight = 0;
-	}
-
-	public Locator create() {
-		try {
-			return (Locator)clone();
-		}
-		catch (CloneNotSupportedException e) {
-			return null;
-		}
-	}
-	public void collectHeights() {
-		heights.add(new int [] { rowHeight, leading} );
-		rowCounter++;
-	}
-	public int getBaseline(int segmentHeight) {
-		return getBaseline(segmentHeight, true);
-
-	}
-	public int getBaseline(int segmentHeight, boolean text) {
-		if (heights!=null && heights.size()>rowCounter) {
-			int [] rdata = (int[])heights.get(rowCounter);
-			int rheight = rdata[0];
-			int rleading = rdata[1];
-			if (text)
-				return y + rheight - segmentHeight - rleading;
-			return y + rheight - segmentHeight;
-		}
-		return y;
-	}
-	
-	public void resetCaret() {
-		x = getStartX();
-	}
-	public int getStartX() {
-		return marginWidth + indent;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ObjectSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ObjectSegment.java
deleted file mode 100644
index 677d887..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ObjectSegment.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-
-
-public abstract class ObjectSegment extends ParagraphSegment {
-	public static final int TOP = 1;
-
-	public static final int MIDDLE = 2;
-
-	public static final int BOTTOM = 3;
-
-	private int alignment = BOTTOM;
-	private boolean nowrap=false;
-	private Rectangle bounds;
-	private String objectId;
-
-	public int getVerticalAlignment() {
-		return alignment;
-	}
-
-	void setVerticalAlignment(int alignment) {
-		this.alignment = alignment;
-	}
-
-	public String getObjectId() {
-		return objectId;
-	}
-
-	void setObjectId(String objectId) {
-		this.objectId = objectId;
-	}
-	
-	protected abstract Point getObjectSize(Hashtable resourceTable, int wHint);
-
-	public boolean advanceLocator(GC gc, int wHint, Locator loc,
-			Hashtable objectTable, boolean computeHeightOnly) {
-		Point objectSize = getObjectSize(objectTable, wHint);
-		int iwidth = 0;
-		int iheight = 0;
-		boolean newLine = false;
-
-		if (objectSize != null) {
-			iwidth = objectSize.x + (isSelectable()?2:0);
-			iheight = objectSize.y + (isSelectable()?2:0);
-		}
-		if (wHint != SWT.DEFAULT && !nowrap && loc.x + iwidth > wHint) {
-			// new line
-			if (computeHeightOnly)
-				loc.collectHeights();
-			loc.x = loc.indent;
-			loc.x += iwidth;
-			loc.y += loc.rowHeight;
-			loc.width = loc.indent + iwidth;
-			loc.rowHeight = iheight;
-			loc.leading = 0;
-			newLine = true;
-		} else {
-			loc.x += iwidth;
-			loc.width += iwidth;
-			loc.rowHeight = Math.max(loc.rowHeight, iheight);
-		}
-		return newLine;
-	}
-
-	public boolean contains(int x, int y) {
-		if (bounds==null) 
-			return false;
-		return bounds.contains(x, y);
-	}
-	public boolean intersects(Rectangle rect) {
-		if (bounds==null)
-			return false;
-		return bounds.intersects(rect);
-	}
-
-	public Rectangle getBounds() {
-		return bounds;
-	}
-
-	public boolean isSelectable() {
-		return false;
-	}
-	/**
-	 * @return Returns the nowrap.
-	 */
-	public boolean isNowrap() {
-		return nowrap;
-	}
-	/**
-	 * @param nowrap The nowrap to set.
-	 */
-	public void setNowrap(boolean nowrap) {
-		this.nowrap = nowrap;
-	}
-	public void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle repaintRegion) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#layout(org.eclipse.swt.graphics.GC, int, org.eclipse.ui.internal.forms.widgets.Locator, java.util.Hashtable, boolean, org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void layout(GC gc, int width, Locator loc, Hashtable resourceTable,
-			boolean selected) {
-		Point size = getObjectSize(resourceTable, width);
-
-		int objWidth = 0;
-		int objHeight = 0;
-		if (size != null) {
-			objWidth = size.x + (isSelectable()?2:0);
-			objHeight = size.y + (isSelectable()?2:0);
-		} else
-			return;
-		loc.width = objWidth;
-
-		if (!nowrap && loc.x + objWidth > width) {
-			// new row
-			loc.newLine();
-			loc.rowCounter++;
-		}
-		//TODO vertical alignment is not used
-		int ix = loc.x;
-		int iy = loc.getBaseline(objHeight, false);
-		loc.x += objWidth;
-		loc.rowHeight = Math.max(loc.rowHeight, objHeight);
-		bounds = new Rectangle(ix, iy, objWidth, objHeight);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#computeSelection(org.eclipse.swt.graphics.GC, java.util.Hashtable, boolean, org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData) {
-		// TODO we should add this to the selection 
-		// if we want to support rich text
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java
deleted file mode 100644
index 65a6610..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.ui.forms.HyperlinkSettings;
-
-/**
- * @version 1.0
- * @author
- */
-public class Paragraph {
-	public static final String HTTP = "http://"; //$NON-NLS-1$
-
-	private Vector segments;
-
-	private boolean addVerticalSpace = true;
-
-	public Paragraph(boolean addVerticalSpace) {
-		this.addVerticalSpace = addVerticalSpace;
-	}
-
-	public int getIndent() {
-		return 0;
-	}
-
-	public boolean getAddVerticalSpace() {
-		return addVerticalSpace;
-	}
-
-	/*
-	 * @see IParagraph#getSegments()
-	 */
-	public ParagraphSegment[] getSegments() {
-		if (segments == null)
-			return new ParagraphSegment[0];
-		return (ParagraphSegment[]) segments
-				.toArray(new ParagraphSegment[segments.size()]);
-	}
-
-	public void addSegment(ParagraphSegment segment) {
-		if (segments == null)
-			segments = new Vector();
-		segments.add(segment);
-	}
-
-	public void parseRegularText(String text, boolean expandURLs,
-			HyperlinkSettings settings, String fontId) {
-		parseRegularText(text, expandURLs, settings, fontId, null);
-	}
-
-	public void parseRegularText(String text, boolean expandURLs,
-			HyperlinkSettings settings, String fontId, String colorId) {
-		if (text.length() == 0)
-			return;
-		if (expandURLs) {
-			int loc = text.indexOf(HTTP);
-
-			if (loc == -1)
-				addSegment(new TextSegment(text, fontId, colorId));
-			else {
-				int textLoc = 0;
-				while (loc != -1) {
-					addSegment(new TextSegment(text.substring(textLoc, loc),
-							fontId, colorId));
-					boolean added = false;
-					for (textLoc = loc; textLoc < text.length(); textLoc++) {
-						char c = text.charAt(textLoc);
-						if (Character.isSpaceChar(c)) {
-							addHyperlinkSegment(text.substring(loc, textLoc),
-									settings, fontId);
-							added = true;
-							break;
-						}
-					}
-					if (!added) {
-						// there was no space - just end of text
-						addHyperlinkSegment(text.substring(loc), settings,
-								fontId);
-						break;
-					}
-					loc = text.indexOf(HTTP, textLoc);
-				}
-				if (textLoc < text.length()) {
-					addSegment(new TextSegment(text.substring(textLoc), fontId,
-							colorId));
-				}
-			}
-		} else {
-			addSegment(new TextSegment(text, fontId, colorId));
-		}
-	}
-
-	private void addHyperlinkSegment(String text, HyperlinkSettings settings,
-			String fontId) {
-		TextHyperlinkSegment hs = new TextHyperlinkSegment(text, settings,
-				fontId);
-		hs.setWordWrapAllowed(false);
-		hs.setHref(text);
-		addSegment(hs);
-	}
-
-	protected void computeRowHeights(GC gc, int width, Locator loc,
-			int lineHeight, Hashtable resourceTable) {
-		ParagraphSegment[] segments = getSegments();
-		// compute heights
-		Locator hloc = loc.create();
-		ArrayList heights = new ArrayList();
-		hloc.heights = heights;
-		hloc.rowCounter = 0;
-		int innerWidth = width - loc.marginWidth*2;
-		for (int j = 0; j < segments.length; j++) {
-			ParagraphSegment segment = segments[j];
-			segment.advanceLocator(gc, innerWidth, hloc, resourceTable, true);
-		}
-		hloc.collectHeights();
-		loc.heights = heights;
-		loc.rowCounter = 0;
-	}
-
-	public void layout(GC gc, int width, Locator loc, int lineHeight,
-			Hashtable resourceTable, IHyperlinkSegment selectedLink) {
-		ParagraphSegment[] segments = getSegments();
-		//int height;
-		if (segments.length > 0) {
-			/*
-			if (segments[0] instanceof TextSegment
-					&& ((TextSegment) segments[0]).isSelectable())
-				loc.x += 1;
-			*/
-			// compute heights
-			if (loc.heights == null)
-				computeRowHeights(gc, width, loc, lineHeight, resourceTable);
-			for (int j = 0; j < segments.length; j++) {
-				ParagraphSegment segment = segments[j];
-				boolean doSelect = false;
-				if (selectedLink != null && segment.equals(selectedLink))
-					doSelect = true;
-				segment.layout(gc, width, loc, resourceTable, doSelect);
-			}
-			loc.heights = null;
-			loc.y += loc.rowHeight;
-		} else {
-			loc.y += lineHeight;
-		}
-	}
-
-	public void paint(GC gc, Rectangle repaintRegion,
-			Hashtable resourceTable, IHyperlinkSegment selectedLink,
-			SelectionData selData) {
-		ParagraphSegment[] segments = getSegments();
-
-		for (int i = 0; i < segments.length; i++) {
-			ParagraphSegment segment = segments[i];
-			if (!segment.intersects(repaintRegion))
-				continue;
-			boolean doSelect = false;
-			if (selectedLink != null && segment.equals(selectedLink))
-				doSelect = true;
-			segment.paint(gc, false, resourceTable, doSelect, selData, repaintRegion);
-		}
-	}
-	
-	public void computeSelection(GC gc,	Hashtable resourceTable, IHyperlinkSegment selectedLink,
-			SelectionData selData) {
-		ParagraphSegment[] segments = getSegments();
-
-		for (int i = 0; i < segments.length; i++) {
-			ParagraphSegment segment = segments[i];
-			//boolean doSelect = false;
-			//if (selectedLink != null && segment.equals(selectedLink))
-				//doSelect = true;
-			segment.computeSelection(gc, resourceTable, selData);
-		}
-	}
-
-	public String getAccessibleText() {
-		ParagraphSegment[] segments = getSegments();
-		StringWriter swriter = new StringWriter();
-		PrintWriter writer = new PrintWriter(swriter);
-		for (int i = 0; i < segments.length; i++) {
-			ParagraphSegment segment = segments[i];
-			if (segment instanceof TextSegment) {
-				String text = ((TextSegment) segment).getText();
-				writer.print(text);
-			}
-		}
-		writer.println();
-		swriter.flush();
-		return swriter.toString();
-	}
-
-	public ParagraphSegment findSegmentAt(int x, int y) {
-		if (segments != null) {
-			for (int i = 0; i < segments.size(); i++) {
-				ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-				if (segment.contains(x, y))
-					return segment;
-			}
-		}
-		return null;
-	}
-	public void clearCache(String fontId) {
-		if (segments != null) {
-			for (int i = 0; i < segments.size(); i++) {
-				ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-				segment.clearCache(fontId);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java
deleted file mode 100644
index 64deeee..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.graphics.GC;
-
-/**
- * @version 	1.0
- * @author
- */
-public abstract class ParagraphSegment {
-	/**
-	 * Moves the locator according to the content of this segment.
-	 * @param gc
-	 * @param wHint
-	 * @param loc
-	 * @param objectTable
-	 * @param computeHeightOnly
-	 * @return
-	 */
-	public abstract boolean advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable, boolean computeHeightOnly);
-	/**
-	 * Computes bounding rectangles and row heights of this segments.
-	 * @param gc
-	 * @param width
-	 * @param loc
-	 * @param resourceTable
-	 * @param selected
-	 */
-	public abstract void layout(GC gc, int width, Locator loc, Hashtable resourceTable, boolean selected);
-	/**
-	 * Paints this segment.
-	 * @param gc
-	 * @param hover
-	 * @param resourceTable
-	 * @param selected
-	 * @param selData
-	 * @param region
-	 */
-	public abstract void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle region);
-	/**
-	 * Paints this segment.
-	 * @param gc
-	 * @param resourceTable
-	 * @param selected
-	 * @param selData
-	 */
-	public abstract void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData);	
-	/**
-	 * Tests if the coordinates are contained in one of the
-	 * bounding rectangles of this segment.
-	 * @param x
-	 * @param y
-	 * @return
-	 */
-	public abstract boolean contains(int x, int y);
-	/**
-	 * Tests if the source rectangle intersects with
-	 * one of the bounding rectangles of this segment.
-	 * @param rect
-	 * @return
-	 */
-	public abstract boolean intersects(Rectangle rect);
-	/**
-	 * Returns the tool tip of this segment or <code>null</code>
-	 * if not defined.
-	 * @return
-	 */
-	public String getTooltipText() {
-		return null;
-	}
-	/**
-	 * @param fontId TODO
-	 * 
-	 */
-	public void clearCache(String fontId) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/PixelConverter.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/PixelConverter.java
deleted file mode 100644
index 9e7fb3b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/PixelConverter.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 Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Control;
-
-public class PixelConverter {
-	/**
-	 * Number of horizontal dialog units per character, value <code>4</code>.
-	 */
-	private static final int HORIZONTAL_DIALOG_UNIT_PER_CHAR = 4;
-
-	private FontMetrics fFontMetrics;
-
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-		gc.setFont(control.getFont());
-		fFontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * @see DialogPage#convertHorizontalDLUsToPixels
-	 */
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		// round to the nearest pixel
-		return (fFontMetrics.getAverageCharWidth() * dlus + HORIZONTAL_DIALOG_UNIT_PER_CHAR / 2)
-				/ HORIZONTAL_DIALOG_UNIT_PER_CHAR;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SWTUtil.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SWTUtil.java
deleted file mode 100644
index f4ce572..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SWTUtil.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.forms.widgets;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Utility class to simplify access to some SWT resources. 
- */
-public class SWTUtil {
-
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated disaply. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-		return display;
-	}
-
-	/**
-	 * Returns the shell for the given widget. If the widget doesn't represent
-	 * a SWT object that manage a shell, <code>null</code> is returned.
-	 * 
-	 * @return the shell for the given widget
-	 */
-	public static Shell getShell(Widget widget) {
-		if (widget instanceof Control)
-			return ((Control) widget).getShell();
-		if (widget instanceof Caret)
-			return ((Caret) widget).getParent().getShell();
-		if (widget instanceof DragSource)
-			return ((DragSource) widget).getControl().getShell();
-		if (widget instanceof DropTarget)
-			return ((DropTarget) widget).getControl().getShell();
-		if (widget instanceof Menu)
-			return ((Menu) widget).getParent().getShell();
-		if (widget instanceof ScrollBar)
-			return ((ScrollBar) widget).getParent().getShell();
-
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SelectionData.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SelectionData.java
deleted file mode 100644
index c73a6bf..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SelectionData.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Display;
-
-public class SelectionData {
-	public Display display;
-	public Color bg;
-	public Color fg;
-	private Point start;
-	private Point stop;
-	private ArrayList segments;
-	private boolean newLineNeeded;
-	
-	public SelectionData(MouseEvent e) {
-		display = e.display;
-		segments = new ArrayList();
-		start = new Point(e.x, e.y);
-		stop = new Point(e.x, e.y);
-		bg = e.display.getSystemColor(SWT.COLOR_LIST_SELECTION);
-		fg = e.display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT);
-	}
-	
-	public void markNewLine() {
-		newLineNeeded=true;
-	}
-	public void addSegment(String text) {
-		if (newLineNeeded) {
-			segments.add(System.getProperty("line.separator")); //$NON-NLS-1$
-			newLineNeeded=false;
-		}
-		segments.add(text);
-	}
-
-	public void update(MouseEvent e) {
-		//Control c = (Control)e.widget;
-		stop.x = e.x;
-		stop.y = e.y;
-	}
-	public void reset() {
-		segments.clear();
-	}
-	public String getSelectionText() {
-		StringBuffer buf = new StringBuffer();
-		for (int i=0; i<segments.size(); i++) {
-			buf.append((String)segments.get(i));
-		}
-		return buf.toString();
-	}
-	public boolean canCopy() {
-		return segments.size()>0;
-	}
-	
-	private int getTopOffset() {
-		return start.y<stop.y?start.y:stop.y;
-	}
-	private int getBottomOffset() {
-		return start.y>stop.y?start.y:stop.y;
-	}
-	public int getLeftOffset(Locator locator) {
-		return isInverted(locator)? stop.x:start.x;
-	}
-	public int getLeftOffset(int rowHeight) {
-		return isInverted(rowHeight) ? stop.x:start.x;
-	}
-	public int getRightOffset(Locator locator) {
-		return isInverted(locator)? start.x: stop.x;
-	}
-	public int getRightOffset(int rowHeight) {
-		return isInverted(rowHeight) ? start.x:stop.x;
-	}
-	private boolean isInverted(Locator locator) {
-		int rowHeight = ((int [])locator.heights.get(locator.rowCounter))[0];
-		return isInverted(rowHeight);
-	}
-	private boolean isInverted(int rowHeight) {
-		int deltaY = start.y - stop.y;
-		if (Math.abs(deltaY) > rowHeight) {
-			// inter-row selection
-			return deltaY>0;
-		}
-		// intra-row selection
-		return start.x > stop.x; 
-	}
-	public boolean isEnclosed() {
-		return !start.equals(stop);
-	}
-
-	public boolean isSelectedRow(Locator locator) {
-		if (!isEnclosed())
-			return false;
-		int rowHeight = ((int [])locator.heights.get(locator.rowCounter))[0];
-		return isSelectedRow(locator.y, rowHeight);
-	}
-	public boolean isSelectedRow(int y, int rowHeight) {
-		if (!isEnclosed())
-			return false;
-		return (y + rowHeight >= getTopOffset() &&
-				y <= getBottomOffset());
-	}
-	public boolean isFirstSelectionRow(Locator locator) {
-		if (!isEnclosed())
-			return false;
-		int rowHeight = ((int [])locator.heights.get(locator.rowCounter))[0];
-		return (locator.y + rowHeight >= getTopOffset() &&
-				locator.y <= getTopOffset());
-	}
-	public boolean isFirstSelectionRow(int y, int rowHeight) {
-		if (!isEnclosed())
-			return false;
-		return (y + rowHeight >= getTopOffset() &&
-				y <= getTopOffset());
-	}
-	public boolean isLastSelectionRow(Locator locator) {
-		if (!isEnclosed())
-			return false;
-		int rowHeight = ((int [])locator.heights.get(locator.rowCounter))[0];
-		return (locator.y + rowHeight >=getBottomOffset() && 
-				locator.y <= getBottomOffset());
-	}
-	public boolean isLastSelectionRow(int y, int rowHeight) {
-		if (!isEnclosed())
-			return false;
-		return (y + rowHeight >=getBottomOffset() && 
-				y <= getBottomOffset());
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextHyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextHyperlinkSegment.java
deleted file mode 100644
index 78224d2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextHyperlinkSegment.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.ui.forms.HyperlinkSettings;
-
-/**
- * @version 1.0
- * @author
- */
-public class TextHyperlinkSegment extends TextSegment implements
-		IHyperlinkSegment {
-	private String href;
-
-	private String tooltipText;
-
-	//private static final String LINK_FG = "c.___link_fg";
-
-	private HyperlinkSettings settings;
-
-	public TextHyperlinkSegment(String text, HyperlinkSettings settings,
-			String fontId) {
-		super(text, fontId);
-		this.settings = settings;
-		underline = settings.getHyperlinkUnderlineMode() == HyperlinkSettings.UNDERLINE_ALWAYS;
-	}
-
-	/*
-	 * @see IObjectReference#getObjectId()
-	 */
-	public String getHref() {
-		return href;
-	}
-
-	public void setHref(String href) {
-		this.href = href;
-	}
-
-	/*
-	 * public void paint(GC gc, int width, Locator locator, Hashtable
-	 * resourceTable, boolean selected, SelectionData selData) {
-	 * resourceTable.put(LINK_FG, settings.getForeground());
-	 * setColorId(LINK_FG); super.paint(gc, width, locator, resourceTable,
-	 * selected, selData); }
-	 */
-
-	public void paint(GC gc, boolean hover, Hashtable resourceTable,
-			boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		boolean rolloverMode = settings.getHyperlinkUnderlineMode() == HyperlinkSettings.UNDERLINE_HOVER;
-		Color savedFg = gc.getForeground();
-		Color newFg = hover ? settings.getActiveForeground() : settings
-				.getForeground();
-		if (newFg!=null)
-			gc.setForeground(newFg); 
-		super.paint(gc, hover, resourceTable, selected, rolloverMode, selData,
-				repaintRegion);
-		gc.setForeground(savedFg);
-	}
-
-	public String getTooltipText() {
-		return tooltipText;
-	}
-
-	public void setTooltipText(String tooltip) {
-		this.tooltipText = tooltip;
-	}
-	
-	public boolean isSelectable() {
-		return true;
-	}
-
-	public boolean isFocusSelectable(Hashtable resourceTable) {
-		return true;
-	}
-
-	public boolean setFocus(Hashtable resourceTable, boolean direction) {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java
deleted file mode 100644
index a194905..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java
+++ /dev/null
@@ -1,711 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.text.BreakIterator;
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-
-/**
- * @version 1.0
- * @author
- */
-public class TextSegment extends ParagraphSegment {
-	private String colorId;
-
-	private String fontId;
-
-	private String text;
-
-	protected boolean underline;
-
-	private boolean wrapAllowed = true;
-
-	protected Vector areaRectangles = new Vector();
-
-	private TextFragment[] textFragments;
-
-	class AreaRectangle {
-		Rectangle rect;
-
-		int from, to;
-
-		public AreaRectangle(Rectangle rect, int from, int to) {
-			this.rect = rect;
-			this.from = from;
-			this.to = to;
-		}
-
-		public boolean contains(int x, int y) {
-			return rect.contains(x, y);
-		}
-
-		public boolean intersects(Rectangle region) {
-			return rect.intersects(region);
-		}
-
-		public String getText() {
-			if (from == 0 && to == -1)
-				return TextSegment.this.getText();
-			if (from > 0 && to == -1)
-				return TextSegment.this.getText().substring(from);
-			return TextSegment.this.getText().substring(from, to);
-		}
-	}
-
-	static class SelectionRange {
-		public int start;
-
-		public int stop;
-
-		public SelectionRange() {
-			reset();
-		}
-
-		public void reset() {
-			start = -1;
-			stop = -1;
-		}
-	}
-
-	static class TextFragment {
-		short index;
-
-		short length;
-
-		public TextFragment(short index, short length) {
-			this.index = index;
-			this.length = length;
-		}
-	}
-
-	public TextSegment(String text, String fontId) {
-		this(text, fontId, null);
-	}
-
-	public TextSegment(String text, String fontId, String colorId) {
-		this.text = cleanup(text);
-		this.fontId = fontId;
-		this.colorId = colorId;
-	}
-
-	private String cleanup(String text) {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < text.length(); i++) {
-			char c = text.charAt(i);
-			if (c == '\n' || c == '\r' || c == '\f') {
-				if (i > 0)
-					buf.append(' ');
-			} else
-				buf.append(c);
-		}
-		return buf.toString();
-	}
-
-	public void setWordWrapAllowed(boolean value) {
-		wrapAllowed = value;
-	}
-
-	public boolean isWordWrapAllowed() {
-		return wrapAllowed;
-	}
-
-	public boolean isSelectable() {
-		return false;
-	}
-
-	public String getColorId() {
-		return colorId;
-	}
-
-	public String getText() {
-		return text;
-	}
-
-	void setText(String text) {
-		this.text = cleanup(text);
-		textFragments = null;
-	}
-
-	void setColorId(String colorId) {
-		this.colorId = colorId;
-	}
-
-	void setFontId(String fontId) {
-		this.fontId = fontId;
-		textFragments = null;
-	}
-
-	public boolean contains(int x, int y) {
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle ar = (AreaRectangle) areaRectangles.get(i);
-			if (ar.contains(x, y))
-				return true;
-			if (i<areaRectangles.size()-1) {
-				// test the gap
-				Rectangle top = ar.rect;
-				Rectangle bot = ((AreaRectangle)areaRectangles.get(i+1)).rect;
-				if (y >= top.y+top.height && y < bot.y) {
-					// in the gap
-					int left = Math.max(top.x, bot.x);
-					int right = Math.min(top.x+top.width, bot.x+bot.width);
-					if (x>=left && x<=right) {
-						return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	public boolean intersects(Rectangle rect) {
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle ar = (AreaRectangle) areaRectangles.get(i);
-			if (ar.intersects(rect))
-				return true;
-			if (i<areaRectangles.size()-1) {
-				// test the gap
-				Rectangle top = ar.rect;
-				Rectangle bot = ((AreaRectangle)areaRectangles.get(i+1)).rect;
-				if (top.y+top.height < bot.y) {
-					int y = top.y+top.height;
-					int height = bot.y-y;
-					int left = Math.max(top.x, bot.x);
-					int right = Math.min(top.x+top.width, bot.x+bot.width);
-					Rectangle gap = new Rectangle(left, y, right-left, height);
-					if (gap.intersects(rect))
-						return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public Rectangle getBounds() {
-		int x = 0, y = 0;
-		int width = 0, height = 0;
-
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle ar = (AreaRectangle) areaRectangles.get(i);
-			if (i == 0) {
-				x = ar.rect.x;
-				y = ar.rect.y;
-			} else
-				x = Math.min(ar.rect.x, x);
-			width = Math.max(ar.rect.width, width);
-			height += ar.rect.height;
-		}
-		return new Rectangle(x, y, width, height);
-	}
-
-	public boolean advanceLocator(GC gc, int wHint, Locator locator,
-			Hashtable objectTable, boolean computeHeightOnly) {
-		Font oldFont = null;
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font) objectTable.get(fontId);
-			if (newFont != null)
-				gc.setFont(newFont);
-		}
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		boolean newLine = false;
-
-		if (wHint == SWT.DEFAULT || !wrapAllowed) {
-			Point extent = gc.textExtent(text);
-			int totalExtent = locator.x+extent.x;
-			if (isSelectable())
-				totalExtent+=1;
-
-			if (wHint != SWT.DEFAULT && totalExtent > wHint) {
-				// new line
-				locator.x = locator.indent;
-				locator.y += locator.rowHeight;
-				if (computeHeightOnly)
-					locator.collectHeights();
-				locator.rowHeight = 0;
-				locator.leading = 0;
-				newLine = true;
-			}
-			int width = extent.x;
-			if (isSelectable())
-				width += 1;
-			locator.x += width;
-			locator.width = locator.indent + width;
-			locator.rowHeight = Math.max(locator.rowHeight, extent.y);
-			locator.leading = Math.max(locator.leading, fm.getLeading());
-			return newLine;
-		}
-
-		computeTextFragments(gc);
-
-		int width = 0;
-		Point lineExtent = new Point(0, 0);
-
-		for (int i = 0; i < textFragments.length; i++) {
-			TextFragment textFragment = textFragments[i];
-			int currentExtent = locator.x + lineExtent.x;
-			
-			if (isSelectable())
-				currentExtent += 1;
-			
-			if (currentExtent + textFragment.length > wHint) {
-				// overflow
-				int lineWidth = currentExtent;
-				locator.rowHeight = Math.max(locator.rowHeight, lineExtent.y);
-				locator.leading = Math.max(locator.leading, fm.getLeading());
-				if (computeHeightOnly)
-					locator.collectHeights();
-				locator.x = locator.indent;
-				locator.y += locator.rowHeight;
-				locator.rowHeight = 0;
-				locator.leading = 0;
-				lineExtent.x = 0;
-				lineExtent.y = 0;
-				width = Math.max(width, lineWidth);
-				newLine = true;
-			}
-			lineExtent.x += textFragment.length;
-			lineExtent.y = Math.max(lineHeight, lineExtent.y);
-		}
-		int lineWidth = lineExtent.x;
-		if (isSelectable())
-			lineWidth += 1;
-		locator.x += lineWidth;
-		locator.width = width;
-		locator.rowHeight = Math.max(locator.rowHeight, lineExtent.y);
-		locator.leading = Math.max(locator.leading, fm.getLeading());
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-		return newLine;
-	}
-
-	/**
-	 * @param gc
-	 * @param width
-	 * @param locator
-	 * @param selected
-	 * @param selData
-	 * @param color
-	 * @param fm
-	 * @param lineHeight
-	 * @param descent
-	 */
-	private void layoutWithoutWrapping(GC gc, int width, Locator locator,
-			boolean selected, FontMetrics fm, int lineHeight, int descent) {
-		Point extent = gc.textExtent(text);
-		int ewidth = extent.x;
-		if (isSelectable())
-			ewidth += 1;
-		if (locator.x + ewidth > width-locator.marginWidth) {
-			// new line
-			locator.resetCaret();
-			locator.y += locator.rowHeight;
-			locator.rowHeight = 0;
-			locator.rowCounter++;
-		}
-		int ly = locator.getBaseline(fm.getHeight() - fm.getLeading());
-		//int lineY = ly + lineHeight - descent + 1;
-		Rectangle br = new Rectangle(locator.x, ly, ewidth,
-				lineHeight - descent + 3);
-		areaRectangles.add(new AreaRectangle(br, 0, -1));
-		locator.x += ewidth;
-		locator.width = ewidth;
-		locator.rowHeight = Math.max(locator.rowHeight, extent.y);
-	}
-
-	protected int convertOffsetToStringIndex(GC gc, String s, int x,
-			int swidth, int selOffset) {
-		int index = s.length();
-		while (index > 0 && x + swidth > selOffset) {
-			index--;
-			String ss = s.substring(0, index);
-			swidth = gc.textExtent(ss).x;
-		}
-		return index;
-	}
-
-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected,
-			Rectangle repaintRegion) {
-		if (areaRectangles == null)
-			return;
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle areaRectangle = (AreaRectangle) areaRectangles.get(i);
-			Rectangle br = areaRectangle.rect;
-			int bx = br.x;
-			int by = br.y;
-			if (repaintRegion != null) {
-				bx -= repaintRegion.x;
-				by -= repaintRegion.y;
-			}
-			if (selected) {
-				gc.setBackground(bg);
-				gc.setForeground(fg);
-				gc.drawFocus(bx, by, br.width, br.height);
-			} else {
-				gc.setForeground(bg);
-				gc.drawRectangle(bx, by, br.width - 1, br.height - 1);
-			}
-		}
-	}
-
-	public void paint(GC gc, boolean hover, Hashtable resourceTable,
-			boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		this.paint(gc, hover, resourceTable, selected, false, selData,
-				repaintRegion);
-	}
-
-	protected void paint(GC gc, boolean hover, Hashtable resourceTable,
-			boolean selected, boolean rollover, SelectionData selData,
-			Rectangle repaintRegion) {
-		Font oldFont = null;
-		Color oldColor = null;
-		Color oldBg = null;
-
-		// apply segment-specific font, color and background
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font) resourceTable.get(fontId);
-			if (newFont != null)
-				gc.setFont(newFont);
-		}
-		if (!hover && colorId != null) {
-			oldColor = gc.getForeground();
-			Color newColor = (Color) resourceTable.get(colorId);
-			if (newColor != null)
-				gc.setForeground(newColor);
-		}
-		oldBg = gc.getBackground();
-
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		int descent = fm.getDescent();
-
-		// paint area rectangles of the segment
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle areaRectangle = (AreaRectangle) areaRectangles.get(i);
-			Rectangle rect = areaRectangle.rect;
-			String text = areaRectangle.getText();
-			Point extent = gc.textExtent(text);
-			int textX = rect.x + (isSelectable()?1:0);
-			int lineY = rect.y + lineHeight - descent + 1;
-			paintString(gc, text, extent.x, textX, rect.y, lineY, selData,
-					rect, hover, rollover, repaintRegion);
-			if (selected) {
-				int fx = rect.x;
-				int fy = rect.y;
-				if (repaintRegion != null) {
-					fx -= repaintRegion.x;
-					fy -= repaintRegion.y;
-				}
-				//To avoid partially cancelling the focus by painting over
-				//X-ORed pixels, first cancel it yourself
-				Color fg = gc.getForeground();
-				gc.setForeground(oldBg);
-				gc.drawRectangle(fx, fy, rect.width - 1, rect.height - 1);
-				gc.setForeground(fg);
-				gc.drawFocus(fx, fy, rect.width, rect.height);
-			}
-		}
-		// restore GC resources
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-		if (oldColor != null) {
-			gc.setForeground(oldColor);
-		}
-		if (oldBg != null) {
-			gc.setBackground(oldBg);
-		}
-	}
-
-	public void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData) {
-		Font oldFont = null;
-
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font) resourceTable.get(fontId);
-			if (newFont != null)
-				gc.setFont(newFont);
-		}
-
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle areaRectangle = (AreaRectangle) areaRectangles.get(i);
-			Rectangle rect = areaRectangle.rect;
-			String text = areaRectangle.getText();
-			Point extent = gc.textExtent(text);
-			computeSelection(gc, text, extent.x, selData,
-					rect);
-		}
-		// restore GC resources
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-	}
-
-	private void paintString(GC gc, String s, int swidth, int x, int y,
-			int lineY, SelectionData selData, Rectangle bounds, boolean hover,
-			boolean rolloverMode, Rectangle repaintRegion) {
-		// repaints one area rectangle
-		if (selData != null && selData.isEnclosed()) {
-			Color savedBg = gc.getBackground();
-			Color savedFg = gc.getForeground();
-			int leftOffset = selData.getLeftOffset(bounds.height);
-			int rightOffset = selData.getRightOffset(bounds.height);
-			boolean firstRow = selData.isFirstSelectionRow(bounds.y,
-					bounds.height);
-			boolean lastRow = selData.isLastSelectionRow(bounds.y,
-					bounds.height);
-			boolean selectedRow = selData
-					.isSelectedRow(bounds.y, bounds.height);
-
-			int sstart = -1;
-			int sstop = -1;
-
-			if ((firstRow && x + swidth < leftOffset)
-					|| (lastRow && x > rightOffset)) {
-				paintStringSegment(gc, s, gc.textExtent(s).x, x, y, lineY,
-						hover, rolloverMode, repaintRegion);
-				return;
-			}
-
-			if (firstRow && bounds.x + swidth > leftOffset) {
-				sstart = convertOffsetToStringIndex(gc, s, bounds.x, swidth,
-						leftOffset);
-			}
-			if (lastRow && bounds.x + swidth > rightOffset) {
-				sstop = convertOffsetToStringIndex(gc, s, bounds.x, swidth,
-						rightOffset);
-			}
-
-			if (firstRow && sstart != -1) {
-				String left = s.substring(0, sstart);
-				int width = gc.textExtent(left).x;
-				paintStringSegment(gc, left, width, x, y, lineY, hover,
-						rolloverMode, repaintRegion);
-				x += width;
-			}
-			if (selectedRow) {
-				int lindex = sstart != -1 ? sstart : 0;
-				int rindex = sstop != -1 ? sstop : s.length();
-				String mid = s.substring(lindex, rindex);
-				Point extent = gc.textExtent(mid);
-				gc.setForeground(selData.fg);
-				gc.setBackground(selData.bg);
-				gc.fillRectangle(x, y, extent.x, extent.y);
-				paintStringSegment(gc, mid, extent.x, x, y, lineY, hover,
-						rolloverMode, repaintRegion);
-				x += extent.x;
-				gc.setForeground(savedFg);
-				gc.setBackground(savedBg);
-			} else {
-				paintStringSegment(gc, s, gc.textExtent(s).x, x, y, lineY,
-						hover, rolloverMode, repaintRegion);
-			}
-			if (lastRow && sstop != -1) {
-				String right = s.substring(sstop);
-				paintStringSegment(gc, right, gc.textExtent(right).x, x, y,
-						lineY, hover, rolloverMode, repaintRegion);
-			}
-		} else {
-			paintStringSegment(gc, s, gc.textExtent(s).x, x, y, lineY, hover,
-					rolloverMode, repaintRegion);
-		}
-	}
-
-	private void computeSelection(GC gc, String s, int swidth, SelectionData selData, Rectangle bounds) {
-		int leftOffset = selData.getLeftOffset(bounds.height);
-		int rightOffset = selData.getRightOffset(bounds.height);
-		boolean firstRow = selData.isFirstSelectionRow(bounds.y, bounds.height);
-		boolean lastRow = selData.isLastSelectionRow(bounds.y, bounds.height);
-		boolean selectedRow = selData.isSelectedRow(bounds.y, bounds.height);
-
-		int sstart = -1;
-		int sstop = -1;
-
-		if (firstRow && bounds.x + swidth > leftOffset) {
-			sstart = convertOffsetToStringIndex(gc, s, bounds.x, swidth,
-					leftOffset);
-		}
-		if (lastRow && bounds.x + swidth > rightOffset) {
-			sstop = convertOffsetToStringIndex(gc, s, bounds.x, swidth,
-					rightOffset);
-		}
-
-		if (selectedRow) {
-			int lindex = sstart != -1 ? sstart : 0;
-			int rindex = sstop != -1 ? sstop : s.length();
-			String mid = s.substring(lindex, rindex);
-			selData.addSegment(mid);
-		}
-	}
-
-	/**
-	 * @param gc
-	 * @param s
-	 * @param x
-	 * @param y
-	 * @param lineY
-	 * @param hover
-	 * @param rolloverMode
-	 */
-	private void paintStringSegment(GC gc, String s, int swidth, int x, int y,
-			int lineY, boolean hover, boolean rolloverMode,
-			Rectangle repaintRegion) {
-		boolean reverse = false;
-		int clipX = x;
-		int clipY = y;
-		int clipLineY = lineY;
-		if (repaintRegion != null) {
-			clipX -= repaintRegion.x;
-			clipY -= repaintRegion.y;
-			clipLineY -= repaintRegion.y;
-		}
-		if (underline || hover || rolloverMode) {
-			if (rolloverMode && !hover)
-				reverse = true;
-		}
-		if (reverse) {
-			drawUnderline(gc, swidth, clipX, clipLineY, hover, rolloverMode);
-			gc.drawString(s, clipX, clipY, false);
-		} else {
-			gc.drawString(s, clipX, clipY, false);
-			drawUnderline(gc, swidth, clipX, clipLineY, hover, rolloverMode);
-		}
-	}
-
-	private void drawUnderline(GC gc, int swidth, int x, int y, boolean hover,
-			boolean rolloverMode) {
-		if (underline || hover || rolloverMode) {
-			Color saved = null;
-			if (rolloverMode && !hover) {
-				saved = gc.getForeground();
-				gc.setForeground(gc.getBackground());
-			}
-			gc.drawLine(x, y, x + swidth-1, y);
-			if (saved != null)
-				gc.setForeground(saved);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#layout(org.eclipse.swt.graphics.GC,
-	 *      int, org.eclipse.ui.internal.forms.widgets.Locator,
-	 *      java.util.Hashtable, boolean,
-	 *      org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void layout(GC gc, int width, Locator locator,
-			Hashtable resourceTable, boolean selected) {
-		Font oldFont = null;
-
-		areaRectangles.clear();
-
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font) resourceTable.get(fontId);
-			if (newFont != null)
-				gc.setFont(newFont);
-		}
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		int descent = fm.getDescent();
-
-		if (!wrapAllowed) {
-			layoutWithoutWrapping(gc, width, locator, selected, fm, lineHeight,
-					descent);
-		} else {
-			int lineStart = 0;
-			int lastLoc = 0;
-			Point lineExtent = new Point(0, 0);
-			computeTextFragments(gc);
-			int rightEdge = width-locator.marginWidth;
-			for (int i = 0; i < textFragments.length; i++) {
-				TextFragment fragment = textFragments[i];
-				int breakLoc = fragment.index;
-				if (breakLoc == 0)
-					continue;
-				if (locator.x + lineExtent.x + fragment.length > rightEdge) {
-					// overflow
-					int lineWidth = locator.x + lineExtent.x;
-					if (isSelectable())
-						lineWidth += 1;
-					int ly = locator.getBaseline(lineHeight - fm.getLeading());
-					Rectangle br = new Rectangle(isSelectable()?
-							locator.x - 1:locator.x, ly,
-							isSelectable()?lineExtent.x + 1:lineExtent.x, lineHeight - descent + 3);
-					areaRectangles
-							.add(new AreaRectangle(br, lineStart, lastLoc));
-
-					locator.rowHeight = Math.max(locator.rowHeight,
-							lineExtent.y);
-					locator.resetCaret();
-					if (isSelectable())
-						locator.x += 1;					
-					locator.y += locator.rowHeight;
-					locator.rowCounter++;
-					locator.rowHeight = 0;
-					lineStart = lastLoc;
-					lineExtent.x = 0;
-					lineExtent.y = 0;
-				}
-				lastLoc = breakLoc;
-				lineExtent.x += fragment.length;
-				lineExtent.y = Math.max(lineHeight, lineExtent.y);
-			}
-			//String lastLine = text.substring(lineStart, lastLoc);
-			int ly = locator.getBaseline(lineHeight - fm.getLeading());
-			int lastWidth = lineExtent.x;
-			if (isSelectable())
-				lastWidth += 1;
-			Rectangle br = new Rectangle(isSelectable()?locator.x - 1:locator.x, ly, 
-					isSelectable()?lineExtent.x + 1:lineExtent.x,
-					lineHeight - descent + 3);
-			//int lineY = ly + lineHeight - descent + 1;
-			areaRectangles.add(new AreaRectangle(br, lineStart, lastLoc));
-			locator.x += lastWidth;
-			locator.rowHeight = Math.max(locator.rowHeight, lineExtent.y);
-		}
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-	}
-
-	private void computeTextFragments(GC gc) {
-		if (textFragments != null)
-			return;
-		ArrayList list = new ArrayList();
-		BreakIterator wb = BreakIterator.getLineInstance();
-		wb.setText(getText());
-		int cursor = 0;
-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
-			if (loc == 0)
-				continue;
-			String word = text.substring(cursor, loc);
-			Point extent = gc.textExtent(word);
-			list.add(new TextFragment((short) loc, (short) extent.x));
-			cursor = loc;
-		}
-		textFragments = (TextFragment[]) list.toArray(new TextFragment[list
-				.size()]);
-	}
-	
-	public void clearCache(String fontId) {
-		if (fontId==null && this.fontId==null)
-			textFragments = null;
-		else if (fontId!=null && this.fontId!=null && fontId.equals(this.fontId))
-			textFragments = null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java
deleted file mode 100644
index d191f66..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java
+++ /dev/null
@@ -1,111 +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.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.ILayoutExtension;
-
-/**
- * A pagebook is a composite control where only a single control is visible at
- * a time. It is similar to a notebook, but without tabs.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @see PageBookView
- */
-public class WrappedPageBook extends Composite {
-	class PageBookLayout extends Layout implements ILayoutExtension {
-		protected Point computeSize(Composite composite, int wHint, int hHint,
-				boolean flushCache) {
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-			Point result = null;
-			if (currentPage != null) {
-				result = currentPage.computeSize(wHint, hHint, flushCache);
-			} else {
-				result = new Point(0, 0);
-			}
-			return result;
-		}
-		protected void layout(Composite composite, boolean flushCache) {
-			if (currentPage != null) {
-				currentPage.setBounds(composite.getClientArea());
-			}
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.widgets.ILayoutExtension#computeMaximumWidth(org.eclipse.swt.widgets.Composite,
-		 *      boolean)
-		 */
-		public int computeMaximumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.widgets.ILayoutExtension#computeMinimumWidth(org.eclipse.swt.widgets.Composite,
-		 *      boolean)
-		 */
-		public int computeMinimumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, 0, SWT.DEFAULT, changed).x;
-		}
-	}
-	/**
-	 * The current control; <code>null</code> if none.
-	 */
-	private Control currentPage = null;
-	/**
-	 * Creates a new empty pagebook.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param style
-	 *            the SWT style bits
-	 */
-	public WrappedPageBook(Composite parent, int style) {
-		super(parent, style);
-		setLayout(new PageBookLayout());
-	}
-	/**
-	 * Shows the given page. This method has no effect if the given page is not
-	 * contained in this pagebook.
-	 * 
-	 * @param page
-	 *            the page to show
-	 */
-	public void showPage(Control page) {
-		if (page == currentPage)
-			return;
-		if (page.getParent() != this)
-			return;
-		Control oldPage = currentPage;
-		currentPage = page;
-		// show new page
-		if (page != null) {
-			if (!page.isDisposed()) {
-				//page.setVisible(true);
-				layout(true);
-				page.setVisible(true);
-			}
-		}
-		// hide old *after* new page has been made visible in order to avoid
-		// flashing
-		if (oldPage != null && !oldPage.isDisposed())
-			oldPage.setVisible(false);
-	}
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		return ((PageBookLayout) getLayout()).computeSize(this, wHint, hHint,
-				changed);
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/progress.gif b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/progress.gif
deleted file mode 100644
index f6a200f..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/progress.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
index 15e9efd..1b8482a 100644
--- a/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
@@ -20,6 +20,7 @@
  org.eclipse.ui.internal.ide.model;x-internal:=true,
  org.eclipse.ui.internal.ide.registry;x-internal:=true,
  org.eclipse.ui.internal.ide.update;x-internal:=true,
+ org.eclipse.ui.internal.provisional.ide,
  org.eclipse.ui.internal.views.bookmarkexplorer;x-internal:=true,
  org.eclipse.ui.internal.views.framelist;x-internal:=true,
  org.eclipse.ui.internal.views.navigator;x-internal:=true,
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
index 9fb8788..649b797 100644
--- 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
@@ -11,14 +11,11 @@
 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;
@@ -28,24 +25,22 @@
 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.WorkbenchPage;
 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;
+import org.eclipse.ui.internal.ide.model.ModelProviderBasedEditorOpenStrategy;
+import org.eclipse.ui.internal.provisional.ide.IEditorOpenStrategy;
+import org.eclipse.ui.internal.provisional.ide.OpenWithEntry;
+import org.eclipse.ui.internal.provisional.ide.OpenWithInfo;
 
 /**
  * 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
+ * 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>
@@ -53,275 +48,229 @@
  * </p>
  */
 public class OpenWithMenu extends ContributionItem {
-    private IWorkbenchPage page;
+	private IWorkbenchPage page;
 
-    private IAdaptable file;
+	private Object element;
 
-    private IEditorRegistry registry = PlatformUI.getWorkbench()
-            .getEditorRegistry();
+	private IEditorOpenStrategy strategy = new ModelProviderBasedEditorOpenStrategy();
 
-    private static Hashtable imageCache = new Hashtable(11);
+	private static Hashtable imageCache = new Hashtable(11);
 
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".OpenWithMenu";//$NON-NLS-1$
+	/**
+	 * The id of this action.
+	 */
+	public static final String ID = PlatformUI.PLUGIN_ID + ".OpenWithMenu";//$NON-NLS-1$
 
-    /**
-     * Match both the input and id, so that different types of editor can be opened on the same input.
-     */
-    private static final int MATCH_BOTH = IWorkbenchPage.MATCH_INPUT | IWorkbenchPage.MATCH_ID;
-    
-    /*
-     * Compares the labels from two IEditorDescriptor objects 
-     */
-    private static final Comparator comparer = new Comparator() {
-        private Collator collator = Collator.getInstance();
+	/*
+	 * 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);
-        }
-    };
+		public int compare(Object arg0, Object arg1) {
+			String s1 = ((OpenWithEntry) arg0).getLabel();
+			String s2 = ((OpenWithEntry) 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>.
+	 * <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;
-    }
+	/**
+	 * 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) {
+		this(page, (Object) 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());
-			//TODO: is this case valid, and if so, what are the implications for content-type editor bindings?
-        } 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(), IDE.getContentType(file));
-        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);
-    }
+	/**
+	 * 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 element
+	 *            the selected model element
+	 * @since 3.2
+	 */
+	public OpenWithMenu(IWorkbenchPage page, Object element) {
+		super(ID);
+		this.page = page;
+		this.element = element;
+	}
 	
+	/**
+	 * Returns an image to show for the corresponding entry.
+	 * 
+	 * @param entry the open with entry
+	 * @return the image or null
+	 */
+	private Image getImage(OpenWithEntry entry) {
+		ImageDescriptor imageDesc = entry.getImageDescriptor();
+		if (imageDesc == null) {
+			return null;
+		}
+		Image image = (Image) imageCache.get(imageDesc);
+		if (image == null) {
+			image = imageDesc.createImage();
+			imageCache.put(imageDesc, image);
+		}
+		return image;
+	}
 
-    /**
-     * Converts the IAdaptable file to IFile or null.
-     */
-    private IFile getFileResource() {
-        if (this.file instanceof IFile) {
-            return (IFile) this.file;
-        }
-        IResource resource = (IResource) this.file
-                .getAdapter(IResource.class);
-        if (resource instanceof IFile) {
-            return (IFile) resource;
-        }
-       
-        return null;
-    }
+	/**
+	 * Creates the menu item for the entry.
+	 * 
+	 * @param menu
+	 *            the menu to add the item to
+	 * @param entry
+	 *            the entry
+	 * @param isPreferred whether the entry is the preferred one
+	 */
+	private void createMenuItem(Menu menu, final OpenWithEntry entry,
+			boolean isPreferred) {
+		// XXX: Would be better to use bold here, but SWT does not support it.
+		final MenuItem menuItem = new MenuItem(menu, SWT.NONE);
+		if (isPreferred) {
+			menu.setDefaultItem(menuItem);
+		}
+		menuItem.setText(entry.getLabel());
+		Image image = getImage(entry);
+		if (image != null) {
+			menuItem.setImage(image);
+		}
+		Listener listener = new Listener() {
+			public void handleEvent(Event event) {
+				switch (event.type) {
+				case SWT.Selection:
+					openEditor(entry, true);
+					break;
+				}
+			}
+		};
+		menuItem.addListener(SWT.Selection, listener);
+	}
 
-    /* (non-Javadoc)
-     * Returns whether this menu is dynamic.
-     */
-    public boolean isDynamic() {
-        return true;
-    }
+	/**
+	 * Creates the menu item for "Default", which picks the default associated
+	 * with the file type, clearing any editor associated with the file itself
+	 * (i.e. remembered from the last Open With).
+	 * 
+	 * @param menu
+	 *            the menu to add the item to
+	 * @param entry the entry
+	 */
+	private void createDefaultMenuItem(Menu menu, final OpenWithEntry entry) {
+		final MenuItem menuItem = new MenuItem(menu, SWT.NONE);
+		menuItem.setText(IDEWorkbenchMessages.DefaultEditorDescription_name);
 
-    /**
-     * 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();
-            ((WorkbenchPage) page).openEditor(new FileEditorInput(file), editorId, true, MATCH_BOTH);
-            // only remember the default editor if the open succeeds
-            IDE.setDefaultEditor(file, editorId);
-        } catch (PartInitException e) {
-            DialogUtil.openError(page.getWorkbenchWindow().getShell(),
-                    IDEWorkbenchMessages.OpenWithMenu_dialogTitle,
-                    e.getMessage(), e);
-        }
-    }
+		Listener listener = new Listener() {
+			public void handleEvent(Event event) {
+				switch (event.type) {
+				case SWT.Selection:
+					openEditor(entry, false);
+					break;
+				}
+			}
+		};
 
-    /**
-     * Creates the menu item for clearing the current selection.
-     *
-     * @param menu the menu to add the item to
-     * @param file the file being edited
-     */
-    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.DefaultEditorDescription_name);
+		menuItem.addListener(SWT.Selection, listener);
+	}
 
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                switch (event.type) {
-                case SWT.Selection:
-                    if (menuItem.getSelection()) {
-                        IDE.setDefaultEditor(file, null);
-                        try {
-                        	IEditorDescriptor desc = IDE.getEditorDescriptor(file);
-                            page.openEditor(new FileEditorInput(file), desc.getId(), true, MATCH_BOTH);
-                        } catch (PartInitException e) {
-                            DialogUtil.openError(page.getWorkbenchWindow()
-                                    .getShell(), IDEWorkbenchMessages.OpenWithMenu_dialogTitle,
-                                    e.getMessage(), e);
-                        }
-                    }
-                    break;
-                }
-            }
-        };
+	/*
+	 * (non-Javadoc) Fills the menu with perspective items.
+	 */
+	public void fill(Menu menu, int index) {
+		Object element = getElement();
+		if (element == null) {
+			return;
+		}
 
-        menuItem.addListener(SWT.Selection, listener);
-    }
+		OpenWithInfo info = strategy.getOpenWithInfo(element);
+		if (info == null) {
+			return;
+		}
+
+		OpenWithEntry preferredEntry = info.getPreferredEntry(); // may be null
+		OpenWithEntry[] entries = info.getEntries();
+		Collections.sort(Arrays.asList(entries), comparer);
+
+		menu.setDefaultItem(null);
+		for (int i = 0; i < entries.length; i++) {
+			OpenWithEntry entry = entries[i];
+			createMenuItem(menu, entry, entry.equals(preferredEntry));
+		}
+
+		// Only add a separator if there is something to separate
+		if (entries.length > 0)
+			new MenuItem(menu, SWT.SEPARATOR);
+
+		// Add entry for system external editor 
+		if (info.getExternalEntry() != null) {
+			createMenuItem(menu, info.getExternalEntry(), info.getExternalEntry().equals(preferredEntry));
+		}
+
+		// Add entry for system in-place editor 
+		if (info.getInPlaceEntry() != null) {
+			createMenuItem(menu, info.getInPlaceEntry(), info.getInPlaceEntry().equals(preferredEntry));
+		}
+		
+		// Add entry for default 
+		if (info.getDefaultEntry() != null) {
+			createDefaultMenuItem(menu, info.getDefaultEntry());
+		}
+	}
+
+	/**
+	 * Converts the model element.
+	 */
+	private Object getElement() {
+		return element;
+	}
+
+	/*
+	 * (non-Javadoc) Returns whether this menu is dynamic.
+	 */
+	public boolean isDynamic() {
+		return true;
+	}
+
+	/**
+	 * Opens the editor for the given entry.
+	 * 
+	 * @param entry the entry
+	 * @param rememberEditor whether to remember the editor with the element
+	 */
+	private void openEditor(OpenWithEntry entry, boolean rememberEditor) {
+		final int MATCH_BOTH = IWorkbenchPage.MATCH_INPUT | IWorkbenchPage.MATCH_ID;
+		try {
+			entry.openEditor(page, true, MATCH_BOTH, rememberEditor);
+		} catch (PartInitException e) {
+			DialogUtil.openError(page.getWorkbenchWindow().getShell(),
+					IDEWorkbenchMessages.OpenWithMenu_dialogTitle, e
+							.getMessage(), e);
+		}
+	}
+
 }
diff --git a/bundles/org.eclipse.ui.ide/plugin.xml b/bundles/org.eclipse.ui.ide/plugin.xml
index 2a7ccdb..60970a3 100644
--- a/bundles/org.eclipse.ui.ide/plugin.xml
+++ b/bundles/org.eclipse.ui.ide/plugin.xml
@@ -991,6 +991,15 @@
       </triggerPoint>
    </extension>
   
+   
+   <extension
+         point="org.eclipse.core.runtime.adapters">
+      <factory
+            class="org.eclipse.ui.internal.ide.model.ModelProviderAdapterFactory"
+            adaptableType="org.eclipse.core.internal.resources.mapping.ResourceModelProvider">
+         <adapter type="org.eclipse.ui.internal.provisional.ide.IEditorOpenStrategy"/>
+      </factory>
+   </extension>
    <extension
          point="org.eclipse.ui.ide.markerSupport">
       <markerGrouping
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/FileOpenWithEntry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/FileOpenWithEntry.java
new file mode 100644
index 0000000..fee106e
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/FileOpenWithEntry.java
@@ -0,0 +1,64 @@
+package org.eclipse.ui.internal.ide.model;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.util.Assert;
+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.provisional.ide.OpenWithEntry;
+import org.eclipse.ui.part.FileEditorInput;
+
+public class FileOpenWithEntry extends OpenWithEntry {
+
+	public FileOpenWithEntry(IEditorDescriptor editorDesc, IFile file) {
+		super(editorDesc, file);
+		Assert.isNotNull(editorDesc);
+	}
+
+	public void openEditor(IWorkbenchPage page, boolean activate,
+			int matchFlags, boolean rememberEditor) throws PartInitException {
+		Assert.isNotNull(getEditorDescriptor());
+		String editorId = getEditorDescriptor().getId();
+		IFile file = (IFile) getElement();
+		page.openEditor(
+				new FileEditorInput(file), editorId, activate, matchFlags);
+		if (rememberEditor) {
+			// only remember the default editor if the open succeeds
+			IDE.setDefaultEditor(file, editorId);
+		}
+	}
+
+	public ImageDescriptor getImageDescriptor() {
+		IEditorRegistry registry = PlatformUI.getWorkbench()
+				.getEditorRegistry();
+		IFile file = (IFile) getElement();
+
+		ImageDescriptor imageDesc;
+		
+		if (getEditorDescriptor() != null) {
+			String editorId = getEditorDescriptor() == null ? null
+				: getEditorDescriptor().getId();
+			if (IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID.equals(editorId)
+					|| IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID.equals(editorId)) {
+				return registry.getSystemExternalEditorImageDescriptor(file
+						.getName());
+			}
+			imageDesc = getEditorDescriptor().getImageDescriptor();
+			if (imageDesc != null) {
+				return imageDesc;
+			}
+		}
+		
+		// TODO: is this case valid, and if so, what are the implications
+		// for content-type editor bindings?
+		imageDesc = registry.getImageDescriptor(file.getName());
+		if (imageDesc != null)
+			return imageDesc;
+
+		return super.getImageDescriptor();
+	}
+}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderAdapterFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderAdapterFactory.java
new file mode 100644
index 0000000..8979193
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderAdapterFactory.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ui.internal.ide.model;
+
+import org.eclipse.core.internal.resources.mapping.ResourceModelProvider;
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.ui.internal.provisional.ide.IEditorOpenStrategy;
+
+/**
+ * Adapter factory which provides an editor open strategy for the resource model.
+ */
+public class ModelProviderAdapterFactory implements IAdapterFactory {
+	
+    /* (non-Javadoc)
+     * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+     */
+    public Object getAdapter(Object adaptableObject, Class adapterType) {
+    	// TODO fix up internal ref to ResourceModelProvider
+        if (adaptableObject instanceof ResourceModelProvider) {
+            if (adapterType == IEditorOpenStrategy.class) {
+                return new ResourceEditorOpenStrategy();
+            }
+        }
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+     */
+    public Class[] getAdapterList() {
+        return new Class[] { IEditorOpenStrategy.class };
+    }
+    
+}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderBasedEditorOpenStrategy.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderBasedEditorOpenStrategy.java
new file mode 100644
index 0000000..0635e55
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderBasedEditorOpenStrategy.java
@@ -0,0 +1,41 @@
+package org.eclipse.ui.internal.ide.model;
+
+import org.eclipse.core.resources.mapping.ModelProvider;
+import org.eclipse.core.resources.mapping.ResourceMapping;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ui.ide.ResourceUtil;
+import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
+import org.eclipse.ui.internal.provisional.ide.IEditorOpenStrategy;
+import org.eclipse.ui.internal.provisional.ide.OpenWithInfo;
+
+public class ModelProviderBasedEditorOpenStrategy implements
+		IEditorOpenStrategy {
+
+	public OpenWithInfo getOpenWithInfo(Object element) {
+		OpenWithInfo result = new OpenWithInfo();
+		ResourceMapping mapping = ResourceUtil.getResourceMapping(element);
+		try {
+			boolean anyFound = false;
+			ModelProvider[] providers = ModelProviderUtil.getModelProvidersFor(mapping);
+			for (int i = 0; i < providers.length; i++) {
+				ModelProvider provider = providers[i];
+				IEditorOpenStrategy openStrategy = (IEditorOpenStrategy) ResourceUtil.getAdapter(provider, IEditorOpenStrategy.class, true);
+				if (openStrategy != null) {
+					OpenWithInfo info = openStrategy.getOpenWithInfo(element);
+					result = result.mergeWith(info);
+					anyFound = true;
+				}
+			}
+			// TODO: The following is just to handle the case where model providers and/or the corresponding
+			// open strategies cannot be found due to an error in the configuration.  It may not be needed.
+			if (!anyFound) {
+				OpenWithInfo info = new ResourceEditorOpenStrategy().getOpenWithInfo(element);
+				result = result.mergeWith(info);
+			}
+		} catch (CoreException e) {
+			IDEWorkbenchPlugin.log(getClass(), "getOpenWithInfo", e); //$NON-NLS-1$
+		}
+		return result;
+	}
+
+}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderUtil.java
new file mode 100644
index 0000000..95cd35d
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ModelProviderUtil.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ui.internal.ide.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.mapping.IModelProviderDescriptor;
+import org.eclipse.core.resources.mapping.ModelProvider;
+import org.eclipse.core.resources.mapping.ResourceMapping;
+import org.eclipse.core.runtime.CoreException;
+
+/**
+ * Provides utility methods for dealing with model providers.
+ * 
+ * @since 3.2
+ */
+public final class ModelProviderUtil {
+
+	public static ModelProvider[] getModelProvidersFor(ResourceMapping mapping) throws CoreException {
+		// TODO: actually filter, and do a topological sort
+		IModelProviderDescriptor[] descs = ModelProvider.getModelProviderDescriptors();
+		List result = new ArrayList(descs.length);
+		for (int i = 0; i < descs.length; i++) {
+			ModelProvider provider = descs[i].getModelProvider();
+			result.add(provider);
+		}
+		return (ModelProvider[]) result.toArray(new ModelProvider[result.size()]);
+	}
+	
+}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceEditorOpenStrategy.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceEditorOpenStrategy.java
new file mode 100644
index 0000000..2aa4a6b
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceEditorOpenStrategy.java
@@ -0,0 +1,100 @@
+package org.eclipse.ui.internal.ide.model;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+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.ide.ResourceUtil;
+import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
+import org.eclipse.ui.internal.provisional.ide.IEditorOpenStrategy;
+import org.eclipse.ui.internal.provisional.ide.OpenWithEntry;
+import org.eclipse.ui.internal.provisional.ide.OpenWithInfo;
+import org.eclipse.ui.part.FileEditorInput;
+
+/**
+ * The IDE's editor open strategy for resources.
+ * 
+ * @since 3.2
+ */
+public class ResourceEditorOpenStrategy implements IEditorOpenStrategy {
+
+	private IEditorRegistry registry = PlatformUI.getWorkbench()
+			.getEditorRegistry();
+
+	public ResourceEditorOpenStrategy() {
+		// do nothing
+	}
+
+	public OpenWithInfo getOpenWithInfo(Object element) {
+		IFile file = ResourceUtil.getFile(element);
+		if (file == null) {
+			return null;
+		}
+		HashSet alreadyMapped = new HashSet();
+		IEditorDescriptor[] editors = registry.getEditors(file.getName(), IDE
+				.getContentType(file));
+		IEditorDescriptor preferredEditor = IDE.getDefaultEditor(file);
+		List entries = new ArrayList(editors.length);
+		OpenWithEntry preferredEntry = null;
+		for (int i = 0; i < editors.length; i++) {
+			IEditorDescriptor editor = editors[i];
+			if (alreadyMapped.contains(editor))
+				continue;
+			alreadyMapped.add(editor);
+			OpenWithEntry entry = new FileOpenWithEntry(editor, file);
+			entries.add(entry);
+			if (editor.equals(preferredEditor)) {
+				preferredEntry = entry;
+			}
+		}
+		OpenWithEntry externalEntry = null;
+//		if (registry.isSystemExternalEditorAvailable(file.getName())) {
+			IEditorDescriptor externalEditor = registry.findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
+			externalEntry = new FileOpenWithEntry(externalEditor, file);
+			if (preferredEntry == null && externalEditor.equals(preferredEditor)) {
+				preferredEntry = externalEntry;
+			}
+//		}
+		OpenWithEntry inPlaceEntry = null;
+		if (registry.isSystemInPlaceEditorAvailable(file.getName())) {
+			IEditorDescriptor inPlaceEditor = registry
+					.findEditor(IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID);
+			inPlaceEntry = new FileOpenWithEntry(inPlaceEditor, file);
+			if (preferredEntry == null && inPlaceEntry.equals(preferredEditor)) {
+				preferredEntry = externalEntry;
+			}
+		}
+		OpenWithEntry defaultEntry = new OpenWithEntry(null, file) {
+			public void openEditor(IWorkbenchPage page,
+					boolean activate, int matchFlags, boolean rememberEditor)
+					throws PartInitException {
+				IFile f = (IFile) getElement();
+				IDE.setDefaultEditor(f, null);
+				IEditorDescriptor desc = IDE.getEditorDescriptor(f);
+				page.openEditor(
+						new FileEditorInput(f), desc.getId(), activate,
+						matchFlags);
+			}
+		};
+		IEditorDescriptor textEditor = registry
+			.findEditor(IDEWorkbenchPlugin.DEFAULT_TEXT_EDITOR_ID); // may be null
+		if (!alreadyMapped.contains(textEditor)) {
+			OpenWithEntry textEditorEntry = new FileOpenWithEntry(textEditor, file);
+			entries.add(textEditorEntry);
+			if (preferredEntry == null) {
+				preferredEntry = textEditorEntry;
+			}
+		}
+		OpenWithEntry[] entryArray = (OpenWithEntry[]) entries.toArray(new OpenWithEntry[entries.size()]);
+		return new OpenWithInfo(entryArray, preferredEntry, externalEntry,
+				inPlaceEntry, defaultEntry);
+	}
+
+}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/IEditorOpenStrategy.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/IEditorOpenStrategy.java
new file mode 100644
index 0000000..fb6573f
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/IEditorOpenStrategy.java
@@ -0,0 +1,20 @@
+package org.eclipse.ui.internal.provisional.ide;
+
+/**
+ * A strategy object for opening editors on model elements.
+ * 
+ * @since 3.2
+ */
+public interface IEditorOpenStrategy {
+
+	/**
+	 * Returns an info object representing the editors that can be used to edit
+	 * the given model element, and which one is the default.
+	 * 
+	 * @param element
+	 *            the model element
+	 * @return the open with info
+	 */
+	OpenWithInfo getOpenWithInfo(Object element);
+
+}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/OpenWithEntry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/OpenWithEntry.java
new file mode 100644
index 0000000..bca0b77
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/OpenWithEntry.java
@@ -0,0 +1,97 @@
+package org.eclipse.ui.internal.provisional.ide;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.util.Assert;
+import org.eclipse.ui.IEditorDescriptor;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * An entry in the Open With menu, responsible for providing a label and image
+ * descriptor, and for opening the editor when the entry is chosen.
+ * 
+ * @see IEditorOpenStrategy
+ * @see OpenWithInfo
+ * @since 3.2
+ */
+public abstract class OpenWithEntry {
+
+	private IEditorDescriptor editorDesc;
+
+	private Object element;
+
+	/**
+	 * Creates a new <code>OpenWithEntry</code> for the given editor
+	 * descriptor and element.
+	 * 
+	 * @param editorDesc
+	 *            the editor descriptor or <code>null</code> if unspecified
+	 * @param element
+	 *            the model element
+	 */
+	public OpenWithEntry(IEditorDescriptor editorDesc, Object element) {
+		Assert.isNotNull(element);
+		this.editorDesc = editorDesc;
+		this.element = element;
+	}
+
+	/**
+	 * Returns the editor descriptor, or <code>null</code> if unspecified.
+	 * 
+	 * @return the editor descriptor, or <code>null</code>
+	 */
+	public IEditorDescriptor getEditorDescriptor() {
+		return editorDesc;
+	}
+
+	/**
+	 * Returns the model element.
+	 * 
+	 * @return the model element
+	 */
+	protected Object getElement() {
+		return element;
+	}
+
+	/**
+	 * Opens the editor(s) represented by this entry.
+	 * 
+	 * @param page
+	 *            the workbench page
+	 * @param activate
+	 *            <code>true</code> to activate the editor, <code>false</code>
+	 *            to open without activating
+	 * @param matchFlags
+	 *            the match flags (see
+	 *            {@link IWorkbenchPage#openEditor(org.eclipse.ui.IEditorInput, String, boolean, int)}
+	 *            for more details
+	 * @param rememberEditor
+	 *            <code>true</code> to remember the editor descriptor as the
+	 *            last type of editor used on the model element,
+	 *            <code>false</code> to not remember
+	 * @throws PartInitException
+	 *             if an error occurs while attempting to open
+	 */
+	public abstract void openEditor(IWorkbenchPage page, boolean activate,
+			int matchFlags, boolean rememberEditor) throws PartInitException;
+
+	/**
+	 * Returns the label to show for this entry.
+	 * 
+	 * @return the label to show for this entry
+	 */
+	public String getLabel() {
+		return getEditorDescriptor() == null ? "" : getEditorDescriptor().getLabel(); //$NON-NLS-1$
+	}
+
+	/**
+	 * Returns an image descriptor to show for this entry, or <code>null</code>
+	 * if no image should be shown.
+	 * 
+	 * @return the image descriptor or <code>null</code>
+	 */
+	public ImageDescriptor getImageDescriptor() {
+		return editorDesc.getImageDescriptor();
+	}
+
+}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/OpenWithInfo.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/OpenWithInfo.java
new file mode 100644
index 0000000..0ae4535
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/OpenWithInfo.java
@@ -0,0 +1,172 @@
+package org.eclipse.ui.internal.provisional.ide;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+
+import org.eclipse.jface.util.Assert;
+
+/**
+ * Provides the entries to show in the Open With menu, and indicates which entry
+ * is the default.
+ * 
+ * @since 3.2
+ */
+public class OpenWithInfo {
+
+	private OpenWithEntry[] entries;
+
+	private OpenWithEntry preferredEntry, externalEntry, inPlaceEntry,
+			defaultEntry;
+
+	/**
+	 * Creates an empty <code>OpenWithInfo</code>.
+	 */
+	public OpenWithInfo() {
+		this(new OpenWithEntry[0], null, null, null, null);
+	}
+
+	/**
+	 * Creates a new <code>OpenWithInfo</code> with the given entries.
+	 * 
+	 * @param entries
+	 *            the regular entries
+	 * @param preferredEntry
+	 *            the preferred entry, or <code>null</code> if none
+	 * @param externalEntry
+	 *            the entry for the external system editor, or <code>null</code>
+	 *            if none
+	 * @param inPlaceEntry
+	 *            the entry for the in-place system editor, or <code>null</code>
+	 *            if none
+	 * @param defaultEntry
+	 *            the entry for Default (i.e. revert to factory defaults), or
+	 *            <code>null</code> if none
+	 */
+	public OpenWithInfo(OpenWithEntry[] entries, OpenWithEntry preferredEntry,
+			OpenWithEntry externalEntry, OpenWithEntry inPlaceEntry,
+			OpenWithEntry defaultEntry) {
+		Assert.isNotNull(entries);
+		this.entries = entries;
+		this.preferredEntry = preferredEntry;
+		this.externalEntry = externalEntry;
+		this.inPlaceEntry = inPlaceEntry;
+		this.defaultEntry = defaultEntry;
+	}
+
+	/**
+	 * Returns the entry for Default (i.e. revert to factory defaults) entry, or
+	 * <code>null</code> if none.
+	 * 
+	 * @return the Default entry, or <code>null</code>
+	 */
+	public OpenWithEntry getDefaultEntry() {
+		return defaultEntry;
+	}
+
+	/**
+	 * Returns the regular entries.
+	 * 
+	 * @return the regular entries
+	 */
+	public OpenWithEntry[] getEntries() {
+		return entries;
+	}
+
+	/**
+	 * Returns the entry for the in-place system editor, or <code>null</code>
+	 * if none.
+	 * 
+	 * @return the in-place entry, or <code>null</code>
+	 */
+	public OpenWithEntry getInPlaceEntry() {
+		return inPlaceEntry;
+	}
+
+	/**
+	 * Returns the preferred entry, or <code>null</code> if none. This entry
+	 * is typically highlighted with bold or a radio button in the Open With
+	 * menu.
+	 * 
+	 * @return the preferred entry, or <code>null</code>
+	 */
+	public OpenWithEntry getPreferredEntry() {
+		return preferredEntry;
+	}
+
+	/**
+	 * Returns the entry for the in-place external editor, or <code>null</code>
+	 * if none.
+	 * 
+	 * @return the external entry, or <code>null</code>
+	 */
+	public OpenWithEntry getExternalEntry() {
+		return externalEntry;
+	}
+
+	/**
+	 * Returns a new <code>OpenWithInfo</code> which is the result of merging
+	 * this <code>OpenWithInfo</code> with the given other
+	 * <code>OpenWithInfo</code>.
+	 * 
+	 * @return the merged info
+	 */
+	public OpenWithInfo mergeWith(OpenWithInfo other) {
+		HashSet seenDescriptors = new HashSet();
+		OpenWithEntry[] thisEntries = getEntries();
+		for (int i = 0; i < thisEntries.length; i++) {
+			OpenWithEntry entry = thisEntries[i];
+			if (entry.getEditorDescriptor() != null) {
+				seenDescriptors.add(entry.getEditorDescriptor());
+			}
+		}
+		OpenWithEntry[] otherEntries = other.getEntries();
+		ArrayList mergedEntries = new ArrayList(thisEntries.length
+				+ otherEntries.length);
+		mergedEntries.addAll(Arrays.asList(thisEntries));
+		for (int i = 0; i < otherEntries.length; i++) {
+			OpenWithEntry entry = otherEntries[i];
+			if (entry.getEditorDescriptor() != null
+					&& !seenDescriptors.contains(entry.getEditorDescriptor())) {
+				seenDescriptors.add(entry.getEditorDescriptor());
+				mergedEntries.add(entry);
+			}
+		}
+		HashSet allEntries = new HashSet(mergedEntries.size() + 3);
+		allEntries.addAll(mergedEntries);
+
+		OpenWithEntry externalEntry = getExternalEntry() != null ? getExternalEntry()
+				: other.getExternalEntry();
+		if (externalEntry != null) {
+			allEntries.add(externalEntry);
+		}
+		OpenWithEntry inPlaceEntry = getInPlaceEntry() != null ? getInPlaceEntry()
+				: other.getInPlaceEntry();
+		if (inPlaceEntry != null) {
+			allEntries.add(inPlaceEntry);
+		}
+		OpenWithEntry defaultEntry = getDefaultEntry() != null ? getDefaultEntry()
+				: other.getDefaultEntry();
+		if (defaultEntry != null) {
+			allEntries.add(defaultEntry);
+		}
+
+		OpenWithEntry thisPreferredEntry = getPreferredEntry() != null
+				&& allEntries.contains(getPreferredEntry()) ? getPreferredEntry()
+				: null;
+		OpenWithEntry otherPreferredEntry = other.getPreferredEntry() != null
+				&& allEntries.contains(other.getPreferredEntry()) ? other
+				.getPreferredEntry() : null;
+		// if both have preferred entries that remain in the list, then claim no
+		// preferred entry
+		OpenWithEntry preferredEntry = thisPreferredEntry != null ? (otherPreferredEntry != null ? null
+				: thisPreferredEntry)
+				: otherPreferredEntry;
+
+		OpenWithEntry[] mergedEntryArray = (OpenWithEntry[]) mergedEntries
+				.toArray(new OpenWithEntry[mergedEntries.size()]);
+		return new OpenWithInfo(mergedEntryArray, preferredEntry,
+				externalEntry, inPlaceEntry, defaultEntry);
+	}
+
+}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/package.html
new file mode 100644
index 0000000..469f16c
--- /dev/null
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/ide/package.html
@@ -0,0 +1,23 @@
+<!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>
+<h2>Package Specification</h2>
+<p>
+Contains provisional API for the IDE. 
+</p>
+<p>
+This currently consists of API for custom editor opening
+strategies.  For details see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42643">Bug 42643 [Editor Mgmt] Need extension to intercept editor opening</a>.
+</p>
+</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 f76a4fb..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:19:24 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d4fbfad..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:19:24 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
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/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.presentations.r21/META-INF/MANIFEST.MF
deleted file mode 100644
index d448c13..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.presentations.r21; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.ui.internal.presentations.r21.R21PresentationPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.internal.presentations;x-internal:=true,
- org.eclipse.ui.internal.presentations.r21;x-internal:=true,
- org.eclipse.ui.internal.presentations.r21.widgets;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.ui
-Eclipse-LazyStart: 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 6f6b96c..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 eccd880..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               .,\
-               r21presentation.ini,\
-               README.TXT,\
-               about.html,\
-               META-INF/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.ui.presentations.r21/component.xml b/bundles/org.eclipse.ui.presentations.r21/component.xml
deleted file mode 100644
index 23e684d..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/component.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Platform UI R2.1 Presentation">
- <plugin id="org.eclipse.ui.presentations.r21" />
-
- <!-- No API packages -->
-
- <component-depends unrestricted="true"/>
-</component>
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 516f332..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= 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 dd5bcd3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <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 5790fe7..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
+++ /dev/null
@@ -1,1186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - some contributions (bug fixes and enhancements)
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-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.IMemento;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-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.IPresentationSerializer;
-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.tooltip")); //$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);
-
-			// set tooltip (https://bugs.eclipse.org/bugs/show_bug.cgi?id=67513)
-			String toolTipText = current.getTitleToolTip();
-			titleLabel.setToolTipText(toolTipText
-					.equals(Util.ZERO_LENGTH_STRING) ? null : toolTipText);
-			
-		}
-
-		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_CLOSE_VIEW));
-		closeButton.setToolTipText(R21PresentationMessages
-				.getString("BasicStackPresentation.close.tooltip")); //$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;
-		}
-
-		IPresentablePart oldPart = current;
-
-		current = toSelect;
-
-		if (current != null) {
-			paneFolder.setSelection(indexOf(current));
-			current.setVisible(true);
-			updateCloseButton();
-			setControlSize();
-		}
-
-		if (oldPart != null) {
-			oldPart.setVisible(false);
-		}
-	}
-
-	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);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#restoreState(org.eclipse.ui.presentations.IPresentationSerializer,
-	 *      org.eclipse.ui.IMemento)
-	 */
-	public void restoreState(IPresentationSerializer serializer,
-			IMemento savedState) {
-		IMemento[] parts = savedState.getChildren(IWorkbenchConstants.TAG_PART);
-
-		for (int idx = 0; idx < parts.length; idx++) {
-			String id = parts[idx].getString(IWorkbenchConstants.TAG_ID);
-
-			if (id != null) {
-				IPresentablePart part = serializer.getPart(id);
-
-				if (part != null) {
-					addPart(part, getPaneFolder().getItemCount());
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#saveState(org.eclipse.ui.presentations.IPresentationSerializer,
-	 *      org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IPresentationSerializer context, IMemento memento) {
-		super.saveState(context, memento);
-
-		List parts = getPresentableParts();
-
-		Iterator iter = parts.iterator();
-		while (iter.hasNext()) {
-			IPresentablePart next = (IPresentablePart) iter.next();
-
-			IMemento childMem = memento
-					.createChild(IWorkbenchConstants.TAG_PART);
-			childMem.putString(IWorkbenchConstants.TAG_ID, context.getId(next));
-		}
-	}
-
-	/**
-	 * Returns the List of IPresentablePart currently in this presentation
-	 */
-	private List getPresentableParts() {
-		Assert.isTrue(!isDisposed());
-
-		CTabItem[] items = getPaneFolder().getItems();
-		List result = new ArrayList(items.length);
-
-		for (int idx = 0; idx < getPaneFolder().getItemCount(); idx++) {
-			result.add(getPartForTab(items[idx]));
-		}
-
-		return result;
-	}
-}
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 b3cd7be..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
+++ /dev/null
@@ -1,983 +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.presentations;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-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.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.IMemento;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-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.IPresentationSerializer;
-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 static IPreferenceStore preferenceStore = WorkbenchPlugin
-			.getDefault().getPreferenceStore();
-
-	// don't reset this dynamically, so just keep the information static.
-	// see bug:
-	// 75422 [Presentations] Switching presentation to R21 switches immediately,
-	// but only partially
-	private static int tabPos = preferenceStore
-			.getInt(IPreferenceConstants.EDITOR_TAB_POSITION);
-
-	/** 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();
-		}
-	};
-
-	/**
-	 * Create a new presentation stack.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 * @param stackSite
-	 *            the site
-	 */
-	public R21EditorStackPresentation(Composite parent,
-			IStackPresentationSite stackSite) {
-		super(stackSite);
-
-		// create the tab folder
-		tabFolder = new CTabFolder(parent, tabPos | SWT.BORDER);
-
-		// 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;
-	}
-
-	/**
-	 * Answer whether the receiver is disposed.
-	 * 
-	 * @return boolean <code>true</code> if disposed
-	 */
-	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));
-	}
-
-	/**
-	 * Calculate the bounds of the client area inside the folder
-	 * 
-	 * @param folder
-	 * @return Rectangle the bounds of the client
-	 */
-	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);
-
-		// 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();
-		return false;
-	}
-
-	/**
-	 * Returns the top level window.
-	 * 
-	 * @return Window the window for the receiver
-	 */
-	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();
-		}
-
-		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)
-			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;
-		}
-		
-		IPresentablePart oldPart = current;
-
-		current = toSelect;
-		
-		if (current != null) {
-			tabFolder.setSelection(indexOf(current));
-			current.setVisible(true);
-			setControlSize();
-
-		}
-
-		if (oldPart != null) {
-			oldPart.setVisible(false);
-		}
-	}
-
-	/*
-	 * (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();
-	}
-	
-    /**
-     * Restores a presentation from a previously stored state
-     * 
-     * @param serializer (not null)
-     * @param savedState (not null)
-     */
-    public void restoreState(IPresentationSerializer serializer, IMemento savedState) {
-        IMemento[] parts = savedState.getChildren(IWorkbenchConstants.TAG_PART);
-        
-        for (int idx = 0; idx < parts.length; idx++) {
-            String id = parts[idx].getString(IWorkbenchConstants.TAG_ID);
-            
-            if (id != null) {
-                IPresentablePart part = serializer.getPart(id);
-                
-                if (part != null) {
-                    addPart(part, tabFolder.getItemCount());
-                }
-            } 
-        }
-    }
-    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.StackPresentation#saveState(org.eclipse.ui.presentations.IPresentationSerializer, org.eclipse.ui.IMemento)
-     */
-    public void saveState(IPresentationSerializer context, IMemento memento) {
-        super.saveState(context, memento);
-        
-        List parts = getPresentableParts();
-        
-        Iterator iter = parts.iterator();
-        while (iter.hasNext()) {
-            IPresentablePart next = (IPresentablePart)iter.next();
-            
-            IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_PART);
-            childMem.putString(IWorkbenchConstants.TAG_ID, context.getId(next));
-        }
-    }
-    
-    /**
-     * Returns the List of IPresentablePart currently in this presentation
-     */
-    private List getPresentableParts() {
-        Assert.isTrue(!isDisposed());
-        
-        CTabItem[] items = tabFolder.getItems();
-        List result = new ArrayList(items.length);
-        
-        for (int idx = 0; idx < tabFolder.getItemCount(); idx++) {
-            result.add(getPartForTab(items[idx]));
-        }
-        
-        return result;
-    }
-    }
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 04f2b83..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.presentations;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-import org.eclipse.ui.presentations.WorkbenchPresentationFactory;
-
-/**
- * A presentation factory that creates a look similar to previous verisons of eclipse.
- */
-public class R21PresentationFactory extends WorkbenchPresentationFactory {
-
-    /* (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);
-    }
-
-}
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 556ab8b..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
+++ /dev/null
@@ -1,80 +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.presentations;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-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 static IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault()
-            .getPreferenceStore();
-
-	// don't reset this dynamically, so just keep the information static.
-	// see bug:
-	//   75422 [Presentations] Switching presentation to R21 switches immediately, but only partially
-    private static int tabPos = preferenceStore.getInt(IPreferenceConstants.VIEW_TAB_POSITION);
-  
-    private R21PaneFolderButtonListener showListListener = new R21PaneFolderButtonListener() {
-
-        public void showList(CTabFolderEvent event) {
-            event.doit = false;
-            showListDefaultLocation();
-        }
-    };
-
-    /**
-	 * Create a new view stack presentation.
-	 *
-     * @param parent
-     * @param newSite
-     */
-    public R21ViewStackPresentation(Composite parent,
-            IStackPresentationSite newSite) {
-
-        super(new R21PaneFolder(parent, SWT.BORDER), newSite);
-        R21PaneFolder tabFolder = getPaneFolder();
-
-        tabFolder.addButtonListener(showListListener);
-
-        tabFolder.setTabPosition(tabPos);
-        updateGradient();
-    }
-
-    /* (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.internal.presentations.DefaultPartPresentation#getPartMenu()
-     */
-    protected String getPaneName() {
-        return R21PresentationMessages.getString("ViewPane.moveView"); //$NON-NLS-1$ 
-    }
-}
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 1ea55d7..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 Eclipse Public License v1.0
- * which accompanies 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.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);
-    }
-}
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 f22a796..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 Eclipse Public License v1.0
- * which accompanies 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.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;
-        }
-    }
-}
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 e612609..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 Eclipse Public License v1.0
- * which accompanies 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.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();
-    }
-}
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 33547ca..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 Eclipse Public License v1.0
-# which accompanies 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.r21presentation
-
-BasicStackPresentation.menu.tooltip=Menu
-BasicStackPresentation.close.tooltip=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 b2b6311..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
+++ /dev/null
@@ -1,2460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.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 = 6; // Windows needs 6, photon needs 6, gtk needs 8
-        String platform = SWT.getPlatform();
-        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;
-    }
-
-}
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 62287eb..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 Eclipse Public License v1.0
- * which accompanies 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.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);
-    }
-}
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 f35d668..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 Eclipse Public License v1.0
- * which accompanies 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.presentations.r21.widgets;
-
-public interface CTabFolderListener {
-    public void itemClosed(CTabFolderEvent event);
-}
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 4921755..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 Eclipse Public License v1.0
- * which accompanies 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.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;
-    }
-}
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 370f801..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
+++ /dev/null
@@ -1,486 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.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.util.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 tabPos;
-
-    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 Composite the control
-     */
-    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();
-    }
-
-    /**
-     * Layout the receiver, flusing the cache if needed.
-     * 
-     * @param flushCache
-     */
-    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 Rectangle the client area 
-     */
-    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);
-        }
-    }
-
-    /**
-     * @param listener
-     */
-    public void addButtonListener(R21PaneFolderButtonListener listener) {
-        buttonListeners.add(listener);
-    }
-
-    /**
-     * @param listener
-     */
-    public void removeButtonListener(R21PaneFolderButtonListener listener) {
-        buttonListeners.remove(listener);
-    }
-
-    /**
-     * @param newTabPosition
-     */
-    public void setTabPosition(int newTabPosition) {
-        tabPos = newTabPosition;
-        tabFolder.setTabPosition(tabPos);
-    }
-
-    /**
-     * @return int the postion of the tab
-     */
-    public int getTabPosition() {
-        return tabPos;
-    }
-
-    /**
-     * @return boolean <code>true</code> if the receiver has been disposed
-     */
-    public boolean isDisposed() {
-        return tabFolder == null || tabFolder.isDisposed();
-    }
-
-    /**
-     * @param style
-     * @param index
-     * @return CTabItem the created item
-     */
-    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
-
-    /**
-     * @param selection
-     */
-    public void setSelection(int selection) {
-        tabFolder.setSelection(selection);
-    }
-
-    /**
-     * @param i
-     * @param j
-     * @param k
-     * @param l
-     * @return Rectangle the trim rectangle
-     */
-    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 idx
-     * @return CTabItem the indexed item
-     */
-    public CTabItem getItem(int idx) {
-        return tabFolder.getItem(idx);
-    }
-
-    /**
-     * @return int the selected items index
-     */
-    public int getSelectionIndex() {
-        return tabFolder.getSelectionIndex();
-    }
-
-    /**
-     * @return int the height of the tabs
-     */
-    public int getTabHeight() {
-        return tabFolder.getTabHeight();
-    }
-
-    /**
-     * @param toFind
-     * @return int the index of the item to find
-     */
-    public int indexOf(CTabItem toFind) {
-        return tabFolder.indexOf(toFind);
-    }
-
-    /**
-     * @param height
-     */
-    public void setTabHeight(int height) {
-        tabFolder.setTabHeight(height);
-    }
-
-    /**
-     * @return int the item count
-     */
-    public int getItemCount() {
-        return tabFolder.getItemCount();
-    }
-
-    /**
-     * @return CTabItem the items
-     */
-    public CTabItem[] getItems() {
-        return tabFolder.getItems();
-    }
-
-    /**
-     * @param toGet
-     * @return CTabItem the indexed item
-     */
-    public CTabItem getItem(Point toGet) {
-        return tabFolder.getItem(toGet);
-    }
-
-    /**
-     * @return CTabItem the selected item
-     */
-    public CTabItem getSelection() {
-        return tabFolder.getSelection();
-    }
-}
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 ae22f28..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 Eclipse Public License v1.0
- * which accompanies 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.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) {
-    }
-}
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 ba39ba2..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 Eclipse Public License v1.0
- * which accompanies 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.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();
-    }
-
-}
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.properties.tabbed/.classpath b/bundles/org.eclipse.ui.views.properties.tabbed/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.cvsignore b/bundles/org.eclipse.ui.views.properties.tabbed/.cvsignore
deleted file mode 100644
index f0a691e..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.project b/bundles/org.eclipse.ui.views.properties.tabbed/.project
deleted file mode 100644
index 8936bd2..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.views.properties.tabbed</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.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 609f481..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:21:00 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 3f3f5c7..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:21:00 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d8e8469..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:12:29 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.properties.tabbed/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.views.properties.tabbed/META-INF/MANIFEST.MF
deleted file mode 100644
index 8776b41..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.views.properties.tabbed;singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.views.properties.tabbed.internal.TabbedPropertyViewPlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.views.properties.tabbed,
- org.eclipse.ui.views.properties.tabbed.internal;x-internal:=true,
- org.eclipse.ui.views.properties.tabbed.internal.l10n;x-internal:=true,
- org.eclipse.ui.views.properties.tabbed.internal.view;x-internal:=true
-Require-Bundle: org.eclipse.ui.forms;visibility:=reexport,
- org.eclipse.ui.views;visibility:=reexport,
- org.eclipse.ui;visibility:=reexport,
- org.eclipse.core.runtime
-Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/about.html b/bundles/org.eclipse.ui.views.properties.tabbed/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/build.properties b/bundles/org.eclipse.ui.views.properties.tabbed/build.properties
deleted file mode 100644
index a4efc20..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               META-INF/,\
-               about.html
-src.includes = about.html,\
-               schema/
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/plugin.properties b/bundles/org.eclipse.ui.views.properties.tabbed/plugin.properties
deleted file mode 100644
index be38cad..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Tabbed Properties View
-Plugin.providerName = Eclipse.org
-
-ExtPoint.propertyContributor = Property Contributor
-ExtPoint.propertyTabs = Property Tabs
-ExtPoint.propertySections = Property Sections
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/plugin.xml b/bundles/org.eclipse.ui.views.properties.tabbed/plugin.xml
deleted file mode 100644
index 848ec50..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point id="propertyContributor" name="%ExtPoint.propertyContributor" schema="schema/propertyContributor.exsd"/>
-   <extension-point id="propertyTabs" name="%ExtPoint.propertyTabs" schema="schema/propertyTabs.exsd"/>
-   <extension-point id="propertySections" name="%ExtPoint.propertySections" schema="schema/propertySections.exsd"/>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyContributor.exsd b/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyContributor.exsd
deleted file mode 100644
index 2f47353..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyContributor.exsd
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.views.properties.tabbed">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.views.properties.tabbed" id="propertyContributor" name="Property Contributor"/>
-      </appInfo>
-      <documentation>
-         Describes a workbench part that is a contributor of properties to be displayed within tabs in the tabbed property sheet page.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="propertyContributor"/>
-         </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="propertyContributor">
-      <complexType>
-         <sequence>
-            <element ref="propertyCategory" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="contributorId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of the property sheet page contributor.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="typeMapper" type="string">
-            <annotation>
-               <documentation>
-                  The class that implements the type mapper, i.e. implements &lt;tt&gt;org.eclipse.ui.views.properties.tabbed.ITypeMapper&lt;/tt&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.properties.tabbed.ITypeMapper"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="labelProvider" type="string">
-            <annotation>
-               <documentation>
-                  The class that implements the label provider for the title for the property sheet page, i.e. implements &lt;tt&gt;org.eclipse.jface.viewers.ILabelProvider&lt;/tt&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ILabelProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="propertyCategory">
-      <complexType>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  A category used to group tabs.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.views.properties.tabbed.propertyContributor&quot;&gt;
-      &lt;propertyContributor
-            contributorId=&quot;org.eclipse.ui.tests.views.properties.tabbed.views.TestsView&quot;
-            labelProvider=&quot;org.eclipse.ui.tests.views.properties.tabbed.views.LabelProvider&quot;
-            typeMapper=&quot;org.eclipse.ui.tests.views.properties.tabbed.views.TypeMapper&quot;&gt;
-         &lt;propertyCategory category=&quot;first&quot;&gt;
-         &lt;/propertyCategory&gt;
-         &lt;propertyCategory category=&quot;second&quot;&gt;
-         &lt;/propertyCategory&gt;
-      &lt;/propertyContributor&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005, 2006 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertySections.exsd b/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertySections.exsd
deleted file mode 100644
index 73de4a0..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertySections.exsd
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.views.properties.tabbed">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.views.properties.tabbed" id="propertySections" name="Property Sections"/>
-      </appInfo>
-      <documentation>
-         Describes a list of sections to be displayed within tabs that will be contributed to the tabbed property sheet page.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="propertySections"/>
-         </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="propertySections">
-      <complexType>
-         <sequence>
-            <element ref="propertySection" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="contributorId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of the property sheet page contributor.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="propertySection">
-      <complexType>
-         <sequence>
-            <element ref="input" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="tab" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The tab in which this section appears.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id for the section.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The class that implements the section, i.e. extends &lt;tt&gt;org.eclipse.ui.views.properties.tabbed.AbstractPropertySection&lt;/tt&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.properties.tabbed.AbstractPropertySection"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="afterSection" type="string">
-            <annotation>
-               <documentation>
-                  When there is more than one section in a tab, sections are sorted by the afterSection attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="filter" type="string">
-            <annotation>
-               <documentation>
-                  The class that implements a section filter, i.e. implements &lt;tt&gt;org.eclipse.jface.viewers.IFilter&lt;/tt&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.IFilter"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="enablesFor" type="string">
-            <annotation>
-               <documentation>
-                  a value indicating the selection count which must be met to enable the section. If specified and the condition is not met, the section is not displayed. If omitted, the section enablement is not affected. The following attribute formats are currently 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;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 1&amp;quot; enables the section only when 1
-          item is selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="input">
-      <complexType>
-         <attribute name="type" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The selected class or interface that will enable the display on the section in the tab.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.tests.views.properties.tabbed.propertySections&quot;&gt;
-      &lt;propertySections contributorId=&quot;org.eclipse.ui.views.properties.tabbed.views.TestsView&quot;&gt;
-         &lt;propertySection
-               class=&quot;org.eclipse.ui.tests.views.properties.tabbed.sections.NameSection&quot;
-               enablesFor=&quot;1&quot;
-               id=&quot;propertySection1&quot;
-               tab=&quot;propertyTab1&quot;&gt;
-            &lt;input type=&quot;org.eclipse.ui.tests.views.properties.tabbed.model.Element&quot;&gt;
-            &lt;/input&gt;
-         &lt;/propertySection&gt;
-      &lt;/propertySections&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005, 2006 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyTabs.exsd b/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyTabs.exsd
deleted file mode 100644
index 460ec29..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyTabs.exsd
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.views.properties.tabbed">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.views.properties.tabbed" id="propertyTabs" name="Property Tabs"/>
-      </appInfo>
-      <documentation>
-         Describes a list of tabs that will be contributed to the tabbed property sheet page.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="propertyTabs"/>
-         </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="propertyTabs">
-      <complexType>
-         <sequence>
-            <element ref="propertyTab" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="contributorId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of the property sheet page contributor.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="propertyTab">
-      <complexType>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The label to be displayed on the tab.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The category used to group tabs.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="afterTab" type="string">
-            <annotation>
-               <documentation>
-                  When there is more than one tab in a category, tabs are sorted by the afterTab attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id for the tab.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="indented" type="boolean">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="image" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.views.properties.tabbed.propertyTabs&quot;&gt;
-      &lt;propertyTabs contributorId=&quot;org.eclipse.ui.tests.views.properties.tabbed.views.TestsView&quot;&gt;
-         &lt;propertyTab
-               category=&quot;first&quot;
-               id=&quot;propertyTab1&quot;
-               label=&quot;Name&quot;&gt;
-         &lt;/propertyTab&gt;
-         &lt;propertyTab
-               afterTab=&quot;propertyTab1&quot;
-               category=&quot;first&quot;
-               id=&quot;propertyTab2&quot;
-               label=&quot;Project&quot;&gt;
-         &lt;/propertyTab&gt;
-         &lt;propertyTab
-               category=&quot;second&quot;
-               id=&quot;propertyTab8&quot;
-               label=&quot;Message&quot;&gt;
-         &lt;/propertyTab&gt;
-      &lt;/propertyTabs&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005, 2006 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractPropertySection.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractPropertySection.java
deleted file mode 100644
index 73f1371..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractPropertySection.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * An abstract implementation of a section in a tab in the tabbed property sheet
- * page.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractPropertySection
-	implements ISection {
-
-	/**
-	 * The standard label width when labels for sections line up on the left
-	 * hand side of the composite.
-	 */
-	public static final int STANDARD_LABEL_WIDTH = 85;
-
-	/**
-	 * The tabbed property sheet page
-	 */
-	private TabbedPropertySheetPage tabbedPropertySheetPage;
-
-	/**
-	 * The current workbench selection.
-	 */
-	private ISelection selection;
-
-	/**
-	 * The current active workbench part.
-	 */
-	private IWorkbenchPart part;
-
-	/**
-	 * Get the widget factory for the property sheet page.
-	 * 
-	 * @return the widget factory.
-	 */
-	public TabbedPropertySheetWidgetFactory getWidgetFactory() {
-		return tabbedPropertySheetPage.getWidgetFactory();
-	}
-
-	/**
-	 * Get the current workbench selection.
-	 * 
-	 * @return the current workbench selection.
-	 */
-	public ISelection getSelection() {
-		return selection;
-	}
-
-	/**
-	 * @return Returns the part.
-	 */
-	public IWorkbenchPart getPart() {
-		return part;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		this.tabbedPropertySheetPage = aTabbedPropertySheetPage;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#setInput(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		this.selection = selection;
-		this.part = part;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#aboutToBeShown()
-	 */
-	public void aboutToBeShown() {
-		/* empty default implementation */
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#aboutToBeHidden()
-	 */
-	public void aboutToBeHidden() {
-		/* empty default implementation */
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#dispose()
-	 */
-	public void dispose() {
-		/* empty default implementation */
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#getMinimumHeight()
-	 */
-	public int getMinimumHeight() {
-		return SWT.DEFAULT;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#shouldUseExtraSpace()
-	 */
-	public boolean shouldUseExtraSpace() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		/* empty default implementation */
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractTypeMapper.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractTypeMapper.java
deleted file mode 100644
index a2503d8..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractTypeMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-/**
- * Default implementation of a type mapper.
- * 
- * @author Anthony Hunter
- */
-public class AbstractTypeMapper
-    implements ITypeMapper {
-
-    public Class mapType(Object object) {
-        return object.getClass();
-    }
-
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AdvancedPropertySection.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AdvancedPropertySection.java
deleted file mode 100644
index a8b72bc..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AdvancedPropertySection.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-
-/**
- * An advanced section that is intended to show the original table format properties view
- * provided by base Eclipse.
- * 
- * @author Anthony Hunter 
- */
-public class AdvancedPropertySection
-	extends AbstractPropertySection {
-
-	/**
-	 * The Property Sheet Page.
-	 */
-	protected PropertySheetPage page;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		page = new PropertySheetPage();
-
-		page.createControl(composite);
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-		data.height = 100;
-		data.width = 100;
-		page.getControl().setLayoutData(data);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#setInput(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		super.setInput(part, selection);
-		page.selectionChanged(part, selection);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-
-		if (page != null) {
-			page.dispose();
-			page = null;
-		}
-
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		page.refresh();
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#shouldUseExtraSpace()
-	 */
-	public boolean shouldUseExtraSpace() {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISection.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISection.java
deleted file mode 100644
index ca1d608..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISection.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Represents a section of properties for a given input.
- * <p>
- * The lifecycle of an ISection is as follows:
- * <ul>
- * <li><code>ISection.createControls()</code></li>
- * <li><code>ISection.setInput()</code></li>
- * <li><code>ISection.aboutToBeShown()</code></li>
- * <li><code>ISection.refresh()</code></li>
- * <li><code>ISection.aboutToBeHidden()</code></li>
- * <li><code>ISection.dispose()</code></li>
- * </ul>
- * </p>
- * <p>
- * Implementors of this class should be aware that a section instance might be
- * reused for different input objects (as long as they are valid section
- * inputs). It means that <code>ISection.setInput</code> can be called at any
- * time between <code>ISection.createControls</code> and
- * <code>ISection.dispose</code>.
- * </p>
- * <p>
- * When an input change event occurs, such as a tab selection or a workbench
- * selection change, an ISection is sent:
- * <ul>
- * <li><code>ISection.setInput()</code></li>
- * <li><code>ISection.refresh()</code></li>
- * </ul>
- * </p>
- * <p>
- * When an part activation event occurs, such as the contributor part activation
- * event, an ISection is sent:
- * <ul>
- * <li><code>ISection.setInput()</code></li>
- * <li><code>ISection.aboutToBeShown()</code></li>
- * <li><code>ISection.refresh()</code></li>
- * <li><code>ISection.setInput()</code></li>
- * <li><code>ISection.refresh()</code></li>
- * </ul>
- * This is because both a tab selection event and an input selection event have
- * occurred.
- * </p>
- * 
- * @see org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage
- * 
- * @author Anthony Hunter
- */
-public interface ISection {
-
-	/**
-	 * Creates the controls for the section.
-	 * <p>
-	 * Clients should take advantage of the widget factory provided by the
-	 * framework to achieve a common look between property sections.
-	 * </p>
-	 * @see org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage#getWidgetFactory()
-	 * 
-	 * @param parent
-	 *            the parent composite for the section.
-	 * @param tabbedPropertySheetPage
-	 *            the tabbed property sheet page.
-	 */
-	public abstract void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage);
-
-	/**
-	 * Notifies the section that the workbench selection has changed. 
-	 * @param part The active workench part.
-	 * @param selection The active selection in the workbench part.
-	 */
-	public abstract void setInput(IWorkbenchPart part, ISelection selection);
-
-	/**
-	 * Notifies the section that its controls are about to be shown. It is
-	 * expected that sections enable domain related functions in this method,
-	 * most commonly add listeners.
-	 * <p>
-	 * Since the controls are not visible, the section should wait for the
-	 * refresh() before updating the section controls.
-	 * </p>
-	 */
-	public abstract void aboutToBeShown();
-
-	/**
-	 * Notifies the section that its controls are about to be hidden. It is
-	 * expected that sections disable domain related functions in this method,
-	 * most commonly remove listeners.
-	 */
-	public abstract void aboutToBeHidden();
-
-	/**
-	 * Dispose this section.
-	 */
-	public abstract void dispose();
-
-	/**
-	 * Returns the minimum height needed by this section. A return value of
-	 * <code>SWT.DEFAULT</code> indicates that no minimum height is defined.
-	 * 
-	 * @return the minimum height needed by this section.
-	 */
-	public abstract int getMinimumHeight();
-
-	/**
-	 * Determine whether this section would like extra height space in case
-	 * there is some left. Normally this is true when the section is the last to
-	 * be displayed on a tab or is the only section on a tab.
-	 * @return <code>true</code> if this section would like extra height space.
-	 */
-	public abstract boolean shouldUseExtraSpace();
-
-	/**
-	 * Refresh the contents of the controls displayed in this section.
-	 */
-	public abstract void refresh();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptor.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptor.java
deleted file mode 100644
index c2685df..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptor.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IFilter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Represents a section descriptor on the tabbed property sections extensions.
- * 
- * @author Anthony Hunter 
- */
-public interface ISectionDescriptor {
-
-	/**
-	 * If enabledFor is not specified in the descriptor, enable for any selection.
-	 */
-	public final int ENABLES_FOR_ANY = -1;
-
-	/**
-	 * Get the unique identifier for the section.
-	 * 
-	 * @return the unique identifier for the section.
-	 */
-	public String getId();
-
-	/**
-	 * Get the section filter instance for this section. Return null if no
-	 * filter for this section.
-	 * 
-	 * @return the section filter instance.
-	 */
-	public IFilter getFilter();
-
-	/**
-	 * Get the valid input types for this section.
-	 * 
-	 * @return the valid input types for this section.
-	 */
-	public List getInputTypes();
-
-	/**
-	 * Get the class that implements this section.
-	 * 
-	 * @return the class that implements this section.
-	 */
-	public ISection getSectionClass();
-
-	/**
-	 * Get the target tab where this section will appear.
-	 * 
-	 * @return the target tab where this section will appear.
-	 */
-	public String getTargetTab();
-
-	/**
-	 * Get the value for section enablement which is a precise number of
-	 * items selected. For example: enablesFor="1" enables the section only when
-	 * one item is selected. If not specified, enable for any selection and return ENABLES_FOR_ANY.
-	 * 
-	 * @return the value for section enablement.
-	 */
-	public int getEnablesFor();
-		
-	/**
-	 * Determines if this section applies to the selection.
-	 * @param part the current workbench part.
-	 * @param selection the selection.
-	 * @return <code>true</code> if this section applies to the current
-	 *         selection.
-	 */
-	public boolean appliesTo(IWorkbenchPart part, ISelection selection);
-
-	/**
-	 * Get the section identifier below which this section is displayed. <code>"top"</code>
-	 * is returned if this section is the top most section or if there is one
-	 * section in the tab.
-	 * 
-	 * @return the section identifier.
-	 */
-	public String getAfterSection();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptorProvider.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptorProvider.java
deleted file mode 100644
index e47aeb4..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptorProvider.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-/**
- * Represents a section descriptor provider for tabbed property sections.
- * 
- * @author Anthony Hunter
- */
-public interface ISectionDescriptorProvider {
-
-	/**
-	 * Returns all section descriptors for the contributor.
-	 * @return all section descriptors.
-	 */
-	public ISectionDescriptor[] getSectionDescriptors();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabItem.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabItem.java
deleted file mode 100644
index 9cd387c..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabItem.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Represents a tab to be displayed in the tab list in the tabbed property sheet
- * page.
- * 
- * @author Anthony Hunter 
- */
-public interface ITabItem {
-
-	/**
-	 * Get the icon image for the tab.
-	 * 
-	 * @return the icon image for the tab.
-	 */
-	public Image getImage();
-
-	/**
-	 * Get the text label for the tab.
-	 * 
-	 * @return the text label for the tab.
-	 */
-	public String getText();
-
-	/**
-	 * Determine if this tab is selected.
-	 * 
-	 * @return <code>true</code> if this tab is selected.
-	 */
-	public boolean isSelected();
-
-	/**
-	 * Determine if this tab is indented.
-	 * 
-	 * @return <code>true</code> if this tab is indented.
-	 */
-	public boolean isIndented();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabSelectionListener.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabSelectionListener.java
deleted file mode 100644
index 4fb09d3..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabSelectionListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-import org.eclipse.ui.views.properties.tabbed.internal.view.TabDescriptor;
-
-/**
- * A listener interested in tab selection events that occur for the tabbed
- * property sheet page.
- * 
- * @author Anthony Hunter 
- */
-public interface ITabSelectionListener {
-
-	/**
-	 * Notifies this listener that the selected tab has changed.
-	 * 
-	 * @param tabDescriptor
-	 *            the selected tab descriptor.
-	 */
-	public void tabSelected(TabDescriptor tabDescriptor);
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertyConstants.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertyConstants.java
deleted file mode 100644
index 8b9395c..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertyConstants.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-/**
- * Constants used by the implementors of ITabbedPropertySection.
- * 
- * @author Anthony Hunter 
- */
-public interface ITabbedPropertyConstants {
-
-	/**
-	 * These horizontal margin around the composite.
-	 * Each section should use a margin of 0, 0.
-	 */
-	public static final int HMARGIN = 6;
-	
-	/**
-	 * These horizontal margin around the composite.
-	 */
-	public static final int VMARGIN = 6;
-
-	/**
-	 * Horizontal space to leave between related widgets. 
-	 * Each section should use these values for spacing its widgets. 
-	 * For example, you can use +/- HSPACE as the offset of a left or 
-	 * right FlatFormAttachment.
-	 * 
-	 * The tabbed property composite also inserts VSPACE pixels between 
-	 * section composites if more than one section is displayed.  
-	 */
-	public static final int HSPACE = 5;
-	
-	/**
-	 * Horizontal space to leave between related widgets.
-	 */ 
-	public static final int VSPACE = 4;
-
-	/**
-	 * Space to leave between the center of the property tab and the closest
-	 * widget to the left or right. I.e. for a property tab whose widgets are
-	 * logically divided into two halves, the total space between the halves
-	 * should be 2*CENTER_SPACE.
-	 */
-	public static final int CENTER_SPACE = 10;
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertySheetPageContributor.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertySheetPageContributor.java
deleted file mode 100644
index 3b5b009..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertySheetPageContributor.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-/**
- * Interface for a workbench part to contribute content to the tabbed property
- * view.
- * <p>
- * It is expected that the contributor ID is unique for a configuration of tabs
- * and sections. Editors and views can share a configuration by sharing a
- * contributor ID. Editors and views cannot share tabs and sections from
- * multiple contributors.
- * </p>
- * <p>
- * As a workaround, if all the elements in a structured selection implement
- * ITabbedPropertySheetPageContributor and they all return the same unique
- * contributor ID, then that configuration of tabs and sections will be used by
- * the tabbed property view for that selection.
- * </p>
- * 
- * @author Anthony Hunter
- */
-public interface ITabbedPropertySheetPageContributor {
-
-	/**
-	 * Returns the contributor ID for the tabbed property sheet page.
-	 * 
-	 * @return the contributor ID for the tabbed property sheet page.
-	 */
-	public String getContributorId();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITypeMapper.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITypeMapper.java
deleted file mode 100644
index 3305407..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITypeMapper.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-/**
- * Allows property sheet page contributors to map the input object type to a
- * domain model type. The domain model type is then used for matching against
- * the input attribute of the propertySection extension.
- * <p>
- * The type mapper is most frequently used to return the type of the model
- * object when selecting a view object in a workbench part. For example, nodes
- * in a tree may all be TreeObjects in a structured selection. The type mapper
- * will take the tree node and return the type of the model object the node
- * represents.
- * </p>
- * <p>
- * Clients should extend AbstractTypeMapper which provides a default
- * implementation of this interface.
- * </p>
- * 
- * @author Anthony Hunter
- */
-public interface ITypeMapper {
-
-	/**
-	 * Map the input object to a domain model type.
-	 * 
-	 * @param object
-	 *            the input object.
-	 * @return the type of the input object, mapped to the domain type if
-	 *         required.
-	 */
-	public Class mapType(Object object);
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
deleted file mode 100644
index 2272abb..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
+++ /dev/null
@@ -1,853 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.IContributedContentsView;
-import org.eclipse.ui.part.Page;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.PropertySheet;
-import org.eclipse.ui.views.properties.tabbed.internal.view.Tab;
-import org.eclipse.ui.views.properties.tabbed.internal.view.TabDescriptor;
-import org.eclipse.ui.views.properties.tabbed.internal.view.TabListContentProvider;
-import org.eclipse.ui.views.properties.tabbed.internal.view.TabbedPropertyComposite;
-import org.eclipse.ui.views.properties.tabbed.internal.view.TabbedPropertyRegistry;
-import org.eclipse.ui.views.properties.tabbed.internal.view.TabbedPropertyRegistryFactory;
-import org.eclipse.ui.views.properties.tabbed.internal.view.TabbedPropertyTitle;
-import org.eclipse.ui.views.properties.tabbed.internal.view.TabbedPropertyViewer;
-
-/**
- * A property sheet page that provides a tabbed UI.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertySheetPage
-	extends Page
-	implements IPropertySheetPage, ILabelProviderListener {
-
-	// widgets
-	private TabbedPropertyComposite tabbedPropertyComposite;
-
-	private TabbedPropertySheetWidgetFactory widgetFactory;
-
-	private ITabbedPropertySheetPageContributor contributor;
-
-	private TabbedPropertyRegistry registry;
-
-	private ITabbedPropertySheetPageContributor selectionContributor = null;
-
-	/**
-	 * The currently active contributor id, which may not match the contributor
-	 * id from the workbench part that created this instance.
-	 */
-	private String currentContributorId;
-
-	protected IStructuredContentProvider tabListContentProvider;
-
-	private ISelection currentSelection;
-
-	private boolean activePropertySheet;
-
-	private TabbedPropertyViewer tabbedPropertyViewer;
-
-	private Tab currentTab;
-
-	private Map descriptorToTab;
-
-	private Map tabToComposite;
-
-	private List selectionQueue;
-
-	private boolean selectionQueueLocked;
-
-	private List tabSelectionListeners;
-
-	private IWorkbenchWindow cachedWorkbenchWindow;
-
-	private boolean hasTitleBar;
-
-	/**
-	 * a listener that is interested in part activation events.
-	 */
-	private IPartListener partActivationListener = new IPartListener() {
-
-		public void partActivated(IWorkbenchPart part) {
-			handlePartActivated(part);
-		}
-
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-
-		public void partClosed(IWorkbenchPart part) {
-		}
-
-		public void partDeactivated(IWorkbenchPart part) {
-		}
-
-		public void partOpened(IWorkbenchPart part) {
-		}
-	};
-
-	private class TabbedPropertySheetPageContributorFromSelection
-		implements ITabbedPropertySheetPageContributor {
-
-		private String contributorId;
-
-		/**
-		 * Constructor that takes in a contributor id taken from a selection.
-		 * 
-		 * @param contributorId
-		 *            the contributor id.
-		 */
-		public TabbedPropertySheetPageContributorFromSelection(
-				String contributorId) {
-			super();
-			this.contributorId = contributorId;
-		}
-
-		/**
-		 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor#getContributorId()
-		 */
-		public String getContributorId() {
-			return contributorId;
-		}
-
-	}
-
-	/**
-	 * Label provider for the ListViewer.
-	 */
-	class TabbedPropertySheetPageLabelProvider
-		extends LabelProvider {
-
-		public String getText(Object element) {
-			if (element instanceof TabDescriptor) {
-				return ((TabDescriptor) element).getLabel();
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * SelectionChangedListener for the ListViewer.
-	 */
-	class SelectionChangedListener
-		implements ISelectionChangedListener {
-
-		/**
-		 * Shows the tab associated with the selection.
-		 */
-		public void selectionChanged(SelectionChangedEvent event) {
-			IStructuredSelection selection = (IStructuredSelection) event
-				.getSelection();
-			Tab tab = null;
-			TabDescriptor descriptor = (TabDescriptor) selection
-				.getFirstElement();
-
-			if (descriptor == null) {
-				// pretend the tab is empty.
-				hideTab(currentTab);
-			} else {
-				// create tab if necessary
-				// can not cache based on the id - tabs may have the same id,
-				// but different section depending on the selection
-				tab = (Tab) descriptorToTab.get(descriptor);
-
-				if (tab != currentTab)
-					hideTab(currentTab);
-
-				Composite tabComposite = (Composite) tabToComposite.get(tab);
-				if (tabComposite == null) {
-					tabComposite = createTabComposite();
-					tab.createControls(tabComposite,
-						TabbedPropertySheetPage.this);
-					// tabAreaComposite.layout(true);
-					tabToComposite.put(tab, tabComposite);
-				}
-				// force widgets to be resized
-				tab.setInput(tabbedPropertyViewer.getWorkbenchPart(),
-					(ISelection) tabbedPropertyViewer.getInput());
-
-				// store tab selection
-				storeCurrentTabSelection(descriptor.getLabel());
-
-				if (tab != currentTab)
-					showTab(tab);
-
-				tab.refresh();
-			}
-			tabbedPropertyComposite.getTabComposite().layout(true);
-			currentTab = tab;
-			resizeScrolledComposite();
-
-			if (descriptor != null)
-				handleTabSelection(descriptor);
-		}
-
-		/**
-		 * Shows the given tab.
-		 */
-		private void showTab(Tab target) {
-			if (target != null) {
-				Composite tabComposite = (Composite) tabToComposite.get(target);
-				if (tabComposite != null) {
-					/**
-					 * the following method call order is important - do not
-					 * change it or the widgets might be drawn incorrectly
-					 */
-					tabComposite.moveAbove(null);
-					target.aboutToBeShown();
-					tabComposite.setVisible(true);
-				}
-			}
-		}
-
-		/**
-		 * Hides the given tab.
-		 */
-		private void hideTab(Tab target) {
-			if (target != null) {
-				Composite tabComposite = (Composite) tabToComposite.get(target);
-				if (tabComposite != null) {
-					target.aboutToBeHidden();
-					tabComposite.setVisible(false);
-				}
-			}
-		}
-
-	}
-
-	/**
-	 * create a new tabbed property sheet page.
-	 * 
-	 * @param tabbedPropertySheetPageContributor
-	 *            the tabbed property sheet page contributor.
-	 */
-	public TabbedPropertySheetPage(
-			ITabbedPropertySheetPageContributor tabbedPropertySheetPageContributor) {
-		contributor = tabbedPropertySheetPageContributor;
-		tabToComposite = new HashMap();
-		selectionQueue = new ArrayList(10);
-		tabSelectionListeners = new ArrayList();
-		initContributor(contributor.getContributorId());
-	}
-
-	/**
-	 * Handle the part activated event.
-	 * 
-	 * @param part
-	 *            the new activated part.
-	 */
-	protected void handlePartActivated(IWorkbenchPart part) {
-		/*
-		 * The properties view has been activated and the current page is this
-		 * instance of TabbedPropertySheetPage
-		 */
-		boolean thisActivated = part instanceof PropertySheet
-			&& ((PropertySheet) part).getCurrentPage() == this;
-
-		/*
-		 * When the active part changes and the part does not provide a
-		 * selection that affects this property sheet page, the PropertySheet
-		 * does not send us a selectionChanged() event. We need to be informed
-		 * of these events since we want to send aboutToBeHidden() and
-		 * aboutToBeShown() when the property sheet is hidden or shown.
-		 */
-		if (!thisActivated && !part.equals(contributor)) {
-			/*
-			 * Is the part is a IContributedContentsView for the contributor,
-			 * for example, outline view.
-			 */
-			IContributedContentsView view = (IContributedContentsView) part
-				.getAdapter(IContributedContentsView.class);
-			if (view == null
-				|| (view.getContributingPart() != null && !view
-					.getContributingPart().equals(contributor))) {
-				if (activePropertySheet) {
-					if (currentTab != null) {
-						currentTab.aboutToBeHidden();
-					}
-					activePropertySheet = false;
-				}
-				return;
-			}
-		}
-		if (!activePropertySheet && currentTab != null) {
-			currentTab.aboutToBeShown();
-			currentTab.refresh();
-		}
-		activePropertySheet = true;
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		widgetFactory = new TabbedPropertySheetWidgetFactory();
-		tabbedPropertyComposite = new TabbedPropertyComposite(parent,
-			widgetFactory, hasTitleBar);
-		widgetFactory.paintBordersFor(tabbedPropertyComposite);
-		tabbedPropertyComposite.setLayout(new FormLayout());
-		FormData formData = new FormData();
-		formData.left = new FormAttachment(0, 0);
-		formData.right = new FormAttachment(100, 0);
-		formData.top = new FormAttachment(0, 0);
-		formData.bottom = new FormAttachment(100, 0);
-		tabbedPropertyComposite.setLayoutData(formData);
-
-		tabbedPropertyViewer = new TabbedPropertyViewer(tabbedPropertyComposite
-			.getList());
-		tabbedPropertyViewer.setContentProvider(tabListContentProvider);
-		tabbedPropertyViewer
-			.setLabelProvider(new TabbedPropertySheetPageLabelProvider());
-		tabbedPropertyViewer
-			.addSelectionChangedListener(new SelectionChangedListener());
-
-		tabbedPropertyComposite.getScrolledComposite().addControlListener(
-			new ControlAdapter() {
-
-				public void controlResized(ControlEvent e) {
-					resizeScrolledComposite();
-				}
-			});
-
-		/**
-		 * Add a part activation listener.
-		 */
-		cachedWorkbenchWindow = getSite().getWorkbenchWindow();
-		cachedWorkbenchWindow.getPartService().addPartListener(
-			partActivationListener);
-
-		/**
-		 * Add a label provider change listener.
-		 */
-		if (hasTitleBar) {
-			registry.getLabelProvider().addListener(this);
-		}
-	}
-
-	/**
-	 * Initialize the contributor with the provided contributor id.
-	 * 
-	 * @param contributorId
-	 *            the contributor id.
-	 */
-	private void initContributor(String contributorId) {
-		descriptorToTab = new HashMap();
-		if (contributor.getContributorId().equals(contributorId)) {
-			/**
-			 * default contributor from the workbench part.
-			 */
-			registry = TabbedPropertyRegistryFactory.getInstance()
-				.createRegistry(contributor);
-		} else {
-			/**
-			 * selection contributor.
-			 */
-			selectionContributor = new TabbedPropertySheetPageContributorFromSelection(
-				contributorId);
-			registry = TabbedPropertyRegistryFactory.getInstance()
-				.createRegistry(selectionContributor);
-		}
-		currentContributorId = contributorId;
-		tabListContentProvider = getTabListContentProvider();
-		hasTitleBar = registry.getLabelProvider() != null;
-
-		if (tabbedPropertyViewer != null) {
-			tabbedPropertyViewer.setContentProvider(tabListContentProvider);
-		}
-
-		/**
-		 * Add a label provider change listener.
-		 */
-		if (hasTitleBar) {
-			registry.getLabelProvider().addListener(this);
-		}
-
-	}
-
-	/**
-	 * Gets the tab list content provider for the contributor.
-	 * 
-	 * @return the tab list content provider for the contributor.
-	 */
-	protected IStructuredContentProvider getTabListContentProvider() {
-		return new TabListContentProvider(registry);
-	}
-
-	/**
-	 * Dispose the contributor with the provided contributor id. This happens on
-	 * part close as well as when contributiors switch between the workbench
-	 * part and contributor from a selection.
-	 * 
-	 * @param contributorId
-	 *            the contributor id.
-	 */
-	private void disposeContributor(String contributorId) {
-        Assert.isTrue(contributor.getContributorId().equals(contributorId));
-		/**
-		 * If the current tab is about to be disposed we have to call
-		 * aboutToBeHidden
-		 */
-		if (currentTab != null) {
-			currentTab.aboutToBeHidden();
-			currentTab = null;
-		}
-
-		disposeTabs(descriptorToTab.values());
-		descriptorToTab = new HashMap();
-
-		/**
-		 * Remove the label provider change listener.
-		 */
-		if (hasTitleBar && registry != null) {
-			registry.getLabelProvider().removeListener(this);
-		}
-
-		if (selectionContributor != null) {
-			/**
-			 * remove the selection contributed registry.
-			 */
-			TabbedPropertyRegistryFactory.getInstance().disposeRegistry(
-				selectionContributor);
-			selectionContributor = null;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#dispose()
-	 */
-	public void dispose() {
-
-		disposeContributor(currentContributorId);
-
-		if (widgetFactory != null) {
-			widgetFactory.dispose();
-			widgetFactory = null;
-		}
-		/**
-		 * Remove the part activation listener.
-		 */
-		if (cachedWorkbenchWindow != null) {
-			cachedWorkbenchWindow.getPartService().removePartListener(
-				partActivationListener);
-			cachedWorkbenchWindow = null;
-		}
-
-		if (registry != null) {
-			TabbedPropertyRegistryFactory.getInstance().disposeRegistry(
-				contributor);
-			registry = null;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#getControl()
-	 */
-	public Control getControl() {
-		return tabbedPropertyComposite;
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#setActionBars(org.eclipse.ui.IActionBars)
-	 */
-	public void setActionBars(IActionBars actionBars) {
-		// Override the undo and redo global action handlers
-		// to use the contributor action handlers
-		if (contributor instanceof IEditorPart) {
-			IEditorPart editorPart = (IEditorPart) contributor;
-			IActionBars editorActionBars = editorPart.getEditorSite()
-				.getActionBars();
-			actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(),
-				editorActionBars.getGlobalActionHandler(ActionFactory.UNDO
-					.getId()));
-			actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(),
-				editorActionBars.getGlobalActionHandler(ActionFactory.REDO
-					.getId()));
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#setFocus()
-	 */
-	public void setFocus() {
-		getControl().setFocus();
-	}
-
-	/**
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		setInput(part, selection);
-	}
-
-	/**
-	 * Stores the current tab label in the selection queue. Tab labels are used
-	 * to carry the tab context from one input object to another. The queue
-	 * specifies the selection priority. So if the first tab in the queue is not
-	 * available for the input we try the second tab and so on. If none of the
-	 * tabs are available we default to the first tab available for the input.
-	 */
-	private void storeCurrentTabSelection(String label) {
-		if (!selectionQueueLocked) {
-			selectionQueue.remove(label);
-			selectionQueue.add(0, label);
-		}
-	}
-
-	private void resizeScrolledComposite() {
-		Point currentTabSize = new Point(0, 0);
-		if (currentTab != null) {
-			Composite sizeReference = (Composite) tabToComposite
-				.get(currentTab);
-			currentTabSize.y = (sizeReference != null) ? sizeReference
-				.computeSize(SWT.DEFAULT, SWT.DEFAULT).y
-				: 0;
-			currentTabSize.x = (sizeReference != null) ? sizeReference
-				.computeSize(SWT.DEFAULT, SWT.DEFAULT).x
-				: 0;
-		}
-		if (hasTitleBar) {
-			int titleHeight = tabbedPropertyComposite.getTitle().computeSize(
-				SWT.DEFAULT, SWT.DEFAULT).y;
-			currentTabSize.y += titleHeight;
-		}
-		tabbedPropertyComposite.getScrolledComposite().setMinSize(
-			currentTabSize.x, currentTabSize.y);
-	}
-
-	private void disposeTabs(Collection tabs) {
-		for (Iterator iter = tabs.iterator(); iter.hasNext();) {
-			Tab tab = (Tab) iter.next();
-			Composite composite = (Composite) tabToComposite.remove(tab);
-			tab.dispose();
-			if (composite != null) {
-				composite.dispose();
-			}
-		}
-	}
-
-	/**
-	 * Returns the last known selected tab for the given input.
-	 */
-	private int getLastTabSelection(IWorkbenchPart part, ISelection input) {
-		TabDescriptor[] descriptors = registry.getTabDescriptors(part, input);
-		if (descriptors.length != 0) {
-			for (Iterator iter = selectionQueue.iterator(); iter.hasNext();) {
-				String text = (String) iter.next();
-				for (int i = 0; i < descriptors.length; i++) {
-					if (text.equals(descriptors[i].getLabel())) {
-						return i;
-					}
-				}
-			}
-		}
-		return 0;
-	}
-
-	/**
-	 * Update the current tabs to represent the given input object. When tabs
-	 * apply for both the old and new input they are reused otherwise they are
-	 * disposed. If the current visible tab will not be reused (i.e. will be
-	 * disposed) we have to send it an aboutToBeHidden() message.
-	 */
-	protected void updateTabs(TabDescriptor[] descriptors) {
-		Map newTabs = new HashMap(descriptors.length * 2);
-		boolean disposingCurrentTab = (currentTab != null);
-		for (int i = 0; i < descriptors.length; i++) {
-			Tab tab = (Tab) descriptorToTab.remove(descriptors[i]);
-
-			if (tab != null && tab.controlsHaveBeenCreated()) {
-				if (tab == currentTab)
-					disposingCurrentTab = false;
-			} else {
-				tab = (descriptors[i]).createTab();
-			}
-
-			newTabs.put(descriptors[i], tab);
-		}
-		if (disposingCurrentTab) {
-			/**
-			 * If the current tab is about to be disposed we have to call
-			 * aboutToBeHidden
-			 */
-			currentTab.aboutToBeHidden();
-			currentTab = null;
-		}
-		disposeTabs(descriptorToTab.values());
-		descriptorToTab = newTabs;
-	}
-
-	/**
-	 * Helper method for creating property tab composites.
-	 */
-	private Composite createTabComposite() {
-		Composite result = widgetFactory.createComposite(
-			tabbedPropertyComposite.getTabComposite(), SWT.NO_FOCUS);
-		result.setVisible(false);
-		result.setLayout(new FillLayout());
-		FormData data = new FormData();
-		if (hasTitleBar) {
-			data.top = new FormAttachment(tabbedPropertyComposite.getTitle(), 0);
-		} else {
-			data.top = new FormAttachment(0, 0);
-		}
-		data.bottom = new FormAttachment(100, 0);
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		result.setLayoutData(data);
-		return result;
-	}
-
-	private void setInput(IWorkbenchPart part, ISelection selection) {
-		if (selection.equals(currentSelection)) {
-			return;
-		}
-
-		this.currentSelection = selection;
-
-		// see if the selection provides a new contributor
-		validateRegistry(selection);
-		TabDescriptor[] descriptors = registry.getTabDescriptors(part,
-			currentSelection);
-		// If there are no descriptors for the given input we do not need to
-		// touch the tab objects. We might reuse them for the next valid
-		// input.
-		if (descriptors.length > 0) {
-			updateTabs(descriptors);
-		}
-		// update tabs list
-		tabbedPropertyViewer.setInput(part, currentSelection);
-		int lastTabSelectionIndex = getLastTabSelection(part, currentSelection);
-		Object selectedTab = tabbedPropertyViewer
-			.getElementAt(lastTabSelectionIndex);
-		selectionQueueLocked = true;
-		try {
-			if (selectedTab == null) {
-				tabbedPropertyViewer.setSelection(null);
-			} else {
-				tabbedPropertyViewer.setSelection(new StructuredSelection(
-					selectedTab));
-			}
-		} finally {
-			selectionQueueLocked = false;
-		}
-		refreshTitleBar();
-	}
-
-	/**
-	 * Refresh the currently active tab.
-	 */
-	public void refresh() {
-		currentTab.refresh();
-	}
-
-	/**
-	 * Get the currently active tab.
-	 * 
-	 * @return the currently active tab.
-	 */
-	public Tab getCurrentTab() {
-		return currentTab;
-	}
-
-	/**
-	 * Handle the tab selected change event.
-	 * 
-	 * @param tabDescriptor
-	 *            the new selected tab.
-	 */
-	private void handleTabSelection(TabDescriptor tabDescriptor) {
-		if (selectionQueueLocked) {
-			/*
-			 * don't send tab selection events for non user changes.
-			 */
-			return;
-		}
-		for (Iterator i = tabSelectionListeners.iterator(); i.hasNext();) {
-			ITabSelectionListener listener = (ITabSelectionListener) i.next();
-			listener.tabSelected(tabDescriptor);
-		}
-	}
-
-	/**
-	 * Add a tab selection listener.
-	 * 
-	 * @param listener
-	 *            a tab selection listener.
-	 */
-	public void addTabSelectionListener(ITabSelectionListener listener) {
-		tabSelectionListeners.add(listener);
-	}
-
-	/**
-	 * Remove a tab selection listener.
-	 * 
-	 * @param listener
-	 *            a tab selection listener.
-	 */
-	public void removeTabSelectionListener(ITabSelectionListener listener) {
-		tabSelectionListeners.remove(listener);
-	}
-
-	/**
-	 * Get the widget factory.
-	 * 
-	 * @return the widget factory.
-	 */
-	public TabbedPropertySheetWidgetFactory getWidgetFactory() {
-		return widgetFactory;
-	}
-
-	/**
-	 * Update the title bar of the contributor has a label provider.
-	 */
-	private void refreshTitleBar() {
-		if (hasTitleBar) {
-			TabbedPropertyTitle title = tabbedPropertyComposite.getTitle();
-			if (currentTab == null) {
-				/**
-				 * No tabs are shown so hide the title bar, otherwise you see
-				 * "No properties available" and a title bar for the selection.
-				 */
-				title.setTitle(null, null);
-			} else {
-				String text = registry.getLabelProvider().getText(
-					currentSelection);
-				Image image = registry.getLabelProvider().getImage(
-					currentSelection);
-				title.setTitle(text, image);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProviderListener#labelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent)
-	 */
-	public void labelProviderChanged(LabelProviderChangedEvent event) {
-		refreshTitleBar();
-	}
-
-	/**
-	 * The workbench part creates this instance of the TabbedPropertySheetPage
-	 * and implements ITabbedPropertySheetPageContributor which is unique
-	 * contributor id. This unique contributor id is used to load a registry
-	 * with the extension point This id matches the registry.
-	 * <p>
-	 * It is possible for elements in a selection to implement
-	 * ITabbedPropertySheetPageContributor to provide a different contributor id
-	 * and thus a differenent registry.
-	 * 
-	 * @param selection
-	 *            the current selection in the active workbench part.
-	 */
-	private void validateRegistry(ISelection selection) {
-		if (selection == null) {
-			return;
-		}
-
-		if (!(selection instanceof IStructuredSelection)) {
-			return;
-		}
-
-		IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-		if (structuredSelection.size() == 0) {
-			return;
-		}
-
-		if (!(structuredSelection.getFirstElement() instanceof ITabbedPropertySheetPageContributor)) {
-			/**
-			 * selection does not implement ITabbedPropertySheetPageContributor.
-			 */
-			return;
-		}
-
-		if (((ITabbedPropertySheetPageContributor) structuredSelection
-			.getFirstElement()).getContributorId().equals(currentContributorId)) {
-			/**
-			 * selection has the same contributor id as current, so leave
-			 * existing registry.
-			 */
-			return;
-		}
-
-		/**
-		 * Selection implements ITabbedPropertySheetPageContributor different
-		 * than current contributor id, so make sure all elements implement the
-		 * new id. If all contributor id do not match, then fall back to default
-		 * contributor from the workbench part.
-		 */
-		Iterator i = structuredSelection.iterator();
-		Object o = i.next();
-		String selectionContributorId = ((ITabbedPropertySheetPageContributor) o)
-			.getContributorId();
-		while (i.hasNext()) {
-			o = i.next();
-			if (!(o instanceof ITabbedPropertySheetPageContributor)
-				|| !((ITabbedPropertySheetPageContributor) o)
-					.getContributorId().equals(selectionContributorId)) {
-				/**
-				 * fall back to use the default contributor id from the
-				 * workbench part.
-				 */
-				if (selectionContributor != null) {
-					disposeContributor(currentContributorId);
-					currentContributorId = contributor.getContributorId();
-					initContributor(currentContributorId);
-				}
-				return;
-			}
-		}
-
-		/**
-		 * All the elements in the selection implement a new contributor id, so
-		 * use that id.
-		 */
-		disposeContributor(currentContributorId);
-		currentContributorId = selectionContributorId;
-		initContributor(currentContributorId);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetWidgetFactory.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetWidgetFactory.java
deleted file mode 100644
index 3f454d5..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetWidgetFactory.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * A FormToolkit customized for use by tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertySheetWidgetFactory
-    extends FormToolkit {
-
-    /**
-     * private constructor.
-     */
-    public TabbedPropertySheetWidgetFactory() {
-        super(Display.getCurrent());
-    }
-
-    /**
-     * Creates the tab folder as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @param style
-     *            the tab folder style.
-     * @return the tab folder
-     */
-    public CTabFolder createTabFolder(Composite parent, int style) {
-        CTabFolder tabFolder = new CTabFolder(parent, style);
-        return tabFolder;
-    }
-
-    /**
-     * Creates the tab item as a part of the tab folder.
-     * 
-     * @param tabFolder
-     *            the parent.
-     * @param style
-     *            the tab folder style.
-     * @return the tab item.
-     */
-    public CTabItem createTabItem(CTabFolder tabFolder, int style) {
-        CTabItem tabItem = new CTabItem(tabFolder, style);
-        return tabItem;
-    }
-
-    /**
-     * Creates the list as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @param style
-     *            the list style.
-     * @return the list.
-     */
-    public List createList(Composite parent, int style) {
-        List list = new org.eclipse.swt.widgets.List(parent, style);
-        return list;
-    }
-
-    public Composite createComposite(Composite parent, int style) {
-        Composite c = super.createComposite(parent, style);
-        paintBordersFor(c);
-        return c;
-    }
-
-    public Composite createComposite(Composite parent) {
-        Composite c = createComposite(parent, SWT.NONE);
-        return c;
-    }
-
-    /**
-     * Creates a plain composite as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @param style
-     *            the composite style.
-     * @return the composite.
-     */
-    public Composite createPlainComposite(Composite parent, int style) {
-        Composite c = super.createComposite(parent, style);
-        c.setBackground(parent.getBackground());
-        paintBordersFor(c);
-        return c;
-    }
-
-    /**
-     * Creates a scrolled composite as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @param style
-     *            the composite style.
-     * @return the composite.
-     */
-    public ScrolledComposite createScrolledComposite(Composite parent, int style) {
-        ScrolledComposite scrolledComposite = new ScrolledComposite(parent,
-            style);
-        return scrolledComposite;
-    }
-
-    /**
-     * Creates a combo box as a part of the form.
-     * 
-     * @param parent
-     *            the combo box parent.
-     * @param comboStyle
-     *            the combo box style.
-     * @return the combo box.
-     */
-    public CCombo createCCombo(Composite parent, int comboStyle) {
-        CCombo combo = new CCombo(parent, comboStyle);
-        adapt(combo, true, false);
-        return combo;
-    }
-
-    /**
-     * Creates a combo box as a part of the form.
-     * 
-     * @param parent
-     *            the combo box parent.
-     * @return the combo box.
-     */
-    public CCombo createCCombo(Composite parent) {
-        return createCCombo(parent, SWT.FLAT | SWT.READ_ONLY);
-    }
-
-    /**
-     * Creates a group as a part of the form.
-     * 
-     * @param parent
-     *            the group parent.
-     * @param text
-     *            the group title.
-     * @return the composite.
-     */
-    public Group createGroup(Composite parent, String text) {
-        Group group = new Group(parent, SWT.SHADOW_NONE);
-        group.setText(text);
-        group.setBackground(getColors().getBackground());
-        group.setForeground(getColors().getForeground());
-        return group;
-    }
-
-    /**
-     * Creates a flat form composite as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @return the composite.
-     */
-    public Composite createFlatFormComposite(Composite parent) {
-        Composite composite = createComposite(parent);
-        FormLayout layout = new FormLayout();
-        layout.marginWidth = ITabbedPropertyConstants.HSPACE + 2;
-        layout.marginHeight = ITabbedPropertyConstants.VSPACE;
-        layout.spacing = ITabbedPropertyConstants.VMARGIN + 1;
-        composite.setLayout(layout);
-        return composite;
-    }
-
-    /**
-     * Creates a label as a part of the form.
-     * 
-     * @param parent
-     *            the label parent.
-     * @param text
-     *            the label text.
-     * @return the label.
-     */
-    public CLabel createCLabel(Composite parent, String text) {
-        return createCLabel(parent, text, SWT.NONE);
-    }
-
-    /**
-     * Creates a label as a part of the form.
-     * 
-     * @param parent
-     *            the label parent.
-     * @param text
-     *            the label text.
-     * @param style
-     *            the label style.
-     * @return the label.
-     */
-    public CLabel createCLabel(Composite parent, String text, int style) {
-        final CLabel label = new CLabel(parent, style);
-        label.setBackground(parent.getBackground());
-        label.setText(text);
-        return label;
-    }
-
-    public void dispose() {
-        if (getColors() != null) {
-            super.dispose();
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/TabbedPropertyViewPlugin.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/TabbedPropertyViewPlugin.java
deleted file mode 100644
index c5e43f1..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/TabbedPropertyViewPlugin.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The common ui properties plug-in.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyViewPlugin
-	extends AbstractUIPlugin {
-
-	private static TabbedPropertyViewPlugin plugin;
-
-    /**
-     * Constructor for TabbedPropertyViewPlugin.
-     */
-	public TabbedPropertyViewPlugin() {
-		super();
-		plugin = this;
-	}
-
-    /**
-     * Retrieve the plug-in class for this plug-in.
-     * @return the plug-in class for this plug-in.
-     */
-	public static TabbedPropertyViewPlugin getPlugin() {
-		return plugin;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/TabbedPropertyViewStatusCodes.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/TabbedPropertyViewStatusCodes.java
deleted file mode 100644
index 3e19d41..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/TabbedPropertyViewStatusCodes.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal;
-
-/**
- * A list of status codes for this plug-in.
- * 
- * @author Anthony Hunter
- */
-public final class TabbedPropertyViewStatusCodes {
-
-	/**
-	 * This class should not be instantiated since it is a static constant
-	 * class.
-	 */
-	private TabbedPropertyViewStatusCodes() {
-		/* not used */
-	}
-
-	/**
-	 * Status code indicating that everything is OK.
-	 */
-	public static final int OK = 0;
-
-	/**
-	 * Status code indicating that a tab was not found for the given tab id.
-	 */
-	public static final int NO_TAB_ERROR = 1;
-
-	/**
-	 * Status code indicating that issue was found loading the section extension
-	 * configuration element.
-	 */
-	public static final int SECTION_ERROR = 2;
-
-	/**
-	 * Status code indicating that issue was found loading the tab extension
-	 * configuration element.
-	 */
-	public static final int TAB_ERROR = 3;
-
-	/**
-	 * Status code indicating that issue was found loading the contributor
-	 * extension configuration element.
-	 */
-	public static final int CONTRIBUTOR_ERROR = 4;
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/l10n/TabbedPropertyMessages.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/l10n/TabbedPropertyMessages.java
deleted file mode 100644
index 6a7d95a..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/l10n/TabbedPropertyMessages.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed.internal.l10n;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message Bundle class for the tabbed properties view plug-in.
- * 
- * @author Anthony Hunter
- * 
- */
-public final class TabbedPropertyMessages
-	extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.views.properties.tabbed.internal.l10n.TabbedPropertyMessages";//$NON-NLS-1$
-
-	/**
-	 * Constructor for TabbedPropertyMessages.
-	 */
-	private TabbedPropertyMessages() {
-		// private constructor
-	}
-
-    /**
-     * Message when a property section extension is in error.
-     */
-	public static String SectionDescriptor_Section_error;
-
-    /**
-     * Message when a property tab extension is in error.
-     */
-	public static String TabDescriptor_Tab_error;
-
-    /**
-     * Message when a non existing tab is found in a property section extension.
-     */
-	public static String TabbedPropertyRegistry_Non_existing_tab;
-
-    /**
-     * Message when a property contributor extension is in error.
-     */
-	public static String TabbedPropertyRegistry_contributor_error;
-
-    /**
-     * No properties available message.
-     */
-	public static String TabbedPropertyList_properties_not_available;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, TabbedPropertyMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/l10n/TabbedPropertyMessages.properties b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/l10n/TabbedPropertyMessages.properties
deleted file mode 100644
index 01aff6b..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/l10n/TabbedPropertyMessages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-SectionDescriptor_Section_error=Section in {0} must provide an id and a tab.
-TabDescriptor_Tab_error=Tab in {0} must provide an id, label and category.
-TabbedPropertyRegistry_Non_existing_tab=Section {0} declares non-existing tab {1}.
-TabbedPropertyRegistry_contributor_error=Contributor {0} cannot be created.
-TabbedPropertyList_properties_not_available=Properties are not available.
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/SectionDescriptor.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/SectionDescriptor.java
deleted file mode 100644
index 4fadf79..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/SectionDescriptor.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.IFilter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-import org.eclipse.ui.views.properties.tabbed.internal.TabbedPropertyViewPlugin;
-import org.eclipse.ui.views.properties.tabbed.internal.TabbedPropertyViewStatusCodes;
-import org.eclipse.ui.views.properties.tabbed.internal.l10n.TabbedPropertyMessages;
-
-/**
- * Represents the default implementation of a section descriptor on the tabbed
- * property sections extensions. This implementation assumes that we are
- * interested in selected objects in an IStructuredSelection.
- * 
- * @author Anthony Hunter
- */
-public class SectionDescriptor
-	implements ISectionDescriptor {
-
-	private final static String SECTION_ERROR = TabbedPropertyMessages.SectionDescriptor_Section_error;
-
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-	private static final String ATT_TARGET_TAB = "tab"; //$NON-NLS-1$
-
-	private static final String ATT_AFTER_SECTION = "afterSection"; //$NON-NLS-1$
-
-	private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	private static final String ATT_SECTION_FILTER = "filter"; //$NON-NLS-1$	
-
-	private static final String ATT_SECTION_ENABLES_FOR = "enablesFor"; //$NON-NLS-1$	
-
-	private static final String ATT_INPUT_TYPE = "type"; //$NON-NLS-1$
-
-	private static final String ELEMENT_INPUT = "input"; //$NON-NLS-1$
-
-	private static final String TOP = "top"; //$NON-NLS-1$
-
-	private String id;
-
-	private String targetTab;
-
-	private String afterSection;
-
-	private ArrayList inputTypes;
-
-	private TabbedPropertyRegistryClassSectionFilter classFilter;
-
-	private IFilter filter;
-
-	private int enablesFor = ENABLES_FOR_ANY;
-
-	private IConfigurationElement configurationElement;
-
-	/**
-	 * Constructor for the section descriptor.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element for the section descriptor.
-	 * @param typeMapper
-	 *            The type mapper.
-	 */
-	protected SectionDescriptor(IConfigurationElement configurationElement,
-			ITypeMapper typeMapper) {
-		this.configurationElement = configurationElement;
-
-		classFilter = new TabbedPropertyRegistryClassSectionFilter(typeMapper);
-		id = getConfigurationElement().getAttribute(ATT_ID);
-		targetTab = getConfigurationElement().getAttribute(ATT_TARGET_TAB);
-		afterSection = getConfigurationElement()
-			.getAttribute(ATT_AFTER_SECTION);
-		if (getConfigurationElement().getAttribute(ATT_SECTION_ENABLES_FOR) != null) {
-			String enablesForStr = getConfigurationElement().getAttribute(
-				ATT_SECTION_ENABLES_FOR);
-			int enablesForTest = Integer.parseInt(enablesForStr);
-			if (enablesForTest > 0) {
-				enablesFor = enablesForTest;
-			}
-		}
-
-		if (id == null || targetTab == null) {
-			// the section id and tab are mandatory - log error
-			handleSectionError(null);
-		}
-		if (getAfterSection() == null) {
-			afterSection = TOP;
-		}
-	}
-
-	/**
-	 * Handle the section error when an issue is found loading from the
-	 * configuration element.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element
-	 * @param exception
-	 *            an optional CoreException
-	 */
-	private void handleSectionError(CoreException exception) {
-		String pluginId = getConfigurationElement().getDeclaringExtension()
-			.getNamespace();
-		String message = MessageFormat.format(SECTION_ERROR,
-			new Object[] {pluginId});
-		IStatus status = new Status(IStatus.ERROR, pluginId,
-			TabbedPropertyViewStatusCodes.SECTION_ERROR, message, exception);
-		TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getFilter()
-	 */
-	public IFilter getFilter() {
-		if (filter == null) {
-			try {
-				if (getConfigurationElement().getAttribute(ATT_SECTION_FILTER) != null) {
-					filter = (IFilter) configurationElement
-						.createExecutableExtension(ATT_SECTION_FILTER);
-				}
-			} catch (CoreException exception) {
-				handleSectionError(exception);
-			}
-		}
-		return filter;
-	}
-
-	/**
-	 * Retrieves the value for section enablement which is a precise number of
-	 * items selected. For example: enablesFor=" 4" enables the action only when
-	 * 4 items are selected. If not specified, enable for all selections.
-	 * 
-	 * @return the value for section enablement.
-	 */
-	public int getEnablesFor() {
-		return enablesFor;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getTargetTab()
-	 */
-	public String getTargetTab() {
-		return targetTab;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public boolean appliesTo(IWorkbenchPart part, ISelection selection) {
-		return classFilter.appliesToSelection(this, selection);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getAfterSection()
-	 */
-	public String getAfterSection() {
-		return afterSection;
-	}
-
-	/**
-	 * Creates an instance of a section described by this descriptor
-	 * 
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getSectionClass()
-	 */
-	public ISection getSectionClass() {
-		ISection section = null;
-		try {
-			section = (ISection) getConfigurationElement()
-				.createExecutableExtension(ATT_CLASS);
-		} catch (CoreException exception) {
-			handleSectionError(exception);
-		}
-
-		return section;
-	}
-
-	/**
-	 * Gets the input types that are valid for this section.
-	 * 
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getInputTypes()
-	 */
-	public List getInputTypes() {
-		if (inputTypes == null) {
-			inputTypes = new ArrayList();
-			IConfigurationElement[] elements = getConfigurationElement()
-				.getChildren(ELEMENT_INPUT);
-			for (int i = 0; i < elements.length; i++) {
-				IConfigurationElement element = elements[i];
-				inputTypes.add(element.getAttribute(ATT_INPUT_TYPE));
-			}
-		}
-
-		return inputTypes;
-	}
-
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getId();
-	}
-
-	/**
-	 * @return Returns the configurationElement.
-	 */
-	private IConfigurationElement getConfigurationElement() {
-		return configurationElement;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/Tab.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/Tab.java
deleted file mode 100644
index 976e753..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/Tab.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * A property tab is composed by one or more property sections and is used to
- * categorize sections.
- * 
- * @author Anthony Hunter
- */
-public class Tab {
-
-    private ISection[] sections;
-
-    private boolean controlsCreated;
-
-    Tab() {
-        controlsCreated = false;
-    }
-
-    /**
-     * Retrieve a numbered index for the section.
-     * @param section the section.
-     * @return the section index.
-     */
-    public int getSectionIndex(ISection section) {
-        for (int i = 0; i < sections.length; i++)
-            if (section == sections[i])
-                return i;
-        return -1;
-    }
-
-    /**
-     * Retrieve the section at a numbered index.
-     * @param i a numbered index.
-     * @return the section.
-     */
-    public ISection getSectionAtIndex(int i) {
-        if (i >= 0 && i < sections.length)
-            return sections[i];
-        return null;
-    }
-
-    /**
-     * Retrieve the sections on the tab.
-     * 
-     * @return the sections on the tab.
-     */
-    public ISection[] getSections() {
-        return sections;
-    }
-
-    /**
-     * Creates page's sections controls.
-     * 
-     * @param parent
-     * @param page
-     */
-    public void createControls(Composite parent,
-            final TabbedPropertySheetPage page) {
-        Composite pageComposite = page.getWidgetFactory().createComposite(
-            parent, SWT.NO_FOCUS);
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        layout.verticalSpacing = 0;
-        pageComposite.setLayout(layout);
-
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            final Composite sectionComposite = page.getWidgetFactory()
-                .createComposite(pageComposite, SWT.NO_FOCUS);
-            sectionComposite.setLayout(new FillLayout());
-            int style = (section.shouldUseExtraSpace()) ? GridData.FILL_BOTH
-                : GridData.FILL_HORIZONTAL;
-            GridData data = new GridData(style);
-            data.heightHint = section.getMinimumHeight();
-            sectionComposite.setLayoutData(data);
-
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.createControls(sectionComposite, page);
-                }
-
-                public void handleException(Throwable exception) {
-                    /* not used */
-                }
-            };
-            Platform.run(runnable);
-        }
-        controlsCreated = true;
-    }
-
-    /**
-     * Dispose of page's sections controls.
-     */
-    public void dispose() {
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.dispose();
-                }
-
-                public void handleException(Throwable exception) {
-                    /* not used */
-                }
-            };
-            Platform.run(runnable);
-        }
-    }
-
-    /**
-     * Sends the lifecycle event to the page's sections.
-     */
-    public void aboutToBeShown() {
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.aboutToBeShown();
-                }
-
-                public void handleException(Throwable exception) {
-                    /* not used */
-                }
-            };
-            Platform.run(runnable);
-        }
-    }
-
-    /**
-     * Sends the lifecycle event to the page's sections.
-     */
-    public void aboutToBeHidden() {
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.aboutToBeHidden();
-                }
-
-                public void handleException(Throwable exception) {
-                    /* not used */
-                }
-            };
-            Platform.run(runnable);
-        }
-    }
-
-    /**
-     * Sets page's sections input objects.
-     * 
-     * @param part
-     * @param selection
-     */
-    public void setInput(final IWorkbenchPart part, final ISelection selection) {
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.setInput(part, selection);
-                }
-
-                public void handleException(Throwable throwable) {
-                    throwable.printStackTrace();
-                }
-            };
-            Platform.run(runnable);
-        }
-    }
-
-    void setSections(ISection[] sections) {
-        this.sections = sections;
-    }
-
-    /**
-     * 
-     * @return <code>true</code> if controls have been created.
-     */
-    public boolean controlsHaveBeenCreated() {
-        return controlsCreated;
-    }
-
-    /**
-     * If controls have been created, refresh all sections on the page.
-     */
-    public void refresh() {
-        if (controlsCreated) {
-            for (int i = 0; i < sections.length; i++) {
-                final ISection section = sections[i];
-                ISafeRunnable runnable = new ISafeRunnable() {
-
-                    public void run()
-                        throws Exception {
-                        section.refresh();
-                    }
-
-                    public void handleException(Throwable throwable) {
-                        throwable.printStackTrace();
-                    }
-                };
-                Platform.run(runnable);
-            }
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabDescriptor.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabDescriptor.java
deleted file mode 100644
index ea1a7ef..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabDescriptor.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.properties.tabbed.ITabItem;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.internal.TabbedPropertyViewPlugin;
-import org.eclipse.ui.views.properties.tabbed.internal.TabbedPropertyViewStatusCodes;
-import org.eclipse.ui.views.properties.tabbed.internal.l10n.TabbedPropertyMessages;
-
-/**
- * Represents the default implementation of a tab descriptor on the tabbed
- * property tabs extensions.
- * 
- * @author Anthony Hunter
- */
-public class TabDescriptor
-	implements Cloneable, ITabItem {
-
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-	private static final String ATT_LABEL = "label"; //$NON-NLS-1$
-
-	private static final String ATT_IMAGE = "image"; //$NON-NLS-1$
-
-	private static final String ATT_INDENTED = "indented"; //$NON-NLS-1$
-
-	private static final String ATT_CATEGORY = "category"; //$NON-NLS-1$
-
-	private static final String ATT_AFTER_TAB = "afterTab"; //$NON-NLS-1$
-
-	private static final String TOP = "top"; //$NON-NLS-1$
-
-	private final static String TAB_ERROR = TabbedPropertyMessages.TabDescriptor_Tab_error;
-
-	private String id;
-
-	private String label;
-
-	private Image image;
-
-	private boolean selected;
-
-	private boolean indented;
-
-	private String category;
-
-	private String afterTab;
-
-	private List sectionDescriptors;
-
-	/**
-	 * Constructor for TabDescriptor.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element for the tab descriptor.
-	 */
-	public TabDescriptor(IConfigurationElement configurationElement) {
-		if (configurationElement != null) {
-			id = configurationElement.getAttribute(ATT_ID);
-			label = configurationElement.getAttribute(ATT_LABEL);
-			String imageString = configurationElement.getAttribute(ATT_IMAGE);
-			if (imageString != null) {
-				image = AbstractUIPlugin
-					.imageDescriptorFromPlugin(
-						configurationElement.getDeclaringExtension()
-							.getNamespace(), imageString).createImage();
-			}
-			String indentedString = configurationElement
-				.getAttribute(ATT_INDENTED);
-			indented = indentedString != null && indentedString.equals("true"); //$NON-NLS-1$
-			category = configurationElement.getAttribute(ATT_CATEGORY);
-			afterTab = configurationElement.getAttribute(ATT_AFTER_TAB);
-			if (id == null || label == null || category == null) {
-				// the tab id, label and category are mandatory - log error
-				handleTabError(configurationElement, null);
-			}
-		}
-		if (getAfterTab() == null) {
-			afterTab = TOP;
-		}
-		sectionDescriptors = new ArrayList(5);
-		selected = false;
-	}
-
-	/**
-	 * Get the unique identifier for the tab.
-	 * 
-	 * @return the unique identifier for the tab.
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Get the text label for the tab.
-	 * 
-	 * @return the text label for the tab.
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Get the identifier of the tab after which this tab should be displayed.
-	 * When two or more tabs belong to the same category, they are sorted by the
-	 * after tab values.
-	 * 
-	 * @return the identifier of the tab.
-	 */
-	protected String getAfterTab() {
-		return afterTab;
-	}
-
-	/**
-	 * Get the category this tab belongs to.
-	 * 
-	 * @return Get the category this tab belongs to.
-	 */
-	protected String getCategory() {
-		return category;
-	}
-
-	/**
-	 * Returns whether the given section was added to this tab. The section can
-	 * be appended if its tab attribute matches the tab id. The afterSection
-	 * attribute indicates the order in which the section should be appended.
-	 * 
-	 * @param target
-	 *            the section descriptor to append.
-	 */
-	protected boolean append(ISectionDescriptor target) {
-		if (!target.getTargetTab().equals(id)) {
-			return false;
-		}
-
-		if (insertSectionDescriptor(target)) {
-			return true;
-		}
-
-		sectionDescriptors.add(target);
-		return true;
-	}
-
-	/**
-	 * Insert the section descriptor into the section descriptor list.
-	 * 
-	 * @param target
-	 *            the section descriptor to insert.
-	 * @return <code>true</code> if the target descriptor was added to the
-	 *         descriptors list.
-	 */
-	private boolean insertSectionDescriptor(ISectionDescriptor target) {
-		if (target.getAfterSection().equals(TOP)) {
-			sectionDescriptors.add(0, target);
-			return true;
-		}
-		for (int i = 0; i < sectionDescriptors.size(); i++) {
-			ISectionDescriptor descriptor = (ISectionDescriptor) sectionDescriptors
-				.get(i);
-			if (target.getAfterSection().equals(descriptor.getId())) {
-				sectionDescriptors.add(i + 1, target);
-				return true;
-			} else {
-				if (descriptor.getAfterSection().equals(target.getId())) {
-					sectionDescriptors.add(i, target);
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Instantiate this tab's sections.
-	 */
-	public Tab createTab() {
-		List sections = new ArrayList(sectionDescriptors.size());
-		for (Iterator iter = sectionDescriptors.iterator(); iter.hasNext();) {
-			ISectionDescriptor descriptor = (ISectionDescriptor) iter.next();
-			ISection section = descriptor.getSectionClass();
-			sections.add(section);
-		}
-		Tab tab = new Tab();
-		tab.setSections((ISection[]) sections.toArray(new ISection[sections
-			.size()]));
-		return tab;
-	}
-
-	/**
-	 * Get the list of section descriptors for the tab.
-	 * 
-	 * @return the list of section descriptors for the tab.
-	 */
-	protected List getSectionDescriptors() {
-		return sectionDescriptors;
-	}
-
-	/**
-	 * Set the list of section descriptors for the tab.
-	 * 
-	 * @param sectionDescriptors
-	 *            the list of section descriptors for the tab.
-	 */
-	protected void setSectionDescriptors(List sectionDescriptors) {
-		this.sectionDescriptors = sectionDescriptors;
-	}
-
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getId();
-	}
-
-	/**
-	 * Handle the tab error when an issue is found loading from the
-	 * configuration element.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element
-	 * @param exception
-	 *            an optional CoreException
-	 */
-	private void handleTabError(IConfigurationElement configurationElement,
-			CoreException exception) {
-		String pluginId = configurationElement.getDeclaringExtension()
-			.getNamespace();
-		String message = MessageFormat.format(TAB_ERROR,
-			new Object[] {pluginId});
-		IStatus status = new Status(IStatus.ERROR, pluginId,
-			TabbedPropertyViewStatusCodes.TAB_ERROR, message, exception);
-		TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (this == object)
-			return true;
-
-		if (this.getClass() == object.getClass()) {
-			TabDescriptor descriptor = (TabDescriptor) object;
-			if (this.getCategory().equals(descriptor.getCategory())
-				&& this.getId().equals(descriptor.getId())
-				&& this.getSectionDescriptors().size() == descriptor
-					.getSectionDescriptors().size()) {
-
-				Iterator i = this.getSectionDescriptors().iterator();
-				Iterator j = descriptor.getSectionDescriptors().iterator();
-
-				// the order is importent here - so as long as the sizes of the
-				// lists are the same and id of the section at the same
-				// positions are the same - the lists are the same
-				while (i.hasNext()) {
-					ISectionDescriptor source = (ISectionDescriptor) i.next();
-					ISectionDescriptor target = (ISectionDescriptor) j.next();
-					if (!source.getId().equals(target.getId()))
-						return false;
-				}
-
-				return true;
-			}
-
-		}
-
-		return false;
-	}
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-
-		int hashCode = getCategory().hashCode();
-		hashCode ^= getId().hashCode();
-		Iterator i = this.getSectionDescriptors().iterator();
-		while (i.hasNext()) {
-			ISectionDescriptor section = (ISectionDescriptor) i.next();
-			hashCode ^= section.getId().hashCode();
-		}
-		return hashCode;
-	}
-
-	/**
-	 * @see java.lang.Object#clone()
-	 */
-	public Object clone() {
-		try {
-			return super.clone();
-		} catch (CloneNotSupportedException exception) {
-			IStatus status = new Status(IStatus.ERROR, TabbedPropertyViewPlugin
-				.getPlugin().getBundle().getSymbolicName(), 666, exception
-				.getMessage(), exception);
-			TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-		}
-		return null;
-	}
-
-	/**
-	 * Set the image for the tab.
-	 * 
-	 * @param image
-	 *            the image for the tab.
-	 */
-	protected void setImage(Image image) {
-		this.image = image;
-	}
-
-	/**
-	 * Set the indicator to determine if the tab should be displayed as
-	 * indented.
-	 * 
-	 * @param indented
-	 *            <code>true</code> if the tab should be displayed as
-	 *            indented.
-	 */
-	protected void setIndented(boolean indented) {
-		this.indented = indented;
-	}
-
-	/**
-	 * Set the indicator to determine if the tab should be the selected tab in
-	 * the list.
-	 * 
-	 * @param selected
-	 *            <code>true</code> if the tab should be the selected tab in
-	 *            the list.
-	 */
-	protected void setSelected(boolean selected) {
-		this.selected = selected;
-	}
-
-	/**
-	 * Set the text label for the tab.
-	 * 
-	 * @param label
-	 *            the text label for the tab.
-	 */
-	protected void setLabel(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Get the image for the tab.
-	 * 
-	 * @return the image for the tab.
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Determine if the tab is selected.
-	 * 
-	 * @return <code>true</code> if the tab is selected.
-	 */
-	public boolean isSelected() {
-		return selected;
-	}
-
-	/**
-	 * Determine if the tab should be displayed as indented.
-	 * 
-	 * @return <code>true</code> if the tab should be displayed as indented.
-	 */
-	public boolean isIndented() {
-		return indented;
-	}
-
-	/**
-	 * Get the text label for the tab.
-	 * 
-	 * @return the text label for the tab.
-	 */
-	public String getText() {
-		return label;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabListContentProvider.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabListContentProvider.java
deleted file mode 100644
index a355fb7..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabListContentProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * The default implementation of the content provider for the 
- * tabbed property sheet page's list of tabs.
- * 
- * @author Anthony Hunter
- */
-public class TabListContentProvider
-	implements IStructuredContentProvider {
-	
-	private TabbedPropertyRegistry registry;
-
-	private IWorkbenchPart currentPart;
-	
-	/**
-	 * Constructor for TabListContentProvider.
-	 */
-	public TabListContentProvider(TabbedPropertyRegistry registry) {
-		this.registry = registry;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		Assert.isTrue(inputElement instanceof ISelection);
-			return registry
-			.getTabDescriptors(currentPart, (ISelection) inputElement);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		/* not used */
-	}
-
-	/**
-	 * @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) {
-		this.currentPart = ((TabbedPropertyViewer)viewer).getWorkbenchPart();
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyComposite.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyComposite.java
deleted file mode 100644
index a420024..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyComposite.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-
-
-/**
- * Composite responsible for drawing the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyComposite
-	extends Composite {
-
-	private TabbedPropertySheetWidgetFactory factory;
-
-	private Composite mainComposite;
-
-	private Composite leftComposite;
-
-	private ScrolledComposite scrolledComposite;
-
-	private Composite tabComposite;
-
-	private TabbedPropertyTitle title;
-
-	private TabbedPropertyList listComposite;
-
-	private boolean gainedFocus;
-
-	private boolean displayTitle;
-
-	/**
-	 * Constructor for a TabbedPropertyComposite
-	 * 
-	 * @param parent
-	 *            the parent widget.
-	 * @param factory
-	 *            the widget factory.
-	 * @param displayTitle
-	 *            if <code>true</code>, then the title bar will be displayed.
-	 */
-	public TabbedPropertyComposite(Composite parent,
-			TabbedPropertySheetWidgetFactory factory, boolean displayTitle) {
-		super(parent, SWT.NO_FOCUS);
-		this.factory = factory;
-		this.displayTitle = displayTitle;
-
-		createMainComposite();
-	}
-
-	/**
-	 * Create the main composite.
-	 */
-	protected void createMainComposite() {
-		mainComposite = factory.createComposite(this, SWT.NO_FOCUS);
-		mainComposite.setLayout(new FormLayout());
-		FormData formData = new FormData();
-		formData.left = new FormAttachment(0, 0);
-		formData.right = new FormAttachment(100, 0);
-		formData.top = new FormAttachment(0, 0);
-		formData.bottom = new FormAttachment(100, 0);
-		mainComposite.setLayoutData(formData);
-
-		createMainContents();
-
-		mainComposite.addFocusListener(new FocusListener() {
-
-			public void focusGained(FocusEvent e) {
-				gainedFocus = true;
-				mainComposite.redraw();
-			}
-
-			public void focusLost(FocusEvent e) {
-				gainedFocus = false;
-				mainComposite.redraw();
-			}
-		});
-		mainComposite.addPaintListener(new PaintListener() {
-
-			public void paintControl(PaintEvent e) {
-				if (gainedFocus) {
-					Rectangle r = getClientArea();
-					e.gc.drawFocus(0, 0, r.width, r.height);
-				}
-			}
-		});
-	}
-
-	/**
-	 * Create the contents in the main composite.
-	 */
-	protected void createMainContents() {
-		leftComposite = factory.createComposite(mainComposite, SWT.NO_FOCUS);
-		leftComposite.setLayout(new FormLayout());
-
-		scrolledComposite = factory.createScrolledComposite(mainComposite, SWT.H_SCROLL
-			| SWT.V_SCROLL | SWT.NO_FOCUS);
-		scrolledComposite.setLayout(new FormLayout());
-
-		FormData formData = new FormData();
-		formData.left = new FormAttachment(leftComposite, 0);
-		formData.right = new FormAttachment(100, 0);
-		formData.top = new FormAttachment(0, 0);
-		formData.bottom = new FormAttachment(100, 0);
-		scrolledComposite.setLayoutData(formData);
-
-		formData = new FormData();
-		formData.left = new FormAttachment(0, 0);
-		formData.right = new FormAttachment(scrolledComposite, 0);
-		formData.top = new FormAttachment(0, 0);
-		formData.bottom = new FormAttachment(100, 0);
-		leftComposite.setLayoutData(formData);
-
-		final Composite rightComposite = factory.createComposite(scrolledComposite,
-			SWT.NO_FOCUS);
-		rightComposite.setLayout(new FormLayout());
-		FormLayout formLayout = new FormLayout();
-		formLayout.marginHeight = 0;
-		formLayout.marginWidth = 0;
-		rightComposite.setLayout(formLayout);
-
-		scrolledComposite.setContent(rightComposite);
-		scrolledComposite.setAlwaysShowScrollBars(false);
-		scrolledComposite.setExpandVertical(true);
-		scrolledComposite.setExpandHorizontal(true);
-
-		listComposite = new TabbedPropertyList(leftComposite, factory);
-		formData = new FormData();
-		formData.left = new FormAttachment(0, 0);
-		formData.right = new FormAttachment(100, 0);
-		formData.top = new FormAttachment(0, 0);
-		formData.bottom = new FormAttachment(100, 0);
-		listComposite.setLayoutData(formData);
-
-		if (displayTitle) {
-			title = new TabbedPropertyTitle(rightComposite, factory);
-		}
-
-		tabComposite = factory.createComposite(rightComposite, SWT.NO_FOCUS);
-		tabComposite.setLayout(new FormLayout());
-
-		if (displayTitle) {
-			FormData data = new FormData();
-			data.left = new FormAttachment(0, 0);
-			data.right = new FormAttachment(100, 0);
-			data.top = new FormAttachment(0, 0);
-			title.setLayoutData(data);
-		}
-
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		if (displayTitle) {
-			data.top = new FormAttachment(title, 0);
-		} else {
-			data.top = new FormAttachment(0, 0);
-		}
-		data.bottom = new FormAttachment(100, 0);
-		tabComposite.setLayoutData(data);
-
-		listComposite.addPaintListener(new PaintListener() {
-
-			public void paintControl(PaintEvent e) {
-				Point leftSize = leftComposite.computeSize(SWT.DEFAULT,
-					SWT.DEFAULT);
-				FormData formData2 = new FormData();
-				formData2.left = new FormAttachment(0, leftSize.x);
-				formData2.right = new FormAttachment(100, 0);
-				formData2.top = new FormAttachment(0, 0);
-				formData2.bottom = new FormAttachment(100, 0);
-				scrolledComposite.setLayoutData(formData2);
-				mainComposite.layout(true);
-			}
-		});
-	}
-
-	/**
-	 * Get the tabbed property list, which is the list of tabs on the left hand
-	 * side of this composite.
-	 * 
-	 * @return the tabbed property list.
-	 */
-	public TabbedPropertyList getList() {
-		return listComposite;
-	}
-
-	/**
-	 * Get the tabbed property title bar.
-	 * 
-	 * @return the tabbed property title bar or <code>null</code> if not used.
-	 */
-	public TabbedPropertyTitle getTitle() {
-		return title;
-	}
-
-	/**
-	 * Get the tab composite where sections display their property contents.
-	 * 
-	 * @return the tab composite.
-	 */
-	public Composite getTabComposite() {
-		return tabComposite;
-	}
-
-	/**
-	 * Get the scrolled composite which surrounds the title bar and tab
-	 * composite.
-	 * 
-	 * @return the scrolled composite.
-	 */
-	public ScrolledComposite getScrolledComposite() {
-		return scrolledComposite;
-	}
-
-	/**
-	 * Get the widget factory.
-	 * 
-	 * @return the widget factory.
-	 */
-	protected TabbedPropertySheetWidgetFactory getFactory() {
-		return factory;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Widget#dispose()
-	 */
-	public void dispose() {
-		listComposite.dispose();
-		if (displayTitle) {
-			title.dispose();
-		}
-		super.dispose();
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyList.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyList.java
deleted file mode 100644
index 4da9aad..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyList.java
+++ /dev/null
@@ -1,873 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import org.eclipse.swt.SWT;
-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.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontMetrics;
-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.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.views.properties.tabbed.ITabItem;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-import org.eclipse.ui.views.properties.tabbed.internal.l10n.TabbedPropertyMessages;
-
-
-/**
- * Shows the list of tabs in the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyList
-	extends Composite {
-
-	private static final ListElement[] ELEMENTS_EMPTY = new ListElement[0];
-
-	protected static final int NONE = -1;
-
-	protected static final int INDENT = 7;
-
-	private boolean focus = false;
-
-	private ListElement[] elements;
-
-	private int selectedElementIndex = NONE;
-
-	private int topVisibleIndex = NONE;
-
-	private int bottomVisibleIndex = NONE;
-
-	private TopNavigationElement topNavigationElement;
-
-	private BottomNavigationElement bottomNavigationElement;
-
-	private int widestLabelIndex = NONE;
-
-	private int tabsThatFitInComposite = NONE;
-
-	private Color hoverBackground;
-
-	private Color defaultBackground;
-
-	private Color defaultForeground;
-
-	private Color activeBackground;
-
-	private Color border;
-
-	private Color darkShadow;
-
-	private Color textColor;
-
-	private TabbedPropertySheetWidgetFactory factory;
-
-	public class ListElement
-		extends Canvas {
-
-		private ITabItem tab;
-
-		private int index;
-
-		private boolean selected;
-
-		private boolean hover;
-
-		public ListElement(Composite parent, final ITabItem tab,
-				int index) {
-			super(parent, SWT.NO_FOCUS);
-			this.tab = tab;
-			hover = false;
-			selected = false;
-			this.index = index;
-
-			addPaintListener(new PaintListener() {
-
-				public void paintControl(PaintEvent e) {
-					paint(e);
-				}
-			});
-			addMouseListener(new MouseAdapter() {
-
-				public void mouseUp(MouseEvent e) {
-					if (!selected) {
-						select(getIndex(ListElement.this), true);
-						/*
-						 * We set focus to the tabbed property composite so that
-						 * focus is moved to the appropriate widget in the
-						 * section.
-						 */
-						Composite tabbedPropertyComposite = getParent();
-						while (!(tabbedPropertyComposite instanceof TabbedPropertyComposite)) {
-							tabbedPropertyComposite = tabbedPropertyComposite
-								.getParent();
-						}
-						tabbedPropertyComposite.setFocus();
-					}
-				}
-			});
-			addMouseMoveListener(new MouseMoveListener() {
-
-				public void mouseMove(MouseEvent e) {
-					if (!hover) {
-						hover = true;
-						redraw();
-					}
-				}
-			});
-			addMouseTrackListener(new MouseTrackAdapter() {
-
-				public void mouseExit(MouseEvent e) {
-					hover = false;
-					redraw();
-				}
-			});
-		}
-
-		public void setSelected(boolean selected) {
-			this.selected = selected;
-			redraw();
-		}
-
-		/**
-		 * Draws elements and collects element areas.
-		 */
-		private void paint(PaintEvent e) {
-			e.gc.setBackground(defaultBackground);
-			e.gc.setForeground(defaultForeground);
-			Rectangle bounds = getBounds();
-			e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-
-			// draw tab
-			if (selected) {
-				e.gc.setBackground(activeBackground);
-			} else if (hover) {
-				e.gc.setBackground(hoverBackground);
-			} else {
-				e.gc.setBackground(defaultBackground);
-			}
-
-			/* draw the fill in the tab */
-			if (selected) {
-				e.gc.fillRectangle(4, 0, bounds.width, bounds.height);
-				e.gc.fillRectangle(3, 1, 3, bounds.height);
-			} else if (hover) {
-				e.gc.fillRectangle(2, 0, bounds.width - 4, bounds.height);
-			}
-
-			/* draw the border */
-			if (selected) {
-				e.gc.setForeground(border);
-				e.gc.drawLine(4, 0, bounds.width - 1, 0);
-				e.gc.drawPoint(3, 1);
-				e.gc.drawPoint(3, bounds.height - 1);
-				e.gc.drawLine(2, 2, 2, bounds.height - 2);
-			} else {
-				e.gc.setForeground(border);
-				if (getSelectionIndex() != NONE
-					&& getSelectionIndex() + 1 == index) {
-					e.gc.drawLine(4, 0, bounds.width - 1, 0);
-				} else {
-					e.gc.drawLine(2, 0, bounds.width - 3, 0);
-				}
-				e.gc.drawLine(bounds.width - 1, 0, bounds.width - 1,
-					bounds.height - 1);
-			}
-
-			int textIndent = INDENT;
-			FontMetrics fm = e.gc.getFontMetrics();
-			int height = fm.getHeight();
-			int textMiddle = (bounds.height - height) / 2;
-
-			if (selected && tab.getImage() != null
-				&& !tab.getImage().isDisposed()) {
-				/* draw the icon for the selected tab */
-				e.gc.drawImage(tab.getImage(), textIndent - 2, textMiddle);
-				textIndent = textIndent + 16 + 2;
-			} else if (tab.isIndented()) {
-				/* draw the indent tiny square */
-				e.gc.drawRectangle(20, textMiddle + 6, 1, 1);
-				textIndent = textIndent + 16 + 4;
-			}
-
-			/* draw the text */
-			e.gc.setForeground(textColor);
-			e.gc.drawText(tab.getText(), textIndent, textMiddle);
-			if (((TabbedPropertyList) getParent()).focus && selected) {
-				/* draw a line if the tab has focus */
-				Point point = e.gc.textExtent(tab.getText());
-				e.gc.drawLine(textIndent, bounds.height - 4, textIndent
-					+ point.x, bounds.height - 4);
-			}
-		}
-
-		public String getText() {
-			return tab.getText();
-		}
-
-		public String toString() {
-			return tab.getText();
-		}
-	}
-
-	public class TopNavigationElement
-		extends Canvas {
-
-		/**
-		 * @param parent
-		 */
-		public TopNavigationElement(Composite parent) {
-			super(parent, SWT.NO_FOCUS);
-			addPaintListener(new PaintListener() {
-
-				public void paintControl(PaintEvent e) {
-					paint(e);
-				}
-			});
-			addMouseListener(new MouseAdapter() {
-
-				public void mouseUp(MouseEvent e) {
-					if (isUpScrollRequired()) {
-						bottomVisibleIndex--;
-						if (topVisibleIndex != 0) {
-							topVisibleIndex--;
-						}
-						layoutTabs();
-						topNavigationElement.redraw();
-						bottomNavigationElement.redraw();
-					}
-				}
-			});
-		}
-
-		/**
-		 * @param e
-		 */
-		private void paint(PaintEvent e) {
-			e.gc.setBackground(defaultBackground);
-			e.gc.setForeground(defaultForeground);
-			Rectangle bounds = getBounds();
-
-			if (elements.length != 0) {
-				e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-				e.gc.setForeground(border);
-				e.gc.drawLine(bounds.width - 1, 0, bounds.width - 1,
-					bounds.height - 1);
-			} else {
-				e.gc.setBackground(activeBackground);
-				e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-				int textIndent = INDENT;
-				FontMetrics fm = e.gc.getFontMetrics();
-				int height = fm.getHeight();
-				int textMiddle = (bounds.height - height) / 2;
-				e.gc.setForeground(textColor);
-				String properties_not_available = TabbedPropertyMessages.TabbedPropertyList_properties_not_available;
-				e.gc.drawText(properties_not_available, textIndent, textMiddle);
-			}
-
-			if (isUpScrollRequired()) {
-				e.gc.setForeground(darkShadow);
-				int middle = bounds.width / 2;
-				e.gc.drawLine(middle + 1, 3, middle + 5, 7);
-				e.gc.drawLine(middle, 3, middle - 4, 7);
-				e.gc.drawLine(middle - 4, 8, middle + 5, 8);
-
-				e.gc.setForeground(activeBackground);
-				e.gc.drawLine(middle, 4, middle + 1, 4);
-				e.gc.drawLine(middle - 1, 5, middle + 2, 5);
-				e.gc.drawLine(middle - 2, 6, middle + 3, 6);
-				e.gc.drawLine(middle - 3, 7, middle + 4, 7);
-			}
-		}
-	}
-
-	public class BottomNavigationElement
-		extends Canvas {
-
-		/**
-		 * @param parent
-		 */
-		public BottomNavigationElement(Composite parent) {
-			super(parent, SWT.NO_FOCUS);
-			addPaintListener(new PaintListener() {
-
-				public void paintControl(PaintEvent e) {
-					paint(e);
-				}
-			});
-			addMouseListener(new MouseAdapter() {
-
-				public void mouseUp(MouseEvent e) {
-					if (isDownScrollRequired()) {
-						topVisibleIndex++;
-						if (bottomVisibleIndex != elements.length - 1) {
-							bottomVisibleIndex++;
-						}
-						layoutTabs();
-						topNavigationElement.redraw();
-						bottomNavigationElement.redraw();
-					}
-				}
-			});
-		}
-
-		/**
-		 * @param e
-		 */
-		private void paint(PaintEvent e) {
-			e.gc.setBackground(defaultBackground);
-			e.gc.setForeground(defaultForeground);
-			Rectangle bounds = getBounds();
-
-			if (elements.length != 0) {
-				e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-				e.gc.setForeground(border);
-				e.gc.drawLine(bounds.width - 1, 0, bounds.width - 1,
-					bounds.height - 1);
-				if (getSelectionIndex() != NONE && elements.length != 0
-					&& getSelectionIndex() == elements.length - 1) {
-					e.gc.drawLine(4, 0, bounds.width - 1, 0);
-				} else {
-					e.gc.drawLine(2, 0, bounds.width - 1, 0);
-				}
-			} else {
-				e.gc.setBackground(activeBackground);
-				e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-			}
-
-			if (isDownScrollRequired()) {
-				e.gc.setForeground(darkShadow);
-				int middle = bounds.width / 2;
-				int bottom = bounds.height - 2;
-				e.gc.drawLine(middle + 1, bottom, middle + 5, bottom - 4);
-				e.gc.drawLine(middle, bottom, middle - 4, bottom - 4);
-				e.gc.drawLine(middle - 4, bottom - 5, middle + 5, bottom - 5);
-
-				e.gc.setForeground(activeBackground);
-				e.gc.drawLine(middle, bottom - 1, middle + 1, bottom - 1);
-				e.gc.drawLine(middle - 1, bottom - 2, middle + 2, bottom - 2);
-				e.gc.drawLine(middle - 2, bottom - 3, middle + 3, bottom - 3);
-				e.gc.drawLine(middle - 3, bottom - 4, middle + 4, bottom - 4);
-			}
-		}
-	}
-
-	public TabbedPropertyList(Composite parent,
-			TabbedPropertySheetWidgetFactory factory) {
-		super(parent, SWT.NO_FOCUS);
-		this.factory = factory;
-		removeAll();
-		setLayout(new FormLayout());
-		initColours();
-		initAccessible();
-		topNavigationElement = new TopNavigationElement(this);
-		bottomNavigationElement = new BottomNavigationElement(this);
-
-		this.addFocusListener(new FocusListener() {
-
-			public void focusGained(FocusEvent e) {
-				focus = true;
-				int i = getSelectionIndex();
-				if (i >= 0)
-					elements[i].redraw();
-			}
-
-			public void focusLost(FocusEvent e) {
-				focus = false;
-				int i = getSelectionIndex();
-				if (i >= 0)
-					elements[i].redraw();
-			}
-		});
-		this.addControlListener(new ControlAdapter() {
-
-			public void controlResized(ControlEvent e) {
-				computeTopAndBottomTab();
-			}
-		});
-		this.addTraverseListener(new TraverseListener() {
-
-			public void keyTraversed(TraverseEvent e) {
-				if (e.detail == SWT.TRAVERSE_ARROW_PREVIOUS
-					|| e.detail == SWT.TRAVERSE_ARROW_NEXT) {
-					int nMax = elements.length - 1;
-					int nCurrent = getSelectionIndex();
-					if (e.detail == SWT.TRAVERSE_ARROW_PREVIOUS) {
-						nCurrent -= 1;
-						nCurrent = Math.max(0, nCurrent);
-					} else if (e.detail == SWT.TRAVERSE_ARROW_NEXT) {
-						nCurrent += 1;
-						nCurrent = Math.min(nCurrent, nMax);
-					}
-					select(nCurrent, true);
-					redraw();
-				} else {
-					e.doit = true;
-				}
-			}
-		});
-	}
-
-	/**
-	 * Calculate the number of tabs that will fit in the tab list composite.
-	 */
-	protected void computeTabsThatFitInComposite() {
-		tabsThatFitInComposite = Math
-			.round((getSize().y - 22) / getTabHeight());
-		if (tabsThatFitInComposite <= 0) {
-			tabsThatFitInComposite = 1;
-		}
-	}
-
-	/**
-	 * Returns the element with the given index from this list viewer. Returns
-	 * <code>null</code> if the index is out of range.
-	 * 
-	 * @param index
-	 *            the zero-based index
-	 * @return the element at the given index, or <code>null</code> if the
-	 *         index is out of range
-	 */
-	public Object getElementAt(int index) {
-		if (index >= 0 && index < elements.length) {
-			return elements[index];
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the zero-relative index of the item which is currently selected
-	 * in the receiver, or -1 if no item is selected.
-	 * 
-	 * @return the index of the selected item
-	 */
-	public int getSelectionIndex() {
-		return selectedElementIndex;
-	}
-
-	/**
-	 * Removes all elements from this list.
-	 */
-	public void removeAll() {
-		if (elements != null) {
-			for (int i = 0; i < elements.length; i++) {
-				elements[i].dispose();
-			}
-		}
-		elements = ELEMENTS_EMPTY;
-		selectedElementIndex = NONE;
-		widestLabelIndex = NONE;
-		topVisibleIndex = NONE;
-		bottomVisibleIndex = NONE;
-	}
-
-	/**
-	 * Sets the new list elements.
-	 */
-	public void setElements(Object[] children) {
-		if (elements != ELEMENTS_EMPTY) {
-			removeAll();
-		}
-		elements = new ListElement[children.length];
-		if (children.length == 0) {
-			widestLabelIndex = NONE;
-		} else {
-			widestLabelIndex = 0;
-			for (int i = 0; i < children.length; i++) {
-				elements[i] = new ListElement(this,
-					(ITabItem) children[i], i);
-				elements[i].setVisible(false);
-				elements[i].setLayoutData(null);
-
-				if (i != widestLabelIndex) {
-					String label = ((ITabItem) children[i]).getText();
-					if (getTextDimension(label).x > getTextDimension(((ITabItem) children[widestLabelIndex])
-						.getText()).x) {
-						widestLabelIndex = i;
-					}
-				}
-			}
-		}
-
-		computeTopAndBottomTab();
-	}
-
-	/**
-	 * Selects one for the elements in the list.
-	 */
-	public void select(int index, boolean reveal) {
-		if (getSelectionIndex() == index) {
-			/*
-			 * this index is already selected.
-			 */
-			return;
-		}
-		if (index >= 0 && index < elements.length) {
-			int lastSelected = getSelectionIndex();
-			elements[index].setSelected(true);
-			selectedElementIndex = index;
-			if (lastSelected != NONE) {
-				elements[lastSelected].setSelected(false);
-				if (getSelectionIndex() != elements.length - 1) {
-					/*
-					 * redraw the next tab to fix the border by calling
-					 * setSelected()
-					 */
-					elements[getSelectionIndex() + 1].setSelected(false);
-				}
-			}
-			topNavigationElement.redraw();
-			bottomNavigationElement.redraw();
-
-			if (selectedElementIndex < topVisibleIndex
-				|| selectedElementIndex > bottomVisibleIndex) {
-				computeTopAndBottomTab();
-			}
-		}
-		notifyListeners(SWT.Selection, new Event());
-	}
-
-	/**
-	 * Selects one for the elements in the list.
-	 */
-	public void deselectAll() {
-		if (getSelectionIndex() != NONE) {
-			elements[getSelectionIndex()].setSelected(false);
-			selectedElementIndex = NONE;
-		}
-	}
-
-	private int getIndex(ListElement element) {
-		return element.index;
-	}
-
-	/**
-	 * Computes the size based on the widest string in the list.
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Point result = super.computeSize(hHint, wHint, changed);
-		if (widestLabelIndex == -1) {
-			String properties_not_available = TabbedPropertyMessages.TabbedPropertyList_properties_not_available;
-			result.x = getTextDimension(properties_not_available).x + INDENT;
-		} else {
-			int width = getTextDimension(elements[widestLabelIndex].getText()).x;
-			/*
-			 * To anticipate for the icon placement we should always keep the
-			 * space available after the label. So when the active tab includes
-			 * an icon the width of the tab doesn't change.
-			 */
-			result.x = width + 32;
-		}
-		return result;
-	}
-
-	private Point getTextDimension(String text) {
-		Shell shell = new Shell();
-		GC gc = new GC(shell);
-		gc.setFont(getFont());
-		Point point = gc.textExtent(text);
-		point.x++;
-		gc.dispose();
-		shell.dispose();
-		return point;
-	}
-
-	/**
-	 * Initialize the colours used.
-	 */
-	private void initColours() {
-		defaultBackground = Display.getCurrent().getSystemColor(
-			SWT.COLOR_WIDGET_BACKGROUND);
-
-		RGB rgb = defaultBackground.getRGB();
-		rgb.blue = Math.min(255, Math.round(rgb.blue * 1.05F));
-		rgb.red = Math.min(255, Math.round(rgb.red * 1.05F));
-		rgb.green = Math.min(255, Math.round(rgb.green * 1.05F));
-		hoverBackground = factory.getColors().createColor(
-			"TabbedPropertyList.hoverBackground", rgb); //$NON-NLS-1$
-
-		defaultForeground = Display.getCurrent().getSystemColor(
-			SWT.COLOR_WIDGET_FOREGROUND);
-		activeBackground = Display.getCurrent().getSystemColor(
-			SWT.COLOR_LIST_BACKGROUND);
-		border = Display.getCurrent().getSystemColor(
-			SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		darkShadow = Display.getCurrent().getSystemColor(
-			SWT.COLOR_WIDGET_DARK_SHADOW);
-		textColor = Display.getCurrent().getSystemColor(
-			SWT.COLOR_WIDGET_FOREGROUND);
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Widget#dispose()
-	 */
-	public void dispose() {
-		hoverBackground.dispose();
-		defaultBackground.dispose();
-		defaultForeground.dispose();
-		activeBackground.dispose();
-		border.dispose();
-		darkShadow.dispose();
-		textColor.dispose();
-		super.dispose();
-	}
-
-	/**
-	 * Get the height of a tab. The height of the tab is the height of the text
-	 * plus buffer.
-	 * 
-	 * @return the height of a tab.
-	 */
-	private int getTabHeight() {
-		int tabHeight = getTextDimension("").y + INDENT; //$NON-NLS-1$ 
-		if (tabsThatFitInComposite == 1) {
-			/*
-			 * if only one tab will fix, reduce the size of the tab height so
-			 * that the navigation elements fit.
-			 */
-			int ret = getBounds().height - 20;
-			return (ret > tabHeight) ? tabHeight
-				: (ret < 5) ? 5
-					: ret;
-		}
-		return tabHeight;
-	}
-
-	private boolean isDownScrollRequired() {
-		return elements.length > tabsThatFitInComposite
-			&& bottomVisibleIndex != elements.length - 1;
-	}
-
-	private boolean isUpScrollRequired() {
-		return elements.length > tabsThatFitInComposite && topVisibleIndex != 0;
-	}
-
-	private void computeTopAndBottomTab() {
-		computeTabsThatFitInComposite();
-		if (elements.length == 0) {
-			/*
-			 * no tabs to display.
-			 */
-			topVisibleIndex = 0;
-			bottomVisibleIndex = 0;
-		} else if (tabsThatFitInComposite >= elements.length) {
-			/*
-			 * all the tabs fit.
-			 */
-			topVisibleIndex = 0;
-			bottomVisibleIndex = elements.length - 1;
-		} else if (getSelectionIndex() == NONE) {
-			/*
-			 * there is no selected tab yet, assume that tab one would
-			 * be selected for now.
-			 */
-			topVisibleIndex = 0;
-			bottomVisibleIndex = tabsThatFitInComposite - 1;
-		} else if (getSelectionIndex() + tabsThatFitInComposite > elements.length) {
-			/*
-			 * the selected tab is near the bottom.
-			 */
-			bottomVisibleIndex = elements.length - 1;
-			topVisibleIndex = bottomVisibleIndex - tabsThatFitInComposite + 1;
-		} else {
-			/*
-			 * the selected tab is near the top.
-			 */
-			topVisibleIndex = selectedElementIndex;
-			bottomVisibleIndex = selectedElementIndex + tabsThatFitInComposite
-				- 1;
-		}
-		layoutTabs();
-	}
-
-	/**
-	 * Layout the tabs.
-	 * 
-	 * @param up
-	 *            if <code>true</code>, then we are laying out as a result of
-	 *            an scroll up request.
-	 */
-	private void layoutTabs() {
-		//System.out.println("TabFit " + tabsThatFitInComposite + " length "
-		//	+ elements.length + " top " + topVisibleIndex + " bottom "
-		//	+ bottomVisibleIndex);
-		if (tabsThatFitInComposite == NONE || elements.length == 0) {
-			FormData formData = new FormData();
-			formData.left = new FormAttachment(0, 0);
-			formData.right = new FormAttachment(100, 0);
-			formData.top = new FormAttachment(0, 0);
-			formData.height = getTabHeight();
-			topNavigationElement.setLayoutData(formData);
-
-			formData = new FormData();
-			formData.left = new FormAttachment(0, 0);
-			formData.right = new FormAttachment(100, 0);
-			formData.top = new FormAttachment(topNavigationElement, 0);
-			formData.bottom = new FormAttachment(100, 0);
-			bottomNavigationElement.setLayoutData(formData);
-		} else {
-
-			FormData formData = new FormData();
-			formData.left = new FormAttachment(0, 0);
-			formData.right = new FormAttachment(100, 0);
-			formData.top = new FormAttachment(0, 0);
-			formData.height = 10;
-			topNavigationElement.setLayoutData(formData);
-
-			/*
-			 * use nextElement to attach the layout to the previous canvas
-			 * widget in the list.
-			 */
-			Canvas nextElement = topNavigationElement;
-
-			for (int i = 0; i < elements.length; i++) {
-				//System.out.print(i + " [" + elements[i].getText() + "]");
-				if (i < topVisibleIndex || i > bottomVisibleIndex) {
-					/*
-					 * this tab is not visible
-					 */
-					elements[i].setLayoutData(null);
-					elements[i].setVisible(false);
-				} else {
-					/*
-					 * this tab is visible.
-					 */
-					//System.out.print(" visible");
-					formData = new FormData();
-					formData.height = getTabHeight();
-					formData.left = new FormAttachment(0, 0);
-					formData.right = new FormAttachment(100, 0);
-					formData.top = new FormAttachment(nextElement, 0);
-					nextElement = elements[i];
-					elements[i].setLayoutData(formData);
-					elements[i].setVisible(true);
-				}
-
-				//if (i == selectedElementIndex) {
-				//	System.out.print(" selected");
-				//}
-				//System.out.println("");
-			}
-			formData = new FormData();
-			formData.left = new FormAttachment(0, 0);
-			formData.right = new FormAttachment(100, 0);
-			formData.top = new FormAttachment(nextElement, 0);
-			formData.bottom = new FormAttachment(100, 0);
-			formData.height = 10;
-			bottomNavigationElement.setLayoutData(formData);
-		}
-		//System.out.println("");
-
-		// layout so that we have enough space for the new labels
-		Composite grandparent = getParent().getParent();
-		grandparent.layout(true);
-		layout(true);
-	}
-
-	/**
-	 * Initialize the accessibility adapter.
-	 */
-	private void initAccessible() {
-		final Accessible accessible = getAccessible();
-		accessible.addAccessibleListener(new AccessibleAdapter() {
-
-			public void getName(AccessibleEvent e) {
-				if (getSelectionIndex() != NONE) {
-					e.result = elements[getSelectionIndex()].getText();
-				}
-			}
-
-			public void getHelp(AccessibleEvent e) {
-				if (getSelectionIndex() != NONE) {
-					e.result = elements[getSelectionIndex()].getText();
-				}
-			}
-		});
-
-		accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-
-			public void getChildAtPoint(AccessibleControlEvent e) {
-				Point pt = toControl(new Point(e.x, e.y));
-				e.childID = (getBounds().contains(pt)) ? ACC.CHILDID_SELF
-					: ACC.CHILDID_NONE;
-			}
-
-			public void getLocation(AccessibleControlEvent e) {
-				if (getSelectionIndex() != NONE) {
-					Rectangle location = elements[getSelectionIndex()]
-						.getBounds();
-					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 = 0;
-			}
-
-			public void getRole(AccessibleControlEvent e) {
-				e.detail = ACC.ROLE_TABITEM;
-			}
-
-			public void getState(AccessibleControlEvent e) {
-				e.detail = ACC.STATE_NORMAL | ACC.STATE_SELECTABLE
-					| ACC.STATE_SELECTED | ACC.STATE_FOCUSED
-					| ACC.STATE_FOCUSABLE;
-			}
-		});
-
-		addListener(SWT.Selection, new Listener() {
-
-			public void handleEvent(Event event) {
-				if (isFocusControl()) {
-					accessible.setFocus(ACC.CHILDID_SELF);
-				}
-			}
-		});
-
-		addListener(SWT.FocusIn, new Listener() {
-
-			public void handleEvent(Event event) {
-				accessible.setFocus(ACC.CHILDID_SELF);
-			}
-		});
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistry.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistry.java
deleted file mode 100644
index 7885ea8..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistry.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptorProvider;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-import org.eclipse.ui.views.properties.tabbed.internal.TabbedPropertyViewPlugin;
-import org.eclipse.ui.views.properties.tabbed.internal.TabbedPropertyViewStatusCodes;
-import org.eclipse.ui.views.properties.tabbed.internal.l10n.TabbedPropertyMessages;
-
-/**
- * Provides information about the tabbed property extension points. Each tabbed
- * property registry is associated with a unique contributor ID.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyRegistry {
-
-	private final static String NO_TAB_ERROR = TabbedPropertyMessages.TabbedPropertyRegistry_Non_existing_tab;
-
-	private final static String CONTRIBUTOR_ERROR = TabbedPropertyMessages.TabbedPropertyRegistry_contributor_error;
-
-	// extension point constants
-	private static final String EXTPT_CONTRIBUTOR = "propertyContributor"; //$NON-NLS-1$
-
-	private static final String EXTPT_TABS = "propertyTabs"; //$NON-NLS-1$
-
-	private static final String EXTPT_SECTIONS = "propertySections"; //$NON-NLS-1$
-
-	private static final String ELEMENT_TAB = "propertyTab"; //$NON-NLS-1$
-
-	private static final String ELEMENT_SECTION = "propertySection"; //$NON-NLS-1$
-
-	private static final String ELEMENT_PROPERTY_CATEGORY = "propertyCategory"; //$NON-NLS-1$
-
-	private static final String ATT_CATEGORY = "category"; //$NON-NLS-1$
-
-	private static final String ATT_CONTRIBUTOR_ID = "contributorId"; //$NON-NLS-1$
-
-	private static final String ATT_TYPE_MAPPER = "typeMapper"; //$NON-NLS-1$	
-
-	private static final String ATT_LABEL_PROVIDER = "labelProvider"; //$NON-NLS-1$
-
-	private static final String TOP = "top"; //$NON-NLS-1$
-
-	protected String contributorId;
-
-	protected IConfigurationElement contributorConfigurationElement;
-
-	protected List propertyCategories;
-
-	protected ILabelProvider labelProvider;
-
-	protected ITypeMapper typeMapper;
-
-	protected ISectionDescriptorProvider sectionDescriptorProvider;
-
-	protected TabDescriptor[] tabDescriptors;
-
-	protected static final TabDescriptor[] EMPTY_DESCRIPTOR_ARRAY = new TabDescriptor[0];
-
-	/**
-	 * There is one details registry for each contributor type.
-	 */
-	protected TabbedPropertyRegistry(String id) {
-		this.contributorId = id;
-        this.propertyCategories = new ArrayList();
-		IConfigurationElement[] extensions = getConfigurationElements(EXTPT_CONTRIBUTOR);
-		for (int i = 0; i < extensions.length; i++) {
-			IConfigurationElement configurationElement = extensions[i];
-			String contributor = configurationElement
-				.getAttribute(ATT_CONTRIBUTOR_ID);
-			if (contributor == null || !id.equals(contributor)) {
-				continue;
-			}
-			this.contributorConfigurationElement = configurationElement;
-			try {
-				if (configurationElement.getAttribute(ATT_LABEL_PROVIDER) != null) {
-					labelProvider = (ILabelProvider) configurationElement
-						.createExecutableExtension(ATT_LABEL_PROVIDER);
-				}
-				if (configurationElement.getAttribute(ATT_TYPE_MAPPER) != null) {
-					typeMapper = (ITypeMapper) configurationElement
-						.createExecutableExtension(ATT_TYPE_MAPPER);
-				}
-			} catch (CoreException exception) {
-				handleConfigurationError(id, exception);
-			}
-			addPropertyCategories(configurationElement);
-		}
-		if (propertyCategories == null || contributorId == null
-			|| contributorConfigurationElement == null) {
-			handleConfigurationError(id, null);
-			this.contributorId = null;
-		}
-	}
-
-	/**
-	 * Gets the categories that are valid for this contributor.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element for this contributor.
-	 * @return the the categories that are valid for this contributor.
-	 */
-	private void addPropertyCategories(
-			IConfigurationElement configurationElement) {
-		IConfigurationElement[] elements = configurationElement
-			.getChildren(ELEMENT_PROPERTY_CATEGORY);
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			propertyCategories.add(element.getAttribute(ATT_CATEGORY));
-		}
-	}
-
-	/**
-	 * Handle the error when an issue is found loading from the configuration
-	 * element.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element
-	 * @param exception
-	 *            an optional CoreException
-	 */
-	private void handleConfigurationError(String id, CoreException exception) {
-		String message = MessageFormat.format(CONTRIBUTOR_ERROR,
-			new Object[] {id});
-		IStatus status = new Status(IStatus.ERROR, TabbedPropertyViewPlugin
-			.getPlugin().getBundle().getSymbolicName(),
-			TabbedPropertyViewStatusCodes.CONTRIBUTOR_ERROR, message, exception);
-		TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * Reads property section extensions. Returns all section descriptors for
-	 * the current contributor id or an empty array if none is found.
-	 */
-	protected ISectionDescriptor[] readSectionDescriptors() {
-		List result = new ArrayList();
-		IConfigurationElement[] extensions = getConfigurationElements(EXTPT_SECTIONS);
-		for (int i = 0; i < extensions.length; i++) {
-			IConfigurationElement extension = extensions[i];
-			IConfigurationElement[] sections = extension
-				.getChildren(ELEMENT_SECTION);
-			for (int j = 0; j < sections.length; j++) {
-				IConfigurationElement section = sections[j];
-				ISectionDescriptor descriptor = new SectionDescriptor(section,
-					typeMapper);
-				result.add(descriptor);
-			}
-		}
-		return (ISectionDescriptor[]) result
-			.toArray(new ISectionDescriptor[result.size()]);
-	}
-
-	/**
-	 * Returns the configuration elements targeted for the given extension point
-	 * and the current contributor id. The elements are also sorted by plugin
-	 * prerequisite order.
-	 */
-	protected IConfigurationElement[] getConfigurationElements(
-			String extensionPointId) {
-		if (contributorId == null) {
-			return new IConfigurationElement[0];
-		}
-		IExtensionPoint point = Platform.getExtensionRegistry()
-			.getExtensionPoint(
-				TabbedPropertyViewPlugin.getPlugin().getBundle()
-					.getSymbolicName(), extensionPointId);
-		IConfigurationElement[] extensions = point.getConfigurationElements();
-		List unordered = new ArrayList(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			IConfigurationElement extension = extensions[i];
-			if (!extension.getName().equals(extensionPointId)) {
-				continue;
-			}
-			String contributor = extension.getAttribute(ATT_CONTRIBUTOR_ID);
-			if (!contributorId.equals(contributor)) {
-				continue;
-			}
-			unordered.add(extension);
-		}
-		return (IConfigurationElement[]) unordered
-			.toArray(new IConfigurationElement[unordered.size()]);
-	}
-
-	/**
-	 * Returns the index of the given element in the array.
-	 */
-	private int getIndex(Object[] array, Object target) {
-		for (int i = 0; i < array.length; i++) {
-			if (array[i].equals(target)) {
-				return i;
-			}
-		}
-		return -1; // should never happen
-	}
-
-	/**
-	 * Returns property tab descriptors for the given contributor id and object
-	 * input. The descriptors are sorted using the afterPage attribute.
-	 */
-	public TabDescriptor[] getTabDescriptors(IWorkbenchPart part,
-			ISelection selection) {
-		if (selection == null || selection.isEmpty())
-			return EMPTY_DESCRIPTOR_ARRAY;
-
-		TabDescriptor[] allDescriptors = getAllTabDescriptors();
-		TabDescriptor[] result = filterTabDescriptors(allDescriptors, part,
-			selection);
-		return result;
-	}
-
-	/**
-	 * Filters out the tab descriptors that do not have any sections for the
-	 * given input.
-	 */
-	protected TabDescriptor[] filterTabDescriptors(TabDescriptor[] descriptors,
-			IWorkbenchPart part, ISelection selection) {
-		List result = new ArrayList();
-		for (int i = 0; i < descriptors.length; i++) {
-			TabDescriptor descriptor = adaptDescriptorFor(descriptors[i], part,
-				selection);
-			if (!descriptor.getSectionDescriptors().isEmpty()) {
-				result.add(descriptor);
-			}
-		}
-		if (result.size() == 0)
-			return EMPTY_DESCRIPTOR_ARRAY;
-		return (TabDescriptor[]) result
-			.toArray(new TabDescriptor[result.size()]);
-	}
-
-	/**
-	 * Given a property tab descriptor remove all its section descriptors that
-	 * do not apply to the given input object.
-	 */
-	protected TabDescriptor adaptDescriptorFor(TabDescriptor target,
-			IWorkbenchPart part, ISelection selection) {
-		List filteredSectionDescriptors = new ArrayList();
-		List descriptors = target.getSectionDescriptors();
-		for (Iterator iter = descriptors.iterator(); iter.hasNext();) {
-			ISectionDescriptor descriptor = (ISectionDescriptor) iter.next();
-			if (descriptor.appliesTo(part, selection)) {
-				filteredSectionDescriptors.add(descriptor);
-			}
-		}
-		TabDescriptor result = (TabDescriptor) target.clone();
-		result.setSectionDescriptors(filteredSectionDescriptors);
-		return result;
-	}
-
-	/**
-	 * Reads property tab extensions. Returns all tab descriptors for the
-	 * current contributor id or an empty array if none is found.
-	 */
-	protected TabDescriptor[] getAllTabDescriptors() {
-		if (tabDescriptors == null) {
-			List temp = readTabDescriptors();
-			populateWithSectionDescriptors(temp);
-			temp = sortTabDescriptorsByCategory(temp);
-			temp = sortTabDescriptorsByAfterTab(temp);
-			tabDescriptors = (TabDescriptor[]) temp
-				.toArray(new TabDescriptor[temp.size()]);
-		}
-		return tabDescriptors;
-	}
-
-	/**
-	 * Reads property tab extensions. Returns all tab descriptors for the
-	 * current contributor id or an empty list if none is found.
-	 */
-	protected List readTabDescriptors() {
-		List result = new ArrayList();
-		IConfigurationElement[] extensions = getConfigurationElements(EXTPT_TABS);
-		for (int i = 0; i < extensions.length; i++) {
-			IConfigurationElement extension = extensions[i];
-			IConfigurationElement[] tabs = extension.getChildren(ELEMENT_TAB);
-			for (int j = 0; j < tabs.length; j++) {
-				IConfigurationElement tab = tabs[j];
-				TabDescriptor descriptor = new TabDescriptor(tab);
-				result.add(descriptor);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Populates the given tab descriptors with section descriptors.
-	 */
-	protected void populateWithSectionDescriptors(List aTabDescriptors) {
-		ISectionDescriptor[] sections = null;
-		if (sectionDescriptorProvider != null) {
-			sections = sectionDescriptorProvider.getSectionDescriptors();
-		} else {
-			sections = readSectionDescriptors();
-		}
-		for (int i = 0; i < sections.length; i++) {
-			ISectionDescriptor section = sections[i];
-			appendToTabDescriptor(section, aTabDescriptors);
-		}
-	}
-
-	/**
-	 * Appends the given section to a tab from the list.
-	 */
-	protected void appendToTabDescriptor(ISectionDescriptor section,
-			List aTabDescriptors) {
-		for (Iterator i = aTabDescriptors.iterator(); i.hasNext();) {
-			TabDescriptor tab = (TabDescriptor) i.next();
-			if (tab.append(section)) {
-				return;
-			}
-		}
-		// could not append the section to any of the existing tabs - log error
-		String message = MessageFormat.format(NO_TAB_ERROR, new Object[] {
-			section.getId(), section.getTargetTab()});
-		IStatus status = new Status(IStatus.ERROR, TabbedPropertyViewPlugin
-			.getPlugin().getBundle().getSymbolicName(),
-			TabbedPropertyViewStatusCodes.NO_TAB_ERROR, message, null);
-		TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * Sorts the tab descriptors in the given list according to category.
-	 */
-	protected List sortTabDescriptorsByCategory(List descriptors) {
-		Collections.sort(descriptors, new Comparator() {
-
-			public int compare(Object arg0, Object arg1) {
-				TabDescriptor one = (TabDescriptor) arg0;
-				TabDescriptor two = (TabDescriptor) arg1;
-				String categoryOne = one.getCategory();
-				String categoryTwo = two.getCategory();
-				int categoryOnePosition = getIndex(propertyCategories.toArray(),
-					categoryOne);
-				int categoryTwoPosition = getIndex(propertyCategories.toArray(),
-					categoryTwo);
-				return categoryOnePosition - categoryTwoPosition;
-			}
-		});
-		return descriptors;
-	}
-
-	/**
-	 * Sorts the tab descriptors in the given list according to afterTab.
-	 */
-	protected List sortTabDescriptorsByAfterTab(List tabs) {
-		if (tabs.size() == 0 || propertyCategories == null) {
-			return tabs;
-		}
-		List sorted = new ArrayList();
-		int categoryIndex = 0;
-		for (int i = 0; i < propertyCategories.size(); i++) {
-			List categoryList = new ArrayList();
-			String category = (String)propertyCategories.get(i);
-			int topOfCategory = categoryIndex;
-			int endOfCategory = categoryIndex;
-			while (endOfCategory < tabs.size()
-				&& ((TabDescriptor) tabs.get(endOfCategory)).getCategory()
-					.equals(category)) {
-				endOfCategory++;
-			}
-			for (int j = topOfCategory; j < endOfCategory; j++) {
-				TabDescriptor tab = (TabDescriptor) tabs.get(j);
-				if (tab.getAfterTab().equals(TOP)) {
-					categoryList.add(0, tabs.get(j));
-				} else {
-					categoryList.add(tabs.get(j));
-				}
-			}
-			Collections.sort(categoryList, new Comparator() {
-
-				public int compare(Object arg0, Object arg1) {
-					TabDescriptor one = (TabDescriptor) arg0;
-					TabDescriptor two = (TabDescriptor) arg1;
-					if (two.getAfterTab().equals(one.getId())) {
-						return -1;
-					} else if (one.getAfterTab().equals(two.getId())) {
-						return 1;
-					} else {
-						return 0;
-					}
-				}
-			});
-			for (int j = 0; j < categoryList.size(); j++) {
-				sorted.add(categoryList.get(j));
-			}
-			categoryIndex = endOfCategory;
-		}
-		return sorted;
-	}
-
-	/**
-	 * Gets the type mapper for the contributor.
-	 * 
-	 * @return the type mapper for the contributor.
-	 */
-	public ITypeMapper getTypeMapper() {
-		return typeMapper;
-	}
-
-	/**
-	 * Gets the label provider for the contributor.
-	 * 
-	 * @return the label provider for the contributor.
-	 */
-	public ILabelProvider getLabelProvider() {
-		return labelProvider;
-	}
-
-	/**
-	 * Sets the section descriptor provider for the contributor.
-	 * 
-	 * @param sectionDescriptorProvider
-	 *            the section descriptor provider for the contributor.
-	 */
-	public void setSectionDescriptorProvider(
-			ISectionDescriptorProvider sectionDescriptorProvider) {
-		this.sectionDescriptorProvider = sectionDescriptorProvider;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistryClassSectionFilter.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistryClassSectionFilter.java
deleted file mode 100644
index 1fc17bf..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistryClassSectionFilter.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.viewers.IFilter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-
-/**
- * Provides a section filtering mechanism where the selection is an
- * IStructuredSelection and filtering is based on class.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyRegistryClassSectionFilter {
-
-	private ITypeMapper typeMapper = null;
-
-	/**
-	 * constructor.
-	 */
-	protected TabbedPropertyRegistryClassSectionFilter(ITypeMapper typeMapper) {
-		super();
-		this.typeMapper = typeMapper;
-	}
-
-	/**
-	 * Verifies if the property section extension represented by sectionElement
-	 * applies to the given input.
-	 */
-	protected boolean appliesToSelection(ISectionDescriptor descriptor,
-			ISelection selection) {
-
-		if (selection instanceof IStructuredSelection
-			&& selection.isEmpty() == false) {
-
-			if (descriptor.getEnablesFor() != ISectionDescriptor.ENABLES_FOR_ANY
-				&& ((IStructuredSelection) selection).size() != descriptor
-					.getEnablesFor()) {
-				/**
-				 * enablesFor does not match the size of the selection, do not
-				 * display section.
-				 */
-				return false;
-			}
-
-			Set effectiveTypes = new HashSet();
-
-			IFilter filter = descriptor.getFilter();
-
-			for (Iterator i = ((IStructuredSelection) selection).iterator(); i
-				.hasNext();) {
-
-				Object object = i.next();
-
-				if (filter != null && filter.select(object) == false) {
-					/**
-					 * filter fails so section does not apply to the selection,
-					 * do not display section.
-					 */
-					return false;
-				}
-
-				Class remapType = object.getClass();
-				if (typeMapper != null) {
-					remapType = typeMapper.mapType(object);
-				}
-
-				if (effectiveTypes.add(remapType)) {
-
-					// the effective types of the selection
-					if (appliesToEffectiveType(descriptor, remapType) == false) {
-						return false;
-					}
-				}
-			}
-		}
-
-		return true;
-	}
-
-	private boolean appliesToEffectiveType(ISectionDescriptor descriptor,
-			Class inputClass) {
-
-		ArrayList classTypes = getClassTypes(inputClass);
-
-		List sectionInputTypes = descriptor.getInputTypes();
-		for (Iterator j = sectionInputTypes.iterator(); j.hasNext();) {
-			String type = (String) j.next();
-			if (classTypes.contains(type)) {
-				// found a match
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Returns the classes and interfaces the given target class
-	 * extends/implements.
-	 */
-	protected ArrayList getClassTypes(Class target) {
-		ArrayList result = new ArrayList();
-		// add classes
-		List classes = computeClassOrder(target);
-		for (Iterator i = classes.iterator(); i.hasNext();) {
-			result.add(((Class) i.next()).getName());
-		}
-		// add interfaces
-		result.addAll(computeInterfaceOrder(classes));
-		return result;
-	}
-
-	private List computeClassOrder(Class target) {
-		List result = new ArrayList(4);
-		Class clazz = target;
-		while (clazz != null) {
-			result.add(clazz);
-			clazz = clazz.getSuperclass();
-		}
-		return result;
-	}
-
-	private List computeInterfaceOrder(List classes) {
-		List result = new ArrayList(4);
-		Map seen = new HashMap(4);
-		for (Iterator iter = classes.iterator(); iter.hasNext();) {
-			Class[] interfaces = ((Class) iter.next()).getInterfaces();
-			internalComputeInterfaceOrder(interfaces, result, seen);
-		}
-		return result;
-	}
-
-	private void internalComputeInterfaceOrder(Class[] interfaces, List result,
-			Map seen) {
-		List newInterfaces = new ArrayList(seen.size());
-		for (int i = 0; i < interfaces.length; i++) {
-			Class interfac = interfaces[i];
-			if (seen.get(interfac) == null) {
-				result.add(interfac.getName());
-				seen.put(interfac, interfac);
-				newInterfaces.add(interfac);
-			}
-		}
-		for (Iterator iter = newInterfaces.iterator(); iter.hasNext();) {
-			internalComputeInterfaceOrder(
-				((Class) iter.next()).getInterfaces(), result, seen);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistryFactory.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistryFactory.java
deleted file mode 100644
index 0d00876..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyRegistryFactory.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-
-
-/**
- * tabbed property registry factory. Caches the tabbed property registry
- * by tabbed property contributor ID. 
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyRegistryFactory {
-
-	class CacheData {
-		TabbedPropertyRegistry registry;
-		List references;
-	}
-
-	/**
-	 * singleton instance of this class
-	 */
-	private static TabbedPropertyRegistryFactory INSTANCE =
-		new TabbedPropertyRegistryFactory();
-
-	/**
-	 * get the singleton instance of this class
-	 */
-	public static TabbedPropertyRegistryFactory getInstance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * private constructor.
-	 */
-	private TabbedPropertyRegistryFactory() {
-		super();
-		idToCacheData = new HashMap();
-	}
-
-	protected Map idToCacheData; // cache
-
-	/** 
-	 * Creates a registry for the given contributor.
-	 */
-	public TabbedPropertyRegistry createRegistry(ITabbedPropertySheetPageContributor target) {
-		/**
-		 * Get the contributor id from the ITabbedPropertySheetPageContributor interface
-		 */
-		String key = target.getContributorId();
-		CacheData data = (CacheData) idToCacheData.get(key);
-		if (data == null) {
-			data = new CacheData();
-			data.registry =
-				new TabbedPropertyRegistry(key);
-			data.references = new ArrayList(5);
-			idToCacheData.put(key, data);
-		}
-		data.references.add(target);
-		// keeps track of contributor using the same registry
-		return data.registry;
-	}
-
-	/** 
-	 * Indicates that the given contributor no longer needs
-	 * a registry. The registry will be disposed when
-	 * no other contributor of the same type needs it.
-	 */
-	public void disposeRegistry(ITabbedPropertySheetPageContributor target) {
-		/**
-		 * Get the contributor id from the ITabbedPropertySheetPageContributor interface
-		 */
-		String key = target.getContributorId();
-		CacheData data = (CacheData) idToCacheData.get(key);
-		data.references.remove(target);
-		if (data.references.isEmpty()) {
-			idToCacheData.remove(key);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyTitle.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyTitle.java
deleted file mode 100644
index 092a467..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyTitle.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-
-
-/**
- * The title in the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyTitle
-	extends Composite {
-
-	private CLabel label;
-
-	private Image image = null;
-
-	private String text = null;
-	
-	private static final String BLANK = ""; //$NON-NLS-1$
-
-	/**
-	 * Width of the margin that will be added around the control.
-	 */
-	public int marginWidth = 4;
-
-	/**
-	 * Height of the margin that will be added around the control.
-	 */
-	public int marginHeight = 4;
-
-	private TabbedPropertySheetWidgetFactory factory;
-
-	/**
-	 * Constructor for TabbedPropertyTitle.
-	 * 
-	 * @param parent
-	 *            the parent composite.
-	 * @param factory
-	 *            the widget factory for the tabbed property sheet
-	 */
-	public TabbedPropertyTitle(Composite parent,
-			TabbedPropertySheetWidgetFactory factory) {
-		super(parent, SWT.NO_FOCUS);
-		this.factory = factory;
-
-		this.addPaintListener(new PaintListener() {
-
-			public void paintControl(PaintEvent e) {
-				if (image == null && (text == null || text.equals(BLANK))) {
-					label.setVisible(false);
-				} else {
-					label.setVisible(true);
-					drawTitleBackground(e);
-				}
-			}
-		});
-
-		factory.getColors().initializeSectionToolBarColors();
-		setBackground(factory.getColors().getBackground());
-		setForeground(factory.getColors().getForeground());
-
-		FormLayout layout = new FormLayout();
-		layout.marginWidth = ITabbedPropertyConstants.HSPACE + 6;
-		layout.marginHeight = 5;
-		setLayout(layout);
-
-		label = factory.createCLabel(this, BLANK);
-		label.setBackground(new Color[] {
-			factory.getColors().getColor(FormColors.TB_BG),
-			factory.getColors().getColor(FormColors.TB_GBG)}, new int[] {100},
-			true);
-		label.setFont(JFaceResources.getBannerFont());
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.top = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		data.bottom = new FormAttachment(100, 0);
-		label.setLayoutData(data);
-
-		/*
-		 * setImage(PlatformUI.getWorkbench().getSharedImages().getImage(
-		 * ISharedImages.IMG_OBJ_ELEMENT));
-		 */
-	}
-
-	/**
-	 * @param e
-	 */
-	protected void drawTitleBackground(PaintEvent e) {
-		Color bg = factory.getColors().getColor(FormColors.TB_BG);
-		Color gbg = factory.getColors().getColor(FormColors.TB_GBG);
-		Color border = factory.getColors().getColor(FormColors.TB_BORDER);
-		Rectangle bounds = getClientArea();
-		Point tsize = null;
-		Point labelSize = null;
-		int twidth = bounds.width - marginWidth - marginWidth;
-		if (label != null)
-			labelSize = label.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		if (labelSize != null)
-			twidth -= labelSize.x + 4;
-		int tvmargin = 4;
-		int theight = getHeight();
-		if (tsize != null)
-			theight += Math.max(theight, tsize.y);
-		if (labelSize != null)
-			theight = Math.max(theight, labelSize.y);
-		theight += tvmargin + tvmargin;
-		int midpoint = (theight * 66) / 100;
-		int rem = theight - midpoint;
-		GC gc = e.gc;
-		gc.setForeground(bg);
-		gc.setBackground(gbg);
-		gc.fillGradientRectangle(marginWidth, marginHeight, bounds.width - 1
-			- marginWidth - marginWidth, midpoint - 1, true);
-		gc.setForeground(gbg);
-		gc.setBackground(getBackground());
-		gc.fillGradientRectangle(marginWidth, marginHeight + midpoint - 1,
-			bounds.width - 1 - marginWidth - marginWidth, rem - 1, true);
-		gc.setForeground(border);
-		gc.drawLine(marginWidth, marginHeight + 2, marginWidth, marginHeight
-			+ theight - 1);
-		gc.drawLine(marginWidth, marginHeight + 2, marginWidth + 2,
-			marginHeight);
-		gc.drawLine(marginWidth + 2, marginHeight, bounds.width - marginWidth
-			- 3, marginHeight);
-		gc.drawLine(bounds.width - marginWidth - 3, marginHeight, bounds.width
-			- marginWidth - 1, marginHeight + 2);
-		gc.drawLine(bounds.width - marginWidth - 1, marginHeight + 2,
-			bounds.width - marginWidth - 1, marginHeight + theight - 1);
-	}
-
-	/**
-	 * Set the text label.
-	 * 
-	 * @param text
-	 *            the text label.
-	 */
-	public void setTitle(String text, Image image) {
-		this.text = text;
-		this.image = image;
-		if (text != null) {
-			label.setText(text);
-		} else {
-			label.setText(BLANK); 
-		}
-		label.setImage(image);
-		redraw();
-	}
-
-	/**
-	 * @return the height of the title.
-	 */
-	public int getHeight() {
-		Shell shell = new Shell();
-		GC gc = new GC(shell);
-		gc.setFont(getFont());
-		Point point = gc.textExtent(BLANK);
-		point.x++;
-		int textOrImageHeight = Math.max(point.x, 16);
-		gc.dispose();
-		shell.dispose();
-		return textOrImageHeight + 8;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyViewer.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyViewer.java
deleted file mode 100644
index 8813755..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/internal/view/TabbedPropertyViewer.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.views.properties.tabbed.internal.view;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Viewer representing the property sheet page. On the left side it 
- * contains a list of tabs and on the right side it contains the
- * current selected tab.
- * 
- * @author Anthony Hunter 
- */
-public class TabbedPropertyViewer extends StructuredViewer {
-
-	protected TabbedPropertyList list;
-	protected List elements;
-	protected IWorkbenchPart part;
-
-	public TabbedPropertyViewer(TabbedPropertyList list) {
-		this.list = list;
-		hookControl(list);
-		elements = new ArrayList();
-	}
-
-	/**
-	 * Returns the element with the given index from this list viewer.
-	 * Returns <code>null</code> if the index is out of range.
-	 *
-	 * @param index the zero-based index
-	 * @return the element at the given index, or <code>null</code> if the
-	 *   index is out of range
-	 */
-	public Object getElementAt(int index) {
-		if (index >= 0 && index < elements.size()) {
-			return elements.get(index);
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the zero-relative index of the item which is currently
-	 * selected in the receiver, or -1 if no item is selected.
-	 *
-	 * @return the index of the selected item
-	 */
-	public int getSelectionIndex() {
-		return list.getSelectionIndex();
-	}
-
-	protected Widget doFindInputItem(Object element) {
-		/* not implemented */
-		return null;
-	}
-
-	protected Widget doFindItem(Object element) {
-		/* not implemented */
-		return null;
-	}
-
-	protected void doUpdateItem(Widget item, Object element, boolean fullMap) {
-		/* not implemented */
-	}
-
-	protected List getSelectionFromWidget() {
-		int index = list.getSelectionIndex();
-		if (index == TabbedPropertyList.NONE) {
-			return Collections.EMPTY_LIST;
-		}
-		List result = new ArrayList(1);
-		result.add(getElementAt(index));
-		return result;
-	}
-
-	protected void internalRefresh(Object element) {
-		/* not implemented */
-	}
-
-	public void reveal(Object element) {
-		/* not implemented */
-	}
-
-	/**
-	 * We do not consider multiple selections. Only the first
-	 * element will represent the selection.
-	 */
-	protected void setSelectionToWidget(List l, boolean reveal) {
-		if (l == null || l.size() == 0) { // clear selection
-			list.deselectAll();
-		} else {
-			Object object = l.get(0);
-			int index = -1;
-			for (int i = 0; i < elements.size(); i++) {
-				if (elements.get(i) == object) {
-					index = i;
-				}
-			}
-			Assert.isTrue(index != -1, "Could not set the selected tab in the tabbed property viewer");//$NON-NLS-1$
-			list.select(index, reveal);
-		}
-	}
-
-	public Control getControl() {
-		return list;
-	}
-
-	protected void inputChanged(Object input, Object oldInput) {
-		elements.clear();
-		Object[] children = getSortedChildren(getRoot());
-		list.removeAll();
-		for (int i = 0; i < children.length; i++) {
-			elements.add(children[i]);
-			mapElement(children[i], list);
-		}
-		list.setElements(children);
-	}
-
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		this.part = part;
-		setInput(selection);
-	}
-	
-	public IWorkbenchPart getWorkbenchPart() {
-		return part;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/package.html b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/package.html
deleted file mode 100644
index a6397e0..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/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">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the Tabbed Properties framework. This allows client views and editors to
-provide a tabbed property sheet page to the Properties view. 
-See TabbedPropertySheetPage.
-The tabs and sections to show for the selected element(s) in the source part are
-defined by extensions to this plug-in's extension points.
-</body>
-</html>
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 d2d9da5..0000000
--- a/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:20:48 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 3be4ec5..0000000
--- a/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:20:48 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
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/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.views/META-INF/MANIFEST.MF
deleted file mode 100644
index fd55632..0000000
--- a/bundles/org.eclipse.ui.views/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.views; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.ui.internal.views.ViewsPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.internal.views;x-internal:=true,
- org.eclipse.ui.internal.views.contentoutline;x-internal:=true,
- org.eclipse.ui.internal.views.properties;x-internal:=true,
- org.eclipse.ui.views.contentoutline,
- org.eclipse.ui.views.properties
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.help,
- org.eclipse.ui
-Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.ui.views/about.html b/bundles/org.eclipse.ui.views/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.ui.views/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 bbfa0a5..0000000
--- a/bundles/org.eclipse.ui.views/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               .,\
-               META-INF/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.ui.views/component.xml b/bundles/org.eclipse.ui.views/component.xml
deleted file mode 100644
index 3efc32e..0000000
--- a/bundles/org.eclipse.ui.views/component.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Platform UI Views">
- <plugin id="org.eclipse.ui.views" />
-
- <package name="org.eclipse.ui.views.contentoutline" >
-   <type name="ContentOutline" instantiate="false" subclass="false"/>
- </package>
-
- <package name="org.eclipse.ui.views.properties" exclusive="false" >
-   <type name="ColorPropertyDescriptor" subclass="false"/>
-   <type name="ComboBoxPropertyDescriptor" subclass="false"/>
-   <type name="IPropertySheetEntryListener" implement="false"/>
-   <type name="PropertySheet" instantiate="false" subclass="false"/>
-   <type name="PropertySheetPage" subclass="false"/>
-   <type name="TextPropertyDescriptor" subclass="false"/>
- </package>
-
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/icons/full/dlcl16/defaults_ps.gif b/bundles/org.eclipse.ui.views/icons/full/dlcl16/defaults_ps.gif
deleted file mode 100644
index 641ba72..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/dlcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/dlcl16/filter_ps.gif b/bundles/org.eclipse.ui.views/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index ba6d891..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/dlcl16/tree_mode.gif b/bundles/org.eclipse.ui.views/icons/full/dlcl16/tree_mode.gif
deleted file mode 100644
index 62bdbe2..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/dlcl16/tree_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/elcl16/defaults_ps.gif b/bundles/org.eclipse.ui.views/icons/full/elcl16/defaults_ps.gif
deleted file mode 100644
index c064899..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/elcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/elcl16/filter_ps.gif b/bundles/org.eclipse.ui.views/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index 6fe6f0e..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/elcl16/tree_mode.gif b/bundles/org.eclipse.ui.views/icons/full/elcl16/tree_mode.gif
deleted file mode 100644
index dda8bae..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/elcl16/tree_mode.gif
+++ /dev/null
Binary files differ
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 e3ae2e9..0000000
--- a/bundles/org.eclipse.ui.views/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-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 f3adbf8..0000000
--- a/bundles/org.eclipse.ui.views/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   
-     <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="$nl$/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>
-   
-</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 ed9c9c1..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-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 final static String ICONS_PATH = "$nl$/icons/full/";//$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;
-    }
-	
-	/**
-	 * Get the workbench image with the given path relative to
-	 * ICON_PATH.
-	 * @param relativePath
-	 * @return ImageDescriptor
-	 */
-	public static ImageDescriptor getViewImageDescriptor(String relativePath){
-		return imageDescriptorFromPlugin(PLUGIN_ID, ICONS_PATH + relativePath);
-	}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/ContentOutlineMessages.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/ContentOutlineMessages.java
deleted file mode 100644
index ddba84a..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/ContentOutlineMessages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.views.contentoutline;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * ContentOutlineMessages is the message class for the messages used in the content outline.
- *
- */
-public class ContentOutlineMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.views.contentoutline.messages";//$NON-NLS-1$
-
-	// ==============================================================================
-	// Outline View
-	// ==============================================================================
-	public static String ContentOutline_noOutline;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ContentOutlineMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/messages.properties b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/messages.properties
deleted file mode 100644
index 2e229b9..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005  IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.contentoutline
-
-
-# ==============================================================================
-# Outline View
-# ==============================================================================
-ContentOutline_noOutline = An outline is not available.
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/package.html b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/package.html
deleted file mode 100644
index 87324c3..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/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 internal support for the Content Outline view.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/PropertiesMessages.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/PropertiesMessages.java
deleted file mode 100644
index 1f6e5ab..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/PropertiesMessages.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 Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.views.properties;
-
-import org.eclipse.osgi.util.NLS;
-
-public class PropertiesMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.views.properties.messages";//$NON-NLS-1$
-
-	// package: org.eclipse.ui.views.properties
-
-	// ==============================================================================
-	// Properties View
-	// ==============================================================================
-
-	public static String Categories_text;
-	public static String Categories_toolTip;
-
-	public static String CopyProperty_text;
-
-	public static String Defaults_text;
-	public static String Defaults_toolTip;
-
-	public static String Filter_text;
-	public static String Filter_toolTip;
-
-	public static String PropertyViewer_property;
-	public static String PropertyViewer_value;
-	public static String PropertyViewer_misc;
-
-	public static String CopyToClipboardProblemDialog_title;
-	public static String CopyToClipboardProblemDialog_message;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, PropertiesMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/messages.properties b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/messages.properties
deleted file mode 100644
index 8efdcdc..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/messages.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.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/contentoutline/ContentOutline.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java
deleted file mode 100644
index 5556142..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.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.internal.views.contentoutline.ContentOutlineMessages;
-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 {
-
-
-
-    /**
-     * 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 =ContentOutlineMessages.ContentOutline_noOutline; 
-
-    /**
-     * 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);
-    }
-}
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 9571d2e..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 Eclipse Public License v1.0
- * which accompanies 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.views.contentoutline;
-
-import org.eclipse.core.runtime.ListenerList;
-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.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);
-    }
-}
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 b88ec6d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.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 Eclipse Public License v1.0
- * which accompanies 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.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 {
-}
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 6e949e3..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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();
-        }
-    }
-}
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 938cbeb..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.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 Eclipse Public License v1.0
- * which accompanies 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.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;
-    }
-}
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 3ab27e8..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
+++ /dev/null
@@ -1,80 +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 Eclipse Public License v1.0
- * which accompanies 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.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$
-    }
-}
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 44ba9f7..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.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 labels array at the 
- * currently selected index.
- * <p>
- * The value of the property is a 0-based <code>Integer</code> index into
- * the labels array. 
- * </p>
- * <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 labels to display in the combo box
-     */
-    private String[] labels;
-
-    /**
-     * 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 labelsArray the labels to display in the combo box
-     */
-    public ComboBoxPropertyDescriptor(Object id, String displayName,
-            String[] labelsArray) {
-        super(id, displayName);
-        labels = labelsArray;
-    }
-
-    /**
-     * 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, labels,
-                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(labels);
-    }
-}
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 87cf52f..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.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;
-import org.eclipse.ui.internal.views.properties.PropertiesMessages;
-
-/**
- * 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.CopyToClipboardProblemDialog_title,
-                    PropertiesMessages.CopyToClipboardProblemDialog_message))
-                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 f14cc19..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.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();
-    }
-}
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 e9c344d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.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();
-        }
-    }
-}
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 46c336d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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);
-}
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 2d7433c..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.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 Eclipse Public License v1.0
- * which accompanies 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.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$
-}
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 3804a9f..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.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);
-}
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 c57fede..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 Eclipse Public License v1.0
- * which accompanies 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.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);
-}
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 05b2d14..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 is 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);
-}
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 5fcdf04..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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 {
-}
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 0bbf203..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     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 then <code>false</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, <code>false</code> if
-	 *         the specified property does not have a meaningful default value,
-	 *         and <code>false</code> if this source does not have the
-	 *         specified property
-	 * @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);
-}
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 ca973ae..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     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, and
-     *         <code>false</code> otherwise
-     * @see IPropertySource#resetPropertyValue(Object)
-     * @see IPropertySource#isPropertySet(Object)
-     */
-    boolean isPropertyResettable(Object id);
-
-    /**
-     * <code>IPropertySource2</code> overrides the specification of this <code>IPropertySource</code> 
-     * method to return <code>true</code> instead of <code>false</code> if the specified 
-     * property does not have a meaningful default value.
-     * <code>isPropertyResettable</code> will only be called if <code>isPropertySet</code> returns
-     * <code>true</code>.
-     * <p> 
-     * 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>
-     * <p>
-     * If the notion of default value is not meaningful for the specified
-     * property then <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, <code>true</code> if
-     *         the specified property does not have a meaningful default value,
-     *         and <code>false</code> if this source does not have the
-     *         specified property
-     * @see IPropertySource2#isPropertyResettable(Object)
-     * @see #resetPropertyValue(Object)
-     * @since 3.1
-     */
-    public boolean isPropertySet(Object id);
-}
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 9b79b13..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Interface used by {@link org.eclipse.ui.views.properties.PropertySheetEntry}
- * to obtain an {@link org.eclipse.ui.views.properties.IPropertySource} 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
-	 * @return the property source for the object passed in (maybe
-	 *         <code>null</code>)
-	 */
-	public IPropertySource getPropertySource(Object object);
-}
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 5dc91ad..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.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;
-    }
-}
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 1cbcacb..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISaveablePart;
-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) {
-        	// Look for a declaratively-contributed adapter.
-        	// See bug 86362 [PropertiesView] Can not access AdapterFactory, when plugin is not loaded.
-			page = (IPropertySheetPage) Platform.getAdapterManager()
-					.loadAdapter(part, IPropertySheetPage.class.getName());
-		}
-        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);
-    }
-    
-    /**
-	 * The <code>PropertySheet</code> implementation of this
-	 * <code>PageBookView</code> method handles the <code>ISaveablePart</code>
-	 * adapter case by calling <code>getSaveablePart()</code>.
-	 * 
-	 * @since 3.2
-	 */
-	protected Object getViewAdapter(Class key) {
-		if (ISaveablePart.class.equals(key)) {
-			return getSaveablePart();
-		}
-		return super.getViewAdapter(key);
-	}
-
-	/**
-	 * Returns an <code>ISaveablePart</code> that delegates to the source part
-	 * for the current page if it implements <code>ISaveablePart</code>, or
-	 * <code>null</code> otherwise.
-	 * 
-	 * @return an <code>ISaveablePart</code> or <code>null</code>
-	 * @since 3.2
-	 */
-	protected ISaveablePart getSaveablePart() {
-		IWorkbenchPart part = getCurrentContributingPart();
-		if (part instanceof ISaveablePart) {
-			return (ISaveablePart) part;
-		}
-		return null;
-	}
-}
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 387d15c..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.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 Eclipse Public License v1.0
- * which accompanies 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.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;
-    }
-}
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 345b502..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.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 Eclipse Public License v1.0
- * which accompanies 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.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();
-    }
-}
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 b039257..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
+++ /dev/null
@@ -1,758 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 [PropertiesView] property view sorting
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.commands.common.EventManager;
-import org.eclipse.core.runtime.IAdaptable;
-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 extends EventManager 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;
-
-    /**
-     * 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) {
-        addListenerObject(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 unsorted intersection of all the <code>IPropertyDescriptor</code>s 
-     * for the objects.
-     * @return List
-     */
-    private List computeMergedPropertyDescriptors() {
-        if (values.length == 0)
-            return new ArrayList(0);
-
-        IPropertySource firstSource = getPropertySource(values[0]);
-        if (firstSource == null) {
-            return new ArrayList(0);
-        }
-        
-        if (values.length == 1) {
-            return Arrays.asList(firstSource.getPropertyDescriptors());
-        }
-        
-        // 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]);
-            }
-        }
-
-        // sorting is handled in the PropertySheetViewer, return unsorted (in the original order)
-        ArrayList result = new ArrayList(intersection.size());
-        IPropertyDescriptor[] firstDescs = firstSource.getPropertyDescriptors();
-        for (int i = 0; i < firstDescs.length; i++) {
-            IPropertyDescriptor desc = firstDescs[i];
-            if (intersection.containsKey(desc.getId())) {
-                result.add(desc);
-            }
-        }
-        return result;
-    }
-
-    /**
-     * 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
-        PropertySheetEntry[] newEntries = new PropertySheetEntry[descriptors.size()];
-		for (int i = 0; i < descriptors.size(); i++) {
-            IPropertyDescriptor d = (IPropertyDescriptor) descriptors.get(i);
-            // create new entry
-            PropertySheetEntry entry = createChildEntry();
-			entry.setDescriptor(d);
-            entry.setParent(this);
-            entry.setPropertySourceProvider(propertySourceProvider);
-            entry.refreshValues();
-            newEntries[i] = entry;
-        }
-        // only assign if successful
-        childEntries = newEntries;
-    }
-
-	/**
-	 * Factory method to create a new child <code>PropertySheetEntry</code>
-	 * instance.
-	 * <p>
-	 * Subclasses may overwrite to create new instances of their own class.
-	 * </p>
-	 * 
-	 * @return a new <code>PropertySheetEntry</code> instance for the
-	 *         descriptor passed in
-     * @since 3.1
-	 */
-	protected PropertySheetEntry createChildEntry() {
-		return new PropertySheetEntry();
-	}
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public void dispose() {
-        if (editor != null) {
-            editor.dispose();
-            editor = null;
-        }
-        // recursive call to dispose children
-        PropertySheetEntry[] entriesToDispose = childEntries;
-        childEntries = null;
-        if (entriesToDispose != null)
-            for (int i = 0; i < entriesToDispose.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 (entriesToDispose[i] != null)
-                    entriesToDispose[i].dispose();
-            }
-    }
-
-    /**
-     * The child entries of this entry have changed 
-     * (children added or removed).
-     * Notify all listeners of the change.
-     */
-    private void fireChildEntriesChanged() {
-        Object[] array = 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() {
-        Object[] array = 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() {
-        Object[] array = 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 the descriptor for this entry
-     * @since 3.1 (was previously private)
-     */
-    protected 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 the parent of this entry.
-     * 
-     * @return the parent entry, or <code>null</code> if it has no parent
-     * @since 3.1
-     */
-    protected PropertySheetEntry getParent() {
-        return parent;
-    }
-    
-    /**
-     * 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
-     * @since 3.1 (was previously private)
-     */
-    protected 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 the value objects of this entry
-     * @since 3.1 (was previously private)
-     */
-    public 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++) {
-            PropertySheetEntry childEntry = childEntries[i];
-            if (childEntry != null) {
-                entryCache.put(childEntry.getDescriptor().getId(), childEntry);
-            }
-        }
-
-        // create a list of entries to dispose
-        List entriesToDispose = new ArrayList(Arrays.asList(childEntries));
-
-        // clear the old entries
-        this.childEntries = null;
-
-        // rebuild child entries using old when possible
-        PropertySheetEntry[] newEntries = 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 = createChildEntry();
-                entry.setDescriptor(d);
-                entry.setParent(this);
-                entry.setPropertySourceProvider(propertySourceProvider);
-                entriesChanged = true;
-            }
-            entry.refreshValues();
-            newEntries[i] = entry;
-        }
-
-        // only assign if successful
-        this.childEntries = newEntries;
-        
-        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.
-     *
-     * @since 3.1 (was previously private)
-     */
-    protected 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) {
-        removeListenerObject(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);
-    }
-}
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 0b8f5a2..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 [PropertiesView] property view sorting
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.core.runtime.IAdaptable;
-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.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.IPartListener;
-import org.eclipse.ui.ISaveablePart;
-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.internal.views.ViewsPlugin;
-import org.eclipse.ui.internal.views.properties.PropertiesMessages;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.part.Page;
-
-/**
- * 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 properties to 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, IAdaptable {
-    /**
-     * 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 PropertySheetSorter sorter;
-
-    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;
-
-	private IWorkbenchPart sourcePart;
-
-	/**
-	 * Part listener which cleans up this page when the source part is closed.
-	 * This is hooked only when there is a source part.
-	 *  
-	 * @since 3.2
-	 */
-	private class PartListener implements IPartListener {
-		public void partActivated(IWorkbenchPart part) {
-		}
-
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-
-		public void partClosed(IWorkbenchPart part) {
-			if (sourcePart == part) {
-				sourcePart = null;
-				if (viewer != null && !viewer.getControl().isDisposed()) {
-					viewer.setInput(new Object[0]);
-				}
-			}
-		}
-
-		public void partDeactivated(IWorkbenchPart part) {
-		}
-
-		public void partOpened(IWorkbenchPart part) {
-		}
-	}
-	
-	private PartListener partListener = new PartListener();
-	
-    /**
-     * 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);
-        viewer.setSorter(sorter);
-        
-        // 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 (sourcePart != null) {
-        	sourcePart.getSite().getPage().removePartListener(partListener);
-        }        
-        if (rootEntry != null) {
-            rootEntry.dispose();
-            rootEntry = null;
-        }
-        if (clipboard != null) {
-            clipboard.dispose();
-            clipboard = null;
-        }
-    }
-
-    /**
-     * The <code>PropertySheetPage</code> implementation of this <code>IAdaptable</code> method
-     * handles the <code>ISaveablePart</code> adapter by delegating to the source part.
-     * 
-     * @since 3.2
-     */
-    public Object getAdapter(Class adapter) {
-		if (ISaveablePart.class.equals(adapter)) {
-			return getSaveablePart();
-		}
-    	return null;
-    }
-    
-	/**
-	 * Returns an <code>ISaveablePart</code> that delegates to the source part
-	 * for the current page if it implements <code>ISaveablePart</code>, or
-	 * <code>null</code> otherwise.
-	 * 
-	 * @return an <code>ISaveablePart</code> or <code>null</code>
-	 * @since 3.2
-	 */
-	protected ISaveablePart getSaveablePart() {
-		if (sourcePart instanceof ISaveablePart) {
-			return (ISaveablePart) sourcePart;
-		}
-		return 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();
-    }
-
-    /**
-     * 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.Defaults_text);
-        defaultsAction.setToolTipText(PropertiesMessages.Defaults_toolTip);
-        defaultsAction
-                .setImageDescriptor(ViewsPlugin.getViewImageDescriptor("elcl16/defaults_ps.gif")); //$NON-NLS-1$
-        defaultsAction
-                .setDisabledImageDescriptor(ViewsPlugin.getViewImageDescriptor("dlcl16/defaults_ps.gif")); //$NON-NLS-1$
-        defaultsAction.setEnabled(false);
-
-        // Show Advanced Properties
-        filterAction = new FilterAction(viewer, "filter"); //$NON-NLS-1$
-        filterAction.setText(PropertiesMessages.Filter_text);
-        filterAction.setToolTipText(PropertiesMessages.Filter_toolTip);
-        filterAction
-                .setImageDescriptor(ViewsPlugin.getViewImageDescriptor("elcl16/filter_ps.gif")); //$NON-NLS-1$
-        filterAction.setChecked(false);
-
-        // Show Categories
-        categoriesAction = new CategoriesAction(viewer, "categories"); //$NON-NLS-1$
-        categoriesAction.setText(PropertiesMessages.Categories_text);
-        categoriesAction.setToolTipText(PropertiesMessages.Categories_toolTip);
-        categoriesAction
-                .setImageDescriptor(ViewsPlugin.getViewImageDescriptor("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.CopyProperty_text);
-        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;
-
-        if (sourcePart != null) {
-        	sourcePart.getSite().getPage().removePartListener(partListener);
-        	sourcePart = null;
-        }
-        
-        // change the viewer input since the workbench selection has changed.
-        if (selection instanceof IStructuredSelection) {
-        	sourcePart = part;
-            viewer.setInput(((IStructuredSelection) selection).toArray());
-        }
-
-        if (sourcePart != null) {
-        	sourcePart.getSite().getPage().addPartListener(partListener);
-        }
-    }
-
-    /**
-     * 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);
-    }
-
-    /**
-	 * Sets the sorter used for sorting categories and entries in the viewer
-	 * of this page.
-	 * <p>
-	 * The default sorter sorts categories and entries alphabetically. 
-	 * </p>
-	 * @param sorter the sorter to set (<code>null</code> will reset to the
-	 * default sorter)
-     * @since 3.1
-	 */
-	protected void setSorter(PropertySheetSorter sorter) {
-		this.sorter = sorter;
-        if (viewer != null) {
-        	viewer.setSorter(sorter);
-        	
-        	// the following will trigger an update
-        	if(null != viewer.getRootEntry())
-        		viewer.setRootEntry(rootEntry);
-        }
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetSorter.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetSorter.java
deleted file mode 100644
index 67827fe..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetSorter.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Gunnar Wagenknecht and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Gunnar Wagenknecht - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Comparator;
-
-/**
- * Class used by {@link org.eclipse.ui.views.properties.PropertySheetPage} to
- * sort properties.
- * <p>
- * The default implementation sorts alphabetically. Subclasses may overwrite to
- * implement custom sorting.
- * </p>
- *
- * @since 3.1
- */
-public class PropertySheetSorter  {
-
-	/**
-	 * The collator used to sort strings.
-	 */
-	private Collator collator;
-
-	/**
-	 * Creates a new sorter, which uses the default collator to sort strings.
-	 */
-	public PropertySheetSorter() {
-		this(Collator.getInstance());
-	}
-
-	/**
-	 * Creates a new sorter, which uses the given collator to sort strings.
-	 * 
-	 * @param collator
-	 *            the collator to use to sort strings
-	 */
-	public PropertySheetSorter(Collator collator) {
-		this.collator = collator;
-	}
-
-	/**
-	 * Returns a negative, zero, or positive number depending on whether the
-	 * first element is less than, equal to, or greater than the second element.
-	 * <p>
-	 * The default implementation of this method uses the collator to
-	 * compare the display names. Subclasses may override.
-	 * </p>
-	 * 
-	 * @param entryA
-	 *            the first element
-	 * @param entryB
-	 *            the second element
-	 * @return a negative number if the first element is less than the second
-	 *         element; the value <code>0</code> if the first element is equal
-	 *         to the second element; and a positive number if the first element
-	 *         is greater than the second element
-	 */
-	public int compare(IPropertySheetEntry entryA, IPropertySheetEntry entryB) {
-		return getCollator().compare(entryA.getDisplayName(),
-				entryB.getDisplayName());
-	}
-
-	/**
-	 * Returns a negative, zero, or positive number depending on whether the
-	 * first element is less than, equal to, or greater than the second element.
-	 * <p>
-	 * The default implementation of this method uses the collator to
-	 * compare the strings. Subclasses may override.
-	 * </p>
-	 * 
-	 * @param categoryA
-	 *            the first element
-	 * @param categoryB
-	 *            the second element
-	 * @return a negative number if the first element is less than the second
-	 *         element; the value <code>0</code> if the first element is equal
-	 *         to the second element; and a positive number if the first element
-	 *         is greater than the second element
-	 */
-	public int compareCategories(String categoryA, String categoryB) {
-		return getCollator().compare(categoryA, categoryB);
-	}
-
-	/**
-	 * Returns the collator used to sort strings.
-	 * 
-	 * @return the collator used to sort strings
-	 */
-	protected Collator getCollator() {
-		return collator;
-	}
-
-	/**
-	 * Sorts the given elements in-place, modifying the given array.
-	 * <p>
-	 * The default implementation of this method uses the java.util.Arrays#sort
-	 * algorithm on the given array, calling <code>compare</code> to compare
-	 * elements.
-	 * </p>
-	 * <p>
-	 * Subclasses may reimplement this method to provide a more optimized
-	 * implementation.
-	 * </p>
-	 * 
-	 * @param entries
-	 *            the elements to sort
-	 */
-	public void sort(IPropertySheetEntry[] entries) {
-		Arrays.sort(entries, new Comparator() {
-			public int compare(Object a, Object b) {
-				return PropertySheetSorter.this.compare(
-						(IPropertySheetEntry) a, (IPropertySheetEntry) b);
-			}
-		});
-	}
-
-	/**
-	 * Sorts the given categories in-place, modifying the given array.
-	 * 
-	 * @param categories
-	 *            the categories to sort
-	 */
-	void sort(PropertySheetCategory[] categories) {
-		Arrays.sort(categories, new Comparator() {
-			public int compare(Object a, Object b) {
-				return PropertySheetSorter.this.compareCategories(
-						((PropertySheetCategory) a).getCategoryName(),
-						((PropertySheetCategory) b).getCategoryName());
-			}
-		});
-	}
-}
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 d134d5d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
+++ /dev/null
@@ -1,1311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 [PropertiesView] property view sorting
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-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.ListenerList;
-import org.eclipse.jface.action.IStatusLineManager;
-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.custom.TreeEditor;
-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.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.internal.views.properties.PropertiesMessages;
-
-/**
- * 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.PropertyViewer_property, PropertiesMessages.PropertyViewer_value };
-
-    private static String MISCELLANEOUS_CATEGORY_NAME = PropertiesMessages.PropertyViewer_misc;
-
-    // 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();
-    
-    // the property sheet sorter
-    private PropertySheetSorter sorter = new PropertySheetSorter();
-
-    /**
-     * 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();
-                if (area.width > 0) {
-                    columns[0].setWidth(area.width * 40 / 100);
-                    columns[1].setWidth(area.width - columns[0].getWidth() - 4);
-                    tree.removeControlListener(this);
-                }
-            }
-        });
-
-    }
-
-    /**
-     * 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 = getChildItems(widget);
-
-        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;
-    }
-
-    private TreeItem[] getChildItems(Widget widget) {
-        if (widget instanceof Tree) {
-            return ((Tree) widget).getItems();
-        }
-        else if (widget instanceof TreeItem) {
-            return ((TreeItem) widget).getItems();
-        }
-        // shouldn't happen
-        return new TreeItem[0];
-    }
-    
-    /**
-     * Returns the sorted 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 sorted & filtered child entries
-        return getSortedEntries(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 getSortedEntries(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++) {
-            IPropertySheetEntry entry = entries[i];
-            if (entry != null) {
-                String[] filters = entry.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(entry);
-            }
-        }
-        return filteredEntries;
-    }
-    
-    /**
-	 * Returns a sorted list of <code>IPropertySheetEntry</code> entries.
-	 * 
-	 * @param unsortedEntries
-	 *            unsorted list of <code>IPropertySheetEntry</code>
-	 * @return a sorted list of the specified entries
-	 */
-	private List getSortedEntries(List unsortedEntries) {
-		IPropertySheetEntry[] propertySheetEntries = (IPropertySheetEntry[]) unsortedEntries
-				.toArray(new IPropertySheetEntry[unsortedEntries.size()]);
-		sorter.sort(propertySheetEntries);
-		return Arrays.asList(propertySheetEntries);
-	}
-    
-
-    /**
-	 * 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() {
-            /* (non-Javadoc)
-             * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-             */
-            public void widgetSelected(SelectionEvent e) {
-            	// The viewer only owns the status line when there is
-            	// no 'active' cell editor
-            	if (cellEditor == null || !cellEditor.isActivated())
-            		updateStatusLine(e.item);
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			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());
-            }
-        });
-    }
-
-    /**
-     * Update the status line based on the data of item.
-     * @param item
-     */
-    protected void updateStatusLine(Widget item) {
-    	setMessage(null);
-    	setErrorMessage(null);
-    	
-    	// Update the status line
-    	if (item != null) {
-    		if (item.getData() instanceof PropertySheetEntry) {
-    			PropertySheetEntry psEntry = (PropertySheetEntry) item.getData();
-    			
-    			// For entries, show the description if any, else show the label
-    			String desc = psEntry.getDescription();
-    			if (desc != null && desc.length() > 0)
-    				setMessage(psEntry.getDescription());
-    			else
-	    			setMessage(psEntry.getDisplayName());
-    		}
-    			
-    		else if (item.getData() instanceof PropertySheetCategory) {
-    			PropertySheetCategory psCat = (PropertySheetCategory) item.getData();
-    			setMessage(psCat.getCategoryName());
-    		}
-    	}
-	}
-
-    /**
-     * 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 sorter for this viewer.
-	 * <p>
-	 * The default sorter sorts categories and entries alphabetically. 
-	 * A viewer update needs to be triggered after the sorter has changed.
-	 * </p>
-	 * @param sorter the sorter to set (<code>null</code> will reset to the
-	 * default sorter)
-     * @since 3.1
-	 */
-	public void setSorter(PropertySheetSorter sorter) {
-		if (null == sorter)
-			sorter = new PropertySheetSorter();
-		this.sorter = sorter;
-	}
-
-    /**
-     * 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.
-        // Rather than just sorting categoryCache.values(), we'd like the original order to be preserved
-        // (with misc added at the end, if needed) before passing to the sorter.
-        ArrayList categoryList = new ArrayList();
-        Set seen = new HashSet(childEntries.size());
-        for (int i = 0; i < childEntries.size(); i++) {
-            IPropertySheetEntry childEntry = (IPropertySheetEntry) childEntries
-                    .get(i);
-            String categoryName = childEntry.getCategory();
-            if (categoryName != null && !seen.contains(categoryName)) {
-                seen.add(categoryName);
-                PropertySheetCategory category = (PropertySheetCategory) categoryCache
-                        .get(categoryName);
-                if (category != null) { 
-                    categoryList.add(category);
-                }
-            }
-        }
-        if (addMisc && !seen.contains(MISCELLANEOUS_CATEGORY_NAME)) {
-            categoryList.add(misc);
-        }
-        
-        PropertySheetCategory[] categoryArray = (PropertySheetCategory[]) categoryList
-        	.toArray(new PropertySheetCategory[categoryList.size()]);
-        sorter.sort(categoryArray);
-        categories = categoryArray;
-    }
-
-    /**
-     * 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[] childItems = getChildItems(widget);
-
-        // optimization! prune collapsed subtrees
-        TreeItem item = null;
-        if (widget instanceof TreeItem) {
-            item = (TreeItem) widget;
-        }
-        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
-                // It 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.
-                childItems = getChildItems(widget);
-                if (childItems.length == 0) {
-                    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
-                childItems[i].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
-        childItems = getChildItems(widget);
-
-        // 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
-        }
-    }
-}
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 47338c4..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.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 Eclipse Public License v1.0
- * which accompanies 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.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;
-    }
-}
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 065ac06..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 6fdf49f..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 1577bff..0000000
--- a/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:21:10 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 8d20c9f..0000000
--- a/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:21:10 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.1\n *\n * ${tags}\n */</template><template context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/bundles/org.eclipse.ui.win32/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.win32/META-INF/MANIFEST.MF
deleted file mode 100644
index 7387f10..0000000
--- a/bundles/org.eclipse.ui.win32/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.ui.win32
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)"
-Bundle-Localization: fragment-win32
-Export-Package: org.eclipse.ui.internal.editorsupport.win32;x-internal:=true
-Eclipse-PlatformFilter: (osgi.ws=win32)
diff --git a/bundles/org.eclipse.ui.win32/about.html b/bundles/org.eclipse.ui.win32/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.ui.win32/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 5d20485..0000000
--- a/bundles/org.eclipse.ui.win32/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source..=src/
-src.includes=about.html
-bin.includes = .,\
-               META-INF/,\
-               fragment-win32.properties,\
-               about.html
diff --git a/bundles/org.eclipse.ui.win32/fragment-win32.properties b/bundles/org.eclipse.ui.win32/fragment-win32.properties
deleted file mode 100644
index 1d259fc..0000000
--- a/bundles/org.eclipse.ui.win32/fragment-win32.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-providerName=Eclipse.org
-fragmentName=Eclipse UI Win32 Enhancements
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 0909f8f..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
+++ /dev/null
@@ -1,721 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.editorsupport.win32;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-
-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.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.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.ResourcesPlugin;
-
-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.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPathEditorInput;
-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.ide.ResourceUtil;
-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 occurred.
-     */
-    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();
-
-        createClientSite();
-    }
-
-    /**
-     * Create the client site for the receiver
-     */
-
-    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 de-activations.
-        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) {
-            ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-                    resourceListener);
-            resource = null;
-        }
-
-        //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 {
-    	
-    	validatePathEditorInput(input);
-
-        // Save input.
-        setSite(site);
-        setInputWithNotify(input);
-
-        // Update titles.
-        setPartName(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);
-
-    }
-    
-    /**
-     * Validates the given input
-     * 
-     * @param input the editor input to validate
-     * @throws PartInitException if the editor input is not OK
-     */
-    private boolean validatePathEditorInput(IEditorInput input) throws PartInitException {
-        // Check input type.
-        if (!(input instanceof IPathEditorInput))
-            throw new PartInitException(OleMessages.format(
-                    "OleEditor.invalidInput", new Object[] { input })); //$NON-NLS-1$
-        
-        IPath path= ((IPathEditorInput)input).getPath();
-
-        //Cannot create this with a file and no physical location
-        if (path == null
-                || !(new File(path.toOSString()).exists()))
-            throw new PartInitException(
-                    OleMessages
-                            .format(
-                                    "OleEditor.noFileInput", new Object[] { path.toOSString() })); //$NON-NLS-1$
-        return true;
-    }
-    
-    /**
-     *	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 menu bar.  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());
-                IFile sFile = ResourceUtil.getFile(getEditorInput());
-                if (sFile != null) {
-                    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();
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorPart#setInputWithNotify(org.eclipse.ui.IEditorInput)
-     */
-    protected void setInputWithNotify(IEditorInput input) {
-    	if (input instanceof IPathEditorInput)
-    		source = new File(((IPathEditorInput)input).getPath().toOSString());
-    	
-        if (input instanceof IFileEditorInput) {
-        	if (resource == null)
-        		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceListener);
-        	resource = ((IFileEditorInput)input).getFile();
-        } else if (resource != null) {
-        	ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceListener);
-        	resource = null;
-        }
-        
-        super.setInputWithNotify(input);
-    }
-
-    /**
-     * 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);
-        setInputWithNotify(newInput);
-        sourceChanged = true;
-        setPartName(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();
-    }
-
-}
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 cd036a7..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 Eclipse Public License v1.0
- * which accompanies 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.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;
-        }
-    }
-}
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 22d8afa..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, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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 adapt to IFile
-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 d54f0e9..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:21:22 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index ffc0be6..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:21:22 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
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/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.workbench.compatibility/META-INF/MANIFEST.MF
deleted file mode 100644
index fe7922c..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.ui.workbench.compatibility
-Bundle-Version: 3.2.0.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.ui.workbench;bundle-version="[3.0.0,4.0.0)"
-Bundle-Localization: fragment-compatibility
-Require-Bundle: org.eclipse.core.resources
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 6f6b96c..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 ef55695..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-source.compatibility.jar=src/
-src.includes=about.html
-bin.includes = fragment.xml,\
-               fragment-compatibility.properties,\
-               about.html,\
-               compatibility.jar,\
-               META-INF/
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/fragment-compatibility.properties b/bundles/org.eclipse.ui.workbench.compatibility/fragment-compatibility.properties
deleted file mode 100644
index f667586..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/fragment-compatibility.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName=Eclipse.org
-fragmentName=Workbench Compatibility
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 ebb37f2..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 Eclipse Public License v1.0
- * which accompanies 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;
-
-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);
-    }
-}
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 83f1997..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 Eclipse Public License v1.0
- * which accompanies 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;
-
-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;
-}
diff --git a/bundles/org.eclipse.ui/schema/menus.exsd b/bundles/org.eclipse.ui/schema/menus.exsd
index d32f7fe..bc62cc3 100644
--- a/bundles/org.eclipse.ui/schema/menus.exsd
+++ b/bundles/org.eclipse.ui/schema/menus.exsd
@@ -655,7 +655,7 @@
  id=&quot;com.mycompany.myplugin.MyComboBoxSimple&quot;
  class=&quot;com.mycompany.myplugin.MyComboBox&quot;&gt;
  &lt;location&gt;
-  &lt;toolbar path=&quot;myGroup&quot; /&gt;
+  &lt;toolbar path=&quot;myGroup&quot;&gt;
  &lt;/location&gt;
 &lt;/widget&gt;
 &lt;widget
diff --git a/examples/org.eclipse.jface.examples.databinding/.classpath b/examples/org.eclipse.jface.examples.databinding/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.jface.examples.databinding/.cvsignore b/examples/org.eclipse.jface.examples.databinding/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.jface.examples.databinding/.project b/examples/org.eclipse.jface.examples.databinding/.project
deleted file mode 100644
index 0ccc228..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jface.examples.databinding</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.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 84528f4..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,322 +0,0 @@
-#Mon Feb 06 11:15:07 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=80
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index cca68b0..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Oct 20 11:39:38 EDT 2005
-eclipse.preferences.version=1
-formatter_settings_version=8
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<templates><template id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment" description\="Comment for getter method" context\="gettercomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * @return Returns the ${bare_field_name}.\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment" description\="Comment for setter method" context\="settercomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * @param ${param} The ${bare_field_name} to set.\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment" description\="Comment for created constructors" context\="constructorcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * ${tags}\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment" description\="Comment for created Java files" context\="filecomment_context" enabled\="true" deleted\="false" autoinsert\="true">/*******************************************************************************\r\n * Copyright (c) ${year} IBM Corporation and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *     IBM Corporation - initial API and implementation\r\n ******************************************************************************/\r\n</template><template id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment" description\="Comment for created types" context\="typecomment_context" enabled\="true" deleted\="false" autoinsert\="false">/**\r\n * @since 3.2\r\n *\r\n * ${tags}\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment" description\="Comment for fields" context\="fieldcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * \r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment" description\="Comment for non-overriding methods" context\="methodcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * ${tags}\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment" description\="Comment for overriding methods" context\="overridecomment_context" enabled\="true" deleted\="false" autoinsert\="true">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype" description\="Newly created files" context\="newtype_context" enabled\="true" deleted\="false" autoinsert\="true">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock" description\="Code in new catch blocks" context\="catchblock_context" enabled\="true" deleted\="false" autoinsert\="true">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody" description\="Code in created method stubs" context\="methodbody_context" enabled\="true" deleted\="false" autoinsert\="true">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody" description\="Code in created constructor stubs" context\="constructorbody_context" enabled\="true" deleted\="false" autoinsert\="true">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody" description\="Code in created getters" context\="getterbody_context" enabled\="true" deleted\="false" autoinsert\="true">return ${field};</template><template id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody" description\="Code in created setters" context\="setterbody_context" enabled\="true" deleted\="false" autoinsert\="true">${field} \= ${param};</template></templates>
diff --git a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 9ad123f..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Oct 18 13:46:33 EDT 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.jface.examples.databinding/META-INF/MANIFEST.MF b/examples/org.eclipse.jface.examples.databinding/META-INF/MANIFEST.MF
deleted file mode 100644
index ba04080..0000000
--- a/examples/org.eclipse.jface.examples.databinding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jface.examples.databinding
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.jface,
- org.eclipse.jface.databinding,
- org.eclipse.core.runtime
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.jface.examples.databinding.compositetable,
- org.eclipse.jface.examples.databinding.compositetable.reflect,
- org.eclipse.jface.examples.databinding.model
diff --git a/examples/org.eclipse.jface.examples.databinding/about.html b/examples/org.eclipse.jface.examples.databinding/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.jface.examples.databinding/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.examples.databinding/build.properties b/examples/org.eclipse.jface.examples.databinding/build.properties
deleted file mode 100644
index 6d9fc34..0000000
--- a/examples/org.eclipse.jface.examples.databinding/build.properties
+++ /dev/null
@@ -1,18 +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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               .,\
-               META-INF/,\
-               plugin.properties,\
-               about.html
-output.databindingexamples.jar = bin/
-src.includes = about.html
-source.. = src/
diff --git a/examples/org.eclipse.jface.examples.databinding/plugin.properties b/examples/org.eclipse.jface.examples.databinding/plugin.properties
deleted file mode 100644
index 759e715..0000000
--- a/examples/org.eclipse.jface.examples.databinding/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = JFace Data Binding Examples
-providerName = Eclipse.org
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ExampleBinding.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ExampleBinding.java
deleted file mode 100644
index d4b6505..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ExampleBinding.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jface.examples.databinding;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.beans.BeanUpdatableFactory;
-import org.eclipse.jface.databinding.beans.NestedUpdatableFactory;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.databinding.viewers.ViewersUpdatableFactory;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * An example application-level data binding factory implementation. This should
- * be copied into your application and be modified to include the specific
- * updatable factories your application needs in the order it needs them.
- * <p>
- * Note that the search order for IUpdatableFactory implementations is last to
- * first.
- * </p>
- * 
- * @since 3.2
- */
-public class ExampleBinding {
-
-	/**
-	 * Creates a data binding context whose lifecycle is bound to an SWT
-	 * control, and which supports binding to SWT controls, JFace viewers, and
-	 * POJO model objects with JavaBeans-style notification.
-	 * <p>
-	 * This method is a convenience method; its implementation is equivalent to
-	 * calling {@link DataBinding#createContext(Control, IUpdatableFactory[]) }
-	 * where the array of factories consists of a {@link NestedUpdatableFactory},
-	 * a {@link BeanUpdatableFactory} instance, a {@link SWTUpdatableFactory},
-	 * and a {@link ViewersUpdatableFactory}.
-	 * </p>
-	 * 
-	 * @param control
-	 * @return a data binding context
-	 */
-	public static IDataBindingContext createContext(Control control) {
-		return DataBinding.createContext(control, new IUpdatableFactory[] {
-				new NestedUpdatableFactory(), new BeanUpdatableFactory(),
-				new SWTUpdatableFactory(), new ViewersUpdatableFactory() });
-	}
-
-	/**
-	 * Creates a data binding context which supports binding to SWT controls,
-	 * JFace viewers, and POJO model objects with JavaBeans-style notification.
-	 * This data binding context's life cycle is not bound to the dispose event
-	 * of any SWT control. Consequently, the programmer is responsible to
-	 * manually dispose any IUpdatables created using this data binding context
-	 * as necessary.
-	 * <p>
-	 * This method is a convenience method; its implementation is equivalent to
-	 * calling {@link DataBinding#createContext(Control, IUpdatableFactory[]) }
-	 * where the array of factories consists of a {@link NestedUpdatableFactory},
-	 * a {@link BeanUpdatableFactory} instance, a {@link SWTUpdatableFactory},
-	 * and a {@link ViewersUpdatableFactory}.
-	 * </p>
-	 * 
-	 * @return a data binding context
-	 */
-	public static IDataBindingContext createContext() {
-		return DataBinding.createContext(new IUpdatableFactory[] {
-				new NestedUpdatableFactory(), new BeanUpdatableFactory(),
-				new SWTUpdatableFactory(), new ViewersUpdatableFactory() });
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/CompositeTable.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/CompositeTable.java
deleted file mode 100644
index 6e8d857..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/CompositeTable.java
+++ /dev/null
@@ -1,890 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme                  - Initial API and implementation
- *     Coconut Palm Software, Inc. - API cleanup
- */
-package org.eclipse.jface.examples.databinding.compositetable;
-
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.LinkedList;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Layout;
-
-
-/**
- * Class CompositeTable.  n.  (1) An SWT virtual table control that extends Composite.  
- * (2) An SWT virtual table control that is composed of many Composites, each representing 
- * a header or a row, one below the other.<p>
- * 
- * CompositeTable is designed specifically to work nicely in the Eclipse Visual Editor,
- * but it is equally easy to use in hand-coded layouts.<p>
- * 
- * <b>Synopsis:</b><p>
- * 
- * In order to edit anything, one must:<p>
- * 
- * <ul>
- * <li>Extend Composite or Canvas and create an object that can be duplicated to 
- * represent the rows in your table.
- * <li>Optionally, extend Composite or Canvas and create a header object in the
- * same way.
- * <li>If the canvas and row objects do not have a layout manager, the CompositeTable 
- * will automatically supply one that lays out child controls in a visual table.  If
- * they have a layout manager, CompositeTable will let them use that.
- * <li>Create a CompositeTable object, either using VE or using hand-coded SWT.
- * <li>Drop the header (if applicable), then the row object on the CompositeTable or
- * simply write code that creates instances of these objects in that order as child
- * controls of your CompositeTable.
- * <li>Set the RunTime property to "true".  Your control is now "live."
- * <li>Add a RowConstructionListener if you need to add event handlers to individual row 
- * controls when a row is created.
- * <li>Add a RowContentProvider that knows how to put data into your row object's 
- * controls on demand.
- * <li>Add a RowFocusListener to validate and save changed data.
- * <li>Set the NumRowsInCollection property to the number of rows in the underlying data
- * structure.
- * </ul>
- *
- * Detailed description:<p>
- * 
- * This control is designed to work inside of the Eclipse Visual Editor.  To use it,
- * drop one on the design surface.  (Even though it extends Canvas, it does not make
- * sense to put a layout manager on it.)<p>
- * 
- * Next create one or two new custom controls by using the Visual Editor to extend
- * Composite.  If you create one custom control, it will be used as the prototype
- * for all rows that will be displayed in the table.  If you create two, the first
- * one will be used as a prototype for the header and the second one will be used 
- * as a prototype for the rows.<p>
- * 
- * If these custom controls are not given layout managers (null layout), then 
- * CompositeTable will automatically detect this situation and will supply its own
- * layout manager that will automatically lay out the children of these controls in 
- * columns to form a table.  However, if you supply layout managers for your header 
- * prototype and row prototype objects, CompositeTable will respect your choice.
- * If you use CompositeTable's built-in layout manager, then the weights property
- * will be used to determine what percentage of the total width will be allocated
- * to each column.  If this property is not set or if the sum of their elements
- * does not equal 100, the columns are created as equal sizes.<p>
- * 
- * Once you have created your (optional) Header and Row custom controls, simply drop
- * them onto your CompositeTable control in VE.  The first of these two custom
- * controls to be instantiated in your code will be interpreted by the CompositeTable
- * as the header control and the second will be interpreted as the row control.<p>
- * 
- * Now that you have defined the (optional) header and row, you can switch your 
- * CompositeTable into run mode and use it.  This is done by switching the RunTime 
- * property to true.<p>
- * 
- * Once in run mode, all of the CompositeTable's properties will be active.  In order
- * to use it, set the NumRowsInCollection property to the number of rows in the 
- * collection you want to display.  And add a RefreshContentProvider, which will
- * be called whenever CompositeTable needs to refresh a particular row.<p>
- * 
- * Please refer to the remainder of the JavaDoc for information on the remaining
- * properties and events.<p>
- * 
- * Although this control extends Composite, it is not intended to be subclassed
- * except within its own implementation and it makes no sense to set a layout 
- * manager on it (although as discussed above, the child controls may have layout
- * managers).
- * 
- * @author djo
- * @since 3.2
- * TODO: eliminate flicker when scrolling backwards
- */
-public class CompositeTable extends Canvas {
-	
-	// Property fields here
-	private boolean runTime = false;
-	
-	private int[] weights = new int[0];
-	
-	private int numRowsInCollection = 0;
-	private int maxRowsVisible = Integer.MAX_VALUE;
-	
-	// Private fields here
-	private Constructor headerConstructor = null;
-	private Control headerControl = null;
-	private Constructor rowConstructor = null;
-	private Control rowControl = null;
-	
-	private InternalCompositeTable contentPane = null;
-	
-	/**
-	 * Constructor CompositeTable.  Construct a CompositeTable control.  CompositeTable
-	 * accepts the same style bits as the SWT Canvas.
-	 * 
-	 * @param parent The SWT parent control.
-	 * @param style Style bits.  These are the same as Canvas
-	 */
-	public CompositeTable(Composite parent, int style) {
-		super(parent, style);
-		setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		setLayout(new Layout() {
-			protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-				if (headerControl == null && rowControl == null) {
-					return new Point(2, 20);
-				}
-				Point headerSize = new Point(0, 0);
-				if (headerControl != null) {
-					headerSize = headerControl.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				}
-				Point rowSize = new Point(0, 0);
-				if (rowControl != null) {
-					rowSize = rowControl.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				}
-				Point result = new Point(Math.max(headerSize.x, rowSize.x), headerSize.y + rowSize.y);
-				return result;
-			}
-			protected void layout(Composite composite, boolean flushCache) {
-				resize();
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Control#setBackground(org.eclipse.swt.graphics.Color)
-	 */
-	public void setBackground(Color color) {
-		super.setBackground(color);
-		if (contentPane != null) {
-			contentPane.setBackground(color);
-		}
-	}
-		
-	private int numChildrenLastTime = 0;
-	
-	/** (non-API)
-	 * Method resize.  Resize this table's contents.  Called from within the custom 
-	 * layout manager.
-	 */
-	protected final void resize() {
-		if (isRunTime()) {
-			int childrenLength = getChildren().length;
-			if (numChildrenLastTime != childrenLength) {
-				resizeAndRecordPrototypeRows();
-				showPrototypes(false);
-				contentPane.dispose();
-				contentPane = new InternalCompositeTable(this, SWT.NULL);
-			}
-			updateVisibleRows();
-		} else {
-			resizeAndRecordPrototypeRows();
-		}
-	}
-
-	/** (non-API)
-	 * Method updateVisibleRows.  Makes sure that the content pane is displaying the correct
-	 * number of visible rows given the control's size.  Called from within #resize.
-	 */
-	protected void updateVisibleRows() {
-		if (contentPane == null) {
-			switchToRunMode();
-		}
-		Point size = getSize();
-		contentPane.setBounds(0, 0, size.x, size.y);
-	}
-
-	/**
-	 * Switch from design mode where prototype header/row objects can be dropped on the 
-	 * control into run mode where all of the properties do what you would expect.
-	 */
-	private void switchToRunMode() {
-		showPrototypes(false);
-		contentPane = new InternalCompositeTable(this, SWT.NULL);
-	}
-	
-	/**
-	 * Switch back to design mode so that the prototype header/row objects may be manipulated
-	 * directly in a GUI design tool.
-	 */
-	private void switchToDesignMode(){
-		contentPane.dispose();
-		contentPane = null;
-		showPrototypes(true);
-		resizeAndRecordPrototypeRows();
-	}
-
-	/**
-	 * Turns display of the prototype objects on or off.
-	 * 
-	 * @param newValue true of the prototype objects should be displayed; false otherwise.
-	 */
-	private void showPrototypes(boolean newValue) {
-		if (headerControl != null) {
-			headerControl.setVisible(newValue);
-		}
-		if (rowControl != null) {
-			rowControl.setVisible(newValue);
-		}
-	}
-
-	/**
-	 * (non-API) Method resizeAndRecordPrototypeRows. Figure out what child
-	 * controls are the header and row prototype rows respectively and resize
-	 * them so they occupy the entire width and their preferred height.
-	 */
-	protected void resizeAndRecordPrototypeRows() {
-		Control[] children = getChildren();
-		ArrayList realChildren = new ArrayList();
-		Control[] finalChildren = children;
-		
-		// Find first two prototypes
-		for (int i = 0; i < children.length; i++) {
-			if (children[i] instanceof InternalCompositeTable) {
-				continue;
-			}
-			if (realChildren.size() < 2) {
-				realChildren.add(children[i]);
-			}
-		}
-		finalChildren = (Control[]) realChildren.toArray(new Control[realChildren.size()]);
-		
-		if (finalChildren.length == 0) {
-			headerConstructor = null;
-			headerControl = null;
-			rowConstructor = null;
-			rowControl = null;
-			return;
-		}
-
-		// Get a constructor for the header and/or the row prototype
-		headerConstructor = null;
-		headerControl = null;
-		rowConstructor = null;
-		rowControl = null;
-		
-		if (finalChildren.length == 1) {
-			try {
-				rowControl = (Composite) finalChildren[0];
-				rowConstructor = finalChildren[0].getClass().getConstructor(new Class[] {Composite.class, Integer.TYPE});
-			} catch (Exception e) {
-			}
-		} else {
-			try {
-				headerConstructor = finalChildren[0].getClass().getConstructor(new Class[] {Composite.class, Integer.TYPE});
-				headerControl = finalChildren[0];
-				rowConstructor = finalChildren[1].getClass().getConstructor(new Class[] {Composite.class, Integer.TYPE});
-				rowControl = finalChildren[1];
-			} catch (Exception e) {
-			}
-		}
-		
-		// Now actually resize the children
-		int top=0;
-		int width = getSize().x;
-		for (int i=0; i < finalChildren.length; ++i) {
-			int height = 50;
-			if (finalChildren[i] instanceof Composite) {
-				Composite child = (Composite) finalChildren[i];
-				if (child.getLayout() == null) {
-					height = layoutHeaderOrRow(child);
-				} else {
-					height = finalChildren[i].computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-				}
-			} else {
-				height = finalChildren[i].computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-			}
-			
-			finalChildren[i].setBounds(0, top, width, height);
-			top += height;
-		}
-		
-		numChildrenLastTime = children.length;
-		Display.getCurrent().asyncExec(new Runnable() {
-			public void run() {
-				getParent().layout(true);
-			}
-		});
-	}
-	
-	/**(non-API)
-	 * Method layoutHeaderOrRow.  If a header or row object does not have a layout manager, this
-	 * method will automatically be called to layout the child controls of that header or row
-	 * object.
-	 * 
-	 * @param child The child object to layout.
-	 * @return the height of the header or row
-	 */
-	int layoutHeaderOrRow(Composite child) {
-		Control[] children = child.getChildren();
-		if (children.length == 0) {
-			return 50;
-		}
-		int[] weights = this.weights;
-		weights = checkWeights(weights, children.length);
-		
-		int maxHeight = 0;
-		for (int i = 0; i < children.length; i++) {
-			int height = children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT, true).y;
-			if (maxHeight < height) {
-				maxHeight = height;
-			}
-		}
-		++maxHeight;
-		
-		int widthRemaining = child.getParent().getSize().x;
-		int totalSize = widthRemaining;
-		for (int i = 0; i < children.length-1; i++) {
-			int left = totalSize - widthRemaining;
-			int desiredHeight = children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT, false).y;
-			int top = maxHeight - desiredHeight-1;
-			int width = (int)(((float)weights[i])/100 * totalSize);
-			children[i].setBounds(left+2, top, width-4, desiredHeight);
-			widthRemaining -= width;
-		}
-		
-		int left = totalSize - widthRemaining;
-		int desiredHeight = children[children.length-1].computeSize(SWT.DEFAULT, SWT.DEFAULT, false).y;
-		int top = maxHeight - desiredHeight-1;
-		children[children.length-1].setBounds(left+2, top, widthRemaining-4, desiredHeight);
-		
-		return maxHeight;
-	}
-
-	/**
-	 * Compute and return a weights array where each weight is the percentage the corresponding
-	 * column should occupy of the entire control width.  If the elements in the supplied weights 
-	 * array add up to 100 and the length of the array is the same as the number of columns, the
-	 * supplied weights array is used.  Otherwise, this method computes and returns a weights 
-	 * array that makes each column an equal size. 
-	 * 
-	 * @param weights The default or user-supplied weights array.
-	 * @param numChildren The number of child controls.
-	 * @return The weights array that will be used by the layout manager.
-	 */
-	private int[] checkWeights(int[] weights, int numChildren) {
-		if (weights.length == numChildren) {
-			int sum = 0;
-			for (int i = 0; i < weights.length; i++) {
-				sum += weights[i];
-			}
-			if (sum == 100) {
-				return weights;
-			}
-		}
-		
-		// Either the number of weights doesn't match or they don't add up.
-		// Compute something sane and return that instead.
-		int[] result = new int[numChildren];
-		int weight = 100 / numChildren;
-		int extra = 100 % numChildren;
-		for (int i = 0; i < result.length-1; i++) {
-			result[i] = weight;
-		}
-		result[numChildren-1] = weight + extra;
-		return result;
-	}
-
-	/**
-	 * Method isRunTime.  Returns if the CompositeTable is in run time mode as opposed
-	 * to design time mode.  In design time mode, the only permitted operations are to
-	 * add or remove child Composites to be used as the header and/or row prototype objects.
-	 * 
-	 * @return true if this CompositeTable is in run mode.  false otherwise.
-	 */
-	public boolean isRunTime() {
-		return runTime;
-	}
-
-	/**
-	 * Method setRunTime.  Turns run-time mode on or off.  When run-time mode is off, 
-	 * CompositeTable ignores most property operations and will accept prototype child
-	 * controls to be added.  When run-time mode is on, the prototype controls are 
-	 * interpreted and all properties become active.
-	 * 
-	 * @param runTime true if run-time mode should be enabled; false otherwise.
-	 */
-	public void setRunTime(boolean runTime) {
-		if (this.runTime != runTime) {
-			this.runTime = runTime;
-			if (runTime) {
-				if (rowControl == null) {
-					resizeAndRecordPrototypeRows();
-				}
-				switchToRunMode();
-			} else {
-				switchToDesignMode();
-			}
-		}
-	}
-
-	/**
-	 * Method getWeights.  Returns an array representing the percentage of the total width
-	 * each column is allocated or null if no weights have been specified.  This property is
-	 * ignored if the programmer has set a layout manager on the header and/or the row
-	 * prototype objects.
-	 * 
-	 * @return the current weights array or null if no weights have been specified.
-	 */
-	public int[] getWeights() {
-		return weights;
-	}
-
-	/**
-	 * Method setWeights.  Specifies the percentage of the total width that will be allocated
-	 * to each column.  This property is ignored if the programmer has set a layout manager 
-	 * on the header and/or the row prototype objects.<p>
-	 * 
-	 * The number of elements in the array must match the number of columns and the sum of
-	 * all elements must equal 100.  If either of these constraints is not true, this property
-	 * will be ignored and all columns will be created equal in width.
-	 * 
-	 * @param weights the weights to use if the CompositeTable is automatically laying out controls.
-	 */
-	public void setWeights(int[] weights) {
-		this.weights = weights;
-		if (contentPane != null) {
-			contentPane.setWeights();
-		}
-	}
-	
-	boolean gridLinesOn = true;
-	
-	/**
-	 * Method isGridLinesOn.  Returns if the CompositeTable will draw grid lines on the header
-	 * and row Composite objects.  This property is ignored if the programmer has set a layout
-	 * manager on the header and/or the row prototype objects.
-	 * 
-	 * @return true if the CompositeTable will draw grid lines; false otherwise.
-	 */
-	public boolean isGridLinesOn() {
-		return gridLinesOn;
-	}
-
-	/**
-	 * Method setGridLinesOn.  Sets if the CompositeTable will draw grid lines on the header and
-	 * row Composite objects.  This property is ignored if the programmer has set a layout 
-	 * manager on the header and/or the row prototype objects.
-	 * 
-	 * @param gridLinesOn true if the CompositeTable will draw grid lines; false otherwise.
-	 */
-	public void setGridLinesOn(boolean gridLinesOn) {
-		this.gridLinesOn = gridLinesOn;
-	}
-	
-	String insertHint = "Press <INS> to insert new data."; //$NON-NLS-1$
-	
-	/**
-	 * Returns the hint string that will be displayed when there are no rows in the table.
-	 * 
-	 * @return The hint string that will be displayed when there are no rows in the table.
-	 */
-	public String getInsertHint() {
-		return insertHint;
-	}
-	
-	/**
-	 * Sets the hint string that will be displayed when there are no rows in the table.  The
-	 * default value is "Press &lt;INS> to insert a new row."
-	 * 
-	 * @param newHint
-	 */
-	public void setInsertHint(String newHint) {
-		this.insertHint = newHint;
-	}
-
-	/**
-	 * Method getMaxRowsVisible.  Returns the maximum number of rows that will be permitted 
-	 * in the table at once.  For example, setting this property to 1 will have the effect of 
-	 * creating a single editing area with a scroll bar on the right allowing the user to scroll
-	 * through all rows using either the mouse or the PgUp/PgDn keys.  The default value is
-	 * Integer.MAX_VALUE.
-	 * 
-	 * @return the maximum number of rows that are permitted to be visible at one time, regardless
-	 * of the control's size.
-	 */
-	public int getMaxRowsVisible() {
-		return maxRowsVisible;
-	}
-
-	/**
-	 * Method setMaxRowsVisible.  Sets the maximum number of rows that will be permitted 
-	 * in the table at once.  For example, setting this property to 1 will have the effect of 
-	 * creating a single editing area with a scroll bar on the right allowing the user to scroll
-	 * through all rows using either the mouse or the PgUp/PgDn keys.  The default value is
-	 * Integer.MAX_VALUE.
-	 * 
-	 * @param maxRowsVisible the maximum number of rows that are permitted to be visible at one time, regardless
-	 * of the control's size.
-	 */
-	public void setMaxRowsVisible(int maxRowsVisible) {
-		this.maxRowsVisible = maxRowsVisible;
-		if (contentPane != null) {
-			contentPane.setMaxRowsVisible(maxRowsVisible);
-		}
-	}
-	
-	/**
-	 * Method getNumRowsVisible.  Returns the actual number of rows that are currently visible.
-	 * Normally CompositeTable displays as many rows as will fit vertically given the control's
-	 * size.  This value can be clamped to a maximum using the MaxRowsVisible property.
-	 * 
-	 * @return the actual number of rows that are currently visible.
-	 */
-	public int getNumRowsVisible() {
-		if (contentPane != null)
-			return contentPane.getNumRowsVisible();
-
-		return -1;
-	}
-
-	/**
-	 * Method getNumRowsInCollection.  Returns the number of rows in the data structure that is
-	 * being edited.
-	 * 
-	 * @return the number of rows in the underlying data structure.
-	 */
-	public int getNumRowsInCollection() {
-		return numRowsInCollection;
-	}
-
-	/**
-	 * Method setNumRowsInCollection.  Sets the number of rows in the data structure that is
-	 * being edited.
-	 * 
-	 * @param numRowsInCollection the number of rows represented by the underlying data structure.
-	 */
-	public void setNumRowsInCollection(int numRowsInCollection) {
-		this.numRowsInCollection = numRowsInCollection;
-		if (contentPane != null) {
-			contentPane.setNumRowsInCollection(numRowsInCollection);
-		}
-	}
-	
-	private int topRow=0;
-
-	/**
-	 * Method getTopRow.  Return the number of the line that is being displayed in the top row
-	 * of the CompositeTable editor (0-based).
-	 * 
-	 * @return the number of the top line.
-	 */
-	public int getTopRow() {
-		if (contentPane != null) {
-			return contentPane.getTopRow();
-		}
-		return topRow;
-	}
-
-	/**
-	 * Method setTopRow. Set the number of the line that is being displayed in the top row
-	 * of the CompositeTable editor (0-based).  If the new top row is not equal to the current
-	 * top row, the table will automatically be scrolled to the new position.  This number must
-	 * be greater than 0 and less than NumRowsInCollection.
-	 * 
-	 * @param topRow the line number of the new top row.
-	 */
-	public void setTopRow(int topRow) {
-		this.topRow = topRow;
-		if (contentPane != null) {
-			contentPane.setTopRow(topRow);
-		}
-	}
-
-	/**
-	 * Method refreshAllRows.  Refresh all visible rows in the CompositeTable from the
-	 * original data.
-	 */
-	public void refreshAllRows() {
-		if (contentPane != null) {
-			contentPane.updateVisibleRows();
-			contentPane.refreshAllRows();
-		}
-	}
-	
-	/**
-	 * Method getCurrentColumn.  Returns the column number of the currently-focused column 
-	 * (0-based).
-	 * 
-	 * @return the column number of the currently-focused column.
-	 */
-	public int getCurrentColumn() {
-		if (contentPane == null) {
-			return -1;
-		}
-		return getSelection().x;
-	}
-
-	/**
-	 * Method setCurrentColumn.  Sets the column number of the currently-focused column 
-	 * (0-based).
-	 * 
-	 * @param column The new column to focus.
-	 */
-	public void setCurrentColumn(int column) {
-		setSelection(column, getCurrentRow());
-	}
-
-	/**
-	 * Method getCurrentRow.  Returns the current row number as an offset from the top of the
-	 * table window.  In order to get the current row in the underlying data structure, compute
-	 * getTopRow() + getCurrentRow().
-	 * 
-	 * @return the current row number as an offset from the top of the table window.
-	 */
-	public int getCurrentRow() {
-		if (contentPane == null) {
-			return -1;
-		}
-		return getSelection().y;
-	}
-	
-	/**
-	 * Method setCurrentRow.  Sets the current row number as an offset from the top of the
-	 * table window.  In order to get the current row in the underlying data structure, compute
-	 * getTopRow() + getCurrentRow().
-	 * 
-	 * @param row the current row number as an offset from the top of the table window.
-	 */
-	public void setCurrentRow(int row) {
-		setSelection(getCurrentColumn(), row);
-	}
-	
-	/**
-	 * Method getCurrentRowControl.  Returns the SWT control that displays the current row.
-	 * 
-	 * @return Control the current row control.
-	 */
-	public Control getCurrentRowControl() {
-		return contentPane.getCurrentRowControl();
-	}
-	
-	/**
-	 * Method getSelection.  Returns the currently-selected (column, row) pair where the row 
-	 * specifies the offset from the top of the table window.  In order to get the current 
-	 * row in the underlying data structure, use getSelection().y + getCurrentRow().
-	 * 
-	 * @return  the currently-selected (column, row) pair where the row specifies the offset 
-	 * from the top of the table window.
-	 */
-	public Point getSelection() {
-		if (contentPane == null) {
-			return null;
-		}
-		return contentPane.getSelection();
-	}
-	
-	/**
-	 * Method setSelection.  Sets the currently-selected (column, row) pair where the row 
-	 * specifies the offset from the top of the table window.  In order to get the current 
-	 * row in the underlying data structure, use getSelection().y + getCurrentRow().
-	 * 
-	 * @param selection the (column, row) to select
-	 */
-	public void setSelection(Point selection) {
-		setSelection(selection.x, selection.y);
-	}
-
-	/**
-	 * Method setSelection.  Sets the currently-selected (column, row) pair where the row 
-	 * specifies the offset from the top of the table window.  In order to get the current 
-	 * row in the underlying data structure, use getSelection().y + getCurrentRow().
-	 * 
-	 * @param column the column to select
-	 * @param row the row to select as an offset from the top of the window
-	 */
-	public void setSelection(int column, int row) {
-		if (contentPane == null) {
-			return;
-		}
-		contentPane.setSelection(column, row);
-	}
-	
-	/** (non-API)
-	 * Method getHeaderConstructor.  Returns the Constructor object used internally to
-	 * construct the table's header or null if there is none.
-	 * 
-	 * @return the header's constructor.
-	 */
-	public Constructor getHeaderConstructor() {
-		return headerConstructor;
-	}
-
-	/** (non-API)
-	 * Method getRowConstructor.  Returns the Constructor object used internally to 
-	 * construct each row object.
-	 * 
-	 * @return the rows' constructor
-	 */
-	public Constructor getRowConstructor() {
-		return rowConstructor;
-	}
-
-	/** (non-API)
-	 * Method getHeaderControl.  Returns the prototype header control.
-	 * 
-	 * @return the prototype header control.
-	 */
-	public Control getHeaderControl() {
-		return headerControl;
-	}
-
-	/** (non-API)
-	 * Method getRowControl.  Returns the prototype row control.
-	 * 
-	 * @return the prototype row control.
-	 */
-	public Control getRowControl() {
-		return rowControl;
-	}
-
-	LinkedList contentProviders = new LinkedList();
-	
-	/**
-	 * Method addRowContentProvider.  Adds the specified content provider to the list of
-	 * content providers that will be called when a row needs to be filled with data.
-	 * Most of the time it only makes sense to add a single one.
-	 * 
-	 * @param contentProvider The content provider to add.
-	 */
-	public void addRowContentProvider(IRowContentProvider contentProvider) {
-		contentProviders.add(contentProvider);
-	}
-
-	/**
-	 * Method removeRowContentProvider.  Removes the specified content provider from the list of
-	 * content providers that will be called when a row needs to be filled with data.
-	 * 
-	 * @param contentProvider The content provider to remove.
-	 */
-	public void removeRowContentProvider(IRowContentProvider contentProvider) {
-		contentProviders.remove(contentProvider);
-	}
-	
-	LinkedList rowFocusListeners = new LinkedList();
-	
-	/**
-	 * Method addRowListener.  Adds the specified listener to the set of listeners that 
-	 * will be notified when the user wishes to leave a row and when the user has already
-	 * left a row.  If any listener vetos leaving a row, the focus remains in the row.
-	 * 
-	 * @param rowListener The listener to add.
-	 */
-	public void addRowFocusListener(IRowFocusListener rowListener) {
-		rowFocusListeners.add(rowListener);
-	}
-	
-	/**
-	 * Method removeRowListener.  Removes the specified listener from the set of listeners that 
-	 * will be notified when the user wishes to leave a row and when the user has already
-	 * left a row.  If any listener vetos leaving a row, the focus remains in the row.
-	 * 
-	 * @param listener The listener to remove.
-	 */
-	public void removeRowFocusListener(IRowFocusListener listener) {
-		rowFocusListeners.remove(listener);
-	}
-	
-	LinkedList insertHandlers = new LinkedList();
-	
-	/**
-	 * Method addInsertHandler.  Adds the specified insertHandler to the set of objects that
-	 * will be used to handle insert requests.
-	 * 
-	 * @param insertHandler the insertHandler to add.
-	 */
-	public void addInsertHandler(IInsertHandler insertHandler) {
-		insertHandlers.add(insertHandler);
-	}
-	
-	/**
-	 * Method removeInsertHandler.  Removes the specified insertHandler from the set of objects that
-	 * will be used to handle insert requests.
-	 * 
-	 * @param insertHandler the insertHandler to remove.
-	 */
-	public void removeInsertHandler(IInsertHandler insertHandler) {
-		insertHandlers.remove(insertHandler);
-	}
-	
-	LinkedList deleteHandlers = new LinkedList();
-	
-	/**
-	 * Method addDeleteHandler.  Adds the specified deleteHandler to the set of objects that
-	 * will be used to handle delete requests.
-	 * 
-	 * @param deleteHandler the deleteHandler to add.
-	 */
-	public void addDeleteHandler(IDeleteHandler deleteHandler) {
-		deleteHandlers.add(deleteHandler);
-	}
-	
-	/**
-	 * Method removeDeleteHandler.  Removes the specified deleteHandler from the set of objects that
-	 * will be used to handle delete requests.
-	 * 
-	 * @param deleteHandler the deleteHandler to remove.
-	 */
-	public void removeDeleteHandler(IDeleteHandler deleteHandler) {
-		deleteHandlers.remove(deleteHandler);
-	}
-	
-	LinkedList rowConstructionListeners = new LinkedList();
-	
-	/**
-	 * Method addRowConstructionListener.  Adds the specified rowConstructionListener to the set of objects that
-	 * will be used to listen to row construction events.
-	 * 
-	 * @param rowConstructionListener the rowConstructionListener to add.
-	 */
-	public void addRowConstructionListener(IRowConstructionListener rowConstructionListener) {
-		rowConstructionListeners.add(rowConstructionListener);
-	}
-	
-	/**
-	 * Method removeRowConstructionListener.  Removes the specified rowConstructionListener from the set of objects that
-	 * will be used to listen to row construction events.
-	 * 
-	 * @param rowConstructionListener the rowConstructionListener to remove.
-	 */
-	public void removeRowConstructionListener(IRowConstructionListener rowConstructionListener) {
-		rowConstructionListeners.remove(rowConstructionListener);
-	}
-	
-	boolean deleteEnabled = true;
-
-	/**
-	 * Method isDeleteEnabled.  Returns if delete is enabled.  Deletions are only processed if
-	 * the DeleteEnabled property is true and at least one delete handler has been registered.<p>
-	 * 
-	 * The default value is true.
-	 * 
-	 * @return true if delete is enabled.  false otherwise.
-	 */
-	public boolean isDeleteEnabled() {
-		return deleteEnabled;
-	}
-
-	/**
-	 * Method setDeleteEnabled.  Sets if delete is enabled.  Deletions are only processed if
-	 * the DeleteEnabled property is true and at least one delete handler has been registered.<p>
-	 * 
-	 * The default value is true.
-	 * 
-	 * @param deleteEnabled true if delete should be enabled.  false otherwise.
-	 */
-	public void setDeleteEnabled(boolean deleteEnabled) {
-		this.deleteEnabled = deleteEnabled;
-	}
-
-
-}  //  @jve:decl-index=0:visual-constraint="10,10"
-
-
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IDeleteHandler.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IDeleteHandler.java
deleted file mode 100644
index ec71880..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IDeleteHandler.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable;
-
-/**
- * Interface IDeleteHandler.  An interface for objects that can manage deletions on behalf of
- * a CompositeTable.
- */
-public interface IDeleteHandler {
-	/**
-	 * Method canDelete.  This method is called to determine if the specified row can
-	 * be successfully deleted.  The receiver may perform whatever validation that is required
-	 * If this is successful, the receiver should return true.  If the object cannot 
-	 * (or must not) be deleted, the receiver must return false.
-	 * 
-	 * @param rowInCollection The row under consideration for deletion.
-	 * @return true if the row can be deleted; false otherwise.
-	 */
-	public boolean canDelete(int rowInCollection);
-	
-	/**
-	 * Method deleteRow.  This method is called when the user has requested to delete the 
-	 * specified row.  
-	 * 
-	 * @param rowInCollection The row in the collection to delete (0-based).
-	 */
-	public void deleteRow(int rowInCollection);
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IInsertHandler.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IInsertHandler.java
deleted file mode 100644
index e139e42..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IInsertHandler.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable;
-
-/**
- * Interface IInsertHandler.  An interface for objects that can handle requests to insert a new
- * object into a collection being edited by a CompositeTable.
- * 
- * @author djo
- */
-public interface IInsertHandler {
-	/**
-	 * Method insert.  Requests that the receiver insert object(s) making up a new row at 
-	 * the specified position.  The receiver returns the actual position where the insert
-	 * occured (that doesn't have to be the same as the requested position).
-	 * 
-	 * @param positionHint The user's current position in the user interface relative to the 
-	 * beginning of the collection (0-based).
-	 * 
-	 * @return the actual position of the new object.
-	 */
-	public int insert(int positionHint);
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowConstructionListener.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowConstructionListener.java
deleted file mode 100644
index 78d2e7b..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowConstructionListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable;
-
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Interface IRowConstructionListener.  An interface for objects that need to listen to row object
- * construction events.
- * 
- * @author djo
- */
-public interface IRowConstructionListener {
-	/**
-	 * Method rowConstructed.  Called when the CompositeTable creates a new row object.  
-	 * CompositeTable only creates a new row object when it needs on in order to fill vacant
-	 * space.  During its life cycle, it never disposes a row object, but rather caches
-	 * unused row objects for later reuse if needed.  All row objects are disposed when the
-	 * CompositeTable itself is disposed.
-	 * 
-	 * @param newRow The new row object that was just constructed.
-	 */
-	public void rowConstructed(Control newRow);
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowContentProvider.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowContentProvider.java
deleted file mode 100644
index 5c251d1..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowContentProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable;
-
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Interface IRowContentProvider.  An interface for objects that are able to initialize an
- * arbitrary row control with values on demand.
- * @author djo
- */
-public interface IRowContentProvider {
-
-	/**
-	 * Method refresh.  Requests receiver to refresh the currentRowInTable with data
-	 * to edit.
-	 * 
-	 * @param sender The CompositeTable sending the message.
-	 * @param currentObjectOffset The 0-based row number that is offset in the data structure of 
-	 * the table's top row.
-	 * @param row The row control to fill with data.  This will be a copy of your prototype 
-	 * row object.
-	 */
-	void refresh(CompositeTable sender, int currentObjectOffset, Control row);
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowFocusListener.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowFocusListener.java
deleted file mode 100644
index b1a8736..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/IRowFocusListener.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable;
-
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Interface IRowFocusListener.  An interface for objects that want to listen to and have the
- * possibility of vetoing row change events on a CompositeTable.
- * 
- * @author djo
- */
-public interface IRowFocusListener {
-
-	/**
-	 * Method requestRowChange.  Requests permission to change rows.  This method is
-	 * called immediately before a row change occurs.  Listeners must return true to
-	 * grant permission for the row change to occur or return false to veto it.  If
-	 * any listener returns false, the entire row change operation is aborted.<p>
-	 *  
-	 * @param sender The CompositeTable sending the event.
-	 * @param currentObjectOffset The offset of the current object in the data structure.
-	 * @param row The row control that is losing focus.
-	 * @return true to permit the row change to occur; false otherwise.
-	 */
-	boolean requestRowChange(CompositeTable sender, int currentObjectOffset, Control row);
-	
-	/**
-	 * Method depart.  Called after requstRowChange has been called to indicate that
-	 * the focus is departing the specified row.
-	 * 
-	 * @param sender
-	 * @param currentObjectOffset
-	 * @param row
-	 */
-	void depart(CompositeTable sender, int currentObjectOffset, Control row);
-
-	/**
-	 * Method arrive.  Notifies receiver that the current row has just been changed.
-	 * 
-	 * @param sender The CompositeTable sending the event.
-	 * @param currentObjectOffset The 0-based offset to the row that should be populated
-	 * @param newRow The actual SWT row object that needs to be populated with data
-	 */
-	void arrive(CompositeTable sender, int currentObjectOffset, Control newRow);
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/InternalCompositeTable.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/InternalCompositeTable.java
deleted file mode 100644
index 51a8e13..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/InternalCompositeTable.java
+++ /dev/null
@@ -1,1486 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable;
-
-import java.lang.reflect.Constructor;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import org.eclipse.jface.examples.databinding.compositetable.internal.EmptyTablePlaceholder;
-import org.eclipse.jface.examples.databinding.compositetable.internal.ISelectableRegionControl;
-import org.eclipse.jface.examples.databinding.compositetable.internal.TableRow;
-import org.eclipse.jface.examples.databinding.compositetable.reflect.DuckType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Slider;
-import org.eclipse.swt.widgets.Widget;
-
-
-/** (non-API)
- * Class InternalCompositeTable.  This is the run-time CompositeTableControl.  It gets its prototype
- * row and (optional) header objects from its SWT parent, then uses them to implement an SWT 
- * virtual table control.
- * 
- * @author djo
- */
-public class InternalCompositeTable extends Composite implements Listener {
-	// The internal UI controls that make up this control.
-	private Composite sliderHolder = null;
-	private Composite controlHolder = null;
-	private Slider slider = null;
-	private EmptyTablePlaceholder emptyTablePlaceholder = null;
-
-	// My parent CompositeTable
-	private CompositeTable parent;
-	
-	// Property fields
-	private int maxRowsVisible;
-	private int numRowsInDisplay;
-	private int numRowsInCollection;
-
-	private int topRow;
-	private int currentRow;
-	private int currentColumn;
-
-	// The visible/invisible row objects and bookeeping info about them
-	private int currentVisibleTopRow = 0;
-	private int numRowsVisible = 0;
-	private LinkedList rows = new LinkedList();
-	private LinkedList spareRows = new LinkedList();
-
-	// The prototype header/row objects and Constructors so we can duplicate them
-	private Constructor headerConstructor;
-	private Constructor rowConstructor;
-	private Control headerControl;
-	private Control myHeader = null;
-	private Control rowControl;
-	
-	/**
-	 * Constructor InternalCompositeTable.  The usual SWT constructor.  The same style bits are
-	 * allowed here as are allowed on Composite.
-	 * 
-	 * @param parentControl The SWT parent.
-	 * @param style Style bits.
-	 */
-	public InternalCompositeTable(Composite parentControl, int style) {
-		super(parentControl, style);
-		initialize();
-		
-		this.parent = (CompositeTable) parentControl;
-		
-		setBackground(parentControl.getBackground());
-		controlHolder.addListener(SWT.MouseWheel, this);
-
-		maxRowsVisible = parent.getMaxRowsVisible();
-		numRowsInCollection = parent.getNumRowsInCollection();
-		topRow = parent.getTopRow();
-		
-		headerConstructor = parent.getHeaderConstructor();
-		rowConstructor = parent.getRowConstructor();
-		headerControl = parent.getHeaderControl();
-		rowControl = parent.getRowControl();
-		
-		currentVisibleTopRow = topRow;
-		showHeader();
-		updateVisibleRows();
-		
-		if (numRowsVisible < 1) {
-			createEmptyTablePlaceholer();
-		}
-	}
-
-	public void setBackground(Color color) {
-		super.setBackground(color);
-		controlHolder.setBackground(color);
-	}
-
-	/**
-	 * Initialize the overall table UI.
-	 */
-	private void initialize() {
-		GridLayout gl = new GridLayout();
-		gl.numColumns = 2;
-		gl.verticalSpacing = 0;
-		gl.marginWidth = 0;
-		gl.marginHeight = 0;
-		gl.horizontalSpacing = 0;
-		this.setLayout(gl);
-		createControlHolder();
-		createSliderHolder();
-	}
-
-	/**
-	 * Initialize the controlHolder, which is the holder Composite for the header object (if
-	 * applicable) and the row objects.
-	 */
-	private void createControlHolder() {
-		GridData gridData = new org.eclipse.swt.layout.GridData();
-		gridData.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gridData.grabExcessHorizontalSpace = true;
-		gridData.grabExcessVerticalSpace = true;
-		gridData.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		controlHolder = new Composite(this, SWT.NONE);
-		controlHolder.setLayoutData(gridData);
-		controlHolder.setLayout(new Layout() {
-			protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-				if (rowControl != null) {
-					int height = 0;
-					int width = 0;
-					if (headerControl != null) {
-						Point headerSize = headerControl.getSize();
-						width = headerSize.x;
-						height = headerSize.y;
-					}
-					Point rowSize = rowControl.getSize();
-					height += rowSize.y * 2;
-					if (width < rowSize.x) {
-						width = rowSize.x;
-					}
-					return new Point(height, width);
-				}
-				return new Point(50, 50);
-			}
-			protected void layout(Composite composite, boolean flushCache) {
-				layoutControlHolder();
-			}
-		});
-	}
-
-	/**
-	 * Initialize the sliderHolder and slider.  The SliderHolder is a Composite that is 
-	 * responsible for showing and hiding the vertical slider upon request.
-	 */
-	private void createSliderHolder() {
-		GridData gd = getSliderGridData();
-		sliderHolder = new Composite(this, SWT.NONE);
-		slider = new Slider(sliderHolder, SWT.VERTICAL);
-		slider.addSelectionListener(sliderSelectionListener);
-		sliderHolder.setLayout(new FillLayout());
-		sliderHolder.setLayoutData(gd);
-		sliderHolder.setTabList(new Control[] {});
-	}
-
-	// Slider utility methods ---------------------------------------------------------------------
-
-	/**
-	 * Returns a GridData for the SliderHolder appropriate for if the slider is visible or not.
-	 * 
-	 * @return A GridData with a widthHint of 0 if the slider is not visible or with a widthHint
-	 * of SWT.DEFAULT otherwise.
-	 */
-	private GridData getSliderGridData() {
-		GridData gd = new org.eclipse.swt.layout.GridData();
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gd.verticalSpan = 1;
-		if (!sliderVisible) {
-			gd.widthHint = 0;
-		}
-		gd.horizontalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-		return gd;
-	}
-	
-	private boolean sliderVisible = false;
-	
-	/**
-	 * Sets if the slider is visible or not.
-	 * 
-	 * @param visible true if the slider should be visible; false otherwise.
-	 */
-	public void setSliderVisible(boolean visible) {
-		this.sliderVisible = visible;
-		sliderHolder.setLayoutData(getSliderGridData());
-		Display.getCurrent().asyncExec(new Runnable() {
-			public void run() {
-				sliderHolder.getParent().layout(true);
-				sliderHolder.layout(true);
-				Point sliderHolderSize = sliderHolder.getSize();
-				slider.setBounds(0, 0, sliderHolderSize.x, sliderHolderSize.y);
-			}
-		});
-	}
-	
-	/**
-	 * Returns if the slider is visible.
-	 * 
-	 * @return true if the slider is visible; false otherwise.
-	 */
-	public boolean isSliderVisible() {
-		return sliderVisible;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Widget#dispose()
-	 */
-	public void dispose() {
-		disposeRows(rows);
-		disposeRows(spareRows);
-		super.dispose();
-	}
-
-	/**
-	 * Disposes all the row objects in the specified LinkedList.
-	 * 
-	 * @param rowsCollection The collection containing TableRow objects to dispose.
-	 */
-	private void disposeRows(LinkedList rowsCollection) {
-		for (Iterator rowsIter = rowsCollection.iterator(); rowsIter.hasNext();) {
-			TableRow row = (TableRow) rowsIter.next();
-			row.dispose();
-		}
-	}
-
-	// Row object layout --------------------------------------------------------------------------
-	
-	/**
-	 * Layout the child controls within the controlHolder Composite.
-	 */
-	protected void layoutControlHolder() {
-		if (myHeader != null)
-			layoutChild(myHeader);
-		for (Iterator rowsIter = rows.iterator(); rowsIter.hasNext();) {
-			TableRow row = (TableRow) rowsIter.next();
-			layoutChild(row.getRowControl());
-		}
-		updateVisibleRows();
-	}
-
-	/**
-	 * Layout a particular row or header control (child control of the controlHolder).
-	 * If the child control has a layout manager, we delegate to that layout manager.
-	 * Otherwise, we use the built in table layout manager.
-	 * 
-	 * @param child The row or header control to layout.
-	 * @return height of child
-	 */
-	private int layoutChild(Control child) {
-		if (child instanceof Composite) {
-			Composite composite = (Composite) child;
-			if (composite.getLayout() == null) {
-				return parent.layoutHeaderOrRow(composite);
-			}
-			composite.layout(true);
-			return composite.getSize().y;
-		}
-		return child.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).y;
-	}
-
-	// Table control layout -- utility methods ----------------------------------------------------
-
-	/**
-	 * Construct a header or row object on demand.  Logs an error and returns null on failure.
-	 * 
-	 * @param parent The SWT parent.
-	 * @param constructor The header or row object's constructor.
-	 * @return The constructed control or null if none could be constructed.
-	 */
-	private Control createInternalControl(Composite parent, Constructor constructor) {
-		Control result = null;
-		try {
-			result = (Control) constructor.newInstance(new Object[] {parent, new Integer(SWT.NULL)});
-		} catch (Exception e) {
-			throw new IllegalArgumentException("Unable to construct control"); //$NON-NLS-1$
-		}
-		return result;
-	}
-	
-	/**
-	 * If the header control hasn't been created yet, create and show it.
-	 */
-	private void showHeader() {
-		if (myHeader == null && headerConstructor != null) {
-			myHeader = createInternalControl(controlHolder, headerConstructor);
-			if (myHeader instanceof Composite) {
-				Composite headerComp = (Composite) myHeader;
-				if (headerComp.getLayout() == null) {
-					headerComp.addPaintListener(headerPaintListener);
-				}
-			}
-			layoutChild(myHeader);
-		}
-	}
-	
-	// Table control layout -- main refresh algorithm ---------------------------------------------
-
-	/**
-	 * Main refresh algorithm entry point.  This method refreshes everything in the table:
-	 * 
-	 * <ul>
-	 * <li>Makes sure the correct number of rows are visible
-	 * <li>Makes sure each row has been refreshed with data from the underlying model
-	 * </ul>
-	 */
-	void updateVisibleRows() {
-		// If we don't have our prototype row object yet, bail out
-		if (rowControl == null) {
-			return;
-		}
-		
-		// Figure out how many rows we can stack vertically
-		int clientAreaHeight = controlHolder.getSize().y;
-		if (clientAreaHeight <= 0) {
-			return;
-		}
-		
-		int topPosition = 0;
-		
-		int headerHeight = 0;
-		if (myHeader != null) {
-			headerHeight = headerControl.getSize().y + 3;
-			clientAreaHeight -= headerHeight;
-			topPosition += headerHeight;
-		}
-		numRowsInDisplay = clientAreaHeight / rowControl.getSize().y;
-		
-		// Make sure we have something to lay out to begin with
-		if (numRowsInCollection > 0) {
-			numRowsVisible = numRowsInDisplay;
-			
-			disposeEmptyTablePlaceholder();
-			
-			int displayableRows = numRowsInCollection - topRow;
-			if (numRowsVisible > displayableRows) {
-				numRowsVisible = displayableRows;
-			}
-			if (numRowsVisible > maxRowsVisible) {
-				numRowsVisible = maxRowsVisible;
-			}
-			if (numRowsVisible < 1) {
-				numRowsVisible = 1;
-			}
-	
-			// Scroll the view so that the right number of row
-			// objects are showing and they have the right data
-			if (rows.size() - Math.abs(currentVisibleTopRow - topRow) > 0) {
-				if (currentRow >= numRowsVisible) {
-					deleteRowAt(0);
-					++currentVisibleTopRow;
-					++topRow;
-					--currentRow;
-				}
-				scrollTop();
-				fixNumberOfRows();
-			} else {
-				currentVisibleTopRow = topRow;
-				
-				// The order of number fixing/refresh is important in order to
-				// minimize the number of screen redraw operations
-				if (rows.size() > numRowsVisible) {
-					fixNumberOfRows();
-					refreshAllRows();
-				} else {
-					refreshAllRows();
-					fixNumberOfRows();
-				}
-			}
-		} else {
-			numRowsVisible = 0;
-			topRow=0;
-			currentRow=0;
-			currentColumn=0;
-			currentVisibleTopRow = 0;
-			numRowsVisible = 0;
-			
-			if (emptyTablePlaceholder == null) {
-				fixNumberOfRows();
-				createEmptyTablePlaceholer();
-			}
-		}
-		
-		// Show, hide, reset the scroll bar
-		if (numRowsVisible < numRowsInCollection) {
-			int extra = numRowsInCollection - numRowsVisible;
-			int pageIncrement = numRowsVisible;
-			if (pageIncrement > extra)
-				pageIncrement = extra;
-			
-			slider.setMaximum(numRowsInCollection);
-			slider.setMinimum(0);
-			slider.setIncrement(1);
-			slider.setPageIncrement(pageIncrement);
-			slider.setThumb(numRowsInCollection - (numRowsInCollection - numRowsVisible));
-			
-			slider.setSelection(topRow);
-			
-			if (!isSliderVisible()) {
-				setSliderVisible(true);
-			}
-		} else {
-			setSliderVisible(false);
-		}
-
-		// Lay out the header and rows correctly in the display
-		int width = controlHolder.getSize().x;
-		
-		// First, the header...
-		if (myHeader != null) {
-			myHeader.setBounds(0, 0, width, headerHeight);
-		}
-		
-		// Make sure we have rows to lay out...
-		if (numRowsInCollection < 1) {
-			return;
-		}
-		
-		// Now the rows.
-		int rowHeight = 50;
-		rowHeight = rowControl.getSize().y;
-		
-		for (Iterator rowsIter = rows.iterator(); rowsIter.hasNext();) {
-			TableRow row = (TableRow) rowsIter.next();
-			Control rowControl = row.getRowControl();
-			rowControl.setBounds(0, topPosition, width, rowHeight);
-			layoutChild(rowControl);
-			topPosition += rowHeight;
-		}
-	}
-
-	/**
-	 * Utility method: Makes sure that the currently visible top row is the same as the top row
-	 * specified in the TopRow property.
-	 */
-	private void scrollTop() {
-		while (currentVisibleTopRow < topRow) {
-			deleteRowAt(0);
-			++currentVisibleTopRow;
-		}
-		while (currentVisibleTopRow > topRow) {
-			--currentVisibleTopRow;
-			insertRowAt(0);
-		}
-	}
-
-	/**
-	 * Utility method: Makes sure that the number of rows that are visible correspond with
-	 * what should be visible given the table control's size, where it is scrolled, and
-	 * the number of rows in the underlying collection.
-	 */
-	private void fixNumberOfRows() {
-		int numRows = rows.size();
-		while (numRows > numRowsVisible) {
-			deleteRowAt(numRows-1);
-			numRows = rows.size();
-		}
-		while (numRows < numRowsVisible) {
-			insertRowAt(numRows);
-			numRows = rows.size();
-		}
-	}
-
-	/**
-	 * Fire the refresh event on all visible rows.
-	 */
-	void refreshAllRows() {
-		int row=0;
-		for (Iterator rowsIter = rows.iterator(); rowsIter.hasNext();) {
-			TableRow rowControl = (TableRow) rowsIter.next();
-			fireRefreshEvent(topRow + row, rowControl.getRowControl());
-			++row;
-		}
-	}
-
-	/**
-	 * Insert a new row object at the specified 0-based position relatve to the topmost row.
-	 * 
-	 * @param position The 0-based position relative to the topmost row.
-	 */
-	private void insertRowAt(int position) {
-		TableRow newRow = getNewRow();
-		if (position > rows.size()) {
-			position = rows.size();
-		}
-		rows.add(position, newRow);
-		fireRefreshEvent(currentVisibleTopRow + position, newRow.getRowControl());
-	}
-	
-	/**
-	 * Delete the row at the specified 0-based position relative to the topmost row.
-	 * 
-	 * @param position The 0-based position relative to the topmost row.
-	 */
-	private void deleteRowAt(int position) {
-		TableRow row = (TableRow) rows.remove(position);
-		row.setVisible(false);
-		spareRows.addLast(row);
-	}
-	
-	/**
-	 * Utility method: Creates a new row object or recycles one that had been previously 
-	 * created but was no longer needed.
-	 * 
-	 * @return The new row object.
-	 */
-	private TableRow getNewRow() {
-		if (spareRows.size() > 0) {
-			TableRow recycledRow = (TableRow) spareRows.removeFirst();
-			recycledRow.setVisible(true);
-			return recycledRow;
-		}
-		TableRow newRow = new TableRow(this, createInternalControl(controlHolder, rowConstructor));
-		fireRowConstructionEvent(newRow.getRowControl());
-		if (newRow.getRowControl() instanceof Composite) {
-			Composite rowComp = (Composite) newRow.getRowControl();
-			if (rowComp.getLayout() == null) {
-				rowComp.setBackground(getBackground());
-				rowComp.addPaintListener(rowPaintListener);
-			}
-		}
-		return newRow;
-	}
-
-	// Property getters/setters --------------------------------------------------------------
-
-
-	/*
-	 * These are internal API.
-	 * <p>
-	 * Plese refer to the JavaDoc on CompositeTable for detailed description of these property methods.
-	 */
-	
-	/** (non-API)
-	 * Method getHeaderControl.  Return the prototype control being used as a header.
-	 * 
-	 * @return The header control
-	 */
-	public Control getHeaderControl() {
-		return headerControl;
-	}
-
-	/**
-	 * Method setMaxRowsVisible.  Sets the maximum number of rows that will be permitted 
-	 * in the table at once.  For example, setting this property to 1 will have the effect of 
-	 * creating a single editing area with a scroll bar on the right allowing the user to scroll
-	 * through all rows using either the mouse or the PgUp/PgDn keys.  The default value is
-	 * Integer.MAX_VALUE.
-	 * 
-	 * @param maxRowsVisible the maximum number of rows that are permitted to be visible at one time, regardless
-	 * of the control's size.
-	 */
-	public void setMaxRowsVisible(int maxRowsVisible) {
-		this.maxRowsVisible = maxRowsVisible;
-		updateVisibleRows();
-	}
-
-	/**
-	 * Method getNumRowsVisible.  Returns the actual number of rows that are currently visible.
-	 * Normally CompositeTable displays as many rows as will fit vertically given the control's
-	 * size.  This value can be clamped to a maximum using the MaxRowsVisible property.
-	 * 
-	 * @return the actual number of rows that are currently visible.
-	 */
-	public int getNumRowsVisible() {
-		return numRowsVisible;
-	}
-	
-	/**
-	 * Method setNumRowsInCollection.  Sets the number of rows in the data structure that is
-	 * being edited.
-	 * 
-	 * @param numRowsInCollection the number of rows represented by the underlying data structure.
-	 */
-	public void setNumRowsInCollection(int numRowsInCollection) {
-		this.topRow = 0;
-		if (currentRow > 0) {
-			currentRow = 0;
-		}
-		this.numRowsInCollection = numRowsInCollection;
-		updateVisibleRows();
-		refreshAllRows();
-	}
-
-	/**
-	 * Method setTopRow. Set the number of the line that is being displayed in the top row
-	 * of the CompositeTable editor (0-based).  If the new top row is not equal to the current
-	 * top row, the table will automatically be scrolled to the new position.  This number must
-	 * be greater than 0 and less than NumRowsInCollection.
-	 * 
-	 * @param topRow the line number of the new top row.
-	 */
-	public void setTopRow(int topRow) {
-		fireRowDepartEvent();
-		this.topRow = topRow;
-		updateVisibleRows();
-		fireRowArriveEvent();
-	}
-	
-	/**
-	 * Method getTopRow.  Return the number of the line that is being displayed in the top row
-	 * of the CompositeTable editor (0-based).
-	 * 
-	 * @return the number of the top line.
-	 */	
-	public int getTopRow() {
-		return topRow;
-	}
-
-	/**
-	 * Method getSelection.  Returns the currently-selected (column, row) pair where the row 
-	 * specifies the offset from the top of the table window.  In order to get the current 
-	 * row in the underlying data structure, use getSelection().y + getCurrentRow().
-	 * 
-	 * @return  the currently-selected (column, row) pair where the row specifies the offset 
-	 * from the top of the table window.
-	 */
-	public Point getSelection() {
-		return new Point(currentColumn, currentRow);
-	}
-
-	/**
-	 * Method setSelection.  Sets the currently-selected (column, row) pair where the row 
-	 * specifies the offset from the top of the table window.  In order to get the current 
-	 * row in the underlying data structure, use getSelection().y + getCurrentRow().
-	 * 
-	 * @param column the column to select
-	 * @param row the row to select
-	 */
-	public void setSelection(int column, int row) {
-		if (row == currentRow)
-			internalSetSelection(column, row, false);
-		else {
-			if (fireRequestRowChangeEvent())
-				internalSetSelection(column, row, true);
-		}
-	}
-
-	/**
-	 * Method setWeights.  Indicates that the column weights were just set and we should re-layout
-	 * the control holder object.
-	 */
-	public void setWeights() {
-		layoutControlHolder();
-	}
-
-	// Refresh Event API --------------------------------------------------------------------------
-
-	/**
-	 * Adds the specified listener to the set of listeners that will be notified when a row
-	 * refresh event occurs.
-	 * 
-	 * @param listener the listener to add.
-	 */
-	public void addRefreshContentProvider(IRowContentProvider listener) {
-		parent.contentProviders.add(listener);
-	}
-
-	/**
-	 * Remove the specified listener from the set of listeners that will be notified when a
-	 * row refresh event occurs.
-	 * 
-	 * @param listener the listener to remove.
-	 */
-	public void removeRefreshContentProvider(IRowContentProvider listener) {
-		parent.contentProviders.remove(listener);
-	}
-
-	private void fireRefreshEvent(int positionInCollection, Control rowControl) {
-		if (numRowsInCollection < 1) {
-			return;
-		}
-		for (Iterator refreshListenersIter = parent.contentProviders.iterator(); refreshListenersIter.hasNext();) {
-			IRowContentProvider listener = (IRowContentProvider) refreshListenersIter.next();
-			listener.refresh(parent, positionInCollection, rowControl);
-		}
-	}
-	
-	
-	// Empty table placeholder --------------------------------------------------------------------
-
-	private void createEmptyTablePlaceholer() {
-		emptyTablePlaceholder = new EmptyTablePlaceholder(controlHolder, SWT.NULL);
-		if (rowControl != null)
-			emptyTablePlaceholder.setBackground(rowControl.getBackground());
-		emptyTablePlaceholder.setMessage(parent.getInsertHint());
-	}
-	
-	private void disposeEmptyTablePlaceholder() {
-		if (emptyTablePlaceholder != null) {
-			emptyTablePlaceholder.dispose();
-			emptyTablePlaceholder = null;
-		}
-	}
-
-	// Event Handling -----------------------------------------------------------------------------
-
-	private boolean needToRequestRC=true;
-	
-	/**
-	 * Handle a keyPressed event on any row control.
-	 * 
-	 * @param sender The row that is sending the event
-	 * @param e the actual KeyEvent
-	 */
-	public void keyPressed(TableRow sender, KeyEvent e) {
-		if ((e.stateMask & SWT.CONTROL) != 0) {
-			switch (e.keyCode) {
-			case SWT.HOME:
-				if (topRow <= 0) {
-					return;
-				}
-				
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				needToRequestRC = false;
-				
-				deselect(e.widget);
-				
-				// If the focus is already in the top visible row, we will need to explicitly 
-				// fire an arrive event.
-				boolean needToArrive = true;
-				if (currentRow > 0) {
-					needToArrive = false;
-				}
-				
-				setTopRow(0);
-				
-				if (needToArrive) {
-					internalSetSelection(currentColumn, 0, true);
-				} else {
-					internalSetSelection(currentColumn, 0, false);
-				}
-				return;
-			case SWT.END:
-				if (topRow + numRowsVisible < numRowsInCollection) {
-					if (!fireRequestRowChangeEvent()) {
-						return;
-					}
-					needToRequestRC = false;
-					
-					deselect(e.widget);
-					
-					// If the focus is already in the last visible row, we will need to explicitly 
-					// fire an arrive event.
-					needToArrive = true;
-					if (currentRow < numRowsVisible-1) {
-						needToArrive = false;
-					}
-					
-					setTopRow(numRowsInCollection - numRowsVisible);
-					
-					if (needToArrive) {
-						internalSetSelection(currentColumn, numRowsVisible-1, true);
-					} else {
-						internalSetSelection(currentColumn, numRowsVisible-1, false);
-					}
-				}
-				return;
-			case SWT.INSERT:
-				// If no insertHandler has been registered, bail out 
-			 	if (parent.insertHandlers.size() < 1) {
-					return;
-				}
-				
-				// Make sure we can leave the current row
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				needToRequestRC = false;
-				
-				// Insert the new object
-				int newRowPosition = fireInsertEvent();
-				if (newRowPosition < 0) {
-					// This should never happen, but...
-					return;
-				}
-				
-				disposeEmptyTablePlaceholder();
-				
-				// If the current widget has a selection, deselect it
-				deselect(e.widget);
-				
-				// If the new row is in the visible space, refresh it
-				if (topRow <= newRowPosition && 
-						numRowsVisible > newRowPosition - topRow) {
-					insertRowAt(newRowPosition - topRow);
-					++numRowsInCollection;
-					updateVisibleRows();
-					int newRowNumber = newRowPosition - topRow;
-					if (newRowNumber != currentRow) {
-						internalSetSelection(currentColumn, newRowNumber, false);
-					} else {
-						internalSetSelection(currentColumn, newRowNumber, true);
-					}
-					return;
-				}
-				
-				// else...
-				
-				++numRowsInCollection;
-
-				// If the new row is above us, scroll up to it
-				if (newRowPosition < topRow + currentRow) {
-					setTopRow(newRowPosition);
-					Display.getDefault().asyncExec(new Runnable() {
-						public void run() {
-							updateVisibleRows();
-							if (currentRow != 0) {
-								internalSetSelection(currentColumn, 0, false);
-							} else {
-								internalSetSelection(currentColumn, 0, true);
-							}
-						}
-					});
-				} else {
-					// If we're appending
-					if (numRowsInDisplay > numRowsVisible) {
-						updateVisibleRows();
-						int newRowNumber = newRowPosition - topRow;
-						if (newRowNumber != currentRow) {
-							internalSetSelection(currentColumn, newRowNumber, false);
-						} else {
-							internalSetSelection(currentColumn, newRowNumber, true);
-						}
-					} else {
-						// It's somewhere in the middle below us; scroll down to it
-						setTopRow(newRowPosition-numRowsVisible+1);
-						int newRowNumber = numRowsVisible-1;
-						if (newRowNumber != currentRow) {
-							internalSetSelection(currentColumn, newRowNumber, false);
-						} else {
-							internalSetSelection(currentColumn, newRowNumber, true);
-						}
-					}
-				}
-				return;
-			case SWT.DEL:
-				if (fireDeleteEvent()) {
-					// We know the object is gone if we made it here, so now refresh the display...
-					--numRowsInCollection;
-					
-					// If we deleted the last row in the list
-					if (currentRow >= numRowsVisible-1) {
-						// If that wasn't the last row in the collection, move the focus
-						if (numRowsInCollection > 0) {
-
-							// If we're only displaying one row, scroll first
-							if (currentRow < 1) {
-								needToRequestRC = false;
-								deleteRowAt(currentRow);
-								setTopRow(topRow-1);
-								internalSetSelection(currentColumn, currentRow, true);
-							} else {
-								needToRequestRC = false;
-								internalSetSelection(currentColumn, currentRow-1, false);
-								Display.getCurrent().asyncExec(new Runnable() {
-									public void run() {
-										deleteRowAt(currentRow+1);
-										updateVisibleRows();
-									}
-								});
-							}
-						} else {
-							// Otherwise, show the placeholder object and give it focus
-							deleteRowAt(currentRow);
-							--numRowsVisible;
-							createEmptyTablePlaceholer();
-							emptyTablePlaceholder.setFocus();
-						}
-					} else {
-						// else, keep the focus where it was
-						deleteRowAt(currentRow);
-						updateVisibleRows();
-						internalSetSelection(currentColumn, currentRow, true);
-					}
-				}
-				return;
-			default:
-				return;
-			}
-		}
-		switch (e.keyCode) {
-		case SWT.ARROW_UP:
-			if (maxRowsVisible <= 1)
-				return;
-			
-			if (currentRow > 0) {
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				needToRequestRC = false;
-				
-				deselect(e.widget);
-				
-				internalSetSelection(currentColumn, currentRow-1, false);
-				return;
-			}
-			if (topRow > 0) {
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				needToRequestRC = false;
-				
-				deselect(e.widget);
-				
-				setTopRow(topRow - 1);
-				internalSetSelection(currentColumn, currentRow, true);
-				return;
-			}
-			return;
-		case SWT.ARROW_DOWN:
-			if (maxRowsVisible <= 1)
-				return;
-			
-			if (currentRow < numRowsVisible-1) {
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				needToRequestRC = false;
-				
-				deselect(e.widget);
-				
-				internalSetSelection(currentColumn, currentRow+1, false);
-				return;
-			}
-			if (topRow + numRowsVisible < numRowsInCollection) {
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				needToRequestRC = false;
-				
-				deselect(e.widget);
-				
-				setTopRow(topRow + 1);
-				internalSetSelection(currentColumn, currentRow, true);
-				return;
-			}
-			return;
-		case SWT.PAGE_UP:
-			if (topRow > 0) {
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				needToRequestRC = false;
-				
-				int newTopRow = topRow - numRowsInDisplay;
-				if (newTopRow < 0) {
-					newTopRow = 0;
-				}
-				setTopRow(newTopRow);
-				internalSetSelection(currentColumn, currentRow, true);
-			}
-			return;
-		case SWT.PAGE_DOWN:
-			if (topRow + numRowsVisible < numRowsInCollection) {
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				needToRequestRC = false;
-				
-				int newTopRow = topRow + numRowsVisible;
-				if (newTopRow >= numRowsInCollection - 1) {
-					newTopRow = numRowsInCollection - 1;
-				}
-				setTopRow(newTopRow);
-				if (currentRow < numRowsVisible) {
-					internalSetSelection(currentColumn, currentRow, true);
-				} else {
-					internalSetSelection(currentColumn, numRowsVisible-1, true);
-				}
-			}
-			return;
-		}
-	}
-
-	/**
-	 * Handle the keyTraversed event on any child control in the table.
-	 * 
-	 * @param sender The row sending the event.
-	 * @param e The SWT TraverseEvent
-	 */
-	public void keyTraversed(TableRow sender, TraverseEvent e) {
-		if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
-			if (currentColumn >= sender.getNumColumns() - 1) {
-				e.detail = SWT.TRAVERSE_NONE;
-				handleNextRowNavigation();
-			}
-		} else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
-			if (currentColumn == 0) {
-				e.detail = SWT.TRAVERSE_NONE;
-				handlePreviousRowNavigation(sender);
-			}
-		} else if (e.detail == SWT.TRAVERSE_RETURN) {
-			e.detail = SWT.TRAVERSE_NONE;
-			if (currentColumn >= sender.getNumColumns() - 1) {
-				handleNextRowNavigation();
-			} else {
-				deferredSetFocus(getControl(currentColumn+1, currentRow), false);
-			}
-		}
-	}
-
-	/**
-	 * The SelectionListener for the table's slider control.
-	 */
-	private SelectionListener sliderSelectionListener = new SelectionListener() {
-		public void widgetSelected(SelectionEvent e) {
-			if (slider.getSelection() == topRow) {
-				return;
-			}
-			
-			if (!fireRequestRowChangeEvent()) {
-				slider.setSelection(topRow);
-				return;
-			}
-
-			deselect(getControl(currentColumn, currentRow));
-			
-			setTopRow(slider.getSelection());
-			deferredSetFocus(getControl(currentColumn, currentRow), true);
-		}
-
-		public void widgetDefaultSelected(SelectionEvent e) {
-			widgetSelected(e);
-		}
-	};
-	
-	/**
-	 * Scroll wheel event handling.
-	 */
-	public void handleEvent(Event event) {
-		
-		if (event.count > 0) {
-			if (topRow > 0) {
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				deselect(getControl(currentColumn, currentRow));
-				setTopRow(topRow - 1);
-				deferredSetFocus(getControl(currentColumn, currentRow), true);
-			}
-		} else {
-			if (topRow < numRowsInCollection - numRowsVisible) {
-				if (!fireRequestRowChangeEvent()) {
-					return;
-				}
-				deselect(getControl(currentColumn, currentRow));
-				setTopRow(topRow + 1);
-				deferredSetFocus(getControl(currentColumn, currentRow), true);
-			}
-		}
-	}
-	
-	/**
-	 * Handle focusLost events on any child control.  This is not currently used.
-	 * 
-	 * @param sender The row containing the sending control.
-	 * @param e The SWT FocusEvent.
-	 */
-	public void focusLost(TableRow sender, FocusEvent e) {
-	}
-	
-	/**
-	 * Handle focusGained events on any child control.
-	 * 
-	 * @param sender The row containing the sending control.
-	 * @param e The SWT FocusEvent.
-	 */
-	public void focusGained(TableRow sender, FocusEvent e) {
-		boolean rowChanged = false;
-		if (getRowNumber(sender) != currentRow) {
-			if (needToRequestRC) {
-				if (!fireRequestRowChangeEvent()) {
-					// Go back if we're not allowed to be here
-					deferredSetFocus(getControl(currentColumn, currentRow), false);
-				}
-			} else {
-				needToRequestRC = true;
-			}
-			rowChanged = true;
-		}
-
-		currentRow = getRowNumber(sender);
-		currentColumn = sender.getColumnNumber((Control)e.widget);
-		
-		if (rowChanged)
-			fireRowArriveEvent();
-	}
-	
-	private PaintListener headerPaintListener = new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			if (parent.gridLinesOn) {
-				drawGridLines(e, true);
-			}
-		}
-	};
-	
-	private PaintListener rowPaintListener = new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			if (parent.gridLinesOn) {
-				drawGridLines(e, false);
-			}
-		}
-	};
-	
-	private void drawGridLines(PaintEvent e, boolean isHeader) {
-		Color oldColor = e.gc.getForeground();
-		try {
-			// Get the colors we need
-			Display display = Display.getCurrent();
-			Color lineColor = display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW);
-			Color secondaryColor = display.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-			Color hilightColor = display.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW);
-			if (!isHeader) {
-				lineColor = display.getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW);
-			}
-			
-			// Get the control
-			Control toPaint = (Control) e.widget;
-			Point controlSize = toPaint.getSize();
-			
-			// Draw the bottom line(s)
-			e.gc.setForeground(lineColor);
-			e.gc.drawLine(0, controlSize.y-1, controlSize.x, controlSize.y-1);
-			if (isHeader) {
-				e.gc.setForeground(secondaryColor);
-				e.gc.drawLine(0, controlSize.y-2, controlSize.x, controlSize.y-2);
-				e.gc.setForeground(hilightColor);
-				e.gc.drawLine(0, 1, controlSize.x, 1);
-			}
-			
-			// Now draw lines around the child controls, if there are any
-			if (toPaint instanceof Composite) {
-				Composite row = (Composite) toPaint;
-				Control[] children = row.getChildren();
-				for (int i = 0; i < children.length; i++) {
-					Rectangle childBounds = children[i].getBounds();
-					
-					// Paint the beginning lines
-					if (isHeader) {
-						e.gc.setForeground(hilightColor);
-						e.gc.drawLine(childBounds.x-2, 1, childBounds.x-2, controlSize.y-2);
-					}
-					
-					// Paint the ending lines
-					e.gc.setForeground(lineColor);
-					int lineLeft = childBounds.x + childBounds.width+1;
-					e.gc.drawLine(lineLeft, 0, lineLeft, controlSize.y);
-					if (isHeader) {
-						e.gc.setForeground(secondaryColor);
-						e.gc.drawLine(lineLeft-1, 0, lineLeft-1, controlSize.y-1);
-					}
-				}
-			}
-		} finally {
-			e.gc.setForeground(oldColor);
-		}
-	}
-	
-	// Event Firing -------------------------------------------------------------------------------
-
-	/**
-	 * Fire the row construction event
-	 * 
-	 * @param newControl The new row's SWT control
-	 */
-	private void fireRowConstructionEvent(Control newControl) {
-		for (Iterator rowConstructionListenersIter = parent.rowConstructionListeners.iterator(); rowConstructionListenersIter.hasNext();) {
-			IRowConstructionListener listener = (IRowConstructionListener) rowConstructionListenersIter.next();
-			listener.rowConstructed(newControl);
-		}
-	}
-
-	/**
-	 * Indicate to listeners that the focus is arriving on the specified row
-	 */
-	private void fireRowArriveEvent() {
-		if (rows.size() < 1) {
-			return;
-		}
-		for (Iterator rowChangeListenersIter = parent.rowFocusListeners.iterator(); rowChangeListenersIter.hasNext();) {
-			IRowFocusListener listener = (IRowFocusListener) rowChangeListenersIter.next();
-			listener.arrive(parent, topRow+currentRow, currentRow().getRowControl());
-		}
-	}
-
-	/**
-	 * Request permission from all listeners to leave the current row.
-	 * 
-	 * @return true if all listeners permit the row change; false otherwise.
-	 */
-	private boolean fireRequestRowChangeEvent() {
-		if (rows.size() < 1) {
-			return true;
-		}
-		if (currentRow > rows.size()-1) {
-			// (if the other row is already gone)
-			return true;
-		}
-		for (Iterator rowChangeListenersIter = parent.rowFocusListeners.iterator(); rowChangeListenersIter.hasNext();) {
-			IRowFocusListener listener = (IRowFocusListener) rowChangeListenersIter.next();
-			if (!listener.requestRowChange(parent, topRow+currentRow, currentRow().getRowControl())) {
-				return false;
-			}
-		}
-		fireRowDepartEvent();
-		return true;
-	}
-
-	/**
-	 * Indicate to listeners that the focus is about to leave the current row.
-	 */
-	private void fireRowDepartEvent() {
-		if (rows.size() < 1) {
-			return;
-		}
-		for (Iterator rowChangeListenersIter = parent.rowFocusListeners.iterator(); rowChangeListenersIter.hasNext();) {
-			IRowFocusListener listener = (IRowFocusListener) rowChangeListenersIter.next();
-			listener.depart(parent, topRow+currentRow, currentRow().getRowControl());
-		}
-	}
-
-	/**
-	 * Request deletion of the current row from the underlying data structure.
-	 * 
-	 * @return true if the deletion was successful; false otherwise.
-	 */
-	private boolean fireDeleteEvent() {
-		if (parent.deleteHandlers.size() < 1) {
-			return false;
-		}
-		
-		int absoluteRow = topRow + currentRow;
-		for (Iterator deleteHandlersIter = parent.deleteHandlers.iterator(); deleteHandlersIter.hasNext();) {
-			IDeleteHandler handler = (IDeleteHandler) deleteHandlersIter.next();
-			if (!handler.canDelete(absoluteRow)) {
-				return false;
-			}
-		}
-		for (Iterator deleteHandlersIter = parent.deleteHandlers.iterator(); deleteHandlersIter.hasNext();) {
-			IDeleteHandler handler = (IDeleteHandler) deleteHandlersIter.next();
-			handler.deleteRow(absoluteRow);
-		}
-		return true;
-	}
-	
-	/**
-	 * Request that the model insert a new row into itself.
-	 * 
-	 * @return The 0-based offset of the new row from the start of the collection or -1 if a 
-	 * new row could not be inserted.
-	 */
-	private int fireInsertEvent() {
-		if (parent.insertHandlers.size() < 1) {
-			return -1;
-		}
-		
-		for (Iterator insertHandlersIter = parent.insertHandlers.iterator(); insertHandlersIter.hasNext();) {
-			IInsertHandler handler = (IInsertHandler) insertHandlersIter.next();
-			int resultRow = handler.insert(topRow+currentRow);
-			if (resultRow >= 0) {
-				return resultRow;
-			}
-		}
-		
-		return -1;
-	}
-
-	// Event Handling, utility methods ------------------------------------------------------------
-	
-	/**
-	 * Set the widget's selection to an empty selection.
-	 * 
-	 * @param widget The widget to deselect
-	 */
-	private void deselect(Widget widget) {
-		if (DuckType.instanceOf(ISelectableRegionControl.class, widget)) {
-			ISelectableRegionControl control = (ISelectableRegionControl) DuckType.implement(ISelectableRegionControl.class, widget);
-			control.setSelection(0, 0);
-		}
-	}
-	
-	/**
-	 * Try to go to the next row in the collection.
-	 */
-	private void handleNextRowNavigation() {
-		if (currentRow < numRowsVisible-1) {
-			if (!fireRequestRowChangeEvent()) {
-				return;
-			}
-			needToRequestRC = false;
-			
-			deselect(getControl(currentColumn, currentRow));
-			
-			deferredSetFocus(getControl(0, currentRow+1), false);
-		} else {
-			if (topRow + numRowsVisible >= numRowsInCollection) {
-				// We're at the end; don't go anywhere
-				return;
-			}
-			// We have to scroll forwards
-			if (!fireRequestRowChangeEvent()) {
-				return;
-			}
-			needToRequestRC = false;
-			
-			deselect(getControl(currentColumn, currentRow));
-			
-			setTopRow(topRow+1);
-			deferredSetFocus(getControl(0, currentRow), true);
-		}
-	}
-
-	/**
-	 * Try to go to the previous row in the collection.
-	 * 
-	 * @param row The current table row.
-	 */
-	private void handlePreviousRowNavigation(TableRow row) {
-		if (currentRow == 0) {
-			if (topRow == 0) {
-				// We're at the beginning of the table; don't go anywhere
-				return;
-			}
-			// We have to scroll backwards
-			if (!fireRequestRowChangeEvent()) {
-				return;
-			}
-			needToRequestRC = false;
-			
-			deselect(getControl(currentColumn, currentRow));
-			
-			setTopRow(topRow-1);
-			deferredSetFocus(getControl(row.getNumColumns()-1, 0), true);
-		} else {
-			if (!fireRequestRowChangeEvent()) {
-				return;
-			}
-			needToRequestRC = false;
-			
-			deselect(getControl(currentColumn, currentRow));
-			
-			deferredSetFocus(getControl(row.getNumColumns()-1, currentRow-1), false);
-		}
-	}
-
-	/**
-	 * Gets the current TableRow.
-	 * 
-	 * @return the current TableRow
-	 */
-	private TableRow currentRow() {
-		if (currentRow > rows.size()-1) {
-			return null;
-		}
-		return (TableRow) rows.get(currentRow);
-	}
-	
-	/**
-	 * Returns the SWT control corresponding to the current row.
-	 * 
-	 * @return the current row control.
-	 */
-	public Control getCurrentRowControl() {
-		TableRow currentRow = currentRow();
-		if (currentRow == null) {
-			return null;
-		}
-		return currentRow().getRowControl();
-	}
-
-	/**
-	 * Returns the TableRow by the specified 0-based offset from the top visible row.
-	 * 
-	 * @param rowNumber 0-based offset of the requested fow starting from the top visible row.
-	 * @return The corresponding TableRow or null if there is none.
-	 */
-	private TableRow getRowByNumber(int rowNumber) {
-		if (rowNumber > rows.size()-1) {
-			return null;
-		}
-		return (TableRow) rows.get(rowNumber);
-	}
-	
-	/**
-	 * Return the SWT control at (column, row), where row is a 0-based number starting
-	 * from the top visible row.
-	 * 
-	 * @param column the 0-based column.
-	 * @param row the 0-based row starting from the top visible row.
-	 * @return the SWT control at (column, row)
-	 */
-	private Control getControl(int column, int row) {
-		TableRow rowObject = getRowByNumber(row);
-		if (rowObject == null) {
-			throw new IndexOutOfBoundsException("Request for a nonexistent row"); //$NON-NLS-1$
-		}
-		Control result = rowObject.getColumnControl(column);
-		return result;
-	}
-
-	/**
-	 * Return the 0-based row number corresponding to a particular TableRow object.
-	 * 
-	 * @param row The TableRow to translate to row coordinates.
-	 * @return the 0-based row number or -1 if the specified TableRow is not visible.
-	 */
-	private int getRowNumber(TableRow row) {
-		int rowNumber = 0;
-		for (Iterator rowIter = rows.iterator(); rowIter.hasNext();) {
-			TableRow candidate = (TableRow) rowIter.next();
-			if (candidate == row) {
-				return rowNumber;
-			}
-			++rowNumber;
-		}
-		return -1;
-	}
-
-	/**
-	 * Set the focus to the specified (column, row).  If rowChange is true, fire a
-	 * row change event, otherwise be silent.
-	 * 
-	 * @param column The 0-based column to focus
-	 * @param row The 0-based row to focus
-	 * @param rowChange true if a row change event should be fired; false otherwise.
-	 */
-	private void internalSetSelection(int column, int row, boolean rowChange) {
-		Control toFocus = getControl(column, row);
-		deferredSetFocus(toFocus, rowChange);
-	}
-
-	/**
-	 * Set the focus to the specified control after allowing all pending events to complete
-	 * first.  If rowChange is true, fire a row arrive event after the focus has been set.
-	 * 
-	 * @param toFocus The SWT Control to focus
-	 * @param rowChange true if the rowArrive event should be fired; false otherwise.
-	 */
-	private void deferredSetFocus(final Control toFocus, final boolean rowChange) {
-		Display.getCurrent().asyncExec(new Runnable() {
-			public void run() {
-				toFocus.setFocus();
-				if (rowChange) {
-					fireRowArriveEvent();
-				}
-			}
-		});
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/EmptyTablePlaceholder.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/EmptyTablePlaceholder.java
deleted file mode 100644
index 6d98452..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/EmptyTablePlaceholder.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.internal;
-
-import org.eclipse.jface.examples.databinding.compositetable.InternalCompositeTable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Class EmptyTablePlaceholder.  An SWT control that is displayed in the table when
- * there are no rows to display.  It has four purposes:
- * 
- * <ul>
- * <li>Prompt the user to hit <INS> to insert a new (first) row.
- * <li>Indicate if the table has focus using a dashed line around the outside.
- * <li>Actually accept focus for the table when there are no other controls to do so.
- * <li>Forward the insert key event back to the table when the user needs to insert a row.
- * </ul>
- * 
- * @author djo
- */
-public class EmptyTablePlaceholder extends Canvas {
-
-	private boolean focusControl = false;
-	private InternalCompositeTable parentTable = null;
-	
-	private final Color RED;
-	
-	/**
-	 * Constructor EmptyTablePlaceholder.  Construct an EmptyTablePlaceholder control.
-	 * 
-	 * @param parent The parent control
-	 * @param style Style bits.  These are the same as what Canvas accepts.
-	 */
-	public EmptyTablePlaceholder(Composite parent, int style) {
-		super(parent, style);
-		parentTable = (InternalCompositeTable) parent.getParent();
-		
-		parent.addControlListener(controlListener);
-		
-		addTraverseListener(traverseListener);
-		addFocusListener(focusListener);
-		addKeyListener(keyListener);
-		addPaintListener(paintListener);
-		addDisposeListener(disposeListener);
-		
-		RED = Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-		setBackground(getParent().getBackground());
-		
-		resize();
-	}
-
-	/**
-	 * Make sure we remove our listeners...
-	 */
-	private DisposeListener disposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			removeTraverseListener(traverseListener);
-			removeFocusListener(focusListener);
-			removeKeyListener(keyListener);
-			removePaintListener(paintListener);
-			removeDisposeListener(disposeListener);
-			
-			getParent().removeControlListener(controlListener);
-		}
-	};
-	
-	/**
-	 * Handle resize events so we can redraw ourselves correctly.
-	 */
-	private ControlListener controlListener = new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			resize();
-		}
-	};
-	
-	/**
-	 * Actually resize ourself.
-	 */
-	private void resize() {
-		Point headerSize = new Point(0, 0);
-		Control header = parentTable.getHeaderControl();
-		if (header != null) {
-			headerSize = header.getSize();
-		}
-		Point parentSize = getParent().getSize();
-		
-		setBounds(0, headerSize.y+2, parentSize.x-4, parentSize.y - headerSize.y-6);
-	}
-
-	
-	// The message property
-	private String message = "Press [INS] to create a new row."; //$NON-NLS-1$
-	
-	/**
-	 * Return the prompt message that will be displayed to the user inside this control.
-	 * 
-	 * @return The message string.
-	 */
-	public String getMessage() {
-		return message;
-	}
-	
-	/**
-	 * Set the prompt message that will be displayed to the user inside this control.
-	 * 
-	 * @param message The message to display.
-	 */
-	public void setMessage(String message) {
-		this.message = message;
-		redraw();
-	}
-
-	/**
-	 * Paint the control.
-	 */
-	private PaintListener paintListener = new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			Color oldColor = e.gc.getForeground();
-			int oldLineStyle = e.gc.getLineStyle();
-			int oldLineWidth = e.gc.getLineWidth();
-			try {
-				if (focusControl) {
-					e.gc.setLineStyle(SWT.LINE_DASH);
-					e.gc.setLineWidth(2);
-					Point parentSize = getSize();
-					e.gc.drawRectangle(1, 2, parentSize.x-2, parentSize.y-3);
-				}
-
-				e.gc.setForeground(RED);
-				e.gc.drawText(getMessage(), 3, 3);
-			} finally {
-				e.gc.setForeground(oldColor);
-				e.gc.setLineStyle(oldLineStyle);
-				e.gc.setLineWidth(oldLineWidth);
-			}
-		}
-	};
-	
-	/**
-	 * When we gain/lose focus, redraw ourselves appropriately
-	 */
-	private FocusListener focusListener = new FocusListener() {
-		public void focusGained(FocusEvent e) {
-			focusControl = true;
-			redraw();
-		}
-		public void focusLost(FocusEvent e) {
-			focusControl = false;
-			redraw();
-		}
-	};
-	
-	/**
-	 * Permit focus events via keyboard.
-	 */
-	private TraverseListener traverseListener = new TraverseListener() {
-		 public void keyTraversed(TraverseEvent e) {
-		}
-	};
-	
-	/**
-	 * Forward the insert key back to our parent for handling.
-	 */
-	private KeyListener keyListener = new KeyListener() {
-		public void keyPressed(KeyEvent e) {
-			if (e.keyCode == SWT.INSERT)
-				parentTable.keyPressed(null, e);
-		}
-		public void keyReleased(KeyEvent e) {
-		}
-	};
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/ISelectableRegionControl.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/ISelectableRegionControl.java
deleted file mode 100644
index f3b58e3..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/ISelectableRegionControl.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.internal;
-
-import org.eclipse.swt.SWTException;
-
-/**
- * A duck interface for controls that can select a specific range according to SWT 
- * range selection semantics.
- * 
- * @author djo
- */
-public interface ISelectableRegionControl {
-	/**
-	 * Sets the selection to the range specified
-	 * by the given start and end indices.
-	 * <p>
-	 * Indexing is zero based.  The range of
-	 * a selection is from 0..N where N is
-	 * the number of characters in the widget.
-	 * </p><p>
-	 * Text selections are specified in terms of
-	 * caret positions.  In a text widget that
-	 * contains N characters, there are N+1 caret
-	 * positions, ranging from 0..N.  This differs
-	 * from other functions that address character
-	 * position such as getText () that use the
-	 * usual array indexing rules.
-	 * </p>
-	 *
-	 * @param start the start of the range
-	 * @param end the end of the range
-	 *
-	 * @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 start, int end);
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/TableRow.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/TableRow.java
deleted file mode 100644
index 727730f..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/internal/TableRow.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.internal;
-
-import org.eclipse.jface.examples.databinding.compositetable.InternalCompositeTable;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Class TableRow.  Encapsulates operations on a SWT row control.  Discovers the 
- * SWT controls inside the row control representing columns and exposes those for
- * operations by the CompositeTable.  Listens to SWT events on the column controls
- * and forwards them back to the table control for processing.
- * 
- * @author djo
- */
-public class TableRow {
-	private Control row;
-	private Control[] columns;
-	protected InternalCompositeTable parent;
-	
-	/**
-	 * Constructor TableRow.  Construct a TableRow object.
-	 * 
-	 * @param parent The table containing this row.
-	 * @param row The SWT control implementing this row.
-	 */
-	public TableRow(InternalCompositeTable parent, Control row) {
-		this.parent = parent;
-		this.row = row;
-		if (row instanceof Composite) {
-			Composite rowComposite = (Composite) row;
-			columns = rowComposite.getTabList();
-		} else {
-			columns = new Control[] {row};
-		}
-		
-		for (int i = 0; i < columns.length; i++) {
-			addListeners(columns[i]);
-		}
-	}
-	
-	/**
-	 * Remove all listeners from each control.
-	 */
-	public void dispose() {
-		for (int i = 0; i < columns.length; i++) {
-			removeListeners(columns[i]);
-		}
-	}
-	
-	/**
-	 * Add listeners to each control.
-	 * 
-	 * @param control The control to listen to.
-	 */
-	private void addListeners(Control control) {
-		control.addKeyListener(keyListener);
-		control.addFocusListener(focusListener);
-		control.addTraverseListener(traverseListener);
-	}
-	
-	/**
-	 * Remove listeners from each control.
-	 * 
-	 * @param control The control to no longer listen to.
-	 */
-	private void removeListeners(Control control) {
-		control.removeKeyListener(keyListener);
-		control.removeFocusListener(focusListener);
-		control.removeTraverseListener(traverseListener);
-	}
-	
-	/**
-	 * Forward key presses to the parent control
-	 */
-	private KeyListener keyListener = new KeyAdapter() {
-		public void keyPressed(KeyEvent e) {
-			parent.keyPressed(TableRow.this, e);
-		}
-	};
-	
-	/**
-	 * Forward focuse events to the parent control
-	 */
-	private FocusListener focusListener = new FocusAdapter() {
-		public void focusLost(FocusEvent e) {
-			parent.focusLost(TableRow.this, e);
-		}
-		public void focusGained(FocusEvent e) {
-			parent.focusGained(TableRow.this, e);
-		}
-	};
-	
-	/**
-	 * Forward traverse events to the parent control
-	 */
-	private TraverseListener traverseListener = new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			parent.keyTraversed(TableRow.this, e);
-		}
-	};
-
-	/**
-	 * Return the SWT control implementing the row's GUI.
-	 * 
-	 * @return The row's SWT control
-	 */
-	public Control getRowControl() {
-		return row;
-	}
-	
-	/**
-	 * Return the SWT control corresponding to a particular column within
-	 * this row.
-	 * 
-	 * @param i the 0-based offset of the column to return.
-	 * @return The corresponding control
-	 */
-	public Control getColumnControl(int i) {
-		return columns[i];
-	}
-	
-	/**
-	 * Return the column number of a specified SWT control or -1 if not found.
-	 * 
-	 * @param control The control to find.
-	 * @return control's column number or -1 if that column control is not in this row.
-	 */
-	public int getColumnNumber(Control control) {
-		for (int i = 0; i < columns.length; i++) {
-			if (columns[i] == control) {
-				return i;
-			}
-		}
-		return -1;
-	}
-	
-	/**
-	 * Return the number of columns in this row.
-	 * 
-	 * @return The number of columns in this row.
-	 */
-	public int getNumColumns() {
-		return columns.length;
-	}
-	
-	/**
-	 * Sets the visibility of this row.
-	 * 
-	 * @param visible true if the row should be visible; false otherwise.
-	 */
-	public void setVisible(boolean visible) {
-		row.setVisible(visible);
-	}
-	
-	/**
-	 * Returns if this row is visible.
-	 * 
-	 * @return true if the row is visible; false otherwise.
-	 */
-	public boolean getVisible() {
-		return row.getVisible();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/DuckType.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/DuckType.java
deleted file mode 100644
index 6430142..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/DuckType.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2005 db4objects Inc.  http://www.db4o.com
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     db4objects - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.reflect;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-/**
- * DuckType. Implements Duck Typing for Java.  ("If it walks like a duck, 
- * quacks like a duck, it...").  Essentially allows programs to treat
- * objects from separate hierarchies as if they were designed with common
- * interfaces as long as they adhere to common naming conventions.
- * <p>
- * This version is the strict DuckType.  All methods present in
- * interfaceToImplement must be present on the target object.
- *
- * @author djo
- */
-public class DuckType implements InvocationHandler {
-	/**
-     * Causes object to implement the interfaceToImplement and returns
-     * an instance of the object implementing interfaceToImplement even
-     * if interfaceToImplement was not declared in object.getClass()'s 
-     * implements declaration.<p>
-     * 
-     * This works as long as all methods declared in interfaceToImplement
-     * are present on object.
-     * 
-	 * @param interfaceToImplement The Java class of the interface to implement
-	 * @param object The object to force to implement interfaceToImplement
-	 * @return object, but now implementing interfaceToImplement
-	 */
-	public static Object implement(Class interfaceToImplement, Object object) {
-		return Proxy.newProxyInstance(interfaceToImplement.getClassLoader(), 
-				new Class[] {interfaceToImplement}, new DuckType(object));
-	}
-    
-    /**
-     * Indicates if object is a (DuckType) instace of intrface.  That is,
-     * is every method in intrface present on object.
-     * 
-     * @param intrface The interface to implement
-     * @param object The object to test
-     * @return true if every method in intrface is present on object.  false otherwise
-     */
-    public static boolean instanceOf(Class intrface, Object object) {
-        final Method[] methods = intrface.getMethods();
-        Class candclass=object.getClass();
-        for (int methodidx = 0; methodidx < methods.length; methodidx++) {
-            Method method=methods[methodidx];
-            try {
-                candclass.getMethod(method.getName(), method.getParameterTypes());
-            } catch (NoSuchMethodException e) {
-                return false;
-            }
-        }
-        return true;
-    }
-	
-	protected DuckType(Object object) {
-		this.object = object;
-		this.objectClass = object.getClass();
-	}
-
-	protected Object object;
-	protected Class objectClass;
-	
-	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-		Method realMethod = objectClass.getMethod(method.getName(), method.getParameterTypes());
-		return realMethod.invoke(object, args);
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/ReflectedMethod.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/ReflectedMethod.java
deleted file mode 100644
index 3bd35ff..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/ReflectedMethod.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2005 db4objects Inc.  http://www.db4o.com
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     db4objects - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.reflect;
-
-import java.lang.reflect.Method;
-
-/**
- * ReflectedMethod.  Encapsulates a method that may or may not exist on 
- * some receiver.  Invocation policy is that if the method can be invoked,
- * it is.  On failure, returns null.
- *
- * @author djo
- */
-public class ReflectedMethod {
-    
-    private Object subject;
-    private Method method;
-    
-    /**
-     * Constructor ReflectedMethod.  Create a ReflectedMethod object.
-     * 
-     * @param subject The object on which the method lives.
-     * @param methodName The name of the method.
-     * @param paramTypes The method's parameter types.
-     */
-    public ReflectedMethod(Object subject, String methodName, Class[] paramTypes) {
-        this.subject = subject;
-        method = null;
-        try {
-        	method = subject.getClass().getDeclaredMethod(methodName, paramTypes);
-        } catch (Exception e) {}
-    }
-    
-    /**
-     * Method exists.  Returns true if the underlying method exists, false
-     * otherwise.
-     * 
-     * @return true if the underlying method exists, false otherwise.
-     */
-    public boolean exists() {
-        return method != null;
-    }
-    
-    /**
-     * Method invoke.  If possible, invoke the encapsulated method with the
-     * specified parameters.
-     * 
-     * @param params An Object[] containing the parameters to pass.
-     * @return any return value or null if there was no return value or an
-     * error occured.
-     */
-    public Object invoke(Object[] params) {
-        if (method == null)
-            return null;
-        try {
-        	return method.invoke(subject, params);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-}
-
-
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/RelaxedDuckType.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/RelaxedDuckType.java
deleted file mode 100644
index 6f3e388..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/reflect/RelaxedDuckType.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2005 db4objects Inc.  http://www.db4o.com
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     db4objects - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.reflect;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.HashMap;
-
-/**
- * RelaxedDuckType. Implements Duck Typing for Java.  ("If it walks like a duck, 
- * quacks like a duck, it...").  Essentially allows programs to treat
- * objects from separate hierarchies as if they were designed with common
- * interfaces as long as they adhere to common naming conventions.
- * <p>
- * This version is the relaxed DuckType.  If a method in the interface is
- * not present on the underlying object, the proxy simply returns null.
- *
- * @author djo
- */
-public class RelaxedDuckType extends DuckType implements InvocationHandler {
-
-	public static Object implement(Class interfaceToImplement, Object object) {
-		return Proxy.newProxyInstance(interfaceToImplement.getClassLoader(), 
-				new Class[] {interfaceToImplement}, new RelaxedDuckType(object));
-	}
-    
-    public static boolean includes(Object object, String method, Class[] args) {
-        try {
-            Method realMethod = object.getClass().getMethod(method, args);
-        } catch (NoSuchMethodException e) {
-            return false;
-        }
-        return true;
-    }
-    
-    private static final HashMap NULL_VALUES = new HashMap(); {
-        NULL_VALUES.put(Boolean.TYPE, Boolean.FALSE);
-        NULL_VALUES.put(Integer.TYPE, new Integer(0));
-        NULL_VALUES.put(Float.TYPE, new Float(0));
-        NULL_VALUES.put(Long.TYPE, new Long(0));
-        NULL_VALUES.put(Double.TYPE, new Double(0));
-        NULL_VALUES.put(Character.TYPE, new Character(' '));
-    }
-	
-	protected RelaxedDuckType(Object object) {
-		super(object);
-	}
-	
-	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-		try {
-			Method realMethod = objectClass.getMethod(method.getName(), method.getParameterTypes());
-            return realMethod.invoke(object, args);
-		} catch (NoSuchMethodException e) {
-			return NULL_VALUES.get(method.getReturnType());
-		} catch (Throwable t) {
-			throw t;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/CompositeTableTest.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/CompositeTableTest.java
deleted file mode 100644
index 5fd0bae..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/CompositeTableTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.test;
-
-import java.util.LinkedList;
-
-import org.eclipse.jface.examples.databinding.compositetable.CompositeTable;
-import org.eclipse.jface.examples.databinding.compositetable.IDeleteHandler;
-import org.eclipse.jface.examples.databinding.compositetable.IInsertHandler;
-import org.eclipse.jface.examples.databinding.compositetable.IRowContentProvider;
-import org.eclipse.jface.examples.databinding.compositetable.IRowFocusListener;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public class CompositeTableTest {
-
-	private Shell sShell = null;  //  @jve:decl-index=0:visual-constraint="10,10"
-	private CompositeTable table = null;
-	private Header header = null;
-	private Row row = null;
-	
-	private LinkedList personList = new LinkedList();
-	
-	public CompositeTableTest() {
-		personList.add(new Person("John", "1234", "Wheaton", "IL"));
-		personList.add(new Person("Jane", "1234", "Wheaton", "IL"));
-		personList.add(new Person("Frank", "1234", "Wheaton", "IL"));
-		personList.add(new Person("Joe", "1234", "Wheaton", "IL"));
-		personList.add(new Person("Chet", "1234", "Wheaton", "IL"));
-		personList.add(new Person("Wilbur", "1234", "Wheaton", "IL"));
-		personList.add(new Person("Elmo", "1234", "Wheaton", "IL"));
-	}
-
-	/**
-	 * This method initializes multiRowViewer	
-	 *
-	 */
-	private void createMultiRowViewer() {
-		table = new CompositeTable(sShell, SWT.NONE);
-		table.setRunTime(true);
-		table.setWeights(new int[] {35, 35, 20, 10});
-		table.addRowContentProvider(rowContentProvider);
-		table.addDeleteHandler(deleteHandler);
-		table.addInsertHandler(insertHandler);
-		table.addRowFocusListener(rowListener);
-		table.setNumRowsInCollection(personList.size());
-		createHeader();
-		createRow();
-	}
-	
-	private IRowContentProvider rowContentProvider = new IRowContentProvider() {
-		public void refresh(CompositeTable table, int currentObjectOffset, Control row) {
-			Row rowObj = (Row) row;
-			Person person = (Person)personList.get(currentObjectOffset);
-			rowObj.name.setText(person.name);
-			rowObj.address.setText(person.address);
-			rowObj.city.setText(person.city);
-			rowObj.state.setText(person.state);
-		}
-	};
-
-	private IDeleteHandler deleteHandler = new IDeleteHandler() {
-		public boolean canDelete(int rowInCollection) {
-			return true;
-		}
-		public void deleteRow(int rowInCollection) {
-			personList.remove(rowInCollection);
-		}
-	};
-	
-	private IInsertHandler insertHandler = new IInsertHandler() {
-		public int insert(int positionHint) {
-			Person newPerson = new Person();
-			personList.add(positionHint, newPerson);
-			return positionHint;
-//			int newPosition = (int)(Math.random() * (personList.size()+1));
-//			personList.add(newPosition, newPerson);
-//			return newPosition;
-		}
-	};
-	
-	private IRowFocusListener rowListener = new IRowFocusListener() {
-		public boolean requestRowChange(CompositeTable sender, int currentObjectOffset, Control row) {
-			System.out.println("requestRC");
-			return true;
-		}
-		public void depart(CompositeTable sender, int currentObjectOffset, Control row) {
-			System.out.println("depart");
-			Person person = (Person)personList.get(currentObjectOffset);
-			Row rowObj = (Row) row;
-			person.name = rowObj.name.getText();
-			person.address = rowObj.address.getText();
-			person.city = rowObj.city.getText();
-			person.state = rowObj.state.getText();
-		}
-		public void arrive(CompositeTable sender, int currentObjectOffset, Control row) {
-			System.out.println("arrive");
-		}
-	};
-	
-	/**
-	 * This method initializes header	
-	 *
-	 */
-	private void createHeader() {
-		header = new Header(table, SWT.NONE);
-	}
-
-	/**
-	 * This method initializes row	
-	 *
-	 */
-	private void createRow() {
-		row = new Row(table, SWT.NONE);
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = Display.getDefault();
-		CompositeTableTest thisClass = new CompositeTableTest();
-		thisClass.createSShell();
-		thisClass.sShell.open();
-
-		while (!thisClass.sShell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	/**
-	 * This method initializes sShell
-	 */
-	private void createSShell() {
-		sShell = new Shell();
-		sShell.setText("Shell");
-		sShell.setLayout(new FillLayout());
-		createMultiRowViewer();
-		sShell.setSize(new org.eclipse.swt.graphics.Point(445,243));
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Header.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Header.java
deleted file mode 100644
index 505d5bf..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Header.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.test;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-public class Header extends Composite {
-
-	private Label label = null;
-	private Label label1 = null;
-	private Label label2 = null;
-	private Label label3 = null;
-
-	public Header(Composite parent, int style) {
-		super(parent, style);
-		initialize();
-	}
-
-	/**
-	 * This method initializes this
-	 * 
-	 */
-	private void initialize() {
-        this.setSize(new org.eclipse.swt.graphics.Point(313,54));
-        label = new Label(this, SWT.NONE);
-        label.setBounds(new org.eclipse.swt.graphics.Rectangle(23,18,53,18));
-        label.setText("Name");
-        label1 = new Label(this, SWT.NONE);
-        label1.setBounds(new org.eclipse.swt.graphics.Rectangle(98,18,79,17));
-        label1.setText("Address");
-        label2 = new Label(this, SWT.NONE);
-        label2.setBounds(new org.eclipse.swt.graphics.Rectangle(199,18,35,17));
-        label2.setText("City");
-        label3 = new Label(this, SWT.NONE);
-        label3.setBounds(new org.eclipse.swt.graphics.Rectangle(256,17,35,17));
-        label3.setText("State");
-			
-	}
-
-}  //  @jve:decl-index=0:visual-constraint="11,16"
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Model.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Model.java
deleted file mode 100644
index 8f92594..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Model.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.test;
-
-import java.util.LinkedList;
-
-import org.eclipse.jface.examples.databinding.compositetable.IDeleteHandler;
-import org.eclipse.jface.examples.databinding.compositetable.IInsertHandler;
-
-public class Model {
-	public Model() {
-		// Add some sample data to our personList...
-//		personList.add(new Person("John", "1234", "Wheaton", "IL"));
-//		personList.add(new Person("Jane", "1234", "Wheaton", "IL"));
-//		personList.add(new Person("Frank", "1234", "Wheaton", "IL"));
-//		personList.add(new Person("Joe", "1234", "Wheaton", "IL"));
-//		personList.add(new Person("Chet", "1234", "Wheaton", "IL"));
-//		personList.add(new Person("Wilbur", "1234", "Wheaton", "IL"));
-//		personList.add(new Person("Elmo", "1234", "Wheaton", "IL"));
-	}
-
-	// Now a PersonList property...
-	
-	LinkedList personList = new LinkedList();
-	
-	public LinkedList getPersonList() {
-		return personList;
-	}
-
-	public IDeleteHandler getPersonListDeleteHandler() {
-		return new IDeleteHandler() {
-			public boolean canDelete(int rowInCollection) {
-				return true;
-			}
-
-			public void deleteRow(int rowInCollection) {
-				personList.remove(rowInCollection);
-			}
-		};
-	}
-	
-	public IInsertHandler getPersonListInsertHandler() {
-		return new IInsertHandler() {
-			public int insert(int positionHint) {
-				Person newPerson = new Person();
-				personList.add(positionHint, newPerson);
-				return positionHint;
-				// int newPosition = (int)(Math.random() *
-				// (personList.size()+1));
-				// personList.add(newPosition, newPerson);
-				// return newPosition;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Person.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Person.java
deleted file mode 100644
index 97c86bf..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Person.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.test;
-
-public class Person {
-	
-	public String name = "";
-	public String address = "";
-	public String city = "Wheaton";
-	public String state = "IL";
-	
-	public Person(String name, String address, String city, String state) {
-		this.name = name;
-		this.address = address;
-		this.city = city;
-		this.state = state;
-	}
-	
-	public Person() {}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Row.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Row.java
deleted file mode 100644
index 8913964..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/compositetable/test/Row.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.compositetable.test;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-public class Row extends Composite {
-
-	public Text name = null;
-	public Text address = null;
-	public Text city = null;
-	public Text state = null;
-
-	public Row(Composite parent, int style) {
-		super(parent, style);
-		initialize();
-	}
-
-	private void initialize() {
-		this.setSize(new org.eclipse.swt.graphics.Point(131,52));
-		name = new Text(this, SWT.NONE);
-		name.setBounds(new org.eclipse.swt.graphics.Rectangle(12,12,10,25));
-		address = new Text(this, SWT.NONE);
-		address.setBounds(new org.eclipse.swt.graphics.Rectangle(43,12,10,25));
-		city = new Text(this, SWT.NONE);
-		city.setBounds(new org.eclipse.swt.graphics.Rectangle(75,14,10,25));
-		state = new Text(this, SWT.NONE);
-		state.setBounds(new org.eclipse.swt.graphics.Rectangle(109,16,10,25));
-	}
-
-}  //  @jve:decl-index=0:visual-constraint="10,10"
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/AsynchronousTestSet.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/AsynchronousTestSet.java
deleted file mode 100644
index 681823f..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/AsynchronousTestSet.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-import java.util.Set;
-
-import org.eclipse.jface.databinding.AbstractUpdatableSet;
-import org.eclipse.jface.internal.databinding.swt.SWTUtil;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Test set that simulates asynchronously computed elements. The elements
- * of the set are randomly generated Integers. Whenever
- * the "recompute" method is called, the set will spin off a job that
- * sleeps for a period of time and then randomly adds and removes elements
- * from the set.
- * 
- * <p>
- * This simulates a set that wraps a database query or network communication. 
- * These would follow the same pattern (report the set as "stale", perform some
- * slow operation, then make changes to the set).
- * </p>
- * 
- * @since 3.2
- */
-public class AsynchronousTestSet extends AbstractUpdatableSet {
-
-	private Set elements = new HashSet();
-	private static Random randomNumberGenerator = new Random();
-	private Display display;
-	private boolean stale = false;
-	
-	/**
-	 * Average number of elements to add or remove
-	 */ 
-	private static final int AVERAGE_DELTA = 4;
-	
-	/** 
-	 * Average "computation" time -- time taken to do the simulated work (ms)
-	 */ 
-	private static final int AVERAGE_BUSY_TIME = 1000;
-	
-	/**
-	 * List of all undisposed AsynchronousTestSet instances. Used for the recomputeAll method.
-	 */
-	private static List allSets = new ArrayList();
-	
-	public AsynchronousTestSet() {
-		display = Display.getCurrent();
-		if (display == null) {
-			throw new IllegalStateException("This object can only be created in the UI thread");
-		}
-		recompute();
-	}
-	
-	protected Collection computeElements() {
-		return elements;
-	}
-	
-	protected void firstListenerAdded() {
-		super.firstListenerAdded();
-		allSets.add(this);
-	}
-	
-	protected void lastListenerRemoved() {
-		allSets.remove(this);
-		super.lastListenerRemoved();
-	}
-	
-	public static void recomputeAll() {
-		for (Iterator iter = allSets.iterator(); iter.hasNext();) {
-			AsynchronousTestSet next = (AsynchronousTestSet) iter.next();
-			
-			next.recompute();
-		}
-	}
-	
-	public void remove(Collection toRemove) {
-		HashSet rem = new HashSet();
-		rem.addAll(toRemove);
-		rem.retainAll(elements);
-		
-		elements.removeAll(rem);
-		fireRemoved(rem);
-	}
-	
-	public boolean isStale() {
-		return stale;
-	}
-	
-	public void recompute() {
-		if (!isStale()) {
-			setStale(true);
-			final int sleepTime = (int)(randomNumberGenerator.nextDouble() * (double)(AVERAGE_BUSY_TIME * 2));
-			Thread newThread = new Thread(new Runnable() {
-				public void run() {
-					
-					// Simulate work by sleeping
-					try {
-						Thread.sleep(sleepTime);
-					} catch (InterruptedException e) {
-					}
-
-					
-					// Add and remove some elements -- important: fire all events in the UI thread
-					SWTUtil.greedyExec(display, new Runnable() {
-						public void run() {
-							final HashSet toAdd = new HashSet();
-							final HashSet toRemove = new HashSet();
-							
-							// Compute elements to add and remove (basically just fills the toAdd 
-							// and toRemove sets with random elements)
-							int delta = (randomNumberGenerator.nextInt(AVERAGE_DELTA * 4) - AVERAGE_DELTA * 2);
-							int extraAdds = randomNumberGenerator.nextInt(AVERAGE_DELTA);
-							int addCount = delta + extraAdds;
-							int removeCount = -delta + extraAdds;
-							
-							if (addCount > 0) {
-								for (int i = 0; i < addCount; i++) {
-									toAdd.add(new Integer(randomNumberGenerator.nextInt(20)));
-								}
-							} 
-							
-							if (removeCount > 0) {
-								Iterator oldElements = elements.iterator();
-								for (int i = 0; i < removeCount && oldElements.hasNext(); i++) {
-									toRemove.add(oldElements.next());
-								}
-							}
-							
-							setStale(false);
-							
-							toAdd.removeAll(elements);
-							elements.addAll(toAdd);
-							fireAdded(toAdd);
-							elements.removeAll(toRemove);
-							fireRemoved(toRemove);
-						}
-					});
-				}
-			});
-			
-			newThread.start();
-		}
-	}
-
-	private void setStale(boolean b) {
-		if (!stale == b) {
-			stale = b;
-			fireStale(b);
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest.java
deleted file mode 100644
index ac048b9..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.Collections;
-
-import org.eclipse.jface.databinding.ChangeEvent;
-import org.eclipse.jface.databinding.IChangeListener;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IReadableValue;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.updatables.WritableSet;
-import org.eclipse.jface.databinding.viewers.ListeningLabelProvider;
-import org.eclipse.jface.databinding.viewers.UpdatableSetContentProvider;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.examples.databinding.ExampleBinding;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.layout.LayoutConstants;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.ViewerLabel;
-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.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Tests UpdatableTreeContentProvider and DirtyIndicationLabelProvider.
- * Creates a tree containing three randomly-generated sets of integers,
- * and one node that contains the union of the other sets.
- * 
- * @since 3.2
- */
-public class LabelProviderTest {
-	
-	private Shell shell;
-	private ListViewer list;
-	private Label exploredNodesLabel;
-	private WritableSet setOfRenamables;
-	private Button addButton;
-	private Button removeButton;
-	private Button renameButton;
-	private SelectionListener buttonSelectionListener = new SelectionAdapter() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			Button pressed = (Button)e.widget;
-			if (pressed == addButton) {
-				setOfRenamables.add(new RenamableItem());
-			} else if (pressed == removeButton) {
-				setOfRenamables.remove(getCurrentSelection());
-			} else if (pressed == renameButton) {
-				rename(getCurrentSelection());
-			}
-			
-			super.widgetSelected(e);
-		}
-	};
-	private IReadableValue selectedRenamable;
-	
-	public LabelProviderTest() {
-				
-		// Create shell
-		shell = new Shell(Display.getCurrent());
-		{ // Initialize shell
-			setOfRenamables = new WritableSet();
-			
-			list = new ListViewer(shell);
-			UpdatableSetContentProvider contentProvider = new UpdatableSetContentProvider();
-			list.setContentProvider(contentProvider);
-			list.setLabelProvider(new ListeningLabelProvider(contentProvider.getKnownElements()) {
-				IChangeListener listener = new IChangeListener() {
-					/* (non-Javadoc)
-					 * @see org.eclipse.jface.databinding.IChangeListener#handleChange(org.eclipse.jface.databinding.ChangeEvent)
-					 */
-					public void handleChange(ChangeEvent changeEvent) {
-						fireChangeEvent(Collections.singleton(changeEvent.getSource()));
-					}
-				};
-				
-				/* (non-Javadoc)
-				 * @see org.eclipse.jface.databinding.viewers.ViewerLabelProvider#updateLabel(org.eclipse.jface.viewers.ViewerLabel, java.lang.Object)
-				 */
-				public void updateLabel(ViewerLabel label, Object element) {
-					if (element instanceof RenamableItem) {
-						RenamableItem item = (RenamableItem) element;
-						
-						label.setText(item.getName());
-					}
-				}
-				
-				protected void addListenerTo(Object next) {
-					RenamableItem item = (RenamableItem)next;
-					
-					item.addListener(listener);
-				}
-				
-				protected void removeListenerFrom(Object next) {
-					RenamableItem item = (RenamableItem)next;
-					
-					item.removeListener(listener);					
-				}
-			});
-			list.setInput(setOfRenamables);
-	
-			IDataBindingContext viewerContext = ExampleBinding.createContext(list.getControl());
-			selectedRenamable = (IReadableValue)viewerContext.createUpdatable(new Property(list, ViewersProperties.SINGLE_SELECTION));
-			
-			Composite buttonBar = new Composite(shell, SWT.NONE);
-			{   // Initialize buttonBar
-				addButton = new Button(buttonBar, SWT.PUSH);
-				addButton.setText("Add");
-				addButton.addSelectionListener(buttonSelectionListener);
-				removeButton = new Button(buttonBar, SWT.PUSH);
-				removeButton.addSelectionListener(buttonSelectionListener);
-				removeButton.setText("Remove");
-				renameButton = new Button(buttonBar, SWT.PUSH);
-				renameButton.addSelectionListener(buttonSelectionListener);
-				renameButton.setText("Rename");
-
-				selectedRenamable.addChangeListener(new IChangeListener() {
-					public void handleChange(ChangeEvent changeEvent) {
-						boolean shouldEnable = selectedRenamable.getValue() != null;
-						
-						removeButton.setEnabled(shouldEnable);
-						renameButton.setEnabled(shouldEnable);
-					}
-				});
-				removeButton.setEnabled(false);
-				renameButton.setEnabled(false);
-				
-				GridLayoutFactory.fillDefaults().generateLayout(buttonBar);
-			}
-			
-		}
-		GridLayoutFactory.fillDefaults().numColumns(2).margins(LayoutConstants.getMargins()).generateLayout(shell);
-	}
-
-	/**
-	 * @param currentSelection
-	 */
-	protected void rename(final RenamableItem currentSelection) {
-		final Shell promptShell = new Shell(shell, SWT.DIALOG_TRIM);
-		{
-			Label prompt = new Label(promptShell, SWT.WRAP);
-			
-			prompt.setText("Enter a the new item name");
-			final Text promptText = new Text(promptShell, SWT.BORDER);
-			promptText.setText(currentSelection.getName());
-			
-			Composite buttonBar = new Composite(promptShell, SWT.NONE);
-			{
-				Button okay = new Button(buttonBar, SWT.PUSH);
-				okay.addSelectionListener(new SelectionAdapter() {
-					/* (non-Javadoc)
-					 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-					 */
-					public void widgetSelected(SelectionEvent e) {
-						currentSelection.setName(promptText.getText());
-
-						promptShell.close();
-					}
-				});
-				
-				okay.setText("Okay");
-				GridLayoutFactory.fillDefaults().numColumns(1).generateLayout(buttonBar);
-			}
-			GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(buttonBar);
-
-		}
-		
-		GridLayoutFactory.fillDefaults().margins(LayoutConstants.getMargins()).generateLayout(promptShell);
-		
-		promptShell.pack();
-		
-		promptShell.setVisible(true);
-	}
-
-	/**
-	 * @return
-	 */
-	protected RenamableItem getCurrentSelection() {
-		return (RenamableItem)selectedRenamable.getValue();
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = Display.getDefault();
-		LabelProviderTest test = new LabelProviderTest();
-		Shell s = test.getShell();
-		s.pack();
-		s.setVisible(true);
-
-		while (!s.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	private Shell getShell() {
-		return shell;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java
deleted file mode 100644
index 722d7a0..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.databinding.ChangeEvent;
-import org.eclipse.jface.databinding.IChangeListener;
-
-/**
- * @since 3.2
- *
- */
-public class RenamableItem {
-	private String name;
-	private ArrayList listeners = new ArrayList();
-
-	public RenamableItem() {
-		name = "RenamableItem";
-	}
-	
-	public void addListener(IChangeListener listener) {
-		listeners.add(listener);
-	}
-	
-	public void removeListener(IChangeListener toRemove) {
-		listeners.remove(toRemove);
-	}
-	
-	public void setName(String newName) {
-		this.name = newName;
-		
-		ChangeEvent e = new ChangeEvent(this, ChangeEvent.DIRTY, null, null);
-		
-		IChangeListener[] l = (IChangeListener[]) listeners.toArray(new IChangeListener[listeners.size()]);
-		for (int i = 0; i < l.length; i++) {
-			IChangeListener listener = l[i];
-			
-			listener.handleChange(e);
-		}
-	}
-	
-	public String getName() {
-		return name;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SimpleNode.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SimpleNode.java
deleted file mode 100644
index 6aeed8d..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SimpleNode.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import org.eclipse.jface.databinding.IReadableSet;
-
-/**
- * This object will be given randomly-generated children
- *  
- * @since 3.2
- */
-public class SimpleNode {
-	private String nodeName;
-	private IReadableSet children;
-
-	public SimpleNode(String nodeName, IReadableSet children) {
-		super();
-		this.nodeName = nodeName;
-		this.children = children;
-	}
-
-	public String getNodeName() {
-		return nodeName;
-	}
-
-	public IReadableSet getChildren() {
-		return children;
-	}
-	
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SomeMathFunction.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SomeMathFunction.java
deleted file mode 100644
index 76a358f..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SomeMathFunction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import org.eclipse.jface.databinding.ChangeEvent;
-import org.eclipse.jface.databinding.IReadableSet;
-import org.eclipse.jface.databinding.updatables.UpdatableFunction;
-
-/**
- * Simple function that performs one of three operations on Doubles:
- * <ul>
- * <li>Multiply by two</li>
- * <li>Round to nearest integer</li>
- * <li>Do nothing</li>
- * </ul>
- * 
- * @since 3.2
- */
-public class SomeMathFunction extends UpdatableFunction {
-
-	public static final int OP_IDENTITY = 0;
-	public static final int OP_MULTIPLY = 1;
-	public static final int OP_ROUND = 2;
-	
-	private IReadableSet domain;
-	private int op = OP_ROUND;
-	
-	public SomeMathFunction(IReadableSet domain) {
-		this.domain = domain;
-	}
-	
-	public void setOperation(int operation) {
-		this.op = operation;
-		
-		// Fire a change event. Changing the operation is going to affect every answer returned by
-		// this function, so include every element in the function domain in the event.
-		// If this was a change that would only affect a subset of elements, we would include
-		// the subset of affected elements rather than using domain.toCollection()
-		fireChangeEvent(new ChangeEvent(this, ChangeEvent.CHANGE_MANY, null, domain.toCollection()));
-	}
-	
-	protected Object doComputeResult(Object input) {
-		switch (op) {
-		case OP_IDENTITY: 
-			return input;
-		case OP_MULTIPLY:
-			return new Double((((Double)input).doubleValue() * 2.0));
-		case OP_ROUND:
-			return new Double(Math.floor((((Double)input).doubleValue())));
-		}
-		return input;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/StructuredContentProviderTest.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/StructuredContentProviderTest.java
deleted file mode 100644
index 63c77db..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/StructuredContentProviderTest.java
+++ /dev/null
@@ -1,343 +0,0 @@
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Random;
-
-import org.eclipse.jface.databinding.ChangeEvent;
-import org.eclipse.jface.databinding.IChangeListener;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IReadableValue;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.swt.ControlUpdator;
-import org.eclipse.jface.databinding.updatables.ConvertingSet;
-import org.eclipse.jface.databinding.updatables.LazyCalculatedValue;
-import org.eclipse.jface.databinding.updatables.SettableValue;
-import org.eclipse.jface.databinding.updatables.WritableSet;
-import org.eclipse.jface.databinding.viewers.UpdatableSetContentProvider;
-import org.eclipse.jface.databinding.viewers.ViewerLabelProvider;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.examples.databinding.ExampleBinding;
-import org.eclipse.jface.viewers.ListViewer;
-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.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Tests UpdatableSetContentProvider, ComputableValue, ControlUpdator, UpdatableFunction,
- * and ConvertingSet.
- * 
- * <p>
- * This test displays a dialog with user-editable list of Doubles. It allows the
- * user to select a math function to apply to the set, and displays the result in a
- * new list. A line of text along the bottom of the dialog displays the sum of the elements
- * from the transformed set. Although this dialog is rather silly, it is a good example of 
- * a dialog where a lot of things can change from many directions.
- * </p>
- * 
- * <p>
- * An UpdatableSetContentProvider is used to supply the contents each ListViewer. 
- * ControlUpdators
- * 
- * </p>
- * 
- * @since 3.2
- */
-public class StructuredContentProviderTest {
-
-	/**
-	 * Top-level shell for the dialog
-	 */
-	private Shell shell;
-	
-	/**
-	 * Random number stream. Used for the "add" button.
-	 */
-	protected Random random = new Random();
-
-	// Data model ////////////////////////////////////////////////////////
-	
-	/**
-	 * inputSet stores a set of Doubles. The user is allowed to add and remove
-	 * Doubles from this set.
-	 */
-	private WritableSet inputSet;
-	
-	/**
-	 * currentFunction is an Integer, set to one of the SomeMathFunction.OP_*
-	 * constants. It identifies which function will be applied to inputSet.
-	 */
-	private SettableValue currentFunction;
-	
-	/**
-	 * mathFunction is the transformation. It can multiply by 2, round down
-	 * to the nearest integer, or do nothing (identity)
-	 */
-	private SomeMathFunction mathFunction;
-	
-	/**
-	 * Set of Doubles. Holds the result of applying mathFunction to the inputSet.
-	 */
-	private ConvertingSet outputSet;
-	
-	/**
-	 * A Double. Stores the sum of the Doubles in outputSet
-	 */
-	private IReadableValue sumOfOutputSet;
-
-	/**
-	 * Creates the test dialog as a top-level shell.
-	 */
-	public StructuredContentProviderTest() {
-		
-		// Initialize the data model
-		createDataModel();
-
-		shell = new Shell(Display.getCurrent(), SWT.SHELL_TRIM);
-		{ // Initialize shell
-			final Label someDoubles = new Label(shell, SWT.NONE);
-			someDoubles.setText("A list of random Doubles");
-			someDoubles.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		    
-			Control addRemoveComposite = createInputControl(shell, inputSet);
-			
-			GridData addRemoveData = new GridData(GridData.FILL_BOTH);
-			addRemoveData.minimumHeight = 1;
-			addRemoveData.minimumWidth = 1;
-			
-			addRemoveComposite.setLayoutData(addRemoveData);
-			
-			Group operation = new Group(shell, SWT.NONE);
-			{ // Initialize operation group
-				operation.setText("Select transformation");
-				
-				createRadioButton(operation, currentFunction, "f(x) = x", new Integer(SomeMathFunction.OP_IDENTITY));
-				createRadioButton(operation, currentFunction, "f(x) = 2 * x", new Integer(SomeMathFunction.OP_MULTIPLY));
-				createRadioButton(operation, currentFunction, "f(x) = floor(x)", new Integer(SomeMathFunction.OP_ROUND));
-				
-				GridLayout layout = new GridLayout();
-				layout.numColumns = 1;
-				operation.setLayout(layout);
-			}
-			operation.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-			
-			Control outputControl = createOutputComposite(shell);
-			GridData outputData = new GridData(GridData.FILL_BOTH);
-			outputData.minimumHeight = 1;
-			outputData.minimumWidth = 1;
-			outputData.widthHint = 300;
-			outputData.heightHint = 150;
-			
-			outputControl.setLayoutData(outputData);			
-			
-			final Label sumLabel = new Label(shell, SWT.NONE);
-			new ControlUpdator(sumLabel) {
-				protected void updateControl() {
-					double sum = ((Double)sumOfOutputSet.getValue()).doubleValue();
-					int size = outputSet.toCollection().size();
-					
-					sumLabel.setText("The sum of the above " + size + " doubles is " + sum);
-				}
-			};
-			sumLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-			
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 1;
-			shell.setLayout(layout);
-		}
-
-	}
-
-	/**
-	 * Create the updatables for this dialog
-	 */
-	private void createDataModel() {
-		// Initialize data model. We will create a user-editable set of Doubles. The user can run
-		// a transformation on this set and view the result in a list viewer.
-		
-		// inputSet will be a writable set of doubles. The user will add and remove entries from this set
-		// through the UI.
-		inputSet = new WritableSet();
-		
-		// currentFunction holds the ID currently selected function to apply to elements in the inputSet.
-		// We will allow the user to change the current function through a set of radio buttons
-		currentFunction = new SettableValue(Integer.class, new Integer(SomeMathFunction.OP_MULTIPLY));
-		
-		// mathFunction implements the selected function
-		mathFunction = new SomeMathFunction(inputSet);
-		currentFunction.addChangeListener(new IChangeListener() {
-			public void handleChange(ChangeEvent changeEvent) {
-				mathFunction.setOperation(((Integer)currentFunction.getValue()).intValue());
-			}
-		});
-		mathFunction.setOperation(((Integer)currentFunction.getValue()).intValue());
-		
-		// outputSet holds the result. It displays the result of applying the currently-selected
-		// function on all the elements in the input set.
-		outputSet = new ConvertingSet(inputSet, mathFunction);
-		
-		// sumOfOutputSet stores the current sum of the the Doubles in the output set 
-		sumOfOutputSet = new LazyCalculatedValue() {
-			protected Object calculate() {
-				double sum = 0.0;
-				Collection value = outputSet.toCollection();
-				for (Iterator iter = value.iterator(); iter.hasNext();) {
-					Double next = (Double) iter.next();
-					
-					sum += next.doubleValue();
-				}
-				return new Double(sum);
-			}
-		};
-	}
-
-	/**
-	 * Creates a radio button in the given parent composite. When selected, the button will change
-	 * the given SettableValue to the given value.
-	 *  
-	 * @param parent parent composite
-	 * @param model SettableValue that will hold the value of the currently-selected radio button
-	 * @param string text to appear in the radio button
-	 * @param value value of this radio button (SettableValue will hold this value when the radio
-	 * button is selected)
-	 */
-	private void createRadioButton(Composite parent, final SettableValue model, String string, final Object value) {
-		final Button button = new Button(parent, SWT.RADIO);
-		button.setText(string);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				model.setValue(value);
-				super.widgetSelected(e);
-			}
-		});
-		new ControlUpdator(button) {
-			protected void updateControl() {
-				button.setSelection(model.getValue().equals(value));
-			}
-		};
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-	}
-
-	private Control createOutputComposite(Composite parent) {
-		ListViewer listOfInts = new ListViewer(parent, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL );
-		
-		listOfInts.setContentProvider(new UpdatableSetContentProvider());
-		listOfInts.setLabelProvider(new ViewerLabelProvider());
-		listOfInts.setInput(outputSet);
-		return listOfInts.getControl();
-	}
-	
-	/**
-	 * Creates and returns a control that will allow the user to add and remove Doubles
-	 * from the given input set.
-	 * 
-	 * @param parent parent control
-	 * @param inputSet input set
-	 * @return a newly created SWT control that displays Doubles from the input set
-	 * and allows the user to add and remove entries
-	 */
-	private Control createInputControl(Composite parent, final WritableSet inputSet) {
-		Composite addRemoveComposite = new Composite(parent, SWT.NONE);
-		{ // Initialize addRemoveComposite
-			ListViewer listOfInts = new ListViewer(addRemoveComposite, SWT.BORDER);
-			
-			listOfInts.setContentProvider(new UpdatableSetContentProvider());
-			listOfInts.setLabelProvider(new ViewerLabelProvider());
-			listOfInts.setInput(inputSet);
-			
-			// Get the current selection as an IReadableValue
-			IDataBindingContext viewerContext = ExampleBinding.createContext(listOfInts.getControl());
-			final IReadableValue selectedInt = (IReadableValue)viewerContext.createUpdatable(new Property(listOfInts, ViewersProperties.SINGLE_SELECTION));
-			
-			GridData listData = new GridData(GridData.FILL_BOTH);
-			listData.minimumHeight = 1;
-			listData.minimumWidth = 1;
-			listData.widthHint = 150;
-			listData.heightHint = 150;
-			listOfInts.getControl().setLayoutData(listData);
-			
-			Composite buttonBar = new Composite(addRemoveComposite, SWT.NONE);
-			{ // Initialize button bar
-			
-				Button add = new Button(buttonBar, SWT.PUSH);
-				add.setText("Add");
-				add.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						inputSet.add(new Double(random.nextDouble() * 100.0));
-						super.widgetSelected(e);
-					}
-				});
-				add.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-				
-				final Button remove = new Button(buttonBar, SWT.PUSH);
-				remove.setText("Remove");
-				// Enable the Remove button if and only if there is currently an element selected.
-				new ControlUpdator(remove) {
-					protected void updateControl() {
-						// This block demonstrates auto-listening. 
-						// When updateControl is running, the framework remembers each
-						// updatable that gets touched. Since we're calling selectedInt.getValue()
-						// here, this updator will be flagged as dependant on selectedInt. This
-						// means that whenever selectedInt changes, this block of code will re-run
-						// itself. 
-						
-						// The result is that the remove button will recompute its enablement
-						// whenever the selection in the listbox changes, and it was not necessary
-						// to attach any listeners.
-						remove.setEnabled(selectedInt.getValue() != null);
-					}
-				};
-				
-				remove.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						inputSet.remove(selectedInt.getValue());
-						super.widgetSelected(e);
-					}
-				});
-				remove.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-				
-				GridLayout buttonLayout = new GridLayout();
-				buttonLayout.numColumns = 1;
-				buttonBar.setLayout(buttonLayout);
-				
-			} // End button bar
-			buttonBar.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
-			
-			GridLayout addRemoveLayout = new GridLayout();
-			addRemoveLayout.numColumns = 2;
-			addRemoveComposite.setLayout(addRemoveLayout);
-		}
-		return addRemoveComposite;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = Display.getDefault();
-		StructuredContentProviderTest test = new StructuredContentProviderTest();
-		Shell s = test.getShell();
-		s.pack();
-		s.setVisible(true);
-
-		while (!s.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	private Shell getShell() {
-		return shell;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/TreeContentProviderTest.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/TreeContentProviderTest.java
deleted file mode 100644
index 81dfff7..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/TreeContentProviderTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import org.eclipse.jface.databinding.IReadableSet;
-import org.eclipse.jface.databinding.ITreeProvider;
-import org.eclipse.jface.databinding.updatables.UnionSet;
-import org.eclipse.jface.databinding.updatables.WritableSet;
-import org.eclipse.jface.databinding.viewers.DirtyIndicationLabelProvider;
-import org.eclipse.jface.databinding.viewers.UpdatableTreeContentProvider;
-import org.eclipse.jface.databinding.viewers.ViewerLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IViewerLabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerLabel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Tests UpdatableTreeContentProvider and DirtyIndicationLabelProvider.
- * Creates a tree containing three randomly-generated sets of integers,
- * and one node that contains the union of the other sets.
- * 
- * @since 3.2
- */
-public class TreeContentProviderTest {
-	
-	private Shell shell;
-	private TreeViewer tree;
-	private ListViewer unionViewer;
-	private ListViewer transformViewer;
-	private Label exploredNodesLabel;
-	
-	// Three randomly-generated sets of doubles
-	private AsynchronousTestSet set1;
-	private AsynchronousTestSet set2;
-	private AsynchronousTestSet set3;
-	
-	// The union of the above three sets
-	private UnionSet union;
-	private Button randomize;
-	private Button delete;
-
-	public TreeContentProviderTest() {
-		
-		// Create the data model
-		set1 = new AsynchronousTestSet();
-		set2 = new AsynchronousTestSet();
-		set3 = new AsynchronousTestSet();
-		
-		// A union of the above sets
-		union = new UnionSet();
-		union.add(set1);
-		union.add(set2);
-		union.add(set3);
-		
-		// Create shell
-		shell = new Shell(Display.getCurrent());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		shell.setLayout(layout);
-		
-		createTree();
-		
-		Composite buttonBar = new Composite(shell, SWT.NONE);
-		buttonBar.setLayout(new FillLayout(SWT.HORIZONTAL));
-		randomize = new Button(buttonBar, SWT.PUSH);
-		randomize.setText("Randomize");
-		randomize.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				AsynchronousTestSet.recomputeAll();
-				super.widgetSelected(e);
-			}
-		});
-		
-		GridData data = new GridData();
-		buttonBar.setLayoutData(data);
-	}
-
-	private void createTree() {
-		// Create the tree provider. This provides the structure of the tree. This tree will
-		// have an instance of RootNode as the root (which is really a placeholder), several
-		// SimpleNodes as top-level nodes, and sets of randomly generated Doubles below each
-		// SimpleNode.
-		ITreeProvider treeProvider = new ITreeProvider() {
-			public IReadableSet createChildList(Object element) {
-				// If the parent is the root node, return the union of some randomly-generated
-				// nodes and some hardcoded nodes
-				if (element == tree.getInput()) {
-					// Set of hardcoded nodes
-					WritableSet topElements = new WritableSet();
-					topElements.add(new SimpleNode("Random Set 1", set1));
-					topElements.add(new SimpleNode("Random Set 2", set2));
-					topElements.add(new SimpleNode("Random Set 3", set3));
-					topElements.add(new SimpleNode("Union of the other sets", union));
-					return topElements;
-				}
-				
-				// If the parent is a RandomChildrenNode, return a randomly-generated
-				// set of Doubles for its children
-				if (element instanceof SimpleNode) {
-					return ((SimpleNode)element).getChildren();
-				}
-				
-				// Otherwise the node is a Double, which will have no children  
-				return null;
-			}
-		};
-		
-		// Label provider for the tree
-		IViewerLabelProvider labelProvider = new ViewerLabelProvider() {
-			public void updateLabel(ViewerLabel label, Object element) {
-				if (element instanceof SimpleNode) {
-					SimpleNode node = (SimpleNode) element;
-					
-					label.setText(node.getNodeName());
-				}
-				
-				if (element instanceof Integer) {
-					Integer node = (Integer) element;
-					
-					label.setText("Integer " + node);
-				}
-			}
-		};
-		
-		// Create tree viewer
-		tree = new TreeViewer(shell, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		
-		// UpdatableTreeContentProvider converts an ITreeProvider into a standard JFace content provider
-		UpdatableTreeContentProvider contentProvider = new UpdatableTreeContentProvider(treeProvider);
-		
-		// Here we wrap our real label provider in a DirtyIndicationLabelProvider. This will 
-		// add an affordance whenever a node is being fetched synchronously by the content provider.
-		ILabelProvider dirtyDecoratingLabelProvider = new DirtyIndicationLabelProvider(tree.getControl(),
-				contentProvider, labelProvider);
-		
-		tree.setContentProvider(contentProvider);
-		tree.setLabelProvider(dirtyDecoratingLabelProvider);
-		
-		// For the ITreeProvider above, it doesn't matter what we select as the input.
-		tree.setInput(new Object());
-		
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 200;
-		data.heightHint = 200;
-		tree.getControl().setLayoutData(data);
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = Display.getDefault();
-		TreeContentProviderTest test = new TreeContentProviderTest();
-		Shell s = test.getShell();
-		s.setVisible(true);
-
-		while (!s.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	private Shell getShell() {
-		return shell;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Account.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Account.java
deleted file mode 100644
index 293abfa..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Account.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class Account extends ModelObject {
-
-	private String country;
-	private String firstName;
-	private String lastName;
-	private String state;
-	private String phone;	
-
-	public void setFirstName(String string) {
-		String oldValue = firstName;
-		firstName = string;
-		firePropertyChange("firstName", oldValue, string);		
-	}
-
-	public void setLastName(String string) {
-		String oldValue = lastName;
-		lastName = string;
-		firePropertyChange("lastName", oldValue, string);				
-	}
-
-	public void setState(String string) {
-		String oldValue = state;
-		state = string;
-		firePropertyChange("state", oldValue, string);		
-	}
-
-	public void setPhone(String string) {
-		String oldValue = phone;
-		phone = string;
-		firePropertyChange("phone", oldValue, phone);		
-	}
-
-	public void setCountry(String string) {
-		Object oldValue = country;
-		country = string;
-		firePropertyChange("country", oldValue, string);
-	}
-
-	public String getCountry() {
-		return country;
-	}
-
-	public String getFirstName() {
-		return firstName;
-	}
-
-	public String getLastName() {
-		return lastName;
-	}
-
-	public String getState() {
-		return state;
-	}
-
-	public String getPhone() {
-		return phone;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Adventure.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Adventure.java
deleted file mode 100644
index acef9af..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Adventure.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.databinding.validator.IValidator;
-import org.eclipse.jface.databinding.validators.String2IntValidator;
-
-public class Adventure extends ModelObject {
-
-	private boolean petsAllowed;
-
-	private double price;
-
-	private Lodging defaultLodging;
-
-	private String name;
-
-	private String description;
-
-	private String location;
-	
-	private int maxNumberOfPeople;
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String string) {
-		Object oldValue = name;
-		name = string;
-		firePropertyChange("name", oldValue, name);
-	}
-	
-	public int getMaxNumberOfPeople(){
-		return maxNumberOfPeople;
-	}
-	
-	public void setMaxNumberOfPeople(int anInt) {
-		int oldValue = maxNumberOfPeople;
-		maxNumberOfPeople = anInt;
-		firePropertyChange("maxNumberOfPeople", oldValue, maxNumberOfPeople);
-	}
-	
-	public IValidator getMaxNumberOfPeopleValidator(Class fromType) {
-		if (fromType.equals(String.class))
-			return new IValidator() {
-				IValidator delegate = new String2IntValidator();
-				public String isPartiallyValid(Object value) {
-					return delegate.isPartiallyValid(value);
-				}
-	
-				public String isValid(Object value) {
-					String error = delegate.isValid(value);
-					if (error != null) {
-						return error;
-					}
-					int intValue = Integer.valueOf((String)value).intValue();
-					if (intValue < 1 || intValue > 20) {
-						return "Max number of people must be between 1 and 20 inclusive";
-					}
-					return null;
-				}
-				
-			};
-		return null;
-	}
-
-	public Lodging getDefaultLodging() {
-		return defaultLodging;
-	}
-
-	public void setDefaultLodging(Lodging lodging) {
-		Object oldValue = defaultLodging;
-		defaultLodging = lodging;
-		firePropertyChange("defaultLodging", oldValue, defaultLodging);
-	}
-
-	public void setPrice(double d) {
-		double oldValue = price;
-		price = d;
-		firePropertyChange("price", new Double(oldValue), new Double(price));
-	}
-
-	public double getPrice() {
-		return price;
-	}
-
-	public void setPetsAllowed(boolean b) {
-		boolean oldValue = petsAllowed;
-		petsAllowed = b;
-		firePropertyChange("petsAllowed", new Boolean(oldValue), new Boolean(
-				petsAllowed));
-	}
-
-	public boolean isPetsAllowed() {
-		return petsAllowed;
-	}
-
-	public void setDescription(String string) {
-		Object oldValue = description;
-		description = string;
-		firePropertyChange("description", oldValue, description);
-	}
-
-	public void setLocation(String string) {
-		Object oldValue = location;
-		location = string;
-		firePropertyChange("location", oldValue, location);
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AdventureFactory.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AdventureFactory.java
deleted file mode 100644
index 2b95e13..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AdventureFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class AdventureFactory {
-
-	public Catalog createCatalog() {
-		return new Catalog();
-	}
-
-	public Category createCategory() {
-		return new Category();
-	}
-
-	public Adventure createAdventure() {
-		return new Adventure();
-	}
-
-	public Lodging createLodging() {
-		return new Lodging();
-	}
-
-	public Transportation createTransportation() {
-		return new Transportation();
-	}
-
-	public Account createAccount() {
-		return new Account();
-	}
-
-	public Cart createCart() {
-		return new Cart();
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AggregateUpdatableValue.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AggregateUpdatableValue.java
deleted file mode 100644
index 6e66d9b..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AggregateUpdatableValue.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.databinding.ChangeEvent;
-import org.eclipse.jface.databinding.IChangeListener;
-import org.eclipse.jface.databinding.IUpdatableValue;
-import org.eclipse.jface.databinding.UpdatableValue;
-
-public class AggregateUpdatableValue extends UpdatableValue {
-
-	private IUpdatableValue[] updatableValues;
-
-	private String delimiter;
-	
-	private boolean updating = false;
-
-	private IChangeListener listener = new IChangeListener() {
-		public void handleChange(ChangeEvent changeEvent) {
-			if (!updating && changeEvent.getChangeType() == ChangeEvent.CHANGE) 
-			   fireChangeEvent(ChangeEvent.CHANGE, null, null);
-		}
-	};
-
-	public AggregateUpdatableValue(IUpdatableValue[] updatableValues,
-			String delimiter) {
-		this.updatableValues = updatableValues;
-		this.delimiter = delimiter;
-		for (int i = 0; i < updatableValues.length; i++) {
-			updatableValues[i].addChangeListener(listener);
-		}
-	}
-
-	public void setValue(Object value) {
-		Object oldValue = computeValue();
-		StringTokenizer tokenizer = new StringTokenizer((String) value,
-				delimiter);
-		try {
-			updating=true;
-			for (int i = 0; i < updatableValues.length; i++) {
-				if (tokenizer.hasMoreElements()) {
-					updatableValues[i].setValue(tokenizer.nextElement());
-				}
-				else {
-					updatableValues[i].setValue(null);
-				}
-			}
-		} finally {
-			updating = false;
-		}
-		fireChangeEvent(ChangeEvent.CHANGE, oldValue, computeValue());
-	}
-
-	public Object computeValue() {
-		StringBuffer result = new StringBuffer();
-		for (int i = 0; i < updatableValues.length; i++) {
-			if (i > 0 & i < updatableValues.length) {
-				result.append(delimiter);
-			}
-			result.append(updatableValues[i].getValue());
-		}
-		return result.toString();
-	}
-
-	public Class getValueType() {
-		return String.class;
-	}
-
-	public void dispose() {
-		for (int i = 0; i < updatableValues.length; i++) {
-			updatableValues[i].removeChangeListener(listener);
-		}
-		super.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Cart.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Cart.java
deleted file mode 100644
index b82f45e..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Cart.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class Cart {
-
-	public void setAdventureDays(int i) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public int getLodgingDays() {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Catalog.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Catalog.java
deleted file mode 100644
index 7ad7af0..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Catalog.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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.*;
-
-public class Catalog extends ModelObject {
-
-	private Category[] categories = new Category[0];
-
-	private Lodging[] lodgings = new Lodging[0];
-
-	private Transportation[] transportations = new Transportation[0];
-
-	private Account[] accounts = new Account[0];
-	
-	private List signons = new ArrayList();
-	
-	public List getSignons(){
-		return signons;
-	}
-	
-	public void addSignon(Signon aSignon){
-		signons.add(aSignon);
-		firePropertyChange("signons",null,null);
-	}
-	
-	public void removeSignon(Signon aSignon){
-		signons.remove(aSignon);
-		firePropertyChange("signons",null,null);
-	}	
-
-	public Category[] getCategories() {
-		return categories;
-	}
-
-	public void addCategory(Category category) {
-		categories = (Category[]) append(categories, category);
-		firePropertyChange("categories", null, null);
-	}
-
-	public void addLodging(Lodging lodging) {
-		lodgings = (Lodging[]) append(lodgings, lodging);
-		firePropertyChange("lodgings", null, null);
-	}
-
-	public void addTransportation(Transportation transportation) {
-		transportations = (Transportation[]) append(transportations, transportation);
-		firePropertyChange("transportations", null, null);
-	}
-
-	public void addAccount(Account account) {
-		accounts = (Account[]) append(accounts, account);
-		firePropertyChange("accounts", null, null);
-	}
-
-	public Lodging[] getLodgings() {
-		return lodgings;
-	}
-
-	public void removeLodging(Lodging lodging) {
-		lodgings = (Lodging[]) remove(lodgings, lodging);
-		firePropertyChange("lodgings", null, null);
-	}
-	
-	public void removeAccount(Account anAccount) {
-		accounts = (Account[]) remove(accounts, anAccount);
-		firePropertyChange("accounts", null, null);
-	}	
-
-	public Account[] getAccounts() {
-		return accounts;
-	}
-	
-	public Transportation[] getTransporations(){
-		return transportations;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Category.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Category.java
deleted file mode 100644
index 29461f0..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Category.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class Category extends ModelObject {
-
-	private String name;
-
-	private Adventure[] adventures = new Adventure[0];
-
-	public void setName(String string) {
-		Object oldValue = name;
-		name = string;
-		firePropertyChange("name", oldValue, name);
-	}
-
-	public void addAdventure(Adventure adventure) {
-		adventures = (Adventure[]) append(adventures, adventure);
-		firePropertyChange("adventures", null, null);
-	}
-
-	public Adventure[] getAdventures() {
-		return adventures;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Lodging.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Lodging.java
deleted file mode 100644
index d295cd8..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Lodging.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class Lodging extends ModelObject {
-
-	private String name;
-	private String description;
-
-	public String getDescription() {
-		return description;
-	}
-
-	public void setDescription(String string) {
-		Object oldValue = description;
-		description = string;
-		firePropertyChange("description",oldValue,description);
-	}
-
-	public void setName(String string) {
-		Object oldValue = name;
-		name = string;
-		firePropertyChange("name",oldValue,name);
-	}
-	
-	public String getName() {
-		return name;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/ModelObject.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/ModelObject.java
deleted file mode 100644
index 98c885b..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/ModelObject.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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class ModelObject {
-	private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
-			this);
-	private String id;
-
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		propertyChangeSupport.addPropertyChangeListener(listener);
-	}
-
-	public void addPropertyChangeListener(String propertyName,
-			PropertyChangeListener listener) {
-		propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
-	}
-
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		propertyChangeSupport.removePropertyChangeListener(listener);
-	}
-
-	public void removePropertyChangeListener(String propertyName,
-			PropertyChangeListener listener) {
-		propertyChangeSupport.removePropertyChangeListener(propertyName,
-				listener);
-	}
-
-	protected void firePropertyChange(String propertyName, Object oldValue,
-			Object newValue) {
-		propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-				newValue);
-	}
-	
-	protected void firePropertyChange(String propertyName, int oldValue,
-			int newValue) {
-		propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-				newValue);
-	}
-
-	public void setId(String string) {
-		Object oldValue = id;
-		id = string;
-		firePropertyChange("id", oldValue, id);
-	}
-
-	protected Object[] append(Object[] array, Object object) {
-		List newList = new ArrayList(Arrays.asList(array));
-		newList.add(object);
-		return newList.toArray((Object[]) Array.newInstance(array.getClass()
-				.getComponentType(), newList.size()));
-	}
-
-	protected Object[] remove(Object[] array, Object object) {
-		List newList = new ArrayList(Arrays.asList(array));
-		newList.remove(object);
-		return newList.toArray((Object[]) Array.newInstance(array.getClass()
-				.getComponentType(), newList.size()));
-	}
-	
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PhoneConverter.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PhoneConverter.java
deleted file mode 100644
index 8233841..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PhoneConverter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.databinding.converter.IConverter;
- 
-public class PhoneConverter implements IConverter {
-
-	public Class getModelType() {
-		return String.class;
-	}
-	public Class getTargetType() {
-		return String.class;
-	}
-
-	public Object convertTargetToModel(Object targetObject) {
-		// Unformat the formatted phone to a raw String
-		return removeFormatting((String)targetObject);
-	}
-	public Object convertModelToTarget(Object modelObject) {
-		String unformattedPhone = (String)modelObject;
-		if(unformattedPhone == null || unformattedPhone.length() != 10){
-			return unformattedPhone;
-		} else {
-			StringBuffer sb = new StringBuffer(13);
-			sb.append(unformattedPhone.substring(0,3));
-			sb.append('-');
-			sb.append(unformattedPhone.subSequence(3,6));
-			sb.append('-');
-			sb.append(unformattedPhone.subSequence(6,10));
-			return sb.toString();
-		}
-	}
-	static String removeFormatting(String formattedPhone){
-		StringBuffer sb = new StringBuffer(9);
-		for (int i = 0; i < formattedPhone.length(); i++) {
-			char c = formattedPhone.charAt(i);
-			if('0' <= c && '9' >= c){
-				sb.append(c);
-			}
-		}
-		return sb.toString();		
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PhoneValidator.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PhoneValidator.java
deleted file mode 100644
index ce01bfc..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PhoneValidator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.databinding.validator.IValidator;
-
-public class PhoneValidator implements IValidator {
-
-	public String isPartiallyValid(Object value) {
-		return isValid(value);
-	}
-
-	public String isValid(Object value) {
-		String rawPhoneNumber = PhoneConverter.removeFormatting((String)value);
-		if(rawPhoneNumber.length() != 10){
-			return "Phone number must be 10 characters";
-		} else {
-			return null;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PriceModelObject.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PriceModelObject.java
deleted file mode 100644
index f005cd4..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PriceModelObject.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-
-public class PriceModelObject extends ModelObject {
-	
-	private double price;
-	
-	public double getDouble(){
-		return price;
-	}
-	public void setPrice(double aPrice){
-		int oldDollars = getDollars();
-		int oldCents = getCents();
-		double oldValue = price;
-		price = aPrice;
-		firePropertyChange("dollars",oldDollars,getDollars());
-		firePropertyChange("cents",oldCents,getCents());
-		firePropertyChange("price",new Double(oldValue), new Double(price));
-	}
-	
-	public double getPrice(){
-		return price;
-	}
-
-	public int getCents(){
-		return (int) (100*price - 100*Math.floor(price));
-	}
-	
-	public void setCents(int cents){
-		double oldPrice = getPrice();
-		int oldCents = getCents();
-		price = getDollars() + cents *.01;
-		firePropertyChange("cents",oldCents,getCents());
-		firePropertyChange("price", new Double(oldPrice), new Double(price));
-	}
-	
-	public int getDollars(){
-		return new Double(price).intValue();
-	}
-	
-	public void setDollars(int dollars){
-		double oldPrice = getPrice();
-		int oldDollars = getDollars();
-		price = dollars + getCents() *.01;
-		firePropertyChange("dollars",oldDollars,getDollars());
-		firePropertyChange("price", new Double(oldPrice), new Double(price));
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SampleData.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SampleData.java
deleted file mode 100644
index d2c455f..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SampleData.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IChangeListener;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.ITree;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.beans.BeanUpdatableFactory;
-import org.eclipse.jface.databinding.beans.NestedUpdatableFactory;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.databinding.viewers.ViewersUpdatableFactory;
-import org.eclipse.swt.widgets.Control;
-
-public class SampleData {
-
-	public static Category WINTER_CATEGORY;
-
-	public static Category SUMMER_CATEGORY;
-
-	public static Adventure BEACH_HOLIDAY;
-
-	public static Adventure RAFTING_HOLIDAY;
-
-	public static Adventure WINTER_HOLIDAY;
-
-	public static Adventure ICE_FISHING;
-
-	public static Lodging FIVE_STAR_HOTEL;
-
-	public static Lodging YOUTH_HOSTEL;
-
-	public static Lodging CAMP_GROUND;
-
-	public static Catalog CATALOG_2005;
-
-	public static Transportation GREYHOUND_BUS;
-
-	public static Transportation EXECUTIVE_JET;
-
-	public static Account PRESIDENT;
-
-	public static Account DENTIST;
-
-	public static Account SANTA_CLAUS;
-
-	public static Cart CART;
-
-	public static AdventureFactory FACTORY;
-	
-	public static ITree CATALOG_TREE;
-	
-	public static ITree CATEGORY_TREE;
-	
-	public static Signon SIGNON_ADMINISTRATOR;
-	
-	public static Signon SIGNON_JOEBLOGGS;	
-
-	private static SWTUpdatableFactory swtUpdatableFactory = new SWTUpdatableFactory();
-	private static ViewersUpdatableFactory viewersUpdatableFactory = new ViewersUpdatableFactory();
-
-	static {
-		initializeData();
-	}
-
-	public static void initializeData() {
-
-		FACTORY = new AdventureFactory();
-
-		CATALOG_2005 = FACTORY.createCatalog();
-
-		// Categories
-		WINTER_CATEGORY = FACTORY.createCategory();
-		WINTER_CATEGORY.setName("Freeze Adventures");
-		WINTER_CATEGORY.setId("100");
-		CATALOG_2005.addCategory(WINTER_CATEGORY);
-
-		SUMMER_CATEGORY = FACTORY.createCategory();
-		SUMMER_CATEGORY.setName("Hot Adventures");
-		SUMMER_CATEGORY.setId("200");
-		CATALOG_2005.addCategory(SUMMER_CATEGORY);
-
-		// Adventures
-		WINTER_HOLIDAY = FACTORY.createAdventure();
-		WINTER_HOLIDAY.setDescription("Winter holiday in France");
-		WINTER_HOLIDAY.setName("Ski Alps");
-		WINTER_HOLIDAY.setLocation("Chamonix");
-		WINTER_HOLIDAY.setPrice(4000.52d);
-		WINTER_HOLIDAY.setId("150");
-		WINTER_HOLIDAY.setMaxNumberOfPeople(3);		
-		WINTER_CATEGORY.addAdventure(WINTER_HOLIDAY);
-
-		ICE_FISHING = FACTORY.createAdventure();
-		ICE_FISHING.setDescription("Ice Fishing in Helsinki");
-		ICE_FISHING.setName("Ice Fishing");
-		ICE_FISHING.setLocation("Finland");
-		ICE_FISHING.setPrice(375.55d);
-		WINTER_CATEGORY.addAdventure(ICE_FISHING);
-
-		BEACH_HOLIDAY = FACTORY.createAdventure();
-		BEACH_HOLIDAY.setDescription("Beach holiday in Spain");
-		BEACH_HOLIDAY.setName("Playa");
-		BEACH_HOLIDAY.setLocation("Lloret de Mar");
-		BEACH_HOLIDAY.setPrice(2000.52d);
-		BEACH_HOLIDAY.setId("250");
-		SUMMER_CATEGORY.addAdventure(BEACH_HOLIDAY);
-
-		RAFTING_HOLIDAY = FACTORY.createAdventure();
-		RAFTING_HOLIDAY
-				.setDescription("White water rafting on the Ottawa river");
-		RAFTING_HOLIDAY.setName("Whitewater");
-		RAFTING_HOLIDAY.setLocation("Ottawa");
-		RAFTING_HOLIDAY.setPrice(8000.52d);
-		RAFTING_HOLIDAY.setId("270");
-		SUMMER_CATEGORY.addAdventure(RAFTING_HOLIDAY);
-
-		// Lodgings
-		FIVE_STAR_HOTEL = FACTORY.createLodging();
-		FIVE_STAR_HOTEL.setDescription("Deluxe palace");
-		FIVE_STAR_HOTEL.setName("Flashy");
-		YOUTH_HOSTEL = FACTORY.createLodging();
-		YOUTH_HOSTEL.setDescription("Youth Hostel");
-		YOUTH_HOSTEL.setName("Basic");
-		CAMP_GROUND = FACTORY.createLodging();
-		CAMP_GROUND.setDescription("Camp ground");
-		CAMP_GROUND.setName("WetAndCold");
-		CATALOG_2005.addLodging(FIVE_STAR_HOTEL);
-		CATALOG_2005.addLodging(YOUTH_HOSTEL);
-		CATALOG_2005.addLodging(CAMP_GROUND);
-		WINTER_HOLIDAY.setDefaultLodging(YOUTH_HOSTEL);
-
-		// Transporation
-		GREYHOUND_BUS = FACTORY.createTransportation();
-		GREYHOUND_BUS.setArrivalTime("14:30");
-		GREYHOUND_BUS.setPrice(25.50);		
-		CATALOG_2005.addTransportation(GREYHOUND_BUS);
-		EXECUTIVE_JET = FACTORY.createTransportation();
-		EXECUTIVE_JET.setArrivalTime("11:10");
-		EXECUTIVE_JET.setPrice(1500.99);
-		CATALOG_2005.addTransportation(EXECUTIVE_JET);
-
-		// Accounts
-		PRESIDENT = FACTORY.createAccount();
-		PRESIDENT.setFirstName("George");
-		PRESIDENT.setLastName("Bush");
-		PRESIDENT.setState("TX");
-		PRESIDENT.setPhone("1112223333");
-		PRESIDENT.setCountry("U.S.A");
-		DENTIST = FACTORY.createAccount();
-		DENTIST.setFirstName("Tooth");
-		DENTIST.setLastName("Fairy");
-		DENTIST.setState("CA");
-		DENTIST.setPhone("4543219876");
-		DENTIST.setCountry("PainLand");
-		SANTA_CLAUS = FACTORY.createAccount();
-		SANTA_CLAUS.setFirstName("Chris");
-		SANTA_CLAUS.setLastName("Chringle");
-		SANTA_CLAUS.setState("WI");
-		SANTA_CLAUS.setPhone("8617429856");
-		SANTA_CLAUS.setCountry("NorthPole");
-		CATALOG_2005.addAccount(PRESIDENT);
-		CATALOG_2005.addAccount(DENTIST);
-		CATALOG_2005.addAccount(SANTA_CLAUS);
-		
-		// Signons
-		SIGNON_ADMINISTRATOR = new Signon("Administrator","Foo123Bar");
-		SIGNON_JOEBLOGGS = new Signon("JoeBloggs","Harry5Potter");
-		CATALOG_2005.addSignon(SIGNON_ADMINISTRATOR);
-		CATALOG_2005.addSignon(SIGNON_JOEBLOGGS);				
-
-		CART = FACTORY.createCart();
-		
-		CATALOG_TREE = new ITree() {
-			Catalog catalog = CATALOG_2005;						
-			public boolean hasChildren(Object element) {
-				if (element instanceof Catalog) {					
-					return true;  
-				}
-				else if (element instanceof Category) {
-					Adventure[] list = ((Category)element).getAdventures();
-					return list==null?true:list.length>0;
-				}
-				else if (element instanceof Lodging) {
-					
-				}
-				return false;				
-			}
-			public void setChildren(Object parentElement, Object[] children) {
-				// ReadOnly for Adding Elements
-			}
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement==null)
-					return new Object[] { catalog };
-				else if (parentElement instanceof Catalog) {
-					List list = new ArrayList();					
-					list.addAll(Arrays.asList(((Catalog)parentElement).getCategories()));
-					list.addAll(Arrays.asList(((Catalog)parentElement).getLodgings()));
-					list.addAll(Arrays.asList(((Catalog)parentElement).getAccounts()));
-					return list.toArray();
-				}
-				else if (parentElement instanceof Category)
-				   return ((Category)parentElement).getAdventures();				
-				return null;
-			}
-			public Class[] getTypes() {				
-				return new Class[]  { Catalog.class, Category.class, Lodging.class, Account.class, Adventure.class } ;
-			}
-			public void addTreeChangeListener(IChangeListener listener) {		
-			}
-			public void removeTreeChangeListener(IChangeListener listener) {
-			}
-			public void dispose() {				
-			}
-		};
-		
-		CATEGORY_TREE = new ITree() {
-			Catalog catalog = CATALOG_2005;						
-			public boolean hasChildren(Object element) {
-				if (element instanceof Catalog) {					
-					return true;  
-				}
-				else if (element instanceof Category) {
-					Adventure[] list = ((Category)element).getAdventures();
-					return list==null?true:list.length>0;
-				}			
-				return false;				
-			}
-			public void setChildren(Object parentElement, Object[] children) {
-				// ReadOnly for Adding Elements
-			}
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement==null)
-					return catalog.getCategories();
-				else if (parentElement instanceof Category)
-				   return ((Category)parentElement).getAdventures();				
-				return null;
-			}
-			public Class[] getTypes() {				
-				return new Class[]  { Category.class, Account.class } ;
-			}
-			public void addTreeChangeListener(IChangeListener listener) {		
-			}
-			public void removeTreeChangeListener(IChangeListener listener) {
-			}
-			public void dispose() {				
-			}
-		};
-	}
-
-	public static IDataBindingContext getDatabindingContext(Control aControl) {
-		IDataBindingContext result = DataBinding.createContext(aControl,
-				new IUpdatableFactory[] { new NestedUpdatableFactory(),
-						new BeanUpdatableFactory(), swtUpdatableFactory,
-						viewersUpdatableFactory });
-		return result;
-	}
-
-	public static SWTUpdatableFactory getSWTUpdatableFactory() {
-		return swtUpdatableFactory;
-	}
-	
-	public static ViewersUpdatableFactory getViewersUpdatableFactory(){
-		return viewersUpdatableFactory;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Signon.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Signon.java
deleted file mode 100644
index d0e289e..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Signon.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class Signon extends ModelObject {
-	
-	String userId;
-	String password;
-	
-	public Signon(String aUserId, String aPassword) {
-		userId = aUserId;
-		password = aPassword;
-	}
-	public String getPassword() {
-		return password;
-	}
-	public void setPassword(String aPassword) {
-		String oldValue = password;
-		password = aPassword;
-		firePropertyChange("password",oldValue,password);
-	}
-	public String getUserId() {
-		return userId;
-	}
-	public void setUserId(String aUserId) {
-		String oldValue = userId;
-		userId = aUserId;
-		firePropertyChange("userId",oldValue,userId);
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/StateConverter.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/StateConverter.java
deleted file mode 100644
index 01413de..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/StateConverter.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.databinding.converter.IConverter;
- 
-public class StateConverter implements IConverter {
-	
-	/*
-	 * State Abbreviations
-	 *  
-	 * From: http://www.usps.com/ncsc/lookups/usps_abbreviations.html
-	 * 
-	 * ALABAMA -> AL
-	 * ALASKA -> AK
-	 * AMERICAN SAMOA -> AS
-	 * ARIZONA -> AZ
-	 * ARKANSAS -> AR
-	 * CALIFORNIA -> CA
-	 * COLORADO -> CO
-	 * CONNECTICUT -> CT
-	 * DELAWARE -> DE
-	 * DISTRICT OF COLUMBIA -> DC
-	 * FEDERATED STATES OF MICRONESIA -> FM
-	 * FLORIDA -> FL
-	 * GEORGIA -> GA
-	 * GUAM -> GU
-	 * HAWAII -> HI
-	 * IDAHO -> ID
-	 * ILLINOIS -> IL
-	 * INDIANA -> IN
-	 * IOWA -> IA
-	 * KANSAS -> KS
-	 * KENTUCKY -> KY
-	 * LOUISIANA -> LA
-	 * MAINE -> ME
-	 * MARSHALL ISLANDS -> MH
-	 * MARYLAND -> MD
-	 * MASSACHUSETTS -> MA
-	 * MICHIGAN -> MI
-	 * MINNESOTA -> MN
-	 * MISSISSIPPI -> MS
-	 * MISSOURI -> MO
-	 * MONTANA -> MT
-	 * NEBRASKA -> NE
-	 * NEVADA -> NV
-	 * NEW HAMPSHIRE -> NH
-	 * NEW JERSEY -> NJ
-	 * NEW MEXICO -> NM
-	 * NEW YORK -> NY
-	 * NORTH CAROLINA -> NC
-	 * NORTH DAKOTA -> ND
-	 * NORTHERN MARIANA ISLANDS -> MP
-	 * OHIO -> OH
-	 * OKLAHOMA -> OK
-	 * OREGON -> OR
-	 * PALAU -> PW
-	 * PENNSYLVANIA -> PA
-	 * PUERTO RICO -> PR
-	 * RHODE ISLAND -> RI
-	 * SOUTH CAROLINA -> SC
-	 * SOUTH DAKOTA -> SD
-	 * TENNESSEE -> TN
-	 * TEXAS -> TX
-	 * UTAH -> UT
-	 * VERMONT -> VT
-	 * VIRGIN ISLANDS -> VI
-	 * VIRGINIA -> VA
-	 * WASHINGTON -> WA
-	 * WEST VIRGINIA -> WV
-	 * WISCONSIN -> WI
-	 * WYOMING -> WY
-	 */
-	public final static String[] STATE_LETTERS = new String[] {
-			  "AL","AK","AZ","AR","CA","CO","CT","DE","DC","FL","GA","GU","HI",
-			  "ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS",
-			  "MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR",
-			  "PA","PR","RI","SC","SD","TN","TX","UT","VA","VI","WA","WV","WI", "WY" 
-	};
-	public final static String[] STATE_NAMES = new String[] {
-			"Alabama","Alaska","Arizona","Arkansas","California","Colorado","CONNECTICUT","Delaware","Washington DC","Florida","Georgia","GUAM","Hawaii",
-			"Idaho","Illinois","Indiana","Iowa","Kansas","KENTUCKY","LOUISIANA","MAINE","MARYLAND","Michigan","MASSACHUSETTS","Minnesota","Mississippi",
-			"MISSOURI","MONTANA","NEBRASKA","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahmoa","Oregon",
-			"Pensylvania","PUERTO RICO","Rhode Island","South Carolina","South Dakota","TENNESSEE","Texas","Utah","VERMONT", "VIRGIN ISLANDS","Virginia","Washington","West Virginia","Wisconsin", "Wyoming"
-	};
-
-	public Class getModelType() {
-		return String.class;
-	}
-	public Class getTargetType() {
-		return String.class;
-	}
-	public Object convertTargetToModel(Object targetObject) {
-		String stateName = (String)targetObject;
-		if(stateName != null){
-			for (int i = 0; i < STATE_NAMES.length; i++) {
-				if(STATE_NAMES[i].equalsIgnoreCase(stateName)){
-					return STATE_LETTERS[i];
-				}
-			}
-		}
-		return null;
-	}
-	public Object convertModelToTarget(Object modelObject) {
-		// Return the state name for the letter
-		String stateLetter = (String)modelObject;
-		if(stateLetter != null){
-			for (int i = 0; i < STATE_LETTERS.length; i++) {
-				if(STATE_LETTERS[i].equals(stateLetter)){
-					return STATE_NAMES[i];
-				}
-			}
-		}
-		return "??" + STATE_LETTERS + "??";
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Transportation.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Transportation.java
deleted file mode 100644
index 12a5074..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Transportation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class Transportation extends ModelObject {
-
-	private String arrivalTime;
-	private double price;
-
-	public void setArrivalTime(String string) {
-		String oldValue = arrivalTime;
-		arrivalTime = string;
-		firePropertyChange("arrivaltime",oldValue,string);
-	}
-	
-	public String getArrivalTime(){
-		return arrivalTime;
-	}
-
-	public double getPrice() {
-		return price;
-	}
-
-	public void setPrice(double aPrice) {
-		double oldPrice = price;
-		price = aPrice;
-		firePropertyChange("price",new Double(oldPrice),new Double(price));
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/BindingFactory.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/BindingFactory.java
deleted file mode 100644
index 5095ddc..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/BindingFactory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jface.examples.databinding.nestedselection;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.beans.BeanUpdatableFactory;
-import org.eclipse.jface.databinding.beans.NestedUpdatableFactory;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.databinding.viewers.ViewersUpdatableFactory;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * An example application-level data binding factory implementation. This should
- * be copied into your application and be modified to include the specific
- * updatable factories your application needs in the order it needs them.
- * <p>
- * Note that the search order for IUpdatableFactory implementations is last to
- * first.
- * </p>
- * 
- * @since 3.2
- */
-public class BindingFactory {
-
-	/**
-	 * Creates a data binding context whose lifecycle is bound to an SWT
-	 * control, and which supports binding to SWT controls, JFace viewers, and
-	 * POJO model objects with JavaBeans-style notification.
-	 * <p>
-	 * This method is a convenience method; its implementation is equivalent to
-	 * calling {@link DataBinding#createContext(Control, IUpdatableFactory[]) }
-	 * where the array of factories consists of a {@link NestedUpdatableFactory},
-	 * a {@link BeanUpdatableFactory} instance, a {@link SWTUpdatableFactory},
-	 * and a {@link ViewersUpdatableFactory}.
-	 * </p>
-	 * 
-	 * @param control
-	 * @return a data binding context
-	 */
-	public static IDataBindingContext createContext(Control control) {
-		return DataBinding.createContext(control, new IUpdatableFactory[] {
-				new NestedUpdatableFactory(), new BeanUpdatableFactory(),
-				new SWTUpdatableFactory(), new ViewersUpdatableFactory() });
-	}
-
-	/**
-	 * Creates a data binding context which supports binding to SWT controls,
-	 * JFace viewers, and POJO model objects with JavaBeans-style notification.
-	 * This data binding context's life cycle is not bound to the dispose event
-	 * of any SWT control. Consequently, the programmer is responsible to
-	 * manually dispose any IUpdatables created using this data binding context
-	 * as necessary.
-	 * <p>
-	 * This method is a convenience method; its implementation is equivalent to
-	 * calling {@link DataBinding#createContext(Control, IUpdatableFactory[]) }
-	 * where the array of factories consists of a {@link NestedUpdatableFactory},
-	 * a {@link BeanUpdatableFactory} instance, a {@link SWTUpdatableFactory},
-	 * and a {@link ViewersUpdatableFactory}.
-	 * </p>
-	 * 
-	 * @return a data binding context
-	 */
-	public static IDataBindingContext createContext() {
-		return DataBinding.createContext(new IUpdatableFactory[] {
-				new NestedUpdatableFactory(), new BeanUpdatableFactory(),
-				new SWTUpdatableFactory(), new ViewersUpdatableFactory() });
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Model.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Model.java
deleted file mode 100644
index 3c050ae..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Model.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.nestedselection;
-
-import java.util.LinkedList;
-
-public class Model {
-	public Model() {
-		// Add some sample data to our personList...
-		personList.add(new Person("John", "1234", "Wheaton", "IL"));
-		personList.add(new Person("Jane", "1234", "Glen Ellyn", "IL"));
-		personList.add(new Person("Frank", "1234", "Lombard", "IL"));
-		personList.add(new Person("Joe", "1234", "Elmhurst", "IL"));
-		personList.add(new Person("Chet", "1234", "Oak Lawn", "IL"));
-		personList.add(new Person("Wilbur", "1234", "Austin", "IL"));
-		personList.add(new Person("Elmo", "1234", "Chicago", "IL"));
-	}
-
-	// Now a PersonList property...
-	
-	LinkedList personList = new LinkedList();
-	
-	public LinkedList getPersonList() {
-		return personList;
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Order.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Order.java
deleted file mode 100644
index 1380435..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Order.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.nestedselection;
-
-import java.util.Date;
-
-/**
- * @since 3.2
- *
- */
-public class Order {
-
-	private int orderNumber;
-	private Date date;
-
-	/**
-	 * @return Returns the date.
-	 */
-	public Date getDate() {
-		return date;
-	}
-
-	/**
-	 * @param date The date to set.
-	 */
-	public void setDate(Date date) {
-		this.date = date;
-	}
-
-	/**
-	 * @return Returns the orderNumber.
-	 */
-	public int getOrderNumber() {
-		return orderNumber;
-	}
-
-	/**
-	 * @param orderNumber The orderNumber to set.
-	 */
-	public void setOrderNumber(int orderNumber) {
-		this.orderNumber = orderNumber;
-	}
-
-	/**
-	 * @param i
-	 * @param date
-	 */
-	public Order(int i, Date date) {
-		this.orderNumber = i;
-		this.date = date;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Person.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Person.java
deleted file mode 100644
index 6002c7a..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/Person.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.nestedselection;
-
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.jface.examples.databinding.model.ModelObject;
-
-public class Person extends ModelObject {
-	
-	private String name = "";
-	private String address = "";
-	private String city = "";
-	private String state = "";
-	
-	private List orders = new LinkedList();
-	
-	public Person(String name, String address, String city, String state) {
-		this.name = name;
-		this.address = address;
-		this.city = city;
-		this.state = state;
-		
-		int numOrders = (int) (Math.random() * 5);
-		for (int i=0; i < numOrders; ++i) {
-			orders.add(new Order(i, new Date()));
-		}
-	}
-	
-	public Person() {}
-
-	/**
-	 * @return Returns the address.
-	 */
-	public String getAddress() {
-		return address;
-	}
-
-	/**
-	 * @param address The address to set.
-	 */
-	public void setAddress(String address) {
-		String old = this.address;
-		this.address = address;
-		firePropertyChange("address", old, address);
-	}
-
-	/**
-	 * @return Returns the city.
-	 */
-	public String getCity() {
-		return city;
-	}
-
-	/**
-	 * @param city The city to set.
-	 */
-	public void setCity(String city) {
-		String old = this.city;
-		firePropertyChange("city", old, this.city = city);
-	}
-
-	/**
-	 * @return Returns the name.
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * @param name The name to set.
-	 */
-	public void setName(String name) {
-		firePropertyChange("name", this.name, this.name = name);
-	}
-
-	/**
-	 * @return Returns the state.
-	 */
-	public String getState() {
-		return state;
-	}
-
-	/**
-	 * @param state The state to set.
-	 */
-	public void setState(String state) {
-		this.state = state;
-	}
-	
-	/**
-	 * @return Returns the orders.
-	 */
-	public List getOrders() {
-		return orders;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/TestMasterDetail.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/TestMasterDetail.java
deleted file mode 100644
index a0a742d..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/TestMasterDetail.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.nestedselection;
-
-import java.util.List;
-
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatable;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.beans.TableModelDescription;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-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.TableColumn;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @since 3.2
- * 
- */
-public class TestMasterDetail {
-   /**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		new TestMasterDetail().run();
-	}
-
-   private Shell shell = null;  //  @jve:decl-index=0:visual-constraint="10,10"
-   private Table personsTable = null;
-   private Label label = null;
-   private Label label1 = null;
-   private Text name = null;
-   private Label label2 = null;
-   private Text address = null;
-   private Label label3 = null;
-   private Text city = null;
-   private Label label4 = null;
-   private Text state = null;
-   private Table ordersTable = null;
-   
-   /**
-    * This method initializes table 
-    *
-    */
-   private void createTable() {
-      GridData gridData = new org.eclipse.swt.layout.GridData();
-      gridData.grabExcessHorizontalSpace = true;
-      gridData.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
-      gridData.horizontalSpan = 2;
-      gridData.grabExcessVerticalSpace = true;
-      gridData.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-      personsTable = new Table(shell, SWT.FULL_SELECTION);
-      personsTable.setHeaderVisible(true);
-      personsTable.setLayoutData(gridData);
-      personsTable.setLinesVisible(true);
-      TableColumn tableColumn = new TableColumn(personsTable, SWT.NONE);
-      tableColumn.setWidth(60);
-      tableColumn.setText("Name");
-      TableColumn tableColumn1 = new TableColumn(personsTable, SWT.NONE);
-      tableColumn1.setWidth(60);
-      tableColumn1.setText("State");
-   }
-
-   /**
-    * This method initializes table1   
-    *
-    */
-   private void createTable1() {
-      GridData gridData5 = new org.eclipse.swt.layout.GridData();
-      gridData5.horizontalSpan = 2;
-      gridData5.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
-      gridData5.grabExcessHorizontalSpace = true;
-      gridData5.grabExcessVerticalSpace = true;
-      gridData5.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-      ordersTable = new Table(shell, SWT.FULL_SELECTION);
-      ordersTable.setHeaderVisible(true);
-      ordersTable.setLayoutData(gridData5);
-      ordersTable.setLinesVisible(true);
-      TableColumn tableColumn2 = new TableColumn(ordersTable, SWT.NONE);
-      tableColumn2.setWidth(60);
-      tableColumn2.setText("Order No");
-      TableColumn tableColumn3 = new TableColumn(ordersTable, SWT.NONE);
-      tableColumn3.setWidth(60);
-      tableColumn3.setText("Date");
-   }
-
-   /**
-    * This method initializes sShell
-    */
-   private void createShell() {
-      GridData gridData4 = new org.eclipse.swt.layout.GridData();
-      gridData4.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-      gridData4.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-      GridData gridData3 = new org.eclipse.swt.layout.GridData();
-      gridData3.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-      gridData3.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-      GridData gridData2 = new org.eclipse.swt.layout.GridData();
-      gridData2.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-      gridData2.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-      GridData gridData1 = new org.eclipse.swt.layout.GridData();
-      gridData1.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-      gridData1.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-      GridLayout gridLayout = new GridLayout();
-      gridLayout.numColumns = 2;
-      shell = new Shell();
-      shell.setText("Shell");
-      createTable();
-      shell.setLayout(gridLayout);
-      shell.setSize(new org.eclipse.swt.graphics.Point(495,357));
-      label1 = new Label(shell, SWT.NONE);
-      label1.setText("Name");
-      name = new Text(shell, SWT.BORDER);
-      name.setLayoutData(gridData1);
-      label2 = new Label(shell, SWT.NONE);
-      label2.setText("Address");
-      address = new Text(shell, SWT.BORDER);
-      address.setLayoutData(gridData2);
-      label3 = new Label(shell, SWT.NONE);
-      label3.setText("City");
-      city = new Text(shell, SWT.BORDER);
-      city.setLayoutData(gridData4);
-      label4 = new Label(shell, SWT.NONE);
-      label4.setText("State");
-      state = new Text(shell, SWT.BORDER);
-      state.setLayoutData(gridData3);
-      createTable1();
-   }
-   
-   
-   private void run() {
-      Display display = new Display();
-
-      createShell();
-      bind(shell);
-
-      shell.setSize(600, 600);
-      shell.open();
-      while (!shell.isDisposed()) {
-         if (!display.readAndDispatch())
-            display.sleep();
-      }
-      display.dispose();
-   }
-   
-   Model model = new Model();
-
-   private void bind(Control parent) {
-      IDataBindingContext dbc = BindingFactory.createContext(parent);
-      TableViewer peopleViewer = new TableViewer(personsTable);
-      dbc.bind(new Property(peopleViewer, ViewersProperties.CONTENT),
-				new TableModelDescription(new Property(model, "personList"),
-						new Object[] { "name", "state" }), null);
-      
-      IUpdatable selectedPerson = dbc.createUpdatable(new Property(
-				peopleViewer, ViewersProperties.SINGLE_SELECTION));
-      
-      dbc.bind(name, new Property(selectedPerson, "name", String.class, Boolean.FALSE), null);
-      dbc.bind(address, new Property(selectedPerson, "address", String.class, Boolean.FALSE), null);
-      dbc.bind(city, new Property(selectedPerson, "city", String.class, Boolean.FALSE), null);
-      dbc.bind(state, new Property(selectedPerson, "state", String.class, Boolean.FALSE), null);
-      
-      TableViewer ordersViewer = new TableViewer(ordersTable);
-      dbc.bind(new Property(ordersViewer, ViewersProperties.CONTENT),
-				new TableModelDescription(new Property(selectedPerson,
-						"orders", List.class, Boolean.TRUE), new Object[] {
-						"orderNumber", "date" }), null);
-   }
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/GridDataFactory.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/GridDataFactory.java
deleted file mode 100644
index bb399c4..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/GridDataFactory.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.layout;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * This class provides a convienient shorthand for creating and initializing
- * GridData. This offers several benefits over creating GridData normal way:
- * 
- * <ul>
- * <li>The same factory can be used many times to create several GridData instances</li>
- * <li>The setters on GridDataFactory all return "this", allowing them to be chained</li> 
- * <li>GridDataFactory uses vector setters (it accepts Points), making it easy to
- *     set X and Y values together</li>
- * </ul>
- * 
- * <p>
- * GridDataFactory instances are created using one of the static methods on this class. 
- * </p>
- * 
- * <p>
- * Example usage:
- * </p>
- * <code>
- * 
- * ////////////////////////////////////////////////////////////
- * // Example 1: Typical grid data for a non-wrapping label
- * 
- *     // GridDataFactory version
- *     GridDataFactory.fillDefaults().applyTo(myLabel);
- * 
- *     // Equivalent SWT version
- *     GridData labelData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
- *     myLabel.setLayoutData(labelData);
- * 
- * ///////////////////////////////////////////////////////////
- * // Example 2: Typical grid data for a wrapping label
- * 
- *     // GridDataFactory version
- *     GridDataFactory.fillDefaults()
- *          .align(SWT.FILL, SWT.CENTER)
- *    	    .hint(150, SWT.DEFAULT)
- *    	    .grab(true, false)
- *          .applyTo(wrappingLabel);
- *      
- *     // Equivalent SWT version
- *     GridData wrappingLabelData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
- *     wrappingLabelData.minimumWidth = 1;
- *     wrappingLabelData.widthHint = 150;
- *     wrappingLabel.setLayoutData(wrappingLabelData);
- * 
- * //////////////////////////////////////////////////////////////
- * // Example 3: Typical grid data for a scrollable control (a list box, tree, table, etc.)
- * 
- *     // GridDataFactory version
- *     GridDataFactory.fillDefaults().grab(true, true).hint(150, 150).applyTo(listBox);
- * 
- *     // Equivalent SWT version
- *     GridData listBoxData = new GridData(GridData.FILL_BOTH);
- *     listBoxData.widthHint = 150;
- *     listBoxData.heightHint = 150;
- *     listBoxData.minimumWidth = 1;
- *     listBoxData.minimumHeight = 1;
- *     listBox.setLayoutData(listBoxData);
- * 
- * /////////////////////////////////////////////////////////////
- * // Example 4: Typical grid data for a button
- *
- *     // GridDataFactory version
- *     Point preferredSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
- *     Point hint = Geometry.max(LayoutConstants.getMinButtonSize(), preferredSize);
- *     GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).hint(hint).applyTo(button);
- *
- *     // Equivalent SWT version
- *     Point preferredSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
- *     Point hint = Geometry.max(LayoutConstants.getMinButtonSize(), preferredSize);
- *     GridData buttonData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
- *     buttonData.widthHint = hint.x;
- *     buttonData.heightHint = hint.y;
- *     button.setLayoutData(buttonData); 
- * </code>
- * 
- * <p>
- * IMPORTANT: WHEN ASSIGNING LAYOUT DATA TO A CONTROL, BE SURE TO USE
- * gridDataFactory.applyTo(control) AND NEVER
- * control.setLayoutData(gridDataFactory).
- * </p>
- * 
- */
-public final class GridDataFactory {
-    private GridData data;
-    
-    /**
-     * Creates a GridDataFactory that creates copes of the given GridData. 
-     * 
-     * @param d template GridData to copy
-     */
-    private GridDataFactory(GridData d) {
-        this.data = d;
-    }
-    
-    /**
-     * Creates a new GridDataFactory initialized with the SWT defaults.
-     * This factory will generate GridData that is equivalent to 
-     * "new GridData()".
-     * 
-     * <p>
-     * Initial values are:
-     * </p>
-     * 
-     * <ul>
-     * <li>align(SWT.BEGINNING, SWT.CENTER)</li>
-     * <li>exclude(false)</li>
-     * <li>grab(false, false)</li>
-     * <li>hint(SWT.DEFAULT, SWT.DEFAULT)</li>
-     * <li>indent(0,0)</li>
-     * <li>minSize(0,0)</li>
-     * <li>span(1,1)</li>
-     * </ul>
-     * 
-     * @return a new GridDataFactory instance
-     * @see fillDefaults
-     */
-    public static GridDataFactory swtDefaults() {
-    	return new GridDataFactory(new GridData());
-    }
-    
-    /**
-     * Creates a new GridDataFactory that creates copies of the given GridData
-     * by default.
-     * 
-     * @param data GridData to copy
-     * @return a new GridDataFactory that creates copies of the argument by default
-     */
-    public static GridDataFactory createFrom(GridData data) {
-    	return new GridDataFactory(copyData(data));
-    }
-    
-    /**
-     * Creates a GridDataFactory initialized with defaults that will cause
-     * the control to fill its cell.
-     * 
-     * <p>
-     * Initial values are:
-     * </p>
-     * 
-     * <ul>
-     * <li>align(SWT.FILL, SWT.FILL)</li>
-     * <li>exclude(false)</li>
-     * <li>grab(false, false)</li>
-     * <li>hint(SWT.DEFAULT, SWT.DEFAULT)</li>
-     * <li>indent(0,0)</li>
-     * <li>minSize(1,1)</li>
-     * <li>span(1,1)</li>
-     * </ul>
-     *  
-     * @return a GridDataFactory that makes controls fill their grid by default
-     * 
-     * @see swtDefaults
-     */
-    public static GridDataFactory fillDefaults() {
-    	GridData data = new GridData();
-        data.minimumWidth = 1;
-        data.minimumHeight = 1;
-        data.horizontalAlignment = SWT.FILL;
-        data.verticalAlignment = SWT.FILL;
-        
-    	return new GridDataFactory(data);
-    }
-
-    /**
-     * Sets the GridData span. The span controls how many cells
-     * are filled by the control. 
-     * 
-     * @param hSpan number of columns spanned by the control
-     * @param vSpan number of rows spanned by the control
-     * @return this
-     */
-    public GridDataFactory span(int hSpan, int vSpan) {
-        data.horizontalSpan = hSpan;
-        data.verticalSpan = vSpan;
-        return this;
-    }
-
-    /**
-     * Sets the GridData span. The span controls how many cells
-     * are filled by the control. 
-     * 
-     * @param span the new span. The x coordinate indicates the number of
-     * columns spanned, and the y coordinate indicates the number of rows.
-     * @return this
-     */
-    public GridDataFactory span(Point span) {
-        data.horizontalSpan = span.x;
-        data.verticalSpan = span.y;
-        return this;
-    }
-
-    /**
-     * Sets the width and height hints. The width and height hints override
-     * the control's preferred size. If either hint is set to SWT.DEFAULT,
-     * the control's preferred size is used. 
-     * 
-     * @param xHint horizontal hint (pixels), or SWT.DEFAULT to use the control's preferred size
-     * @param yHint vertical hint (pixels), or SWT.DEFAULT to use the control's preferred size
-     * @return this
-     */
-    public GridDataFactory hint(int xHint, int yHint) {
-        data.widthHint = xHint;
-        data.heightHint = yHint;
-        return this;
-    }
-
-    /**
-     * Sets the width and height hints. The width and height hints override
-     * the control's preferred size. If either hint is set to SWT.DEFAULT,
-     * the control's preferred size is used.
-     * 
-     * @param hint size (pixels) to be used instead of the control's preferred size. If
-     * the x or y values are set to SWT.DEFAULT, the control's computeSize() method will
-     * be used to obtain that dimension of the preferred size.
-     * @return this
-     */
-    public GridDataFactory hint(Point hint) {
-        data.widthHint = hint.x;
-        data.heightHint = hint.y;
-        return this;
-    }
-
-    /**
-     * Sets the alignment of the control within its cell.
-     * 
-     * @param hAlign horizontal alignment. One of SWT.BEGINNING, SWT.CENTER, SWT.END, or SWT.FILL.
-     * @param vAlign vertical alignment. One of SWT.BEGINNING, SWT.CENTER, SWT.END, or SWT.FILL.
-     * @return this
-     */
-    public GridDataFactory align(int hAlign, int vAlign) {
-        data.horizontalAlignment = hAlign;
-        data.verticalAlignment = vAlign;
-        return this;
-    }
-
-    /**
-     * Sets the indent of the control within the cell. Moves the position of the control
-     * by the given number of pixels. Positive values move toward the lower-right, negative
-     * values move toward the upper-left.
-     * 
-     * @param hIndent distance to move to the right (negative values move left)
-     * @param vIndent distance to move down (negative values move up)
-     * @return this
-     */
-    public GridDataFactory indent(int hIndent, int vIndent) {
-        data.horizontalIndent = hIndent;
-        data.verticalIndent = vIndent;
-        return this;
-    }
-
-    /**
-     * Sets the indent of the control within the cell. Moves the position of the control
-     * by the given number of pixels. Positive values move toward the lower-right, negative
-     * values move toward the upper-left.
-     * 
-     * @param indent offset to move the control
-     * @return this
-     */
-    public GridDataFactory indent(Point indent) {
-        data.horizontalIndent = indent.x;
-        data.verticalIndent = indent.y;
-        return this;
-    }
-
-    /**
-     * Determines whether extra horizontal or vertical space should be allocated to
-     * this control's column when the layout resizes. If any control in the column
-     * is set to grab horizontal then the whole column will grab horizontal space.
-     * If any control in the row is set to grab vertical then the whole row will grab
-     * vertical space.
-     * 
-     * @param horizontal true if the control's column should grow horizontally
-     * @param vertical true if the control's row should grow vertically
-     * @return this
-     */
-    public GridDataFactory grab(boolean horizontal, boolean vertical) {
-        data.grabExcessHorizontalSpace = horizontal;
-        data.grabExcessVerticalSpace = vertical;
-        return this;
-    }
-
-    /**
-     * Sets the minimum size for the control. The control will not be permitted
-     * to shrink below this size. Note: GridLayout treats a minimum size of 0
-     * as an undocumented special value, so the smallest possible minimum size 
-     * is a size of 1. A minimum size of SWT.DEFAULT indicates that the result
-     * of computeSize(int, int, boolean) should be used as the control's minimum
-     * size.
-     * 
-     * 
-     * @param minX minimum a value of 1 or more is a horizontal size of the control (pixels). 
-     *        SWT.DEFAULT indicates that the control's preferred size should be used. A size
-     *        of 0 has special semantics defined by GridLayout. 
-     * @param minY minimum a value of 1 or more is a vertical size of the control (pixels). SWT.DEFAULT
-     *        indicates that the control's preferred size should be used. A size
-     *        of 0 has special semantics defined by GridLayout.
-     * @return this
-     */
-    public GridDataFactory minSize(int minX, int minY) {
-        data.minimumWidth = minX;
-        data.minimumHeight = minY;
-        return this;
-    }
-
-    /**
-     * Sets the minimum size for the control. The control will not be permitted
-     * to shrink below this size. Note: GridLayout treats a minimum size of 0
-     * as an undocumented special value, so the smallest possible minimum size 
-     * is a size of 1. A minimum size of SWT.DEFAULT indicates that the result
-     * of computeSize(int, int, boolean) should be used as the control's minimum
-     * size.
-     * 
-     * @param min minimum size of the control
-     * @return this
-     */
-    public GridDataFactory minSize(Point min) {
-        data.minimumWidth = min.x;
-        data.minimumHeight = min.y;
-        return this;
-    }
-
-    /**
-     * Instructs the GridLayout to ignore this control when performing layouts. 
-     * 
-     * @param shouldExclude true iff the control should be excluded from layouts
-     * @return this
-     */
-    public GridDataFactory exclude(boolean shouldExclude) {
-        data.exclude = shouldExclude;
-        return this;
-    }
-
-    /**
-     * Creates a new GridData instance. All attributes of the GridData instance
-     * will be initialized by the factory.
-     * 
-     * @return a new GridData instance
-     */
-    public GridData create() {
-        return copyData(data);
-    }
-
-    /**
-     * Creates a copy of the reciever.
-     * 
-     * @return a copy of the reciever
-     */
-    public GridDataFactory copy() {
-    	return new GridDataFactory(create());
-    }
-    
-    /**
-     * Returns a copy of the given GridData 
-     * 
-     * @param data GridData to copy
-     * @return a copy of the argument
-     */
-    public static GridData copyData(GridData data) {
-        GridData newData = new GridData(data.horizontalAlignment, data.verticalAlignment, data.grabExcessHorizontalSpace, data.grabExcessVerticalSpace, data.horizontalSpan,
-                data.verticalSpan);
-        newData.exclude = data.exclude;
-        newData.heightHint = data.heightHint;
-        newData.horizontalIndent = data.horizontalIndent;
-        newData.minimumHeight = data.minimumHeight;
-        newData.minimumWidth = data.minimumWidth;
-        newData.verticalIndent = data.verticalIndent;
-        newData.widthHint = data.widthHint;
-
-        return newData;
-    }
-
-    /**
-     * Sets the layout data on the given control. Creates a new GridData instance and
-     * assigns it to the control by calling control.setLayoutData.
-     *  
-     * @param control control whose layout data will be initialized
-     */
-    public void applyTo(Control control) {
-        control.setLayoutData(create());
-    }
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/GridLayoutFactory.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/GridLayoutFactory.java
deleted file mode 100644
index a2336a2..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/GridLayoutFactory.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.layout;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * GridLayoutFactory creates and initializes grid layouts. There are two ways to use GridLayoutFactory.
- * Normally, it is used as a shorthand for writing "new GridLayout()" and initializing a bunch 
- * of fields. In this case the main benefit is a more concise syntax and the ability to create more
- * than one identical GridLayout from the same factory. Changing a property of the factory will affect
- * future layouts created by the factory, but has no effect on layouts that have already been created.
- * 
- * <p>
- * GridLayoutFactory can also generate grid data for all the controls in a layout. This is done with
- * the generateLayout method. To use this feature:
- * </p>
- * 
- * <ol>
- * <li>Create the composite</li>
- * <li>Create all the controls in the composite</li>
- * <li>Call generateLayout</li>
- * </ol>
- * 
- * <p>
- * The order here is important. generateLayout must be called after all the child controls have
- * been created. generateLayout will not change any layout data that has already been attached
- * to a child control and it will not recurse into nested composites. 
- * </p>
- *
- * @since 3.2
- */
-public final class GridLayoutFactory {
-	
-	/**
-	 * Template layout. The factory will create copies of this layout. 
-	 */
-    private GridLayout l;
-
-    /**
-     * Creates a new GridLayoutFactory that will create copies of the given layout.
-     * 
-     * @param l layout to copy
-     */
-    private GridLayoutFactory(GridLayout l) {
-        this.l = l;
-    }
-
-    /**
-     * Creates a factory that creates copies of the given layout.
-     * 
-     * @param l layout to copy
-     * @return a new GridLayoutFactory instance that creates copies of the given layout
-     */
-    public static GridLayoutFactory createFrom(GridLayout l) {
-    	return new GridLayoutFactory(copyLayout(l));
-    }
-    
-    /**
-     * Creates a copy of the reciever.
-     * 
-     * @return a copy of the reciever
-     */
-    public GridLayoutFactory copy() {
-    	return new GridLayoutFactory(create());
-    }
-    
-    /**
-     * Creates a GridLayoutFactory that creates GridLayouts with the default SWT
-     * values.
-     * 
-     * <p>
-     * Initial values are:
-     * </p>
-     * 
-     * <ul>
-     * <li>numColumns(1)</li>
-     * <li>margins(5,5)</li>
-     * <li>spacing(5,5)</li>
-     * <li>equalWidth(false)</li>
-     * </ul>
-     * 
-     * @return a GridLayoutFactory that creates GridLayouts as though created with
-     * their default constructor
-     * @see #fillDefaults
-     */
-    public static GridLayoutFactory swtDefaults() {
-    	return new GridLayoutFactory(new GridLayout());
-    }
-
-    /**
-     * Creates a GridLayoutFactory that creates GridLayouts with no margins and 
-     * default dialog spacing.
-     * 
-     * <p>
-     * Initial values are:
-     * </p>
-     * 
-     * <ul>
-     * <li>numColumns(1)</li>
-     * <li>margins(0,0)</li>
-     * <li>spacing(LayoutConstants.getSpacing())</li>
-     * <li>equalWidth(false)</li>
-     * </ul>
-     * 
-     * @return a GridLayoutFactory that creates GridLayouts as though created with
-     * their default constructor
-     * @see #swtDefaults
-     */
-    public static GridLayoutFactory fillDefaults() {
-    	GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        Point defaultSpacing = LayoutConstants.getSpacing();
-        layout.horizontalSpacing = defaultSpacing.x;
-        layout.verticalSpacing = defaultSpacing.y;
-        return new GridLayoutFactory(layout);
-    }
-    
-    /**
-     * Sets whether the columns should be forced to be equal width
-     * 
-     * @param equal true iff the columns should be forced to be equal width
-     * @return this
-     */
-    public GridLayoutFactory equalWidth(boolean equal) {
-        l.makeColumnsEqualWidth = equal;
-        return this;
-    }
-
-    /**
-     * Sets the spacing for layouts created with this factory. The spacing
-     * is the distance between cells within the layout. 
-     * 
-     * @param hSpacing horizontal spacing (pixels)
-     * @param vSpacing vertical spacing (pixels)
-     * @return this
-     * @see #margins
-     */
-    public GridLayoutFactory spacing(int hSpacing, int vSpacing) {
-        l.horizontalSpacing = hSpacing;
-        l.verticalSpacing = vSpacing;
-        return this;
-    }
-
-    /**
-     * Sets the spacing for layouts created with this factory. The spacing
-     * is the distance between cells within the layout. 
-     * 
-     * @param spacing space between controls in the layout (pixels)
-     * @return this
-     * @see #margins
-     */
-    public GridLayoutFactory spacing(Point spacing) {
-        l.horizontalSpacing = spacing.x;
-        l.verticalSpacing = spacing.y;
-        return this;
-    }
-
-    /**
-     * Sets the margins for layouts created with this factory. The margins
-     * are the distance between the outer cells and the edge of the layout.
-     * 
-     * @param margins margin size (pixels)
-     * @return this
-     * @see #spacing
-     */
-    public GridLayoutFactory margins(Point margins) {
-        l.marginWidth = margins.x;
-        l.marginHeight = margins.y;
-        return this;
-    }
-
-    /**
-     * Sets the margins for layouts created with this factory. The margins
-     * are the distance between the outer cells and the edge of the layout.
-     * 
-     * @param x horizontal margin size (pixels)
-     * @param y vertical margin size (pixels)
-     * @return this
-     * @see #spacing
-     */
-    public GridLayoutFactory margins(int x, int y) {
-        l.marginWidth = x;
-        l.marginHeight = y;
-        return this;
-    }
-
-    /**
-     * Sets the number of columns in the layout
-     * 
-     * @param numColumns number of columns in the layout
-     * @return this
-     */
-    public GridLayoutFactory numColumns(int numColumns) {
-        l.numColumns = numColumns;
-        return this;
-    }
-
-    /**
-     * Creates a new GridLayout, and initializes it with values from the factory.
-     * 
-     * @return a new initialized GridLayout.
-     * @see #applyTo
-     */
-    public GridLayout create() {
-        return copyLayout(l);
-    }
-
-    /**
-     * Creates a new GridLayout and attaches it to the given composite.
-     * Does not create the GridData of any of the controls in the composite.
-     * 
-     * @param c composite whose layout will be set
-     * @see #generateLayout
-     * @see #create
-     * @see GridLayoutFactory
-     */
-    public void applyTo(Composite c) {
-        c.setLayout(copyLayout(l));
-    }
-
-    /**
-     * Copies the given GridLayout instance
-     * 
-     * @param l layout to copy
-     * @return a new GridLayout
-     */
-    public static GridLayout copyLayout(GridLayout l) {
-        GridLayout result = new GridLayout(l.numColumns, l.makeColumnsEqualWidth);
-        result.horizontalSpacing = l.horizontalSpacing;
-        result.marginBottom = l.marginBottom;
-        result.marginHeight = l.marginHeight;
-        result.marginLeft = l.marginLeft;
-        result.marginRight = l.marginRight;
-        result.marginTop = l.marginTop;
-        result.marginWidth = l.marginWidth;
-        result.verticalSpacing = l.verticalSpacing;
-
-        return result;
-    }
-
-    /**
-     * Applies this layout to the given composite, and attaches default GridData
-     * to all immediate children that don't have one. The layout is generated using 
-     * heuristics based on the widget types. In most cases, it will create exactly the same
-     * layout that would have been hardcoded by the programmer. In any situation
-     * where it does not produce the desired layout, the GridData for any child can be 
-     * overridden by attaching the layout data before calling this method. In these cases,
-     * the special-case layout data can be hardcoded and the algorithm can supply defaults
-     * to the rest.
-     * 
-     * <p>
-     * This must be called <b>AFTER</b> all of the child controls have been created and their
-     * layouts attached. This method will attach a layout to the given composite. If any new 
-     * children are created after calling this method, their GridData must be created manually. 
-     * The algorithm does not recurse into child composites. To generate all the layouts in
-     * a widget hierarchy, the method must be called bottom-up for each Composite.   
-     * </p>
-     * 
-     * <p>
-     * All controls are made to span a single cell. The algorithm tries to classify controls into one 
-     * of the following categories:
-     * </p>
-     * 
-     * <ul>
-     * <li>Pushbuttons: Set to a constant size large enough to fit their text and no smaller
-     * than the default button size.</li>
-     * <li>Wrapping with text (labels, read-only text boxes, etc.): override the preferred horizontal 
-     *     size with the default wrapping point, fill horizontally, grab horizontal space, keep the
-     *     preferred vertical size</li>
-     * <li>Wrapping without text (toolbars, coolbars, etc.): fill align, don't grab, use the preferred size</li>
-     * <li>Horizontally scrolling controls (anything with horizontal scrollbars or where the user edits
-     *     text and can cursor through it from left-to-right): override the preferred horizontal size with
-     *     a constant, grab horizontal, fill horizontal.</li>
-     * <li>Vertically scrolling controls (anything with vertical scrollbars or where the user edits
-     *     text and can cursor through it up and down): override the preferred vertical size with a constant,
-     *     grab vertical, fill vertical</li>
-     * <li>Nested layouts: fill align both directions, grab along any dimension if the layout would
-     *     be able to expand along that dimension.</li>
-     * <li>Non-wrapping non-scrollable read-only text: fill horizontally, center vertically, default size, don't grab </li>
-     * <li>Non-wrapping non-scrollable non-text: fill both, default size, don't grab</li>
-     * </ul>
-     * 
-     * @param c composite whose layout will be generated
-     */
-    public void generateLayout(Composite c) {
-        applyTo(c);
-        LayoutGenerator.generateLayout(c);
-    }
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/LayoutConstants.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/LayoutConstants.java
deleted file mode 100644
index 120f50b..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/LayoutConstants.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.layout;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Contains various layout constants
- * 
- * @since 3.2
- */
-public final class LayoutConstants {
-	private static Point dialogMargins = null;
-	private static Point dialogSpacing = null;
-	private static Point minButtonSize = null;
-	
-	private static void initializeConstants() {
-		if (dialogMargins != null) {
-			return;
-		}
-		
-		GC gc = new GC(Display.getCurrent());
-		gc.setFont(JFaceResources.getDialogFont());
-		FontMetrics fontMetrics = gc.getFontMetrics();
-
-		dialogMargins = new Point(Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.HORIZONTAL_MARGIN),
-				Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.VERTICAL_MARGIN));
-
-		dialogSpacing = new Point(Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.HORIZONTAL_SPACING),
-				Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.VERTICAL_SPACING));
-
-		minButtonSize  = new Point(Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH), 0);
-		
-		gc.dispose();
-	}
-	
-	/**
-	 * Returns the default dialog margins, in pixels
-	 * 
-	 * @return the default dialog margins, in pixels
-	 */
-    public static final Point getMargins() {
-    	initializeConstants();
-    	return dialogMargins;
-    }
-
-    /**
-     * Returns the default dialog spacing, in pixels
-     * 
-     * @return the default dialog spacing, in pixels
-     */
-    public static final Point getSpacing() {
-    	initializeConstants();
-    	return dialogSpacing;
-    }
-
-    /**
-     * Returns the default minimum button size, in pixels
-     * 
-     * @return the default minimum button size, in pixels
-     */
-    public static final Point getMinButtonSize() {
-    	initializeConstants();
-    	return minButtonSize;
-    }
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/LayoutGenerator.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/LayoutGenerator.java
deleted file mode 100644
index acddbc3..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/layout/LayoutGenerator.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.layout;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyListener;
-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.Layout;
-import org.eclipse.swt.widgets.Scrollable;
-
-/* package */class LayoutGenerator {
-
-    /**
-     * Default size for controls with varying contents
-     */
-    private static final Point defaultSize = new Point(150, 150);
-
-    /**
-     * Default wrapping size for wrapped labels
-     */
-    private static final int wrapSize = 350;
-
-    private static final GridDataFactory nonWrappingLabelData = GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).grab(false, false);
-
-    private static boolean hasStyle(Control c, int style) {
-        return (c.getStyle() & style) != 0;
-    }
-
-    /**
-     * Generates a GridLayout for the given composite by examining its child
-     * controls and attaching layout data to any immediate children that do not
-     * already have layout data.
-     * 
-     * @param toGenerate
-     *            composite to generate a layout for
-     * @param columns
-     *            number of columns for the layout
-     */
-    public static void generateLayout(Composite toGenerate) {
-        Control[] children = toGenerate.getChildren();
-
-        for (int i = 0; i < children.length; i++) {
-            Control control = children[i];
-
-            // Skip any children that already have layout data
-            if (control.getLayoutData() != null) {
-                continue;
-            }
-
-            applyLayoutDataTo(control);
-        }
-    }
-
-    private static void applyLayoutDataTo(Control control) {
-        if (control instanceof Button) {
-            Button button = (Button) control;
-
-            if (hasStyle(button, SWT.CHECK)) {
-                nonWrappingLabelData.applyTo(button);
-            } else {
-                GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).hint(Geometry.max(button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true), LayoutConstants.getMinButtonSize()))
-                        .applyTo(button);
-            }
-            return;
-        }
-
-        // if (control instanceof Label) {
-        // Label label = (Label) control;
-        //			
-        // if (hasStyle(label, SWT.WRAP)) {
-        // wrappingLabelData.applyTo(label);
-        // } else {
-        // nonWrappingLabelData.applyTo(label);
-        // }
-        // return;
-        // }
-
-        if (control instanceof Scrollable) {
-            Scrollable scrollable = (Scrollable) control;
-
-            if (scrollable instanceof Composite) {
-                Composite composite = (Composite) scrollable;
-
-                Layout theLayout = composite.getLayout();
-                if (theLayout instanceof GridLayout) {
-                    boolean growsHorizontally = false;
-                    boolean growsVertically = false;
-
-                    Control[] children = composite.getChildren();
-                    for (int i = 0; i < children.length; i++) {
-                        Control child = children[i];
-
-                        GridData data = (GridData) child.getLayoutData();
-
-                        if (data != null) {
-                            if (data.grabExcessHorizontalSpace) {
-                                growsHorizontally = true;
-                            }
-                            if (data.grabExcessVerticalSpace) {
-                                growsVertically = true;
-                            }
-                        }
-                    }
-
-                    GridDataFactory.fillDefaults().grab(growsHorizontally, growsVertically).applyTo(control);
-                    return;
-                }
-            }
-        }
-
-        boolean wrapping = hasStyle(control, SWT.WRAP);
-
-        // Assume any control with the H_SCROLL or V_SCROLL flags are
-        // horizontally or vertically
-        // scrollable, respectively.
-        boolean hScroll = hasStyle(control, SWT.H_SCROLL);
-        boolean vScroll = hasStyle(control, SWT.V_SCROLL);
-
-        boolean containsText = hasMethod(control, "setText", new Class[] { String.class }); //$NON-NLS-1$
-
-        // If the control has a setText method, an addModifyListener method, and
-        // does not have
-        // the SWT.READ_ONLY flag, assume it contains user-editable text.
-        boolean userEditable = !hasStyle(control, SWT.READ_ONLY) && containsText && hasMethod(control, "addModifyListener", new Class[] { ModifyListener.class }); //$NON-NLS-1$
-
-        // For controls containing user-editable text...
-        if (userEditable) {
-            if (hasStyle(control, SWT.MULTI)) {
-                vScroll = true;
-            }
-
-            if (!wrapping) {
-                hScroll = true;
-            }
-        }
-
-        // Compute the horizontal hint
-        int hHint = SWT.DEFAULT;
-        boolean grabHorizontal = hScroll;
-
-        // For horizontally-scrollable controls, override their horizontal
-        // preferred size
-        // with a constant
-        if (hScroll) {
-            hHint = defaultSize.x;
-        } else {
-            // For wrapping controls, there are two cases.
-            // 1. For controls that contain text (like wrapping labels,
-            // read-only text boxes,
-            // etc.) override their preferred size with the preferred wrapping
-            // point and
-            // make them grab horizontal space.
-            // 2. For non-text controls (like wrapping toolbars), assume that
-            // their non-wrapped
-            // size is best.
-
-            if (wrapping) {
-                if (containsText) {
-                    hHint = wrapSize;
-                    grabHorizontal = true;
-                }
-            }
-        }
-
-        int vAlign = SWT.FILL;
-
-        // Heuristic for labels: Controls that contain non-wrapping read-only
-        // text should be
-        // center-aligned rather than fill-aligned
-        if (!vScroll && !wrapping && !userEditable && containsText) {
-            vAlign = SWT.CENTER;
-        }
-
-        GridDataFactory.fillDefaults().grab(grabHorizontal, vScroll).align(SWT.FILL, vAlign).hint(hHint, vScroll ? defaultSize.y : SWT.DEFAULT).applyTo(control);
-        return;
-    }
-
-    private static boolean hasMethod(Control control, String name, Class[] parameterTypes) {
-        Class c = control.getClass();
-        try {
-            return c.getMethod(name, parameterTypes) != null;
-        } catch (SecurityException e) {
-            return false;
-        } catch (NoSuchMethodException e) {
-            return false;
-        }
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.contributions/.project b/examples/org.eclipse.ui.examples.contributions/.project
deleted file mode 100644
index 0230483..0000000
--- a/examples/org.eclipse.ui.examples.contributions/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.contributions</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
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/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.job/META-INF/MANIFEST.MF
deleted file mode 100644
index 108ff21..0000000
--- a/examples/org.eclipse.ui.examples.job/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Progress Examples Plug-in
-Bundle-SymbolicName: org.eclipse.ui.examples.job; singleton:=true
-Bundle-Version: 3.0.0
-Bundle-ClassPath: ProgressExamples.jar
-Bundle-Activator: org.eclipse.ui.examples.jobs.ProgressExamplesPlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.examples.jobs,
- org.eclipse.ui.examples.jobs.actions,
- org.eclipse.ui.examples.jobs.views
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors
-Eclipse-AutoStart: true
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 384a829..0000000
--- a/examples/org.eclipse.ui.examples.job/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.ProgressExamples.jar = src/
-bin.includes = plugin.xml,\
-               icons/,\
-               *.jar,\
-               ProgressExamples.jar,\
-               META-INF/
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 31339d4..0000000
--- a/examples/org.eclipse.ui.examples.job/plugin.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <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 6b4988f..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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 65640ed..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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 f49ec02..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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 0272248..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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;
-
-/**
- * This class is not really sample code.  This action is used to gather debugging
- * information about the internal state of the background job scheduling 
- * mechanism.
- */
-public class DebugJobManagerAction implements IWorkbenchWindowActionDelegate {
-	public DebugJobManagerAction() {
-		super();
-	}
-	public void dispose() {
-		//
-	}
-
-	public void init(IWorkbenchWindow window) {
-		//
-	}
-
-	public void run(IAction action) {
-		System.out.println("**** BEGIN DUMP JOB MANAGER INFORMATION ****"); //$NON-NLS-1$
-		Job[] jobs = Platform.getJobManager().find(null);
-		for (int i = 0; i < jobs.length; i++) {
-			System.out.println("" + jobs[i].getClass().getName() + " 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 cd45227..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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 34573ac..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
+++ /dev/null
@@ -1,589 +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();
-			}
-		});
-		
-		//show in dialog
-		Button showInDialog = new Button(group, SWT.PUSH);
-		showInDialog.setText("showInDialog"); //$NON-NLS-1$
-		showInDialog.setToolTipText("Uses IProgressService.showInDialog"); //$NON-NLS-1$
-		showInDialog.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		showInDialog.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				showInDialog();
-			}
-		});
-		
-	}
-	
-	/**
-	 * Test the showInDialog API
-	 *
-	 */
-	protected void showInDialog() {
-		
-		Job showJob = 
-			new Job("Show In Dialog"){//$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				monitor.beginTask("Run in dialog",100);//$NON-NLS-1$
-				
-				for (int i = 0; i < 100; i++) {
-					if (monitor.isCanceled())
-						return Status.CANCEL_STATUS;
-					try {
-						Thread.sleep(100);
-					} catch (InterruptedException e) {
-						return Status.CANCEL_STATUS;
-					}
-					monitor.worked(1);
-
-				}
-				return Status.OK_STATUS;
-			
-		}};
-		showJob.schedule();
-		PlatformUI.getWorkbench().getProgressService().
-			showInDialog(
-					getSite().getShell(),showJob);
-		
-	}
-
-	/**
-	 * 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 4ee8a54..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) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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 e2f2d3a..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) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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 9b589cb..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) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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 718ed73..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,78 +0,0 @@
-#Mon Feb 06 11:16:57 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 14ac2d9..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Mon Feb 06 11:16:57 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
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 ceb6314..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Jan 10 16:53:58 EST 2006
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
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 4b189a8..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, 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.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$
-        }
-    }
-}
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 4cb5a0e..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, 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.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();
-        }
-    }
-}
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 f1801d9..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, 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.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);
-    }
-}
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 fd8bbd0..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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.multipageeditor/META-INF/MANIFEST.MF
deleted file mode 100644
index def0b19..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.multipageeditor; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: multipageeditor.jar
-Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.examples.multipageeditor
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime.compatibility,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.text
-Eclipse-AutoStart: true
-Eclipse-AutoStart-comment: Use Eclipse-AutoStart instead of Eclipse-LazyStart because the multi page editor example should run against 3.1 as well as 3.2.
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 e336131..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/about.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 9651fef..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.multipageeditor.jar = Eclipse UI Examples MultiPageEditor/
-
-bin.includes = doc-html/,\
-               icons/,\
-               .options,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               META-INF/
-
-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 a41081e..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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/ui_multipageeditor_ex.html b/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
deleted file mode 100644
index 7dad38e..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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
-
-</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 d358568..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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = 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 377e097..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <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.navigator/.project b/examples/org.eclipse.ui.examples.navigator/.project
deleted file mode 100644
index ea44265..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.navigator</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<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>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index da48a0d..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Thu Oct 20 14:37:10 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d2f2d8a..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Thu Oct 20 14:37:10 EDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index dda764e..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Thu Oct 20 14:37:27 EDT 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.navigator/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.navigator/META-INF/MANIFEST.MF
deleted file mode 100644
index d95fdc5..0000000
--- a/examples/org.eclipse.ui.examples.navigator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Navigator_Examples
-Bundle-SymbolicName: org.eclipse.ui.examples.navigator; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.navigator,
- org.eclipse.ui.views,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.ui.workbench
diff --git a/examples/org.eclipse.ui.examples.navigator/about.html b/examples/org.eclipse.ui.examples.navigator/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.ui.examples.navigator/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.navigator/build.properties b/examples/org.eclipse.ui.examples.navigator/build.properties
deleted file mode 100644
index 06c4254..0000000
--- a/examples/org.eclipse.ui.examples.navigator/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               plugin.properties
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.navigator/plugin.properties b/examples/org.eclipse.ui.examples.navigator/plugin.properties
deleted file mode 100644
index 633d127..0000000
--- a/examples/org.eclipse.ui.examples.navigator/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-Navigator_Examples=Common Navigator Examples
-Common_Navigator_Example=Common Navigator Example 
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.navigator/plugin.xml b/examples/org.eclipse.ui.examples.navigator/plugin.xml
deleted file mode 100644
index ae443e0..0000000
--- a/examples/org.eclipse.ui.examples.navigator/plugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
- 
- <!--
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            class="org.eclipse.ui.navigator.CommonNavigator"
-            id="org.eclipse.ui.examples.navigator.resourceContent"
-            name="%Common_Navigator_Example"/>
-   </extension>
-   -->
-   <!-- The example uses the already defined Resource extension
-   <extension
-         point="org.eclipse.ui.navigator.navigatorContent">
-      <navigatorContent
-            contentProvider="org.eclipse.ui.model.WorkbenchContentProvider"
-            enabledByDefault="true"
-            id="org.eclipse.ui.examples.navigator.example1"
-            labelProvider="org.eclipse.ui.model.WorkbenchLabelProvider"
-            name="Example Content Extension"
-            priority="normal">
-         <enablement>
-            <objectClass
-                  adaptable="true"
-                  name="org.eclipse.core.resources.IResource"/>
-         </enablement>
-      </navigatorContent>
-   </extension> 
-   -->
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.presentation/.classpath b/examples/org.eclipse.ui.examples.presentation/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.ui.examples.presentation/.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.presentation/.cvsignore b/examples/org.eclipse.ui.examples.presentation/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.presentation/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.presentation/.project b/examples/org.eclipse.ui.examples.presentation/.project
deleted file mode 100644
index caf64e4..0000000
--- a/examples/org.eclipse.ui.examples.presentation/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.presentation</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/examples/org.eclipse.ui.examples.presentation/BareBonesPresentation.ini b/examples/org.eclipse.ui.examples.presentation/BareBonesPresentation.ini
deleted file mode 100644
index 6cb8033..0000000
--- a/examples/org.eclipse.ui.examples.presentation/BareBonesPresentation.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-# use the Bare-bones presentation style
-org.eclipse.ui/presentationFactoryId=org.eclipse.ui.examples.presentation.barebones
diff --git a/examples/org.eclipse.ui.examples.presentation/WrappedTabsPresentation.ini b/examples/org.eclipse.ui.examples.presentation/WrappedTabsPresentation.ini
deleted file mode 100644
index 30e3cb0..0000000
--- a/examples/org.eclipse.ui.examples.presentation/WrappedTabsPresentation.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-# use the Wrapped-Tabs presentation style
-org.eclipse.ui/presentationFactoryId=org.eclipse.ui.examples.presentation.wrappedtabs
diff --git a/examples/org.eclipse.ui.examples.presentation/build.properties b/examples/org.eclipse.ui.examples.presentation/build.properties
deleted file mode 100644
index 31f3e08..0000000
--- a/examples/org.eclipse.ui.examples.presentation/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.presentation.jar = src/
-output.presentation.jar = bin/
-bin.includes = plugin.xml,\
-               presentation.jar,\
-               icons/
-src.includes = icons/,\
-               src/,\
-               doc/,\
-               plugin.xml
diff --git a/examples/org.eclipse.ui.examples.presentation/eclipsecon2005-presentationsAPI.ppt b/examples/org.eclipse.ui.examples.presentation/eclipsecon2005-presentationsAPI.ppt
deleted file mode 100644
index 6add476..0000000
--- a/examples/org.eclipse.ui.examples.presentation/eclipsecon2005-presentationsAPI.ppt
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/close_view.gif b/examples/org.eclipse.ui.examples.presentation/icons/close_view.gif
deleted file mode 100644
index 44b6151..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/hide_toolbar.GIF b/examples/org.eclipse.ui.examples.presentation/icons/hide_toolbar.GIF
deleted file mode 100644
index 5858e4a..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/hide_toolbar.GIF
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/max_view.gif b/examples/org.eclipse.ui.examples.presentation/icons/max_view.gif
deleted file mode 100644
index 94ed448..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/max_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/min_view.gif b/examples/org.eclipse.ui.examples.presentation/icons/min_view.gif
deleted file mode 100644
index bd2ed2d..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/min_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/restore_view.GIF b/examples/org.eclipse.ui.examples.presentation/icons/restore_view.GIF
deleted file mode 100644
index 942d60c..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/restore_view.GIF
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/show_toolbar.GIF b/examples/org.eclipse.ui.examples.presentation/icons/show_toolbar.GIF
deleted file mode 100644
index eda10ab..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/show_toolbar.GIF
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/view_menu.GIF b/examples/org.eclipse.ui.examples.presentation/icons/view_menu.GIF
deleted file mode 100644
index 21ec7f1..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/view_menu.GIF
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/plugin.xml b/examples/org.eclipse.ui.examples.presentation/plugin.xml
deleted file mode 100644
index 18da18c..0000000
--- a/examples/org.eclipse.ui.examples.presentation/plugin.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- =================================================================================== -->
-<!-- Presentation Example Manifest						 					                                 -->
-<!-- =================================================================================== -->
-<plugin
-   id="org.eclipse.ui.examples.presentation"
-   name="Presentation Example"
-   version="1.0.7"
-   provider-name="Eclipse.org"
-   class="org.eclipse.ui.examples.presentation.PresentationPlugin">
-
-<!-- =================================================================================== -->
-<!-- Libraries					 					                                 -->
-<!-- =================================================================================== -->
-
-   <runtime>
-      <library name="presentation.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-<!-- =================================================================================== -->
-<!-- Imports						 					                                 -->
-<!-- =================================================================================== -->
-  
-<requires>
-  <import plugin="org.eclipse.ui"/>
-  <import plugin="org.eclipse.core.runtime"/>
-</requires>
-
-<!-- =================================================================================== -->
-<!-- Presentation Extensions						 					                                 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            class="org.eclipse.ui.examples.presentation.barebones.BareBonesPresentationFactory"
-            name="Bare-bones presentation"
-            id="org.eclipse.ui.examples.presentation.barebones"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            class="org.eclipse.ui.examples.presentation.wrappedtabs.WrappedTabsPresentationFactory"
-            name="Wrapped tabs presentation"
-            id="org.eclipse.ui.examples.presentation.wrappedtabs"/>
-   </extension>
-      <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            class="org.eclipse.ui.internal.presentations.defaultpresentation.NativePresentationFactory"
-            name="Native Tabs"
-            id="org.eclipse.ui.internal.presentations.defaultpresentation.NativePresentationFactory"/>
-      <factory
-            class="org.eclipse.ui.examples.presentation.baretittle.BareTitlePresentationFactory"
-            id="org.eclipse.ui.examples.presentation.factory1"
-            name="Simple Title"/>
-      <factory
-            class="org.eclipse.ui.examples.presentation.sidewinder.SideWinderPresentationFactory"
-            id="org.eclipse.ui.examples.presentation.factory2"
-            name="Side Winder"/>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Themes						 					                                 -->
-<!-- =================================================================================== -->
-
-<extension point="org.eclipse.ui.themes">
-	<themeElementCategory
-    	id="org.eclipse.ui.examples.presentation.wrappedtabstheme"
-       	label="WrappedTabs Presentation"/>
-    <categoryPresentationBinding
-            categoryId="org.eclipse.ui.examples.presentation.wrappedtabstheme"
-            presentationId="org.eclipse.ui.examples.presentation.wrappedtabs">
-      </categoryPresentationBinding>
-	<colorDefinition 
-        id="org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_focus"
-        categoryId="org.eclipse.ui.examples.presentation.wrappedtabstheme"
-        label="Border Color (Focus)"
-        value="COLOR_WIDGET_BORDER">
-        <description>
-        This color is used for the forground color of the stack border when it has focus.
-        </description>
-      </colorDefinition>
-      <colorDefinition 
-        id="org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_nofocus"
-        categoryId="org.eclipse.ui.examples.presentation.wrappedtabstheme"
-        label="Border Color (No-Focus)"
-        value="COLOR_WIDGET_NORMAL_SHADOW">
-        <description>
-        This color is used for the forground color of the stack border when it doesn't have focus.
-        </description>
-      </colorDefinition>  
-      <fontDefinition
-        id="org.eclipse.ui.examples.presentation.wrappedtabstheme.font"
-        categoryId="org.eclipse.ui.examples.presentation.wrappedtabstheme"        
-        label="Tab Font"
-        defaultsTo="org.eclipse.jface.textfont">
-        <description>
-        This font is used to display the part selection tabs.
-        </description>
-      </fontDefinition>  
-      <data
-       name="org.eclipse.ui.examples.presentation.wrappedtabstheme.bordersize"
-       value="1"/>
-       
-       <theme
-        id="org.eclipse.ui.examples.presentation.wrappedtabstheme.harsh"
-        name="Harsh Wrapped Tabs Theme">
-        <colorOverride
-         id="org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_focus"
-         value="COLOR_CYAN"/>
-        <colorOverride
-         id="org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_nofocus"
-         value="COLOR_MAGENTA"/>
-      <data
-           name="org.eclipse.ui.examples.presentation.wrappedtabstheme.bordersize"
-           value="5"/>      
-      </theme> 
-</extension> 
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationExamplesPlugin.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationExamplesPlugin.java
deleted file mode 100644
index 0e21c87..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationExamplesPlugin.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.ui.examples.presentation;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PresentationExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static PresentationExamplesPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public PresentationExamplesPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.ui.examples.presentation.PresentationExamplesPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static PresentationExamplesPlugin 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 = PresentationExamplesPlugin.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;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationImages.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationImages.java
deleted file mode 100644
index 3f929c8..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationImages.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.examples.presentation;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * @since 3.0
- */
-public class PresentationImages {	
-	public static final String CLOSE_VIEW = "close_view.gif";
-	public static final String MIN_VIEW = "min_view.gif";
-	public static final String MAX_VIEW = "max_view.gif";
-	public static final String RESTORE_VIEW = "restore_view.gif";
-	public static final String VIEW_MENU = "view_menu.gif";
-	public static final String SHOW_TOOLBAR = "show_toolbar.gif";
-	public static final String HIDE_TOOLBAR = "hide_toolbar.gif";
-	
-	private PresentationImages() {
-	}
-	
-	public static Image getImage(String imageName) {
-		return PresentationPlugin.getDefault().getImage(imageName);
-	}
-	
-	public static ImageDescriptor getImageDescriptor(String imageName) {
-		return PresentationPlugin.getDefault().getImageDescriptor(imageName);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationPlugin.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationPlugin.java
deleted file mode 100644
index c11e638..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationPlugin.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.eclipse.ui.examples.presentation;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PresentationPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static PresentationPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public PresentationPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.ui.examples.presentation.PresentationPluginResources"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-	
-	/**
-	 * Returns the given image. The image will be managed by the plugin's
-	 * image registry.
-	 * 
-	 * @param imageName a pathname relative to the icons directory of
-	 * this project.
-	 */
-	public Image getImage(String imageName) {
-		ImageRegistry reg = getImageRegistry();
-		
-		Image result = reg.get(imageName);
-		
-		if (result != null) {
-			return result;
-		}
-		
-		result = getImageDescriptor(imageName).createImage();
-		
-		reg.put(imageName, result);
-		
-		return result;
-	}
-
-	/**
-	 * Returns the given image descriptor. The caller will be responsible
-	 * for deallocating the image if it creates the image from the descriptor
-	 * 
-	 * @param imageName is a pathname relative to the icons directory 
-	 * within this project.
-	 */
-	public ImageDescriptor getImageDescriptor(String imageName) {		
-		ImageDescriptor desc;
-		try {
-			desc =
-				ImageDescriptor.createFromURL(
-					new URL(
-							plugin.getBundle().getEntry("/"), //$NON-NLS-1$
-							"icons/" + imageName)); //$NON-NLS-1$
-		} catch (MalformedURLException e) {
-			desc = ImageDescriptor.getMissingImageDescriptor();
-		}
-					
-		return desc;
-	}
-	
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static PresentationPlugin 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 = PresentationPlugin.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;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPartPresentation.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPartPresentation.java
deleted file mode 100644
index 0272339..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPartPresentation.java
+++ /dev/null
@@ -1,167 +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.presentation.barebones;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-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.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * Bare-bones stack presentation. The currently selected part fills the entire
- * presentation area, and all other parts are invisible. Does not provide a 
- * system menu, pane menu, trim, drag/drop, toolbars, or any way to switch 
- * parts.
- */
-public class BareBonesPartPresentation extends StackPresentation {
-
-/**
- * Main widget for the presentation
- */
-private Composite presentationControl;
-
-/**
- * Currently selected part
- */
-private IPresentablePart current;
-
-/**
- * Creates a new bare-bones part presentation, given the parent composite and 
- * an IStackPresentationSite interface that will be used to communicate with 
- * the workbench.
- * 
- * @param stackSite interface to the workbench
- */
-public BareBonesPartPresentation(Composite parent, 
-		IStackPresentationSite stackSite) {
-	super(stackSite);		
-	
-	// Create a top-level control for the presentation.
-	presentationControl = new Composite(parent, SWT.NONE);
-	
-	// Add a dispose listener. This will call the presentationDisposed()
-	// method when the widget is destroyed.
-	presentationControl.addDisposeListener(new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			presentationDisposed();
-		}
-	});
-}
-
-public void dispose() {
-	// Dispose the main presentation widget. This will cause 
-	// presentationDisposed to be called, which will do the real cleanup.
-	presentationControl.dispose();
-}
-
-/**
- * Perform any cleanup. This method should remove any listeners that were
- * attached to other objects. This gets called when the presentation
- * widget is disposed. This is safer than cleaning up in the dispose() 
- * method, since this code will run even if some unusual circumstance 
- * destroys the Shell without first calling dispose().
- */
-protected void presentationDisposed() {
-	// Remove any listeners that were attached to any IPresentableParts or
-	// global Eclipse resources. This is necessary in order to prevent
-	// memory leaks. Currently, there is nothing to do.
-}
-
-public void setBounds(Rectangle bounds) {
-	// Set the bounds of the presentation widget
-	presentationControl.setBounds(bounds);
-	
-	// Update the bounds of the currently visible part
-	updatePartBounds();
-}
-
-private void updatePartBounds() {
-	if (current != null) {
-		current.setBounds(presentationControl.getBounds());
-	}
-}
-
-public Point computeMinimumSize() {
-	return new Point(16,16);
-}
-
-public void setVisible(boolean isVisible) {
-	
-	// Make the presentation widget visible
-	presentationControl.setVisible(isVisible);
-	
-	// Make the currently visible part visible
-	if (current != null) {
-		current.setVisible(isVisible);
-	}
-
-	if (isVisible) {
-		// Restore the bounds of the currently visible part. 
-		// IPartPresentations can be used by multiple StackPresentations,
-		// although only one such presentation is ever visible at a time.
-		// It is possible that some other presentation has changed the
-		// bounds of the part since it was last visible, so we need to
-		// update the part's bounds when the presentation becomes visible.
-		updatePartBounds();
-	}
-}
-
-public void selectPart(IPresentablePart toSelect) {
-	// Ignore redundant selections
-	if (toSelect == current) {
-		return;
-	}
-	
-	// If there was an existing part selected, make it invisible
-	if (current != null) {
-		current.setVisible(false);
-	}
-	
-	// Select the new part
-	current = toSelect;
-	
-	// Ordering is important here. We need to make the part
-	// visible before updating its bounds, or the call to setBounds
-	// may be ignored.
-	
-	if (current != null) {
-		// Make the newly selected part visible
-		current.setVisible(true);
-	}
-	
-	// Update the bounds of the newly selected part
-	updatePartBounds();
-}
-
-public Control[] getTabList(IPresentablePart part) {
-	return new Control[] {part.getControl()};
-}
-
-public Control getControl() {
-	return presentationControl;
-}
-
-// Methods that don't do anything yet
-public void setActive(int newState) {}
-public void setState(int state) {}
-public void addPart(IPresentablePart newPart, Object cookie) {}
-public void removePart(IPresentablePart oldPart) {}
-public StackDropResult dragOver(Control currentControl, Point location) {return null;}
-public void showSystemMenu() {}
-public void showPaneMenu() {}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPresentationFactory.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPresentationFactory.java
deleted file mode 100644
index 10455e3..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPresentationFactory.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 Common Public License v1.0
- * which accompanies this 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.presentation.barebones;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * Presentation factory for the bare-bones presentation
- */
-public class BareBonesPresentationFactory extends AbstractPresentationFactory {
-
-	public StackPresentation createEditorPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new BareBonesPartPresentation(parent, site);
-	}
-
-	public StackPresentation createViewPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new BareBonesPartPresentation(parent, site);
-	}
-	
-	public StackPresentation createStandaloneViewPresentation(Composite parent,
-			IStackPresentationSite site, boolean showTitle) {
-		return new BareBonesPartPresentation(parent, site);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitlePresentationFactory.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitlePresentationFactory.java
deleted file mode 100644
index 4c26dfe..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitlePresentationFactory.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.examples.presentation.baretittle;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.*;
-
-/**
- * @since 3.0
- */
-public class BareTitlePresentationFactory extends AbstractPresentationFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createEditorPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createEditorPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new WorkbenchPresentationFactory().createEditorPresentation(parent, site);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createViewPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new BareTitleStackPresentation(parent, site);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createStandaloneViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite, boolean)
-	 */
-	public StackPresentation createStandaloneViewPresentation(Composite parent,
-			IStackPresentationSite site, boolean showTitle) {
-		return new BareTitleStackPresentation(parent, site);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitleStackPresentation.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitleStackPresentation.java
deleted file mode 100644
index a18a0d9..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitleStackPresentation.java
+++ /dev/null
@@ -1,233 +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.presentation.baretittle;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.presentations.*;
-
-public class BareTitleStackPresentation extends StackPresentation {
-
-	private static final String PART_DATA = "part";
-	
-	private static final int TITLE_HEIGHT = 22;
-	
-	private boolean activeFocus = false;
-	
-	/**
-	 * Main widget for the presentation
-	 */
-	private Composite presentationControl;
-	private Composite titleArea;
-	private Composite contentArea;
-	
-	/**
-	 * Currently selected part
-	 */
-	private IPresentablePart current;
-		
-	/**
-	 * close button
-	 */
-	private ToolItem close;
-	
-	/**
-	 * View menu button
-	 */
-	private ToolItem viewMenu;
-	
-	/**
-	 * Minimize button
-	 */
-	private ToolItem minView;
-	
-	private MouseListener mouseListener = new MouseAdapter() {		
-		// If we single-click on an empty space on the toolbar, move focus to the
-		// active control
-		public void mouseDown(MouseEvent e) {
-			if (current != null) {
-				current.setFocus();
-			}
-		}
-	};
-		
-	/** 
-	 * Drag listener for regions outside the toolbar
-	 */
-	Listener dragListener = new Listener() {
-		public void handleEvent(Event event) {
-			Point loc = new Point(event.x, event.y);
-			Control ctrl = (Control)event.widget;
-			
-			getSite().dragStart(ctrl.toDisplay(loc), false);
-		}
-	};
-	
-	public BareTitleStackPresentation(Composite parent, IStackPresentationSite stackSite) {
-		super(stackSite);
-		
-		// Create a top-level control for the presentation.
-		presentationControl = new Composite(parent, SWT.NONE);
-		titleArea = new Composite(presentationControl, SWT.NONE);
-		contentArea = new Composite(presentationControl, SWT.NONE);
-		titleArea.addMouseListener(mouseListener);
-		PresentationUtil.addDragListener(titleArea, dragListener);
-		
-		// Add a dispose listener. This will call the presentationDisposed()
-		// method when the widget is destroyed.
-		presentationControl.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				presentationDisposed();
-			}
-		});
-
-		presentationControl.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Rectangle clientArea = presentationControl.getClientArea();			
-				e.gc.setLineWidth(1);				
-				e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_DARK_GRAY));
-				e.gc.drawRectangle(clientArea.x, clientArea.y, clientArea.width-1, clientArea.height-1);
-				Rectangle contentAreaBounds = contentArea.getBounds();
-				int ypos = contentAreaBounds.y - 1;				
-				e.gc.drawLine(clientArea.x, ypos, clientArea.x + clientArea.width - 1, ypos);
-			}			
-		});
-		
-		titleArea.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Rectangle titleRect = titleArea.getClientArea();
-				GC gc = e.gc;
-				e.gc.setBackground(e.display.getSystemColor(SWT.COLOR_GRAY));
-				if(activeFocus)
-					e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLUE));
-				else 
-					e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_WHITE));
-				e.gc.fillGradientRectangle(titleRect.x, titleRect.y, titleRect.x + titleRect.width, titleRect.y + titleRect.height, true);
-				
-				if(current != null) {
-				int textWidth = titleRect.width - 1;
-				if (textWidth > 0) {
-					Font gcFont = gc.getFont();
-					gc.setFont(presentationControl.getFont());
-					String text = current.getTitle();
-					
-					Point extent = gc.textExtent(text, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);	
-					int textY = titleRect.y + (titleRect.height - extent.y) / 2;
-					
-					if(activeFocus)					
-						gc.setForeground(e.display.getSystemColor(SWT.COLOR_WHITE));
-					else 
-						gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLACK));
-					gc.setFont(JFaceResources.getBannerFont());
-					gc.drawText(text, titleRect.x + 3, textY, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);					
-				}				
-			}
-			}
-		});
-		layout();
-	}
-
-	protected void presentationDisposed() {
-	    // Remove any listeners that were attached to any
-		// global Eclipse resources. This is necessary in order to prevent
-		// memory leaks.
-	}
-	
-	protected int getBorderWidth() {
-		return 1;
-	}
-	
-	public void layout() {
-		// Determine the inner bounds of the presentation
-		Rectangle presentationClientArea = presentationControl.getClientArea();
-		presentationClientArea.x += getBorderWidth();
-		presentationClientArea.width -= getBorderWidth() * 2;
-		presentationClientArea.y += getBorderWidth();
-		presentationClientArea.height -= getBorderWidth() * 2;
-		titleArea.setBounds(presentationClientArea.x, presentationClientArea.y, presentationClientArea.width, presentationClientArea.y + TITLE_HEIGHT);
-		int yy = TITLE_HEIGHT  + 2;
-		contentArea.setBounds(presentationClientArea.x, presentationClientArea.y + yy, presentationClientArea.width, presentationClientArea.height - yy);
-		
-		titleArea.setBackground(titleArea.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN));
-		contentArea.setBackground(titleArea.getDisplay().getSystemColor(SWT.COLOR_DARK_RED));
-		
-		// Position the view's widgets
-		if (current != null) {
-			Rectangle clientRectangle = contentArea.getBounds();
-			Point clientAreaStart = presentationControl.getParent().toControl(
-					presentationControl.toDisplay(clientRectangle.x, clientRectangle.y));
-			// current isn't parented by this widget hierarchy, the coordinates must be
-			// relative to the workbench window. The workbench window parents every
-			// part.
-			current.setBounds(new Rectangle(clientAreaStart.x, 
-					clientAreaStart.y,
-					clientRectangle.width, 
-					clientRectangle.height));
-		}
-		
-	}
-	
-	public void setBounds(Rectangle bounds) {
-		presentationControl.setBounds(bounds);
-		layout();
-	}
-
-	public void dispose() {
-	}
-
-	public void setActive(int newState) {
-		activeFocus = (newState == AS_ACTIVE_FOCUS);
-		titleArea.redraw();
-	}
-
-	public void setVisible(boolean isVisible) {
-	}
-
-	public void setState(int state) {
-	}
-
-	public Control getControl() {
-		return presentationControl;
-	}
-
-	public void addPart(IPresentablePart newPart, Object cookie) {
-		newPart.setBounds(contentArea.getBounds());
-		this.current = newPart;
-		layout();
-	}
-
-	public void removePart(IPresentablePart oldPart) {
-	}
-
-	public void selectPart(IPresentablePart toSelect) {
-	}
-
-	public StackDropResult dragOver(Control currentControl, Point location) {
-		return null;
-	}
-
-	public void showSystemMenu() {
-	}
-
-	public void showPaneMenu() {
-	}
-
-	public Control[] getTabList(IPresentablePart part) {
-		if(current != null) {
-			return new Control[] {current.getControl()};
-		} else {
-			return new Control[0];
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/ClosePartContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/ClosePartContributionItem.java
deleted file mode 100644
index 9196b36..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/ClosePartContributionItem.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.sidewinder;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-public class ClosePartContributionItem extends ContributionItem {
-	private SideWinderItemViewPresentation presentation; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			presentation.close(new IPresentablePart[] {presentation.getCurrent()});
-		}
-	};
-	
-	public ClosePartContributionItem(SideWinderItemViewPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-		MenuItem item = new MenuItem(menu, SWT.NONE, index);
-		item.setText("Close");
-		item.addSelectionListener(selectionListener);
-		
-		IPresentablePart current = presentation.getCurrent();
-		item.setEnabled(current != null);
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/PartItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/PartItem.java
deleted file mode 100644
index c1cced7..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/PartItem.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.examples.presentation.sidewinder;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-public class PartItem extends Canvas implements PaintListener {
-
-	private String text;
-	private Image image;
-	private boolean selected;
-	private boolean focus = false;
-	private IPresentablePart part;
-	
-	private static final int VERT_SPACING = 5;
-	private static final int HORIZ_SPACING = 3;
-	
-	int[] SIMPLE_TOP_LEFT_CORNER = new int[] {0,4, 4,0};
-	int[] SIMPLE_TOP_RIGHT_CORNER = new int[] {0,0, 0,0};
-	
-	//static final int[] SIMPLE_TOP_LEFT_CORNER = new int[] {0,2, 1,1, 2,0};
-	//static final int[] SIMPLE_TOP_RIGHT_CORNER = new int[] {-2,0, -1,1, 0,2};
-	
-	static final int[] SIMPLE_BOTTOM_LEFT_CORNER = new int[] {0,-2, 1,-1, 2,0};
-	static final int[] SIMPLE_BOTTOM_RIGHT_CORNER = new int[] {-2,0, -1,-1, 0,-2};
-	private boolean showImage;
-	private boolean showText;
-	
-	public PartItem(Composite parent, IPresentablePart part) {
-		super(parent, SWT.NONE);
-		addPaintListener(this);
-		this.part = part;
-	}
-
-	public void paintControl(PaintEvent e) {
-		Rectangle titleRect = getClientArea();
-		int x = titleRect.x + VERT_SPACING;
-		int y = titleRect.y + HORIZ_SPACING;
-		GC gc = e.gc;
-		setBackground(getParent().getBackground());
-		fill(gc, titleRect.x, titleRect.y, titleRect.width - 1, titleRect.height);
-		
-		Image image = getImage();
-		if (image != null && showImage) {
-			Rectangle imageBounds = image.getBounds();
-				int imageX = x;
-				int imageHeight = imageBounds.height;
-				int imageY = (titleRect.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);
-				x += imageWidth + VERT_SPACING;		
-		}
-		
-		int textWidth = titleRect.width - 1;
-		if (textWidth > 0 && text != null && showText) {
-			Font gcFont = gc.getFont();
-			gc.setFont(getFont());
-			Point extent = gc.textExtent(text, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);	
-			int textY = titleRect.y + (titleRect.height - extent.y) / 2;
-			
-			if(selected)					
-				gc.setForeground(e.display.getSystemColor(SWT.COLOR_WHITE));
-			else 
-				gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLACK));
-			gc.setFont(JFaceResources.getDefaultFont());
-			gc.drawText(text, x, textY, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);	
-		}
-		
-	}	
-	
-	public Point computeSize(int wHint, int hHint) {
-		int width = VERT_SPACING; int height = HORIZ_SPACING;
-		GC gc = new GC(this);
-		if(image != null && showImage) {
-			Rectangle imageBounds = image.getBounds();			
-			height = imageBounds.height + HORIZ_SPACING;
-			width += imageBounds.width + VERT_SPACING;
-		}
-		
-		if(text != null && showText) {
-			Point extent = gc.textExtent(text, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);
-			width += extent.x + VERT_SPACING;
-			height = Math.max(height, extent.y) + HORIZ_SPACING;
-		}
-		
-		if (wHint != SWT.DEFAULT) width = wHint;
-		if (hHint != SWT.DEFAULT) height = hHint;
-		gc.dispose();
-		return new Point(width, height);
-	}
-	
-	private void fill(GC gc, int x, int y, int width, int height) {
-		int[] left = SIMPLE_TOP_LEFT_CORNER;
-		int[] right = SIMPLE_TOP_RIGHT_CORNER;
-		int[] shape = new int[left.length + right.length + 4];
-		int index = 0;
-		shape[index++] = x;
-		shape[index++] = y + height + 1;
-		for (int i = 0; i < left.length / 2; i++) {
-			shape[index++] = x + left[2 * i];
-			shape[index++] = y + left[2 * i + 1];
-		}
-		for (int i = 0; i < right.length / 2; i++) {
-			shape[index++] = x + width + right[2 * i];
-			shape[index++] = y + right[2 * i + 1];
-		}
-		shape[index++] = x + width;
-		shape[index++] = y + height + 1;
-		
-		// Fill in background
-		Region clipping = new Region();
-		gc.getClipping(clipping);
-		Region region = new Region();
-		region.add(shape);
-		region.intersect(clipping);
-		gc.setClipping(region);
-		
-		gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_GRAY));
-		
-		Color fg = null;
-		if(part.isDirty())
-			fg = getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY);
-		else if(!selected)
-			fg = getDisplay().getSystemColor(SWT.COLOR_WHITE);
-		//else if(focus)
-			//fg = getDisplay().getSystemColor(SWT.COLOR_BLUE);
-		else 
-			fg = getDisplay().getSystemColor(SWT.COLOR_BLUE);
-		
-		gc.setForeground(fg);
-		
-		gc.fillGradientRectangle(x, y, x + width, y + height, true);
-		//gc.fillRectangle(x, y, x + width, y + height);
-		
-		
-		region.dispose();
-		clipping.dispose();
-		
-		gc.setClipping((Rectangle)null);
-		gc.setForeground(getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
-		gc.drawPolyline(shape);
-		
-		
-		// Fill in parent background for non-rectangular shape
-		Region r = new Region();
-		r.add(new Rectangle(x, y, width + 1, height + 1));
-		r.subtract(shape);
-		gc.setBackground(getParent().getBackground());
-		//fillRegion(gc, r);
-		r.dispose();
-	}
-	
-	static void fillRegion(GC gc, Region region) {
-		// NOTE: region passed in to this function will be modified
-		Region clipping = new Region();
-		gc.getClipping(clipping);
-		region.intersect(clipping);
-		gc.setClipping(region);
-		gc.fillRectangle(region.getBounds());
-		gc.setClipping(clipping);
-		clipping.dispose();
-	}
-	
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		return computeSize(wHint, hHint);
-	}
-	
-	public void setText(String text) {
-		this.text = text;
-		redraw();
-	}
-	
-	public String getText() {
-		return this.text;
-	}
-	
-	public void setImage(Image image) {
-		this.image = image;
-	}
-	
-	public Image getImage() {
-		return this.image;	
-	}
-	
-	public void setSelected(boolean selected) {
-		this.selected = selected;
-		redraw();
-	}
-	
-	public boolean getSelected() {
-		return this.selected;
-	}
-	
-	public boolean isFocus() {
-		return focus;
-	}
-	
-	public void setFocus(boolean focus) {
-		this.focus = focus;
-	}
-
-	public void setShowImage(boolean showImage) {
-		this.showImage = showImage;
-	}
-
-	public void setShowText(boolean showText) {
-		this.showText = showText;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderItemViewPresentation.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderItemViewPresentation.java
deleted file mode 100644
index 78a02d5..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderItemViewPresentation.java
+++ /dev/null
@@ -1,650 +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.presentation.sidewinder;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ViewForm;
-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.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.RowLayout;
-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.ToolItem;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.examples.presentation.wrappedtabs.ProxyControl;
-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;
-
-public class SideWinderItemViewPresentation extends StackPresentation {
-
-	private static final String PART_DATA = "part";
-	
-	private static final int TITLE_HEIGHT = 22;
-	
-	private boolean activeFocus = false;
-	
-	/**
-	 * Main widget for the presentation
-	 */
-	private Composite presentationControl;
-	private Composite titleArea;
-	private Composite clientArea;
-	private Composite statusLineArea;
-	private ViewForm contentArea;
-	private ProxyControl toolbarProxy;
-	
-	/**
-	 * Currently selected part
-	 */
-	private IPresentablePart current;
-		
-	/**
-	 * close button
-	 */
-	private ToolItem close;
-	
-	/**
-	 * View menu button
-	 */
-	private ToolItem viewMenu;
-	
-	/**
-	 * Minimize button
-	 */
-	private ToolItem minView;
-	
-	
-	private int style = SWT.VERTICAL | SWT.LEFT;
-	
-	private boolean titleAreaHiden = false;
-	
-	/**
-	 * This listener responds to selection events in all tool items.
-	 */
-	private MouseListener mouseListener = new MouseAdapter() {		
-		// If we single-click on an empty space on the toolbar, move focus to the
-		// active control
-		public void mouseDown(MouseEvent e) {
-			PartItem toolItem = (PartItem) e.widget;
-			IPresentablePart item = getPartForTab(toolItem);
-			if (item != null) {
-				// Clicking on the active tab should give focus to the current
-				// part
-				if (item == current) {
-					item.setFocus();
-				}
-				getSite().selectPart(item);
-				selectPart(item);
-				Point toDisplay = toolItem.toDisplay(new Point(e.x, e.y));
-				if (e.button == 3) {
-					showSystemMenu(toDisplay);
-				} else {
-					Image image = toolItem.getImage();
-					if (image != null) {
-						if (image.getBounds().contains(e.x, e.y)) {
-							showPaneMenu(toDisplay);
-						}
-					}
-				}
-			}
-		}
-	};
-	
-	/**
-	 * Listener attached to all child parts. It responds to changes in part properties
-	 */
-	private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-		public void propertyChanged(Object source, int property) {			
-			if (source instanceof IPresentablePart) {
-				IPresentablePart part = (IPresentablePart) source;				
-				updatePartItem(getPartItem(part), part);
-			}
-		}	
-	};
-	
-	/**
-	 * Listener attached to all tool items. It removes listeners from the associated
-	 * part when the tool item is destroyed. This is required to prevent memory leaks.
-	 */
-	private DisposeListener tabDisposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget instanceof ToolItem) {
-				PartItem item = (PartItem)e.widget;
-				
-				IPresentablePart part = getPartForTab(item);
-				
-				part.removePropertyListener(childPropertyChangeListener);
-			}
-		}
-	};
-		
-	/** 
-	 * Drag listener for regions outside the toolbar
-	 */
-	Listener dragListener = new Listener() {
-		public void handleEvent(Event event) {
-			Point loc = new Point(event.x, event.y);
-			Control ctrl = (Control)event.widget;
-			
-			getSite().dragStart(ctrl.toDisplay(loc), false);
-		}
-	};
-	
-	private Listener menuListener = new Listener() {
-		public void handleEvent(Event event) {
-			Point globalPos = new Point(event.x, event.y);
-					showSystemMenu(globalPos);
-					return;
-		}
-	};
-
-	private boolean showText;
-
-	private boolean showImage;
-	
-	private MenuManager systemMenuManager= new MenuManager();
-
-	private Listener hideTitleListener = new Listener() {
-
-		public void handleEvent(Event event) {
-			if (!titleAreaHiden) {
-				titleAreaHiden = true;
-				layout();
-			}
-		}
-	};
-	private Listener showTitleListener = new Listener() {
-
-		public void handleEvent(Event event) {
-			if (titleAreaHiden) {
-				titleAreaHiden = false;
-				layout();
-			}
-		}
-	};
-	
-	public SideWinderItemViewPresentation(Composite parent, IStackPresentationSite stackSite, boolean showText, boolean showImage, int style) {
-		super(stackSite);
-		this.showText = showText;
-		this.showImage = showImage;
-		this.style = style;
-		
-		// Create a top-level control for the presentation.
-		presentationControl = new Composite(parent, SWT.NONE);
-		titleArea = new Composite(presentationControl, SWT.NONE);
-		
-		//statusLineArea = new Composite(titleArea, SWT.NONE);
-		//HeapStatusContributionItem item = new HeapStatusContributionItem(PlatformUI.getPreferenceStore());
-		//item.fill(statusLineArea);
-		
-		contentArea = new ViewForm(presentationControl, SWT.NONE);
-		clientArea = new Composite(contentArea, SWT.NONE);
-		clientArea.setVisible(false);
-		
-		contentArea.setContent(clientArea);
-		toolbarProxy = new ProxyControl(contentArea);
-
-		PresentationUtil.addDragListener(titleArea, dragListener);
-		titleArea.addListener(SWT.MenuDetect, menuListener);
-		//titleArea.addListener(SWT.MouseEnter, showTitleListener);
-		//titleArea.addListener(SWT.MouseExit, hideTitleListener);
-		
-		RowLayout rowLayout = new RowLayout ();
-		rowLayout.marginLeft = 0;
-		rowLayout.marginRight = 0;
-		rowLayout.marginTop = 0;
-		rowLayout.marginBottom = 0;
-		rowLayout.type = style;
-		//rowLayout.justify = true;
-		if((style & SWT.VERTICAL) != 0) {
-			rowLayout.fill = true;
-		}
-		rowLayout.spacing = 0;
-		titleArea.setLayout (rowLayout);
-		
-		// Add a dispose listener. This will call the presentationDisposed()
-		// method when the widget is destroyed.
-		presentationControl.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				presentationDisposed();
-			}
-		});
-
-		presentationControl.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				int borderWidth = getBorderWidth();
-				Rectangle clientArea = presentationControl.getClientArea();			
-				e.gc.setLineWidth(borderWidth);			
-				if(activeFocus)
-					e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLUE));
-				else 
-					e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_DARK_GRAY));
-				e.gc.drawRectangle(clientArea.x, clientArea.y, clientArea.width, clientArea.height);
-				Rectangle contentAreaBounds = contentArea.getBounds();
-				int ypos = contentAreaBounds.y - 1;				
-				//e.gc.drawLine(clientArea.x, ypos, clientArea.x + clientArea.width, ypos);
-			}			
-		});			
-		createSystemMenu();
-		update();
-	}
-
-	public IPresentablePart getCurrent() {
-		return current;
-	}
-	
-	protected void presentationDisposed() {
-	    // Remove any listeners that were attached to any
-		// global Eclipse resources. This is necessary in order to prevent
-		// memory leaks.
-	}
-	
-	protected int getBorderWidth() {
-		return 2;
-	}
-	
-	public void showSystemMenu(Point displayPos) {
-		Menu aMenu = systemMenuManager.createContextMenu(titleArea);
-		systemMenuManager.update(true);
-		aMenu.setLocation(displayPos.x, displayPos.y);
-		aMenu.setVisible(true);		
-	}
-	
-	private final void createSystemMenu() {
-		getSite().addSystemActions(systemMenuManager);
-		// This example presentation includes the part list at the end of the system menu
-		systemMenuManager.add(new Separator());
-		systemMenuManager.add(new ClosePartContributionItem(this));
-		systemMenuManager.add(new Separator());
-		
-		
-		Action topAction = new Action("Top", IAction.AS_RADIO_BUTTON) {
-			public void run() {
-				SideWinderItemViewPresentation.this.style = SWT.TOP;
-				setChecked((SideWinderItemViewPresentation.this.style & SWT.TOP) != 0);
-				update();
-			}			
-		};
-		topAction.setChecked((style & SWT.TOP) != 0);
-		systemMenuManager.add(topAction);	
-		
-		Action bottomAction = new Action("Bottom", IAction.AS_RADIO_BUTTON) {
-			public void run() {
-				SideWinderItemViewPresentation.this.style = SWT.BOTTOM;
-				setChecked((SideWinderItemViewPresentation.this.style & SWT.BOTTOM) != 0);
-				update();
-			}			
-		};
-		bottomAction.setChecked((style & SWT.BOTTOM) != 0);
-		systemMenuManager.add(bottomAction);	
-		
-		Action rightAction = new Action("Right", IAction.AS_RADIO_BUTTON) {
-			public void run() {
-				SideWinderItemViewPresentation.this.style = SWT.RIGHT;
-				setChecked((SideWinderItemViewPresentation.this.style & SWT.RIGHT) != 0);
-				update();
-			}			
-		};
-		rightAction.setChecked((style & SWT.RIGHT) != 0);
-		systemMenuManager.add(rightAction);	
-		
-		Action leftAction = new Action("Left", IAction.AS_RADIO_BUTTON) {
-			public void run() {
-				SideWinderItemViewPresentation.this.style = SWT.LEFT;
-				setChecked((SideWinderItemViewPresentation.this.style & SWT.LEFT) != 0);
-				update();
-			}			
-		};		
-		leftAction.setChecked((style & SWT.VERTICAL) != 0);	
-		systemMenuManager.add(leftAction);	
-		
-		systemMenuManager.add(new Separator());
-		Action textAction = new Action("Text", IAction.AS_CHECK_BOX) {
-			public void run() {
-				SideWinderItemViewPresentation.this.showText = isChecked();
-				setChecked(SideWinderItemViewPresentation.this.showText);
-				update();
-			}
-		};
-		textAction.setChecked(showText);
-		systemMenuManager.add(textAction);	
-		Action imageAction = new Action("Image", IAction.AS_CHECK_BOX) {
-			public void run() {
-				SideWinderItemViewPresentation.this.showImage = isChecked();
-				setChecked(isChecked());
-				update();
-			}
-		};
-		imageAction.setChecked(showImage);
-		systemMenuManager.add(imageAction);	
-	}
-	
-	protected void update() {
-		Control[] items = titleArea.getChildren();	
-		for (int idx = 0; idx < items.length; idx++) {
-			if(items[idx] instanceof PartItem) {
-			PartItem item = (PartItem)items[idx];	
-			item.setShowImage(showImage);
-			item.setShowText(showText);
-			item.setFocus(activeFocus);
-			}
-		}
-		int type = SWT.VERTICAL;
-		if ((style & SWT.TOP) != 0 || (style & SWT.BOTTOM) != 0) {
-			type = SWT.HORIZONTAL;
-		}		
-		RowLayout rowLayout = ((RowLayout)titleArea.getLayout());
-		rowLayout.type = type;
-		rowLayout.fill = type == SWT.VERTICAL;
-		
-		layout();
-		presentationControl.redraw();
-		//titleArea.redraw();
-		//titleArea.layout();
-		//contentArea.layout();
-	}
-
-	public void close(IPresentablePart[] parts) {
-		getSite().close(parts);
-	}
-	
-	public void layout() {
-		// Determine the inner bounds of the presentation
-		Rectangle presentationClientArea = presentationControl.getClientArea();
-		presentationClientArea.x += getBorderWidth();
-		presentationClientArea.width -= getBorderWidth() * 2;
-		presentationClientArea.y += getBorderWidth();
-		presentationClientArea.height -= getBorderWidth() * 2;
-		
-		if ((style & SWT.TOP) != 0 || (style & SWT.BOTTOM) != 0) {
-			Point p = titleArea.computeSize(presentationClientArea.width, SWT.DEFAULT);
-			int yy = 0;
-			int x = 0;
-			int y = 0;
-			if((style & SWT.TOP) != 0) {
-				x = presentationClientArea.x;
-				y = presentationClientArea.y;
-				yy = p.y + 1;
-			} else {
-				x = presentationClientArea.x;
-				y = presentationClientArea.height - p.y;
-				yy = presentationClientArea.y;
-			}
-			if(titleAreaHiden)
-				p.y = 3;
-			titleArea.setBounds(x, y, presentationClientArea.width, p.y);
-			contentArea.setBounds(presentationClientArea.x, yy, presentationClientArea.width, presentationClientArea.height - p.y);
-		} else {
-			Point p = titleArea.computeSize(SWT.DEFAULT, presentationClientArea.height);
-			int xx = 0;
-			int x = 0;
-			int y = 0;
-			if((style & SWT.RIGHT) != 0) {
-				x = presentationClientArea.width - p.x;
-				y = presentationClientArea.y;
-				xx = presentationClientArea.x;
-			} else {
-				x = presentationClientArea.x;
-				y = presentationClientArea.y;
-				xx = p.x +1;
-			}	
-			if(titleAreaHiden)
-				p.x = 3;
-			titleArea.setBounds(x, y, p.x, presentationClientArea.height);
-			contentArea.setBounds(xx, presentationClientArea.y, presentationClientArea.width - p.x, presentationClientArea.height);
-		}
-				
-		//Rectangle r = titleArea.getBounds();
-		//Point p = titleArea.computeSize(SWT.DEFAULT, r.height);
-		//statusLineArea.setBounds(r);
-		
-		titleArea.setBackground(titleArea.getDisplay().getSystemColor(SWT.COLOR_GRAY));
-				
-		// Position the view's widgets
-		if (current != null) {
-			Control toolbar = current.getToolBar();
-			if(toolbar != null) {
-				toolbarProxy.setTargetControl(current.getToolBar());
-				contentArea.setTopCenter(toolbarProxy.getControl());
-			} else { 
-				contentArea.setTopCenter(null);
-			}
-			contentArea.layout();
-			
-			Rectangle clientRectangle = clientArea.getBounds();
-			Point clientAreaStart = presentationControl.getParent().toControl(
-					contentArea.toDisplay(clientRectangle.x, clientRectangle.y));
-			// current isn't parented by this widget hierarchy, the coordinates must be
-			// relative to the workbench window. The workbench window parents every
-			// part.
-			current.setBounds(new Rectangle(clientAreaStart.x, 
-					clientAreaStart.y,
-					clientRectangle.width, 
-					clientRectangle.height));
-		}		
-	}
-	
-	public void setBounds(Rectangle bounds) {
-		presentationControl.setBounds(bounds);
-		layout();
-	}
-
-	public void dispose() {
-	}
-
-	public void setActive(int newState) {
-		activeFocus = (newState == AS_ACTIVE_FOCUS);
-		Control[] items = titleArea.getChildren();	
-		for (int idx = 0; idx < items.length; idx++) {
-			if(items[idx] instanceof PartItem) {
-			PartItem item = (PartItem)items[idx];	
-			item.setFocus(activeFocus);
-			}
-		}
-		presentationControl.redraw();
-	}
-
-	public void setVisible(boolean isVisible) {
-		presentationControl.setVisible(isVisible);
-		
-		// Make the currently visible part visible
-		if (current != null) {
-			current.setVisible(isVisible);			
-		}
-
-		if (isVisible) {
-			// Restore the bounds of the currently visible part. 
-			// IPartPresentations can be used by multiple StackPresentations,
-			// although only one such presentation is ever visible at a time.
-			// It is possible that some other presentation has changed the
-			// bounds of the part since it was last visible, so we need to
-			// update the part's bounds when the presentation becomes visible.
-			layout();
-		}
-	}
-
-	public void setState(int state) {
-	}
-
-	public Control getControl() {
-		return presentationControl;
-	}
-
-	public void addPart(IPresentablePart newPart, Object cookie) {
-		// Ignore the cookie for now, since we don't support drag-and-drop yet.
-		PartItem item = new PartItem(titleArea, newPart);
-		
-		// Attach the newPart pointer to the ToolItem. This is used for getPartForTab
-		// to determine which part is associated with the tool item
-		item.setData(PART_DATA, newPart);
-		
-		// Attach a property change listener to the part. This will update the ToolItem
-		// to reflect changes in the part.
-		newPart.addPropertyListener(childPropertyChangeListener);
-		
-		// Attach a dispose listener to the item. This removes the above property
-		// change listener from the part when the item is destroyed. This prevents
-		// memory leaks.
-		item.addDisposeListener(tabDisposeListener);
-		
-		// Listen to selection events in the new tool item
-		item.addMouseListener(mouseListener);
-		
-		PresentationUtil.addDragListener(item, new Listener() {
-			public void handleEvent(Event event) {
-				Point loc = new Point(event.x, event.y);
-				PartItem item = (PartItem)event.widget;
-				if (item != null) {
-				   // Move the current part
-				   IPresentablePart draggedItem = getPartForTab(item);
-				   draggedItem.setFocus();
-				getSite().dragStart(draggedItem, item.toDisplay(loc), false);
-				}
-			}
-		});
-
-		// Initialize the tab for this part
-		updatePartItem(item, newPart);
-			
-		newPart.setBounds(clientArea.getBounds());
-		titleArea.layout();
-		titleArea.redraw();
-		update();		
-	}
-	
-	protected void updatePartItem(PartItem item, IPresentablePart part) {
-		String tabName = part.getTitle();
-		if(item == null) return;
-		if (!tabName.equals(item.getText())) {
-			item.setText(tabName);
-		}
-		
-		if (!(part.getTitleToolTip().equals(item.getToolTipText()))) {
-			item.setToolTipText(part.getTitleToolTip());
-		}
-
-		item.setImage(part.getTitleImage());
-		item.setShowImage(showImage);
-		item.setShowText(showText);
-		titleArea.layout(true);
-		titleArea.redraw();
-		item.redraw();
-	}
-	
-	protected final PartItem getPartItem(IPresentablePart part) {
-		if (!titleArea.isDisposed()) {
-			Control[] items = titleArea.getChildren();
-			for (int idx = 0; idx < items.length; idx++) {
-				Control item = items[idx];
-				if (!item.isDisposed() && getPartForTab(item) == part) {
-					return (PartItem) item;
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected final IPresentablePart getPartForTab(Control item) {
-		return (IPresentablePart)item.getData(PART_DATA);
-	}
-
-	public void removePart(IPresentablePart oldPart) {
-		PartItem item = getPartItem(oldPart);
-		if(item != null) {
-			item.dispose();
-			titleArea.layout();
-			titleArea.redraw();
-		}
-	}
-
-	public void selectPart(IPresentablePart toSelect) {
-		if (toSelect == current) {
-			return;
-		}
-		
-		if(current !=null) {
-			current.setVisible(false);
-		}
-		
-		// Select the new part
-		current = toSelect;
-		
-		// Ordering is important here. We need to make the part
-		// visible before updating its bounds, or the call to setBounds
-		// may be ignored.
-		
-		if (current != null) {
-			// Make the newly selected part visible
-			current.setVisible(true);
-			Control[] items = titleArea.getChildren();
-			for (int idx = 0; idx < items.length; idx++) {
-				if(items[idx] instanceof PartItem) {
-				PartItem item = (PartItem)items[idx];
-				item.setSelected(getPartForTab(item) == current);
-				}
-			}
-		}
-		// Update the bounds of the newly selected part
-		layout();
-	}
-
-	public StackDropResult dragOver(Control currentControl, Point location) {
-		return null;
-	}
-
-	public void showSystemMenu() {
-	}
-
-	public void showPaneMenu() {
-		
-	}
-	
-	public void showPaneMenu(Point location) {
-		if (current == null) {
-			return;
-		}
-		
-		IPartMenu menu = current.getMenu();
-		
-		if (menu == null) {
-			return;
-		}
-
-		menu.showMenu(location);
-	}
-
-	public Control[] getTabList(IPresentablePart part) {
-		if(current != null) {
-			return new Control[] {current.getControl()};
-		} else {
-			return new Control[0];
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderPresentationFactory.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderPresentationFactory.java
deleted file mode 100644
index c4ad6fd..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderPresentationFactory.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.examples.presentation.sidewinder;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.*;
-
-/**
- * @since 3.0
- */
-public class SideWinderPresentationFactory extends AbstractPresentationFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createEditorPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createEditorPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new SideWinderItemViewPresentation(parent, site, true, true, SWT.HORIZONTAL | SWT.TOP);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createViewPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new SideWinderItemViewPresentation(parent, site,  false, true, SWT.HORIZONTAL | SWT.TOP);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createStandaloneViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite, boolean)
-	 */
-	public StackPresentation createStandaloneViewPresentation(Composite parent,
-			IStackPresentationSite site, boolean showTitle) {
-		return new SideWinderItemViewPresentation(parent, site, false, true, SWT.HORIZONTAL | SWT.TOP);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ChangeStackStateContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ChangeStackStateContributionItem.java
deleted file mode 100644
index 7a9310b..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ChangeStackStateContributionItem.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.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * Contributions for supporting maximizing, minimizing, and restoring the state of
- * a stack presentation.
- * 
- * @since 3.0
- */
-public class ChangeStackStateContributionItem extends ContributionItem {
-
-	private IStackPresentationSite site;
-	
-	public ChangeStackStateContributionItem(IStackPresentationSite site) {
-		this.site = site;
-	}
-
-    public void dispose() {
-    	super.dispose();
-    }
-    
-    public void fill(Menu menu, int index) {
-		if(site.supportsState(IStackPresentationSite.STATE_MAXIMIZED) && site.getState() != IStackPresentationSite.STATE_MAXIMIZED) {
-			MenuItem item1 = new MenuItem(menu, SWT.PUSH, index);
-			item1.setText("&Maximize");
-			item1.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					site.setState(IStackPresentationSite.STATE_MAXIMIZED);
-				}
-			});
-		}
-		if(site.getState() != IStackPresentationSite.STATE_RESTORED)  {
-			MenuItem item = new MenuItem(menu, SWT.PUSH, index);
-			item.setText("&Restore");
-			item.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					site.setState(IStackPresentationSite.STATE_RESTORED);
-				}
-			});
-		}		
-    }
-    
-	public boolean isDynamic() {
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseAllContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseAllContributionItem.java
deleted file mode 100644
index bdbf993..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseAllContributionItem.java
+++ /dev/null
@@ -1,55 +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.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-
-/**
- * @since 3.0
- */
-public class CloseAllContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			presentation.close(presentation.getParts());
-		}
-	};
-	
-	public CloseAllContributionItem(WrappedTabsPartPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-    	if (presentation.getParts().length > 1) {
-			MenuItem item = new MenuItem(menu, SWT.NONE, index);
-			item.setText("Close all");
-			item.addSelectionListener(selectionListener);
-    	}
-    }
-    
-    public boolean isDynamic() {
-    	// Returning true here ensures that the fill(...) method will be called whenever
-    	// the context menu opens
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseContributionItem.java
deleted file mode 100644
index 00fa19a..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseContributionItem.java
+++ /dev/null
@@ -1,55 +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.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-/**
- * @since 3.0
- */
-public class CloseContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			presentation.close(new IPresentablePart[] {presentation.getCurrent()});
-		}
-	};
-	
-	public CloseContributionItem(WrappedTabsPartPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-		MenuItem item = new MenuItem(menu, SWT.NONE, index);
-		item.setText("Close");
-		item.addSelectionListener(selectionListener);
-		
-		IPresentablePart current = presentation.getCurrent();
-		item.setEnabled(current != null);
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseOthersContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseOthersContributionItem.java
deleted file mode 100644
index 3be37ea..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseOthersContributionItem.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-/**
- * @since 3.0
- */
-public class CloseOthersContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			IPresentablePart current = presentation.getCurrent();
-			List parts = Arrays.asList(presentation.getParts());
-			List otherParts = new LinkedList();
-			otherParts.addAll(parts);
-			otherParts.remove(current);
-			presentation.close((IPresentablePart[]) otherParts.toArray(new IPresentablePart[otherParts.size()]));
-		}
-	};
-	
-	public CloseOthersContributionItem(WrappedTabsPartPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-    	if (presentation.getParts().length > 1) {
-			MenuItem item = new MenuItem(menu, SWT.NONE, index);
-			item.setText("Close others");
-			item.addSelectionListener(selectionListener);
-			
-			IPresentablePart current = presentation.getCurrent();
-			item.setEnabled(current != null);
-    	}
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/PartListContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/PartListContributionItem.java
deleted file mode 100644
index 52ae5c5..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/PartListContributionItem.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * @since 3.0
- */
-public class PartListContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation;
-	private IStackPresentationSite site;
-	
-	private static final String DATA_ITEM = "org.eclipse.ui.examples.presentation.wrappedtabs.PartListContributionItem.DATA_ITEM"; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			MenuItem item = (MenuItem)e.widget;
-			
-			IPresentablePart part = (IPresentablePart)item.getData(DATA_ITEM);
-			
-			if (part != null) {
-				site.selectPart(part);
-			}
-		}
-	};
-	
-	public PartListContributionItem(WrappedTabsPartPresentation presentation, IStackPresentationSite site) {
-		this.presentation = presentation;
-		this.site = site;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        site = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-    	IPresentablePart[] parts = presentation.getParts();
-    	
-    	// Don't include a part list if there's only one part
-    	if (parts.length <= 1) {
-    		return;
-    	}
-    	
-    	new MenuItem(menu, SWT.SEPARATOR, index++);
-    	
-    	Arrays.sort(parts, new Comparator() {
-			public int compare(Object arg0, Object arg1) {
-				IPresentablePart part0 = (IPresentablePart)arg0;
-				IPresentablePart part1 = (IPresentablePart)arg1;
-				
-				return part0.getName().compareToIgnoreCase(part1.getName());
-			}
-    	});
-    	
-    	for (int i = 0; i < parts.length; i++) {
-			IPresentablePart part = parts[i];
-			
-			MenuItem item = new MenuItem(menu, SWT.NONE, index++);
-			item.setText(part.getName());
-			item.setImage(part.getTitleImage());
-			item.addSelectionListener(selectionListener);
-			item.setData(DATA_ITEM, part);
-		}
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ProxyControl.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ProxyControl.java
deleted file mode 100644
index b9fbf3f..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ProxyControl.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.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.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.dnd.SwtUtil;
-
-/**
- * A ProxyControl is an invisible control whose size and position are linked
- * with some target control. That is, when the dummy control is asked for its
- * preferred size it returns the preferred size of the target. Changing the
- * bounds of the dummy control also changes the bounds of the target. This allows 
- * any Composite to lay out a control that isn't one of its children.
- * 
- * <p>
- * For example, imagine you have a ViewForm and a ToolBar that share the same parent
- * and you want the ToolBar to be located in the upper-right corner of the ViewForm.
- * If the ToolBar were a child of the ViewForm, this could be done easily by calling
- * viewForm.setTopRight(toolBar). However, this is impossible since ViewForm.setTopRight
- * will only accept a child control. Instead, we create a ProxyControl as a child
- * of the viewForm, and set the toolbar as its target. The ViewForm will treat
- * the ProxyControl just like any other child, but it will actually be arranging the
- * ToolBar. 
- * </p>
- * <p>For example:
- * </p>
- * <code>
- *      // Create a ViewForm and a ToolBar that are siblings
- * 		ViewForm viewForm = new ViewForm(parent, SWT.NONE);
- * 		ToolBar toolBar = new ToolBar(parent, SWT.NONE);
- * 
- *      // Allow the ViewForm to control the position of the ToolBar by creating
- *      // a ProxyControl in the ViewForm that targets the ToolBar.
- * 		ProxyControl toolBarProxy = new ProxyControl(viewForm);
- * 		toolBarProxy.setTarget(toolBar);
- * 		viewForm.setTopRight(toolBarProxy.getControl());
- * </code>
- * 
- * <p>
- * This is intended to simplify management of view toolbars in the presentation API.
- * Presentation objects have no control over where the view toolbars are created in
- * the widget hierarchy, but they may wish to control the position of the view toolbars
- * using traditional SWT layouts and composites. 
- * </p>
- */
-public class ProxyControl {
-    
-    /**
-     * Invisible dummy control 
-     */
-	private Composite control;
-	
-	/**
-	 * Target control (possibly null)
-	 */
-	private Control target;
-	
-	/**
-	 * Most specific common ancestor between the target and the proxy controls
-	 */
-	private Control commonAncestor;
-	
-	/**
-	 * Visibility state of the proxy control the last time it had a non-null target.
-	 * Note: when the target is set to null, we force the proxy to become invisible
-	 * and use this variable to remember the initial state when we get a new non-null
-	 * target.
-	 */
-	private boolean visible = true;
-	
-	/**
-	 * Dispose listener. Breaks the link between the target and the proxy if either
-	 * control is disposed.
-	 */
-	private DisposeListener disposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget == target || e.widget == control) {
-				setTargetControl(null);
-			}
-		}
-	};
-	
-	private Listener visibilityListener = new Listener() {
-
-        public void handleEvent(Event event) {
-            if (target != null) {
-                visible = control.getVisible();
-                target.setVisible(visible);
-            }
-        }
-	    
-	};
-	
-	/**
-	 * Movement listener. Updates the bounds of the target to match the 
-	 * bounds of the dummy control.
-	 */
-	private ControlListener controlListener = new ControlListener() {
-
-		public void controlMoved(ControlEvent e) {
-			ProxyControl.this.layout();
-		}
-
-		public void controlResized(ControlEvent e) {
-		    //if (e.widget == control) {
-		     //   ProxyControl.this.layout();
-		    //}
-		}
-		
-	};
-	
-	/**
-	 * Creates a new ProxyControl as a child of the given parent. This is an invisible dummy
-	 * control. If given a target, the ProxyControl will update the bounds of the target to
-	 * match the bounds of the dummy control.
-	 * 
-	 * @param parent parent composite
-	 */
-	public ProxyControl(Composite parent) {
-	    // Create the invisible dummy composite
-		control = new Composite(parent, SWT.NO_BACKGROUND);
-		control.setVisible(false);
-		
-		// Attach a layout to the dummy composite. This is used to make the preferred
-		// size of the dummy match the preferred size of the target.
-		control.setLayout(new Layout() {
-			protected void layout (Composite composite, boolean flushCache) {
-			    ProxyControl.this.layout();
-			    // does nothing. The bounds of the target are updated by the controlListener
-			}
-			
-			protected Point computeSize (Composite composite, int wHint, int hHint, boolean flushCache) {
-				if (target == null) {
-				    // Note: If we returned (0,0), SWT would ignore the result and use a default value.
-					return new Point(1,1);
-				}
-				
-				return target.computeSize(wHint, hHint);
-			}
-		});
-		
-		// Attach listeners to the dummy
-		control.addDisposeListener(disposeListener);
-		control.addListener(SWT.Show, visibilityListener);
-		control.addListener(SWT.Hide, visibilityListener);
-	}
-	
-	/**
-	 * Sets the control whose position will be managed by this proxy
-	 * 
-	 * @param target the control, or null if none
-	 */
-	public void setTargetControl(Control target) {
-		if (this.target != target) {
-
-		    if (this.target != null) {
-		        for (Control next = control; next != commonAncestor && next != null; next = next.getParent()) {
-		            next.removeControlListener(controlListener);
-		        }
-		        commonAncestor = null;
-		        
-			    // If we already had a target, detach the dispose listener 
-			    // (prevents memory leaks due to listeners)
-				if (!this.target.isDisposed()) {
-					this.target.removeDisposeListener(disposeListener);
-				}				
-		    }
-			
-			if (this.target == null && target != null) {
-			    // If we had previously forced the dummy control invisible, restore its visibility
-			    control.setVisible(visible);
-			}
-			
-			this.target = target;
-			
-			if (target != null) {
-			    commonAncestor = SwtUtil.findCommonAncestor(this.target, control);
-		        for (Control next = control; next != null && next != commonAncestor; next = next.getParent()) {
-		            next.addControlListener(controlListener);
-		        }
-			    
-			    // Make the new target's visiblity match the visibility of the dummy control
-			    target.setVisible(control.getVisible());
-				// Add a dispose listener. Ensures that the target is cleared
-				// if it is ever disposed.
-				target.addDisposeListener(disposeListener);
-			} else {
-			    control.setVisible(false);
-			}
-		}
-	}
-	
-	/**
-	 * Returns the target control (the control whose size is being managed)
-	 * 
-	 * @return the target control (or null)
-	 */
-	public Control getTargetControl() {
-		if (target == null) {
-			return null;
-		}
-		
-		return target;
-	}
-	
-	/**
-	 * Returns the proxy control
-	 * 
-	 * @return the proxy control (not null)
-	 */
-	public Control getControl() {
-		return control;
-	}
-	
-	public Control getTarget() {
-	    return target;
-	}
-	
-	/**
-	 * Moves the target control on top of the dummy control.
-	 */
-	public void layout() {
-		if (getTargetControl() == null) {
-			return;
-		}
-		
-		// Compute the unclipped bounds of the target in display coordinates
-		Rectangle displayBounds = Geometry.toDisplay(control.getParent(), control.getBounds());
-		
-		// Clip the bounds of the target so that it doesn't go outside the dummy control's parent
-		Rectangle clippingRegion = DragUtil.getDisplayBounds(control.getParent());
-		displayBounds = displayBounds.intersection(clippingRegion);
-		
-		// Compute the bounds of the target, in the local coordinate system of its parent
-		Rectangle targetBounds = Geometry.toControl(getTargetControl().getParent(), displayBounds);
-		
-		// Move the target
-		getTargetControl().setBounds(targetBounds);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ShowToolbarContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ShowToolbarContributionItem.java
deleted file mode 100644
index 299de04..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ShowToolbarContributionItem.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-/**
- * @since 3.0
- */
-public class ShowToolbarContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation;
-	
-	private static final String DATA_ITEM = "org.eclipse.ui.examples.presentation.wrappedtabs.PartListContributionItem.DATA_ITEM"; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			presentation.showToolbar(((MenuItem)e.widget).getSelection());
-		}
-	};
-	
-	public ShowToolbarContributionItem(WrappedTabsPartPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-		MenuItem item = new MenuItem(menu, SWT.CHECK, index);
-		item.setText("S&how toolbar");
-		item.addSelectionListener(selectionListener);
-		item.setSelection(presentation.isShowingToolbar());
-		
-		IPresentablePart current = presentation.getCurrent();
-		item.setEnabled(current != null && current.getToolBar() != null);
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPartPresentation.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPartPresentation.java
deleted file mode 100644
index 0790f20..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPartPresentation.java
+++ /dev/null
@@ -1,1116 +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.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ViewForm;
-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.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-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.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.examples.presentation.PresentationImages;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IPresentationSerializer;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-import org.eclipse.ui.themes.ITheme;
-
-/**
- * @since 3.0
- */
-public class WrappedTabsPartPresentation extends StackPresentation {
-
-	private static class DropLocation {
-		int insertionPosition = 0;
-		IPresentablePart part;
-		boolean before;
-	}
-	
-	private static final String PART_DATA = "part";
-	
-	private boolean activeFocus = false;
-	
-	/**
-	 * Main widget for the presentation
-	 */
-	private Composite presentationControl;
-	
-	/**
-	 * Currently selected part
-	 */
-	private IPresentablePart current;
-	
-	/**
-	 * ToolBar that will be used to select the active presentable part 
-	 */
-	private ToolBar toolBar;
-	
-	/**
-	 * ToolBar that will contain close, minimize, etc.
-	 */
-	private ToolBar upperRight;
-	
-	/**
-	 * close button
-	 */
-	private ToolItem close;
-	
-	/**
-	 * View menu button
-	 */
-	private ToolItem viewMenu;
-	
-	/**
-	 * Minimize button
-	 */
-	private ToolItem minView;
-
-	/**
-	 * Show/hide toolbar button
-	 */
-	private ToolItem showToolbar;
-	
-	private ToolBar titleIconToolbar;
-	
-	/**
-	 * Title icon
-	 */
-	private ToolItem titleIcon;
-	
-	private MenuManager systemMenuManager = new MenuManager();
-	private ViewForm contentArea;
-	
-	private Label contentDescription;
-	private Composite contentDescriptionWrapper;
-	
-	private Composite clientArea;
-	
-	private ProxyControl toolbarProxy;
-	
-	/**
-	 * Listener attached to all child parts. It responds to changes in part properties
-	 */
-	private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-		public void propertyChanged(Object source, int property) {
-			
-			if (source instanceof IPresentablePart) {
-				IPresentablePart part = (IPresentablePart) source;
-				
-				childPropertyChanged(part, property);
-			}
-		}	
-	};
-
-	/** 
-	 * Drag listener for regions outside the toolbar
-	 */
-	Listener dragListener = new Listener() {
-		public void handleEvent(Event event) {
-			Point loc = new Point(event.x, event.y);
-			Control ctrl = (Control)event.widget;
-			
-			getSite().dragStart(ctrl.toDisplay(loc), false);
-		}
-	};
-	
-	/**
-	 * Listener attached to all tool items. It removes listeners from the associated
-	 * part when the tool item is destroyed. This is required to prevent memory leaks.
-	 */
-	private DisposeListener tabDisposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget instanceof ToolItem) {
-				ToolItem item = (ToolItem)e.widget;
-				
-				IPresentablePart part = getPartForTab(item);
-				
-				part.removePropertyListener(childPropertyChangeListener);
-			}
-		}
-	};
-	
-	/**
-	 * This listener responds to selection events in all tool items.
-	 */
-	SelectionAdapter tabItemSelectionAdapter = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			ToolItem toolItem = (ToolItem) e.widget;
-			IPresentablePart item = getPartForTab(toolItem);
-			if (item != null) {
-				// Clicking on the active tab should give focus to the current part
-				if (item == current) {
-					item.setFocus();
-				}
-				getSite().selectPart(item);
-			}
-			toolItem.setSelection(true);
-		}
-	};
-	
-	/**
-	 * Listener to changes made to the current theme. The presentation will
-	 * redraw when the theme changes.
-	 */
-	private IPropertyChangeListener themeChangeListener = new IPropertyChangeListener() {	
-		public void propertyChange(PropertyChangeEvent event) {
-			if(! presentationControl.isDisposed()) {
-				toolBar.setFont(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getFontRegistry().get(WrappedTabsThemeConstants.TAB_FONT));
-				layout();
-				presentationControl.redraw();
-			}
-		}
-	};
-	
-	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 globalPos = new Point(event.x, event.y);
-			
-			if (event.widget == toolBar) {
-				Point localPos = toolBar.toControl(globalPos);
-				ToolItem item = toolBar.getItem(localPos);
-					
-				if (item != null) {
-					IPresentablePart part = getPartForTab(item);
-					getSite().selectPart(part);
-					showSystemMenu(globalPos);
-					return;
-				}
-			}
-            
-            IPresentablePart part = getCurrent();
-            if (part != null) {
-                showSystemMenu(globalPos);
-            }
-		}
-	};
-	
-	private MouseListener mouseListener = new MouseAdapter() {
-		
-		// If we single-click on an empty space on the toolbar, move focus to the
-		// active control
-		public void mouseDown(MouseEvent e) {
-			Point p = new Point(e.x, e.y);
-			
-			// Ignore double-clicks if we're currently over a toolbar item
-			if (isOverToolItem(e)) {
-				return;
-			}
-			
-			if (current != null) {
-				current.setFocus();
-			}
-		}
-		
-		public boolean isOverToolItem(MouseEvent e) {
-			Point p = new Point(e.x, e.y);
-			Control control = (Control)e.widget;
-			
-			if (control instanceof ToolBar) {
-				ToolItem item = ((ToolBar)control).getItem(p);
-				
-				if (item != null) {
-					return true;
-				}
-			} 
-			
-			return false;
-			
-		}
-		
-		// If we double-click on the toolbar, maximize the presentation
-		public void mouseDoubleClick(MouseEvent e) {
-			
-			// Ignore double-clicks if we're currently over a toolbar item
-			if (isOverToolItem(e) && e.widget == upperRight) {
-				return;
-			}
-			
-			if (getSite().getState() == IStackPresentationSite.STATE_MAXIMIZED) {
-				getSite().setState(IStackPresentationSite.STATE_RESTORED);
-			} else {
-				getSite().setState(IStackPresentationSite.STATE_MAXIMIZED);
-			}
-		}
-	};
-	
-	private boolean showIconOnTabs;
-	private static final int SPACING_WIDTH = 2;
-
-	private static final String SHOWING_TOOLBAR = "showing_toolbar";
-
-	private static final String TAG_PART = "part";
-	private static final String TAG_ID = "id";
-	private static final String TAG_TOOLBAR = "showing_toolbar";
-	
-	/**
-	 * Creates a new bare-bones part presentation, given the parent composite and 
-	 * an IStackPresentationSite interface that will be used to communicate with 
-	 * the workbench.
-	 * 
-	 * @param stackSite interface to the workbench
-	 */
-	public WrappedTabsPartPresentation(Composite parent, 
-			IStackPresentationSite stackSite, boolean showIconOnTabs) {
-		super(stackSite);		
-		
-		this.showIconOnTabs = showIconOnTabs;
-		
-		// Create a top-level control for the presentation.
-		presentationControl = new Composite(parent, SWT.NONE);
-		
-		// Add a dispose listener. This will call the presentationDisposed()
-		// method when the widget is destroyed.
-		presentationControl.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				presentationDisposed();
-			}
-		});
-		
-		upperRight = new ToolBar(presentationControl, SWT.RIGHT | SWT.FLAT);
-		//initPresentationWidget(upperRight);
-		
-		titleIconToolbar = new ToolBar(presentationControl, SWT.RIGHT | SWT.FLAT);
-		titleIcon = new ToolItem(titleIconToolbar, SWT.PUSH);
-        
-        titleIconToolbar.addListener(SWT.MouseDown, new Listener() {
-            public void handleEvent(Event event) {
-                showPaneMenu();
-            }
-        });
-		titleIconToolbar.addListener(SWT.MenuDetect, menuListener);
-		
-		titleIconToolbar.setVisible(!showIconOnTabs);
-		
-		toolBar = new ToolBar(presentationControl, SWT.WRAP | SWT.RIGHT | SWT.FLAT);
-		toolBar.addListener(SWT.MenuDetect, menuListener);
-		toolBar.addMouseListener(mouseListener);
-		toolBar.setFont(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getFontRegistry().get(WrappedTabsThemeConstants.TAB_FONT));
-		
-		// Add drag listener to the toolbar
-		PresentationUtil.addDragListener(toolBar, new Listener() {
-			public void handleEvent(Event event) {
-				Point loc = new Point(event.x, event.y);
-				ToolItem item = toolBar.getItem(loc);
-				
-				if (item != null) {
-					// Move the current part
-					IPresentablePart draggedItem = getPartForTab(item);
-					draggedItem.setFocus();
-					getSite().dragStart(draggedItem, toolBar.toDisplay(loc), false);
-				} else {
-					// Move the stack
-					getSite().dragStart(toolBar.toDisplay(loc), false);
-				}
-			}
-			
-		});
-		
-		presentationControl.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Rectangle clientArea = presentationControl.getClientArea();			
-				e.gc.setLineWidth(getBorderWidth());
-				
-				e.gc.setForeground(getBorderColor());
-				e.gc.drawRectangle(clientArea.x, clientArea.y, clientArea.width-1, clientArea.height-1);
-				Rectangle contentAreaBounds = contentArea.getBounds();
-				int ypos = contentAreaBounds.y - 1;
-				e.gc.drawLine(clientArea.x, ypos, clientArea.x + clientArea.width - 1, ypos);
-			}
-			
-		});
-		initPresentationWidget(presentationControl);
-		
-		contentArea = new ViewForm(presentationControl, SWT.FLAT);
-		initPresentationWidget(contentArea);
-		contentDescriptionWrapper = new Composite(contentArea, SWT.NONE);
-		
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 4;
-		layout.marginHeight = 2;
-		contentDescriptionWrapper.setLayout(layout);
-		
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.verticalAlignment = GridData.VERTICAL_ALIGN_CENTER;
-		
-		contentDescription = new Label(contentDescriptionWrapper, SWT.NONE);
-		initPresentationWidget(contentDescription);
-		contentDescription.setLayoutData(data);
-
-		clientArea = new Composite(contentArea, SWT.NONE);
-		clientArea.setVisible(false);
-		
-		contentArea.setContent(clientArea);
-		toolbarProxy = new ProxyControl(contentArea);
-		
-		createButtonBar();
-		
-		createSystemMenu();
-		
-		PlatformUI.getWorkbench().getThemeManager().addPropertyChangeListener(themeChangeListener);
-	}
-	
-	private void initPresentationWidget(Control toInitialize) {
-		PresentationUtil.addDragListener(toInitialize, dragListener);
-		toInitialize.addListener(SWT.MenuDetect, menuListener);
-		toInitialize.addMouseListener(mouseListener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#restoreState(org.eclipse.ui.presentations.IPresentationSerializer, org.eclipse.ui.IMemento)
-	 */
-	public void restoreState(IPresentationSerializer serializer, IMemento savedState) {
-		IMemento[] parts = savedState.getChildren(TAG_PART);
-		
-		for (int idx = 0; idx < parts.length; idx++) {
-			String id = parts[idx].getString(TAG_ID);
-			
-			if (id != null) {
-				IPresentablePart part = serializer.getPart(id);
-				
-				if (part != null) {
-					addPart(part, null);
-					
-					Integer hasToolbar = parts[idx].getInteger(TAG_TOOLBAR);
-					showToolbar(part, hasToolbar != null && hasToolbar.intValue() != 0);
-				}
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#saveState(org.eclipse.ui.presentations.IPresentationSerializer, org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IPresentationSerializer context, IMemento memento) {
-		super.saveState(context, memento);
-		
-		IPresentablePart[] parts = getParts();
-		
-		for (int i = 0; i < parts.length; i++) {
-			IPresentablePart part = parts[i];
-
-			IMemento childMem = memento.createChild(TAG_PART);
-			childMem.putString(TAG_ID, context.getId(part));
-			childMem.putInteger(TAG_TOOLBAR, isShowingToolbar(part) ? 1 : 0);
-		}
-	}
-	
-	public IPresentablePart[] getParts() {
-		ToolItem[] items = toolBar.getItems();
-		IPresentablePart[] result = new IPresentablePart[items.length];
-		
-		for (int idx = 0; idx < items.length; idx++) {
-			ToolItem item = items[idx];
-			
-			IPresentablePart next = getPartForTab(item);
-			
-			result[idx] = next;
-		}
-		
-		return result;
-	}
-	
-	private final void createSystemMenu() {
-		getSite().addSystemActions(systemMenuManager);
-		systemMenuManager.add(new ChangeStackStateContributionItem(getSite()));
-		systemMenuManager.add(new ShowToolbarContributionItem(this));
-		// This example presentation includes the part list at the end of the system menu
-		systemMenuManager.add(new Separator());
-		systemMenuManager.add(new CloseContributionItem(this));
-		systemMenuManager.add(new CloseOthersContributionItem(this));
-		systemMenuManager.add(new CloseAllContributionItem(this));
-		systemMenuManager.add(new PartListContributionItem(this, getSite()));
-	}
-	
-	private void createButtonBar() {
-		viewMenu = new ToolItem(upperRight, SWT.PUSH);
-        upperRight.addListener(SWT.MouseDown, new Listener() {
-            public void handleEvent(Event event) {
-                Point p = new Point(event.x, event.y);
-                Rectangle r = viewMenu.getBounds();
-                
-                if (r.contains(p)) {
-                    showSystemMenu();
-                }
-            }
-        });
-		viewMenu.setImage(PresentationImages.getImage(PresentationImages.VIEW_MENU));
-	
-		showToolbar = new ToolItem(upperRight, SWT.PUSH);        
-        showToolbar.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                showToolbar(!isShowingToolbar());
-            }
-        });
-        	
-		if (getSite().supportsState(IStackPresentationSite.STATE_MINIMIZED)) {
-			minView = new ToolItem(upperRight, SWT.PUSH);
-			minView.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (current != null) {
-						if (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) {
-							getSite().setState(IStackPresentationSite.STATE_RESTORED);
-						} else {
-							getSite().setState(IStackPresentationSite.STATE_MINIMIZED);
-						}	
-					}
-				}				
-			});
-		}
-		
-		close = new ToolItem(upperRight, SWT.PUSH);
-		close.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (current != null) {
-					getSite().close(new IPresentablePart[] {current});
-				}
-			}
-			
-		});
-		close.setImage(PresentationImages.getImage(PresentationImages.CLOSE_VIEW));
-		
-		updateToolbarImages();
-	}
-	
-	private void updateToolbarImages() {
-		if (isShowingToolbar()) {
-			showToolbar.setImage(PresentationImages.getImage(PresentationImages.HIDE_TOOLBAR));
-		} else {
-			showToolbar.setImage(PresentationImages.getImage(PresentationImages.SHOW_TOOLBAR));
-		}
-
-		if (minView != null) {
-			String minImage = (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) ?
-					PresentationImages.RESTORE_VIEW : PresentationImages.MIN_VIEW;
-			minView.setImage(PresentationImages.getImage(minImage));
-		}
-		
-		upperRight.pack(true);
-		upperRight.redraw();
-	}
-	
-	public void refreshButtonBarEnablement() {
-		close.setEnabled(current != null && getSite().isCloseable(current));
-		titleIcon.setEnabled(current != null && current.getMenu() != null);
-		showToolbar.setEnabled(current != null && current.getToolBar() != null);
-	}
-
-	public void dispose() {
-		// Dispose the main presentation widget. This will cause 
-		// presentationDisposed to be called, which will do the real cleanup.
-		presentationControl.dispose();
-	}
-	
-	/**
-	 * Perform any cleanup. This method should remove any listeners that were
-	 * attached to other objects. This gets called when the presentation
-	 * widget is disposed. This is safer than cleaning up in the dispose() 
-	 * method, since this code will run even if some unusual circumstance 
-	 * destroys the Shell without first calling dispose().
-	 */
-	protected void presentationDisposed() {
-	    // Remove any listeners that were attached to any
-		// global Eclipse resources. This is necessary in order to prevent
-		// memory leaks.
-		PlatformUI.getWorkbench().getThemeManager().removePropertyChangeListener(themeChangeListener);
-	}
-
-	public void setBounds(Rectangle bounds) {
-		Rectangle newBounds = Geometry.copy(bounds);
-		
-		if (newBounds.width == 0) {
-			// Workaround a bug in the Eclipse 3.0 release: minimized presentations will be
-			// given a width of 0.
-			newBounds.width = presentationControl.getBounds().width;
-		}
-		
-		if (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) {
-			newBounds.height = computeMinimumSize().y;
-		}
-		
-		// Set the bounds of the presentation widge
-		presentationControl.setBounds(newBounds);
-		
-		// Update the bounds of the currently visible part
-		layout();
-	}
-	
-	/**
-	 * Lay out the presentation's widgets
-	 */
-	private void layout() {
-		
-		// Determine the inner bounds of the presentation
-		Rectangle presentationClientArea = presentationControl.getClientArea();
-		presentationClientArea.x += getBorderWidth();
-		presentationClientArea.width -= getBorderWidth() * 2;
-		presentationClientArea.y += getBorderWidth();
-		presentationClientArea.height -= getBorderWidth() * 2;
-		
-		// Position the upper-right toolbar
-		Point upperRightSize = upperRight.getSize();
-		int upperRightStartX = presentationClientArea.x + presentationClientArea.width - upperRightSize.x - SPACING_WIDTH;
-
-		Rectangle upperRightBounds = new Rectangle(upperRightStartX,
-				presentationClientArea.y + SPACING_WIDTH, upperRightSize.x, upperRightSize.y);
-		
-		upperRight.setBounds(upperRightBounds);
-		
-		int tabStart = presentationClientArea.x + SPACING_WIDTH + 1;
-		int verticalSpaceRequired = 0;
-		if (!showIconOnTabs) {
-			Point upperLeftSize;
-
-			upperLeftSize = titleIconToolbar.getSize();
-			Rectangle upperLeftBounds = new Rectangle(presentationClientArea.x + SPACING_WIDTH, 
-					presentationClientArea.y + SPACING_WIDTH,
-					upperLeftSize.x, upperLeftSize.y);
-			
-			titleIconToolbar.setBounds(upperLeftBounds);
-
-			tabStart = upperLeftBounds.x + upperLeftBounds.width + SPACING_WIDTH;
-			verticalSpaceRequired = upperLeftSize.y;
-		} 
-		
-		int availableTabWidth = upperRightStartX - tabStart - SPACING_WIDTH;
-		
-		Point toolbarSize = toolBar.computeSize(availableTabWidth, SWT.DEFAULT);
-		int minToolbarWidth = WrappedTabsUtil.getMaximumItemWidth(toolBar);
-				
-		toolBar.setBounds(tabStart,
-				presentationClientArea.y + SPACING_WIDTH, 
-				availableTabWidth, toolbarSize.y);
-		
-		verticalSpaceRequired = Math.max(verticalSpaceRequired, upperRightSize.y);
-		verticalSpaceRequired = Math.max(verticalSpaceRequired, toolbarSize.y);
-		
-		int verticalOffset = presentationClientArea.y + verticalSpaceRequired + getBorderWidth() + 2 * SPACING_WIDTH;
-		
-		contentArea.setBounds(presentationClientArea.x, verticalOffset, 
-				presentationClientArea.width, presentationClientArea.height - verticalOffset);
-		
-		if (isShowingToolbar()) {
-			contentArea.setTopLeft(contentDescriptionWrapper);
-			contentArea.setTopCenter(toolbarProxy.getControl());
-		} else {
-			contentArea.setTopLeft(null);
-			contentArea.setTopCenter(null);
-		}
-		
-		contentArea.layout();
-		
-		// Position the view's widgets
-		if (current != null) {
-			Rectangle clientRectangle = clientArea.getBounds();
-			Point clientAreaStart = presentationControl.getParent().toControl(
-					contentArea.toDisplay(clientRectangle.x, clientRectangle.y));
-			
-			current.setBounds(new Rectangle(clientAreaStart.x, 
-					clientAreaStart.y,
-					clientRectangle.width, 
-					clientRectangle.height));
-		}
-		
-	}
-
-	private int getBorderWidth() {
-		return PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getInt(WrappedTabsThemeConstants.BORDER_SIZE);
-	}
-
-	public Point computeMinimumSize() {
-		Point minSize = new Point(100, 16);
-		Point upperLeftSize = titleIconToolbar.getSize();
-		Point toolBarSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
-		
-		int BORDER_WIDTH = getBorderWidth();
-		Point result = new Point(minSize.x + upperLeftSize.x + 3 * SPACING_WIDTH + 2 * BORDER_WIDTH, 
-				Math.max(Math.max(upperLeftSize.y, minSize.y), toolBarSize.y) 
-				+ 2 * SPACING_WIDTH + 2 * BORDER_WIDTH);
-		
-		return result;
-	}
-
-	public void setVisible(boolean isVisible) {
-		
-		// Make the presentation widget visible
-		presentationControl.setVisible(isVisible);
-		
-		// Make the currently visible part visible
-		if (current != null) {
-			current.setVisible(isVisible);
-			if (current.getToolBar() != null) {
-				current.getToolBar().setVisible(isVisible && isShowingToolbar());
-			}
-		}
-
-		if (isVisible) {
-			// Restore the bounds of the currently visible part. 
-			// IPartPresentations can be used by multiple StackPresentations,
-			// although only one such presentation is ever visible at a time.
-			// It is possible that some other presentation has changed the
-			// bounds of the part since it was last visible, so we need to
-			// update the part's bounds when the presentation becomes visible.
-			layout();
-		}
-	}
-
-	private void clearSelection() {
-		// If there was an existing part selected, make it invisible
-		if (current != null) {
-			current.setVisible(false);
-		}
-
-		current = null;
-	}
-	
-	public void currentPartChanged() {
-		boolean layoutNeeded = false;
-		
-		if (titleIcon.getImage() != current.getTitleImage()) {
-			titleIcon.setImage(current.getTitleImage());
-			titleIcon.setDisabledImage(current.getTitleImage());
-			titleIconToolbar.pack(true);
-			titleIconToolbar.redraw();
-			
-			layoutNeeded = true;
-		}
-		
-		if (!contentDescription.getText().equals(current.getTitleStatus())) {
-			contentDescription.setText(current.getTitleStatus());
-			
-			layoutNeeded = true;
-		}
-			
-		if (current.getToolBar() != null) {
-			if (isShowingToolbar()) {
-				current.getToolBar().setVisible(true);
-				layoutNeeded = true;
-			} else {
-				current.getToolBar().setVisible(false);
-			}
-			
-			toolbarProxy.setTargetControl(current.getToolBar());
-		}
-		
-		if (layoutNeeded) {
-			layout();
-		}
-	}
-	
-	public void selectPart(IPresentablePart toSelect) {
-		// Ignore redundant selections
-		if (toSelect == current) {
-			return;
-		}
-		
-		clearSelection();
-		
-		// Select the new part
-		current = toSelect;
-		
-		// Ordering is important here. We need to make the part
-		// visible before updating its bounds, or the call to setBounds
-		// may be ignored.
-		
-		if (current != null) {
-			// Make the newly selected part visible
-			current.setVisible(true);
-			
-			ToolItem[] items = toolBar.getItems();
-			
-			for (int idx = 0; idx < items.length; idx++) {
-				ToolItem item = items[idx];
-				
-				item.setSelection(getPartForTab(item) == current);
-			}
-			
-			currentPartChanged();
-		}
-		
-		refreshButtonBarEnablement();
-		updateToolbarImages();
-		
-		// Update the bounds of the newly selected part
-		layout();
-	}
-
-	public Control[] getTabList(IPresentablePart part) {
-		return new Control[] {part.getControl()};
-	}
-
-	public Control getControl() {
-		return presentationControl;
-	}
-
-	private int indexOf(IPresentablePart part) {
-		ToolItem item = getTab(part);
-		
-		if (item == null) {
-			return -1;
-		}
-		
-		return toolBar.indexOf(item); 
-	}
-	
-	public void addPart(IPresentablePart newPart, Object cookie) {
-		if (getTab(newPart) != null) {
-			return;
-		}
-		
-		int position = toolBar.getItemCount();
-		
-		// If this part is being added due to a drag/drop operation,
-		// determine the correct insertion position
-		if (cookie instanceof DropLocation) {
-			DropLocation location = (DropLocation)cookie;
-			
-			position = indexOf(location.part);
-			
-			// If we can't find the tab, then fall back to the
-			// insertionPosition field
-			if (position == -1) {
-				position = location.insertionPosition;
-			} else {
-				if (!location.before) {
-					position++;
-				}
-			}
-		}
-		
-		// Ignore the cookie for now, since we don't support drag-and-drop yet.
-		ToolItem toolItem = new ToolItem(toolBar, SWT.RADIO, position);
-		
-		// Attach the newPart pointer to the ToolItem. This is used for getPartForTab
-		// to determine which part is associated with the tool item
-		toolItem.setData(PART_DATA, newPart);
-		
-		// Attach a property change listener to the part. This will update the ToolItem
-		// to reflect changes in the part.
-		newPart.addPropertyListener(childPropertyChangeListener);
-		
-		// Attach a dispose listener to the item. This removes the above property
-		// change listener from the part when the item is destroyed. This prevents
-		// memory leaks.
-		toolItem.addDisposeListener(tabDisposeListener);
-		
-		// Listen to selection events in the new tool item
-		toolItem.addSelectionListener(tabItemSelectionAdapter);
-		
-		// Initialize the tab for this part
-		initTab(toolItem, newPart);
-		
-		layout();
-		
-		toolBar.layout(true);
-		presentationControl.redraw();
-	}
-
-	protected void initTab(ToolItem item, IPresentablePart part) {
-		String tabName = getTabText(part);
-		
-		if (!tabName.equals(item.getText())) {
-			item.setText(tabName);
-		}
-		
-		if (!(part.getTitleToolTip().equals(item.getToolTipText()))) {
-			item.setToolTipText(part.getTitleToolTip());
-		}
-
-		if (showIconOnTabs && part.getTitleImage() != item.getImage()) {
-			item.setImage(part.getTitleImage());
-		}
-		
-	}
-	
-	/**
-	 * Returns the decorated tab text for the given part. By default, we attach 
-	 * a star to indicate dirty tabs.
-	 * 
-	 * @param part part whose text is being computed
-	 * @return the decorated tab text for the given part
-	 */
-	protected String getTabText(IPresentablePart part) {
-		String result = part.getName();
-		
-		if (part.isDirty()) {
-			result = "*" + result;
-		}
-		
-		return result;
-	}
-	
-	/**
-	 * Removes the given part from the stack.
-	 * 
-	 * @param oldPart the part to remove (not null)
-	 */
-	public void removePart(IPresentablePart oldPart) {
-		// If we're removing the currently selected part, clear the selection
-		if (oldPart == current) {
-			clearSelection();
-			refreshButtonBarEnablement();
-		}
-		
-		ToolItem item = getTab(oldPart);
-		
-		// Don't need to do anything if the part has already been removed
-		if (item == null) {
-			return;
-		}
-		
-		// Dispose the tab. The dispose listener on the item
-		// will handle all the cleanup.
-		item.dispose();
-		
-		layout();
-		
-		presentationControl.redraw();
-	}
-
-	/**
-	 * Called whenever a property changes for one of the parts in this
-	 * presentation. 
-	 * 
-	 * @param part
-	 * @param property
-	 */
-	protected void childPropertyChanged(IPresentablePart part, int property) {
-		ToolItem toolItem = getTab(part);
-		
-		// If there is no tab for this part, just ignore the property change
-		if (toolItem == null) {
-			return;
-		}
-		
-		initTab(toolItem, part);
-		
-		if (part == current) {
-			currentPartChanged();
-		}
-	}
-
-	/**
-	 * Returns the tab associated with the given part or null if none 
-	 * 
-	 * @param part the part to check for
-	 * @return the tab associated with the given part or null if none
-	 */
-	protected final ToolItem getTab(IPresentablePart part) {
-		ToolItem[] items = toolBar.getItems();
-		
-		for (int idx = 0; idx < items.length; idx++) {
-			ToolItem item = items[idx];
-			
-			if (getPartForTab(item) == part) {
-				return item;
-			}
-		}
-			
-		return null;
-	}
-	
-	/**
-	 * Returns the part associated with the given tab, or null if none.
-	 * 
-	 * @param item the tab to query
-	 * @return the part associated with the given tab or null if none
-	 */
-	protected final IPresentablePart getPartForTab(ToolItem item) {
-		return (IPresentablePart)item.getData(PART_DATA);
-	}
-	
-	public StackDropResult dragOver(Control currentControl, Point location) {		
-		Point localCoordinates = toolBar.toControl(location);
-		
-		// Ignore drag operations that aren't on top of the toolbar we're using
-		// for tabs.
-		if (toolBar.getClientArea().contains(localCoordinates)) {
-			DropLocation dropLocation = new DropLocation();
-			
-			ToolItem item = toolBar.getItem(localCoordinates);
-			
-			if (item == null) {
-				item = toolBar.getItem(toolBar.getItemCount() - 1);
-			}
-			
-			Rectangle itemBounds = item.getBounds();
-			dropLocation.before = (localCoordinates.x - itemBounds.x < itemBounds.width / 2);
-			dropLocation.part = getPartForTab(item);
-			// Also store the current index of the part we're dragging over. We will use
-			// the index if the part no longer exists at the time the drop occurs (ie:
-			// if we're dragging an item over itself)
-			dropLocation.insertionPosition = toolBar.indexOf(item);
-			
-			Point displayCoordinates = toolBar.toDisplay(itemBounds.x, itemBounds.y);
-			
-			Rectangle bounds = new Rectangle(displayCoordinates.x, displayCoordinates.y, 
-					4, itemBounds.height);
-			if (!dropLocation.before) {
-				bounds.x += itemBounds.width;
-			}
-			
-			return new StackDropResult(bounds, dropLocation);
-		}
-		
-		return null;
-	}
-	
-	public void setActive(int newState) {
-		activeFocus = (newState == AS_ACTIVE_FOCUS);
-		presentationControl.redraw();
-	}
-	
-	public void setState(int state) {
-		updateToolbarImages();
-	}
-	
-	public void showPaneMenu(Point location) {
-		if (current == null) {
-			return;
-		}
-		
-		IPartMenu menu = current.getMenu();
-		
-		if (menu == null) {
-			return;
-		}
-
-		menu.showMenu(location);
-	}
-	
-	public void showPaneMenu() {	
-		Rectangle bounds = titleIconToolbar.getBounds();
-		Point location = titleIconToolbar.getParent().toDisplay(bounds.x, bounds.y + bounds.height);
-		
-		showPaneMenu(location);
-	}
-	
-	public void showSystemMenu() {
-		Rectangle bounds = viewMenu.getBounds();
-		Point displayPos = viewMenu.getParent().toDisplay(bounds.x, bounds.y + bounds.height);
-    	
-		showSystemMenu(displayPos);
-	}
-	
-	public void showSystemMenu(Point displayPos) {
-		Menu aMenu = systemMenuManager.createContextMenu(presentationControl);
-		systemMenuManager.update(true);
-		aMenu.setLocation(displayPos.x, displayPos.y);
-		aMenu.setVisible(true);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#showPartList()
-	 */
-	public void showPartList() {
-		
-		// The part list opens when the user presses ctrl-e to open the list
-		// of editors. In this presentation, the part list is part of the system menu,
-		// so opening the part list is equivalent to opening the system menu.
-		showSystemMenu();
-	}
-
-	protected void showToolbar(IPresentablePart part, boolean shouldShow) {
-		
-		if (shouldShow != isShowingToolbar(part)) {
-			ToolItem tab = getTab(part);
-			tab.setData(SHOWING_TOOLBAR, shouldShow ? SHOWING_TOOLBAR : null);
-			
-			if (part == current) {
-				Control toolbar = part.getToolBar();
-				if (toolbar != null) {
-					toolbar.setVisible(shouldShow);
-				}
-				
-				layout();
-		
-				updateToolbarImages();
-				
-				if (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) {
-					getSite().setState(IStackPresentationSite.STATE_RESTORED);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * @param selection
-	 */
-	public void showToolbar(boolean selection) {
-		if (current != null) {
-			showToolbar(current, selection);
-		}
-	}
-	
-	public IPresentablePart getCurrent() {
-		return current;
-	}
-	
-	private boolean isShowingToolbar(IPresentablePart part) {
-		ToolItem tab = getTab(part);
-		return tab.getData(SHOWING_TOOLBAR) != null;
-	}
-	
-	public boolean isShowingToolbar() {
-		if (current == null) {
-			return false;
-		}
-		
-		return isShowingToolbar(current);		
-	}
-
-	/**
-	 * @param parts
-	 */
-	public void close(IPresentablePart[] parts) {
-		getSite().close(parts);
-	}
-	
-	private Color getBorderColor() {
-		ITheme current = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme();
-		if(activeFocus) {
-			return current.getColorRegistry().get(WrappedTabsThemeConstants.BORDER_COLOR_FOCUS);
-		} else {
-			return current.getColorRegistry().get(WrappedTabsThemeConstants.BORDER_COLOR_NOFOCUS);
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPresentationFactory.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPresentationFactory.java
deleted file mode 100644
index 7e20edc..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPresentationFactory.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.examples.presentation.wrappedtabs;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * @since 3.0
- */
-public class WrappedTabsPresentationFactory extends AbstractPresentationFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createEditorPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createEditorPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new WrappedTabsPartPresentation(parent, site, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createViewPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new WrappedTabsPartPresentation(parent, site, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createStandaloneViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite, boolean)
-	 */
-	public StackPresentation createStandaloneViewPresentation(Composite parent,
-			IStackPresentationSite site, boolean showTitle) {
-		return new WrappedTabsPartPresentation(parent, site, false);
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsThemeConstants.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsThemeConstants.java
deleted file mode 100644
index 6aad8a0..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsThemeConstants.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.examples.presentation.wrappedtabs;
-
-/**
- * Theme presentation constants
- * 
- * @since 3.0
- */
-public class WrappedTabsThemeConstants {
-	public final static String ID = "org.eclipse.ui.examples.presentation.wrappedtabstheme"; //$NON-NLS-1$
-	
-	public final static String TAB_FONT = "org.eclipse.ui.examples.presentation.wrappedtabstheme.font"; //$NON-NLS-1$
-	public final static String BORDER_COLOR_FOCUS = "org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_focus"; //$NON-NLS-1$
-	public final static String BORDER_COLOR_NOFOCUS = "org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_nofocus"; //$NON-NLS-1$
-	public final static String BORDER_SIZE = "org.eclipse.ui.examples.presentation.wrappedtabstheme.bordersize"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsUtil.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsUtil.java
deleted file mode 100644
index 7d8db35..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsUtil.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-
-/**
- * @since 3.0
- */
-public class WrappedTabsUtil {
-	private WrappedTabsUtil() {
-		
-	}
-	
-	/**
-	 * Returns the width of the widest ToolItem in the given toolbar
-	 * 
-	 * @param toMeasure toolbar to measure
-	 * @return the width (pixels) of the widest ToolItem in the given toolbar
-	 */
-	public static int getMaximumItemWidth(ToolBar toMeasure) {
-		int maxWidth = 0;
-		ToolItem items[] = toMeasure.getItems();
-		
-		for (int i = 0; i < items.length; i++) {
-			ToolItem item = items[i];
-			
-			maxWidth = Math.max(maxWidth, item.getBounds().width);
-		}
-		
-		return maxWidth;
-	}
-}
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 841d565..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:17:32 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4538f90..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:17:32 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
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 632cb55..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Jan 10 16:54:15 EST 2006
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
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 629203d..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, 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.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();
-    }
-}
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 e50ec6d..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, 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.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);
-    }
-}
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 b4dbd20..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, 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.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();
-    }
-}
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 674f82b..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, 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.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$
-    }
-}
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 1527050..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, 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.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;
-    }
-}
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 c2d66bd..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, 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.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$
-}
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 d8d8921..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, 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.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$
-        }
-    }
-}
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 db59f96..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, 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.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();
-    }
-}
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 7a50037..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, 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.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;
-        }
-    }
-}
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 1191753..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, 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.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;
-    }
-}
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 e800215..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, 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.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$
-    }
-}
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 36cb1e2..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, 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
- *     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;
-    }
-}
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 3b01979..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, 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.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();
-    }
-}
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 055804c..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, 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.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();
-    }
-}
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 8300e92..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, 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.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;
-    }
-}
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 2bf2165..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, 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.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();
-    }
-}
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 24ad584..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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.propertysheet/META-INF/MANIFEST.MF
deleted file mode 100644
index 2574ff3..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.propertysheet; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: propertysheet.jar
-Bundle-Activator: org.eclipse.ui.examples.propertysheet.PropertySheetPlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.views,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.text,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors
-Eclipse-AutoStart: true
-Eclipse-AutoStart-comment: Use Eclipse-AutoStart instead of Eclipse-LazyStart because the property sheet example should run against 3.1 as well as 3.2.
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 e336131..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/about.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 2d4eaff..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.propertysheet.jar = Eclipse UI Examples PropertySheet/
-
-bin.includes = doc-html/,\
-               icons/,\
-               .options,\
-               about.html,\
-               doc.zip,\
-               HelpContexts.xml,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               META-INF/
-
-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 a41081e..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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/ui_propertysheet_ex.html b/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
deleted file mode 100644
index 54205b2..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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;
-
-</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 15530e3..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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = 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 d834a9e..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <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/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ceaf223..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:17:40 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 19dd0a9..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:17:40 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/Browser.product b/examples/org.eclipse.ui.examples.rcp.browser/Browser.product
deleted file mode 100644
index cf1dee7..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/Browser.product
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="%productName" id="org.eclipse.ui.examples.rcp.browser.product" application="org.eclipse.ui.examples.rcp.browser.app" useFeatures="false">
-
-   <aboutInfo>
-      <image path="icons/eclipse_lg.gif"/>
-      <text>
-         %aboutText
-      </text>
-   </aboutInfo>
-
-   <configIni use="default"/>
-
-   <launcherArgs>
-   </launcherArgs>
-
-   <windowImages small="icons/eclipse.gif" large="icons/eclipse32.gif"/>
-
-
-   <launcher name="browser">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <plugins includeFragments="false">
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.carbon.macosx.ppc"/>
-      <plugin id="org.eclipse.swt.gtk.linux.ia64"/>
-      <plugin id="org.eclipse.swt.gtk.linux.ppc"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86_64"/>
-      <plugin id="org.eclipse.swt.gtk.solaris.sparc"/>
-      <plugin id="org.eclipse.swt.motif.aix.ppc"/>
-      <plugin id="org.eclipse.swt.motif.hpux.ia64_32"/>
-      <plugin id="org.eclipse.swt.motif.hpux.PA_RISC"/>
-      <plugin id="org.eclipse.swt.motif.linux.x86"/>
-      <plugin id="org.eclipse.swt.motif.solaris.sparc"/>
-      <plugin id="org.eclipse.swt.photon.qnx.x86"/>
-      <plugin id="org.eclipse.swt.win32.wce_ppc.arm"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.examples.rcp.browser"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-   </plugins>
-
-</product>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.rcp.browser/META-INF/MANIFEST.MF
deleted file mode 100644
index 1dd3eae..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.examples.rcp.browser; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: browser.jar
-Bundle-Activator: org.eclipse.ui.examples.rcp.browser.BrowserPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.ui
-Eclipse-AutoStart: true
-Eclipse-AutoStart-comment: Use Eclipse-AutoStart instead of Eclipse-LazyStart because the browser example should run against 3.1 as well as 3.2.
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 e336131..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/about.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 aedb59a..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/build.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-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,\
-               META-INF/
-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/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 dda8933..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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= 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 ae8d123..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <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"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <scheme
-            name="Browser Keys"
-            id="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.back"
-            sequence="M3+ARROW_LEFT"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.forward"
-            sequence="M3+ARROW_RIGHT"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.stop"
-            sequence="ESC"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.refresh"
-            sequence="F5"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.newTab"
-            sequence="M1+T"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.history"
-            sequence="M1+H"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.easterEgg"
-            sequence="M1+M2+E"
-            schemeId="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 94be69a..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 1f21ad5..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/readme.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<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 c3022a1..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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.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();
-		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 f214ba5..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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 1b2a736..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, 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.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 1a36c5e..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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 dca29a8..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPlugin.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartReference;
-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 static 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 c9d351c..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 Eclipse Public License v1.0
- * which accompanies 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.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 51b1f2b..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.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);
-            }
-        });
-        // TODO: should handle VisibilityWindowListener.show and .hide events
-        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.  Closes the window too if there
-     * are no non-secondary parts open.
-     */
-    private void close() {
-        IWorkbenchPage page = getSite().getPage();
-        IWorkbenchWindow window = page.getWorkbenchWindow();
-        page.hideView(this);
-        if (BrowserPlugin.getNonSecondaryParts(page).size() == 0) {
-            page.closePerspective(page.getPerspective(), true, true);
-        }
-        if (window.getActivePage() == null) {
-            window.close();
-        }
-    }
-
-}
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 d8e40e8..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.swt.graphics.Point;
-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 (add back the missing imports using Ctrl+Shift+O) 
-/*    
-      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 6ac0d4e..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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();
-	}
-}
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 bee4bf0..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 Eclipse Public License v1.0
- * which accompanies 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.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 4e2c1bb..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 Eclipse Public License v1.0
- * which accompanies 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.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 6d893ed..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:26:49 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index f2fc6e2..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:26:49 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
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 e5fd2a4..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Jan 10 16:54:24 EST 2006
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
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 7fdf6f3..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, 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.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();
-    }
-}
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 4d05e2d..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, 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
- *     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);
-    }
-}
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 584a02c..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, 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.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
-        }
-
-    }
-
-}
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 d50b12e..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, 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.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);
-    }
-}
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 f2bdb9f..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, 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.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$
-    }
-}
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 4c1af98..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, 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.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 workbench 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 workbench
-     * @param editor the matching editor that has been activated
-     */
-    public void setActiveEditor(IAction action, IEditorPart editor) {
-        this.editor = editor;
-    }
-}
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 916f365..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, 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.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$
-}
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 91e2dba..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, 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.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);
-}
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 8c08d0f..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, 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.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;
-    }
-}
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 270056c..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, 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.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
-    }
-}
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 178fbcc..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, 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.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$
-        }
-    }
-}
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 0dec0bc..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, 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.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;
-    }
-}
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 457a5a4..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, 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.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();
-    }
-}
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 e25ee80..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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.PlatformUI;
-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);
-
-        PlatformUI.getWorkbench().getHelpSystem().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);
-    }
-}
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 71f7460..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-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();
-
-        PlatformUI.getWorkbench().getHelpSystem().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);
-    }
-}
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 8e38a35..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, 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.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 workbench
- * 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();
-    }
-}
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 77c6534..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, 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.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;
-    }
-}
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 1565bed..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, 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.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$
-        }
-    }
-
-}
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 58c466a..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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.PlatformUI;
-import org.eclipse.ui.actions.LabelRetargetAction;
-import org.eclipse.ui.actions.RetargetAction;
-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);
-        PlatformUI.getWorkbench().getHelpSystem().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$
-        PlatformUI.getWorkbench().getHelpSystem().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$
-        PlatformUI.getWorkbench().getHelpSystem().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);
-    }
-}
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 4dce10a..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * 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);
-
-        PlatformUI.getWorkbench().getHelpSystem().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;
-    }
-}
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 81101ca..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * 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);
-
-        PlatformUI.getWorkbench().getHelpSystem().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;
-    }
-}
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 f7c3524..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, 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
- *     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();
-    }
-}
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 d7eb047..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, 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.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;
-    }
-
-}
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 21c7a1d..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, 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
- *     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;
-        }
-    }
-}
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 697feff..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, 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
- *     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;
-    }
-
-}
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 5ee1760..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 Eclipse Public License v1.0
- * which accompanies 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.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 0290f6b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.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.PlatformUI;
-
-/**
- * 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) {
-    	PlatformUI.getWorkbench().getHelpSystem().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 workbench.
-     */
-    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;
-    }
-}
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 1061693..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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.PlatformUI;
-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);
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
-				IReadmeConstants.SECTIONS_VIEW_CONTEXT);
-
-        // if the objects in the viewer implement IWorkbenchAdapter,
-        // 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();
-    }
-}
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 e811ca5..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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.PlatformUI;
-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 workbench.
- */
-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$
-        PlatformUI.getWorkbench().getHelpSystem().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;
-    }
-}
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 03eb8eb..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, 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.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
-    }
-}
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 e51bfd3..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, 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.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 
- * workbench 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;
-    }
-}
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 124a965..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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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 &
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/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.readmetool/META-INF/MANIFEST.MF
deleted file mode 100644
index e9fb2da..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: readmetool.jar
-Bundle-Activator: org.eclipse.ui.examples.readmetool.ReadmePlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.views,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.text,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors
-Eclipse-AutoStart: true
-Eclipse-AutoStart-comment: Use Eclipse-AutoStart instead of Eclipse-LazyStart because the readme example should run against 3.1 as well as 3.2.
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 e336131..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/about.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</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 66a617c..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/build.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.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,\
-               META-INF/
-
-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 a41081e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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/ui_readmetool_ex.html b/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
deleted file mode 100644
index e624f8b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Workbench - 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.
-
-</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 a41081e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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/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 986462a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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>
-
-</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 b197e80..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 name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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.
-
-</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 b41bad2..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = 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
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 fa46964..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.xml
+++ /dev/null
@@ -1,371 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- ================================================================== -->
-<!--         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.examples.undo/.classpath b/examples/org.eclipse.ui.examples.undo/.classpath
deleted file mode 100644
index a3734f5..0000000
--- a/examples/org.eclipse.ui.examples.undo/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples Undo"/>
-	<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.undo/.cvsignore b/examples/org.eclipse.ui.examples.undo/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.undo/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.undo/.project b/examples/org.eclipse.ui.examples.undo/.project
deleted file mode 100644
index bfd3d88..0000000
--- a/examples/org.eclipse.ui.examples.undo/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.undo</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/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5176040..0000000
--- a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Tue Oct 18 16:50:46 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 0cb7d76..0000000
--- a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Tue Oct 18 15:15:38 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index a26a239..0000000
--- a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Oct 18 16:45:19 EDT 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/AddBoxOperation.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/AddBoxOperation.java
deleted file mode 100644
index 347da11..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/AddBoxOperation.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Canvas;
-
-/**
- * An operation that adds a box.
- */
-public class AddBoxOperation extends BoxOperation {
-
-	public AddBoxOperation(String label, IUndoContext context, Boxes boxes, Box box, Canvas canvas) {
-		super(label, context, boxes, box, canvas);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		boxes.add(box);
-		canvas.redraw(box.x1, box.y1, box.x2, box.y2, false);
-		return Status.OK_STATUS;
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#canUndo()
-	 */
-	public boolean canUndo() {
-		return boxes.contains(box);
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#canRedo()
-	 */
-	public boolean canRedo() {
-		return !boxes.contains(box);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		return execute(monitor, info);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		boxes.remove(box);
-		canvas.redraw(box.x1, box.y1, box.x2, box.y2, false);
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Box.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Box.java
deleted file mode 100644
index cff1a4d..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Box.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * 2D Box that can move itself, hit-test, and draw.
- */
-public class Box  {
-	
-	/*
-	 * The location of the box.
-	 */
-	public int x1, y1, x2, y2;
-	
-	/*
-	 * Constructs a box, defined by any two diametrically 
-	 * opposing corners.
-	 */
-	public Box(int x1, int y1, int x2, int y2) {
-		super();
-		set(x1, y1, x2, y2);
-	}
-	
-	/*
-	 * Move the box to a new origin.
-	 */
-	public void move(Point origin) {
-		set(origin.x, origin.y, origin.x + getWidth(), origin.y + getHeight());
-	}
-	
-	/*
-	 * Draw the box with the specified gc.
-	 */
-	public void draw(GC gc) {
-		gc.drawRectangle(x1, y1, x2-x1, y2-y1);
-	}
-	
-	/*
-	 * Set the position of the box
-	 */
-	private void set(int x1, int y1, int x2, int y2) {
-		this.x1 = Math.min(x1, x2);
-		this.y1 = Math.min(y1, y2);
-		this.x2 = Math.max(x1, x2);
-		this.y2 = Math.max(y1, y2);
-	}
-	
-	/*
-	 * Return true if this box contains the point specified by
-	 * the x and y.
-	 */
-	public boolean contains(int x, int y) {
-		return x >= x1 && 
-			x <= x2 && 
-			y >= y1 && 
-			y <= y2;
-	}
-	
-	/*
-	 * Answer the width of the box
-	 */
-	public int getWidth() {
-		return x2 - x1;
-	}
-	
-	/*
-	 * Answer the height of the box
-	 */
-	public int getHeight() {
-		return y2 - y1;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/BoxOperation.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/BoxOperation.java
deleted file mode 100644
index a0524eb..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/BoxOperation.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Canvas;
-
-/**
- * An undoable operation that represents a change to a box.
- */
-public abstract class BoxOperation extends AbstractOperation {
-	
-	/*
-	 * The box involved in the operation
-	 */
-	Box box;
-	
-	/*
-	 * The group of boxes involved in the operation
-	 */
-	Boxes boxes;
-	
-	/*
-	 * The canvas to update or draw on during an operation
-	 */
-	Canvas canvas;
-
-	public BoxOperation(String label, IUndoContext undoContext, Boxes boxes, Box box, Canvas canvas) {
-		super (label);
-		addContext(undoContext);
-		this.boxes = boxes;
-		this.box = box;
-		this.canvas = canvas;
-	}
-	
-	/*
-	 * Show the specified prompt in an info dialog.
-	 */
-	void showMessage(String message) {
-		MessageDialog.openInformation(canvas.getShell(),
-				UndoExampleMessages.BoxView_Title, message);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Boxes.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Boxes.java
deleted file mode 100644
index f299237..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Boxes.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.graphics.GC;
-
-/**
- * A collection of boxes
- */
-public class Boxes  {
-	
-	/*
-	 * The "model," a list of boxes
-	 */
-	private List boxes = new ArrayList();
-	
-	/*
-	 * Constructs a box collection
-	 */
-	public Boxes() {
-		super();
-	}
-	
-	/*
-	 * Add the specified box to the group of boxes.
-	 */
-	public void add(Box box) {
-		boxes.add(box);
-	}
-	
-	/*
-	 * Remove the specified box from the group of boxes.
-	 */
-	public void remove(Box box) {
-		boxes.remove(box);
-	}
-	
-	/*
-	 * Clear all the boxes from the list of boxes.
-	 */
-	public void clear() {
-		boxes = new ArrayList();
-	}
-	
-	/*
-	 * Return true if the group of boxes contains the specified box.
-	 */
-	public boolean contains(Box box) {
-		return boxes.contains(box);
-	}
-	
-	/*
-	 * Draw the boxes with the specified gc.
-	 */
-	public void draw(GC gc) {
-		for (int i = 0; i < boxes.size(); i++) {
-			((Box) boxes.get(i)).draw(gc);
-		}
-	}
-		
-	/*
-	 * Return the box containing the specified x and y, or null
-	 * if no box contains the point.
-	 */
-	public Box getBox(int x, int y) {
-		for (int i=0; i< boxes.size(); i++) {
-			Box box = (Box)boxes.get(i);
-			if (box.contains(x, y)) {
-				return box;
-			}
-		}
-		return null;
-	}
-	
-	/*
-	 * Return the list of boxes known by this group of boxes.
-	 */
-	public List getBoxes() {
-		return boxes;
-	}
-	
-	/*
-	 * Set the list of boxes known by this group of boxes.
-	 */
-	public void setBoxes(List boxes) {
-		this.boxes = boxes;
-	}
-	
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/ClearBoxesOperation.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/ClearBoxesOperation.java
deleted file mode 100644
index 70869b6..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/ClearBoxesOperation.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Canvas;
-
-/**
- * An operation that adds a box.
- */
-public class ClearBoxesOperation extends BoxOperation {
-
-	/*
-	 * The boxes that are saved after clearing
-	 */
-	private List savedBoxes = new ArrayList();
-	
-	public ClearBoxesOperation(String label, IUndoContext context, Boxes boxes, Canvas canvas) {
-		super(label, context, boxes, null, canvas);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		savedBoxes = boxes.getBoxes();
-		boxes.clear();
-		canvas.redraw();
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		return execute(monitor, info);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		boxes.setBoxes(savedBoxes);
-		canvas.redraw();
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/MoveBoxOperation.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/MoveBoxOperation.java
deleted file mode 100644
index b6b0d6e..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/MoveBoxOperation.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-
-/**
- * An operation that adds a box.
- */
-public class MoveBoxOperation extends BoxOperation {
-
-	/*
-	 * The point the box should move to/from.
-	 */
-	private Point origin;
-	private Point target;
-	
-	public MoveBoxOperation(String label, IUndoContext context, Box box, Canvas canvas, Point newOrigin) {
-		super(label, context, null, box, canvas);
-		origin = new Point(box.x1, box.y1);
-		target = new Point(newOrigin.x, newOrigin.y);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		box.move(target);
-		canvas.redraw();
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		return execute(monitor, info);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		box.move(origin);
-		canvas.redraw();
-		return Status.OK_STATUS;
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#getLabel()
-	 */
-	public String getLabel() {
-		final StringBuffer stringBuffer = new StringBuffer();
-		stringBuffer.append(super.getLabel());
-		stringBuffer.append("["); //$NON-NLS-1$
-		stringBuffer.append("("); //$NON-NLS-1$
-		stringBuffer.append(new Integer(origin.x).toString());
-		stringBuffer.append(", "); //$NON-NLS-1$
-		stringBuffer.append(new Integer(origin.y).toString());
-		stringBuffer.append(')');
-		stringBuffer.append(", "); //$NON-NLS-1$
-		stringBuffer.append("("); //$NON-NLS-1$
-		stringBuffer.append(new Integer(target.x).toString());
-		stringBuffer.append(", "); //$NON-NLS-1$
-		stringBuffer.append(new Integer(target.y).toString());
-		stringBuffer.append(')');
-		stringBuffer.append(']');
-		return stringBuffer.toString();
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/PromptingUserApprover.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/PromptingUserApprover.java
deleted file mode 100644
index 3b08b55..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/PromptingUserApprover.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.core.commands.operations.IOperationApprover;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.commands.operations.IOperationHistory;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.examples.undo.preferences.PreferenceConstants;
-
-/**
- * An operation approver that prompts the user to see whether an undo or redo
- * should continue. An example preference is checked to determine if prompting
- * should occur.
- */
-public final class PromptingUserApprover implements IOperationApprover {
-
-	private IUndoContext context;
-
-	/*
-	 * Create the operation approver.
-	 */
-	public PromptingUserApprover(IUndoContext context) {
-		super();
-		this.context = context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IOperationApprover#proceedRedoing(org.eclipse.core.commands.operations.IUndoableOperation,
-	 *      org.eclipse.core.commands.operations.IOperationHistory,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus proceedRedoing(IUndoableOperation operation,
-			IOperationHistory history, IAdaptable uiInfo) {
-
-		// return immediately if the operation is not relevant
-		if (!operation.hasContext(context))
-			return Status.OK_STATUS;
-
-		// allow the operation if we are not prompting
-		boolean prompt = UndoPlugin.getDefault().getPreferenceStore()
-				.getBoolean(PreferenceConstants.PREF_CONFIRMUNDO);
-		if (!prompt)
-			return Status.OK_STATUS;
-		return prompt(false, operation, uiInfo);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IOperationApprover#proceedUndoing(org.eclipse.core.commands.operations.IUndoableOperation,
-	 *      org.eclipse.core.commands.operations.IOperationHistory,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus proceedUndoing(IUndoableOperation operation,
-			IOperationHistory history, IAdaptable uiInfo) {
-
-		// return immediately if the operation is not relevant
-		if (!operation.hasContext(context))
-			return Status.OK_STATUS;
-
-		// allow the operation if we are not prompting
-		boolean prompt = UndoPlugin.getDefault().getPreferenceStore()
-				.getBoolean(PreferenceConstants.PREF_CONFIRMUNDO);
-		if (!prompt)
-			return Status.OK_STATUS;
-		return prompt(true, operation, uiInfo);
-	}
-
-	/*
-	 * Prompt the user as to whether to continue the undo or redo, and return an
-	 * OK_STATUS if we should continue, or a CANCEL_STATUS if we should not.
-	 */
-	private IStatus prompt(boolean undoing, IUndoableOperation operation,
-			IAdaptable uiInfo) {
-		boolean createdShell = false;
-		Shell shell = getShell(uiInfo);
-		if (shell == null) {
-			if (shell == null) {
-				createdShell = true;
-				shell = new Shell();
-			}
-		}
-		String command = undoing ? UndoExampleMessages.BoxView_Undo
-				: UndoExampleMessages.BoxView_Redo;
-		String message = NLS.bind(UndoExampleMessages.BoxView_ConfirmUndo, command,
-				operation.getLabel());
-		MessageDialogWithToggle dialog = MessageDialogWithToggle
-				.openOkCancelConfirm(shell, UndoExampleMessages.BoxView_Title,
-						message, UndoExampleMessages.UndoPreferences_DoNotConfirm, false, null, null);
-		UndoPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.PREF_CONFIRMUNDO, !dialog.getToggleState());
-
-		if (createdShell)
-			shell.dispose();
-		if (dialog.getReturnCode() == MessageDialogWithToggle.OK)
-			return Status.OK_STATUS;
-		return Status.CANCEL_STATUS;
-	}
-
-	/*
-	 * Return the shell described by the supplied uiInfo, or null if no shell is
-	 * described.
-	 */
-	Shell getShell(IAdaptable uiInfo) {
-		if (uiInfo != null) {
-			Shell shell = (Shell) uiInfo.getAdapter(Shell.class);
-			if (shell != null)
-				return shell;
-		}
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoExampleMessages.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoExampleMessages.java
deleted file mode 100644
index 678524a..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoExampleMessages.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for the undo example.
- *
- */
-public class UndoExampleMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.examples.undo.messages";//$NON-NLS-1$
-
-	public static String UndoPreferences_Description;
-	public static String UndoPreferences_HistoryLimit;
-	public static String UndoPreferences_ConfirmUndo;
-	public static String UndoPreferences_ShowDebug;
-	public static String UndoPreferences_DoNotConfirm;
-	
-	public static String UndoHistoryView_ContextFilterDialog;
-	public static String UndoHistoryView_ChooseContextMessage;
-	public static String UndoHistoryView_FilterText;
-	public static String UndoHistoryView_FilterToolTipText;
-	public static String UndoHistoryView_OperationInvalid;
-	public static String UndoHistoryView_OperationException;
-	public static String UndoHistoryView_UndoSelected;
-	public static String UndoHistoryView_UndoSelectedToolTipText;
-	public static String UndoHistoryView_RefreshList;
-	public static String UndoHistoryView_RefreshListToolTipText;
-	public static String UndoHistoryView_InfoDialogTitle;
-
-	public static String BoxView_Title;
-	public static String BoxView_ClearBoxes;
-	public static String BoxView_ClearBoxesToolTipText;
-	public static String BoxView_Move;
-	public static String BoxView_Add;
-	public static String BoxView_ConfirmUndo;
-	public static String BoxView_Undo;
-	public static String BoxView_Redo;
-	
-    static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, UndoExampleMessages.class);
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoPlugin.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoPlugin.java
deleted file mode 100644
index 8180980..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoPlugin.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UndoPlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static UndoPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public UndoPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static UndoPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.examples.undo2", path);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/messages.properties b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/messages.properties
deleted file mode 100644
index 2c2dad1..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/messages.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-########### Undo Preferences ###########################
-UndoPreferences_Description = Undo Example Preferences
-UndoPreferences_HistoryLimit = Undo history limit
-UndoPreferences_ConfirmUndo = Confirm all undo operations
-UndoPreferences_ShowDebug = Show debug labels in undo history view
-UndoPreferences_DoNotConfirm = Do not prompt for undo or redo again
-
-########### Undo History View ##########################
-UndoHistoryView_ContextFilterDialog = Context Filter Dialog
-UndoHistoryView_ChooseContextMessage = Choose the Context for the view
-UndoHistoryView_FilterText = Filter on...
-UndoHistoryView_FilterToolTipText = Set the undo context used to filter the operation history
-UndoHistoryView_UndoSelected = Undo selected
-UndoHistoryView_UndoSelectedToolTipText = Undo the selected operation
-UndoHistoryView_RefreshList = Refresh list
-UndoHistoryView_RefreshListToolTipText = Refresh and redraw the list
-UndoHistoryView_OperationInvalid = The selected operation cannot be undone in its current state
-UndoHistoryView_OperationException = An error occurred while trying to undo this operation
-UndoHistoryView_InfoDialogTitle = Undo History Example Information
-
-########### Box View ##########################
-BoxView_Title = Box View
-BoxView_ClearBoxes = Delete all boxes
-BoxView_ClearBoxesToolTipText = Delete all of the boxes from the view
-BoxView_Move = Move Box
-BoxView_Add = Add Box
-BoxView_ConfirmUndo = Are you sure you want to {0} "{1}"?
-BoxView_Undo = Undo
-BoxView_Redo = Redo
-
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceConstants.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceConstants.java
deleted file mode 100644
index 209f680..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceConstants.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.preferences;
-
-/**
- * Constant definitions for plug-in preferences
- */
-public class PreferenceConstants {
-
-	public static final String PREF_UNDOLIMIT = "prefUndoLimit";
-	public static final String PREF_SHOWDEBUG = "prefShowDebug";
-	public static final String PREF_CONFIRMUNDO = "prefConfirmUndo";
-	
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceInitializer.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceInitializer.java
deleted file mode 100644
index b706daf..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.ui.examples.undo.UndoPlugin;
-
-/**
- * Class used to initialize default preference values.
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = UndoPlugin.getDefault()
-				.getPreferenceStore();
-		store.setDefault(PreferenceConstants.PREF_CONFIRMUNDO, true);
-		store.setDefault(PreferenceConstants.PREF_UNDOLIMIT,
-				25);
-		store.setDefault(PreferenceConstants.PREF_SHOWDEBUG, false);
-		
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/UndoPreferencePage.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/UndoPreferencePage.java
deleted file mode 100644
index df35f35..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/UndoPreferencePage.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.preferences;
-
-import org.eclipse.jface.preference.*;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.examples.undo.UndoExampleMessages;
-import org.eclipse.ui.examples.undo.UndoPlugin;
-
-/**
- * This class is used to define preferences that control how
- * undo occurs.  It demonstrates the use of preferences to configure
- * the operation history in different ways.
- */
-
-public class UndoPreferencePage
-	extends FieldEditorPreferencePage
-	implements IWorkbenchPreferencePage {
-
-	public UndoPreferencePage() {
-		super(GRID);
-		setPreferenceStore(UndoPlugin.getDefault().getPreferenceStore());
-		setDescription(UndoExampleMessages.UndoPreferences_Description);
-	}
-	
-	/**
-	 * Creates the field editors. 
-	 */
-	public void createFieldEditors() {
-		
-		addField(
-				new IntegerFieldEditor(
-					PreferenceConstants.PREF_UNDOLIMIT,
-					UndoExampleMessages.UndoPreferences_HistoryLimit,
-					getFieldEditorParent()));
-
-		addField(
-				new BooleanFieldEditor(
-					PreferenceConstants.PREF_SHOWDEBUG,
-					UndoExampleMessages.UndoPreferences_ShowDebug,
-					getFieldEditorParent()));
-
-		addField(
-			new BooleanFieldEditor(
-				PreferenceConstants.PREF_CONFIRMUNDO,
-				UndoExampleMessages.UndoPreferences_ConfirmUndo,
-				getFieldEditorParent()));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/BoxView.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/BoxView.java
deleted file mode 100644
index 443b63f..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/BoxView.java
+++ /dev/null
@@ -1,461 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.views;
-
-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.MouseMoveListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.examples.undo.AddBoxOperation;
-import org.eclipse.ui.examples.undo.Box;
-import org.eclipse.ui.examples.undo.Boxes;
-import org.eclipse.ui.examples.undo.ClearBoxesOperation;
-import org.eclipse.ui.examples.undo.MoveBoxOperation;
-import org.eclipse.ui.examples.undo.PromptingUserApprover;
-import org.eclipse.ui.examples.undo.UndoExampleMessages;
-import org.eclipse.ui.examples.undo.UndoPlugin;
-import org.eclipse.ui.examples.undo.preferences.PreferenceConstants;
-import org.eclipse.ui.operations.RedoActionHandler;
-import org.eclipse.ui.operations.UndoActionHandler;
-import org.eclipse.ui.part.ViewPart;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IOperationApprover;
-import org.eclipse.core.commands.operations.IOperationHistory;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.commands.operations.ObjectUndoContext;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.SWT;
-
-public class BoxView extends ViewPart {
-	/*
-	 * The canvas to paint the boxes on.
-	 */
-	private Canvas paintCanvas;
-
-	/*
-	 * The gc used for drawing the rubber band.
-	 */
-	private GC gc;
-
-	/*
-	 * The model, a group of boxes
-	 */
-	private Boxes boxes = new Boxes();
-
-	/*
-	 * Undo and redo actions
-	 */
-	private UndoActionHandler undoAction;
-
-	private RedoActionHandler redoAction;
-
-	private IAction clearBoxesAction;
-
-	/*
-	 * Private undo context for box operations
-	 */
-	private IUndoContext undoContext;
-
-	/*
-	 * Operation approver for approving undo and redo
-	 */
-	private IOperationApprover operationApprover;
-
-	/*
-	 * Property change listener for the undo limit preference.
-	 */
-	private IPropertyChangeListener propertyChangeListener;
-
-	/*
-	 * True if a click-drag is in progress
-	 */
-	private boolean dragInProgress = false;
-
-	/*
-	 * True if a click-move is in progress
-	 */
-	private boolean moveInProgress = false;
-
-	/*
-	 * The box that is being moved.
-	 */
-	private Box movingBox;
-
-	/*
-	 * The diff between a moving box and the track position.
-	 */
-	int diffX, diffY;
-
-	/*
-	 * The position of the first click in a click-drag
-	 */
-	private Point anchorPosition = new Point(-1, -1);
-
-	/*
-	 * A temporary point in a drag or move operation
-	 */
-	private Point tempPosition = new Point(-1, -1);
-
-	/*
-	 * The rubber band position (the last recorded temp position)
-	 */
-	private Point rubberbandPosition = new Point(-1, -1);
-
-	/*
-	 * Construct a BoxView.
-	 */
-	public BoxView() {
-		super();
-		initializeOperationHistory();
-	}
-
-	/*
-	 * Create the canvas on which boxes are drawn and hook up all actions and
-	 * listeners.
-	 */
-	public void createPartControl(Composite parent) {
-		paintCanvas = new Canvas(parent, SWT.BORDER | SWT.V_SCROLL
-				| SWT.H_SCROLL | SWT.NO_REDRAW_RESIZE);
-
-		// set up a GC for drawing the tracking rectangle
-		gc = new GC(paintCanvas);
-		gc.setForeground(paintCanvas.getForeground());
-		gc.setLineStyle(SWT.LINE_SOLID);
-
-		// add listeners
-		addListeners();
-
-		// create actions and hook them up to the menus and toolbar
-		makeActions();
-		hookContextMenu();
-		createGlobalActionHandlers();
-		contributeToActionBars();
-	}
-
-	/*
-	 * Add listeners to the canvas.
-	 */
-	private void addListeners() {
-		paintCanvas.addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent event) {
-				if (event.button != 1)
-					return;
-				if (dragInProgress || moveInProgress)
-					return; // spurious event
-
-				tempPosition.x = event.x;
-				tempPosition.y = event.y;
-				Box box = boxes.getBox(event.x, event.y);
-				if (box != null) {
-					moveInProgress = true;
-					movingBox = box;
-					anchorPosition.x = box.x1;
-					anchorPosition.y = box.y1;
-					diffX = event.x - box.x1;
-					diffY = event.y - box.y1;
-				} else {
-					dragInProgress = true;
-					anchorPosition.x = event.x;
-					anchorPosition.y = event.y;
-				}
-			}
-
-			public void mouseUp(MouseEvent event) {
-				if (event.button != 1) {
-					resetDrag(true); // abort if right or middle mouse button
-					// pressed
-					return;
-				}
-				if (anchorPosition.x == -1)
-					return; // spurious event
-
-				if (dragInProgress) {
-					Box box = new Box(anchorPosition.x, anchorPosition.y,
-							tempPosition.x, tempPosition.y);
-					if (box.getWidth() > 0 && box.getHeight() > 0) {
-						try {
-							getOperationHistory().execute(
-									new AddBoxOperation(
-											UndoExampleMessages.BoxView_Add,
-											undoContext, boxes, box, paintCanvas),
-									null, null);
-						} catch (ExecutionException e) {
-						}
-						dragInProgress = false;
-					}
-				} else if (moveInProgress) {
-					try {
-						getOperationHistory().execute(
-								new MoveBoxOperation(
-										UndoExampleMessages.BoxView_Move,
-										undoContext, movingBox, paintCanvas,
-										anchorPosition), null, null);
-					} catch (ExecutionException e) {
-					}
-					moveInProgress = false;
-					movingBox = null;
-				}
-				resetDrag(false);
-
-				// redraw everything to clean up the tracking rectangle
-				paintCanvas.redraw();
-			}
-
-			public void mouseDoubleClick(MouseEvent event) {
-			}
-		});
-		paintCanvas.addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent event) {
-				if (dragInProgress) {
-					clearRubberBandSelection();
-					tempPosition.x = event.x;
-					tempPosition.y = event.y;
-					addRubberBandSelection();
-				} else if (moveInProgress) {
-					clearRubberBandSelection();
-					anchorPosition.x = event.x - diffX;
-					anchorPosition.y = event.y - diffY;
-					tempPosition.x = anchorPosition.x + movingBox.getWidth();
-					tempPosition.y = anchorPosition.y + movingBox.getHeight();
-					addRubberBandSelection();
-				}
-			}
-		});
-		paintCanvas.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				event.gc.setForeground(paintCanvas.getForeground());
-				boxes.draw(event.gc);
-			}
-		});
-
-		paintCanvas.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				// dispose the gc
-				gc.dispose();
-				// dispose listeners
-				removeListeners();
-			}
-		});
-
-		// listen for a change in the undo limit
-		propertyChangeListener = new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty() == PreferenceConstants.PREF_UNDOLIMIT) {
-					int limit = UndoPlugin.getDefault().getPreferenceStore()
-							.getInt(PreferenceConstants.PREF_UNDOLIMIT);
-					getOperationHistory().setLimit(undoContext, limit);
-				}
-			}
-		};
-		UndoPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(
-				propertyChangeListener);
-
-	}
-
-	/*
-	 * Remove listeners that were registered. Since the control is being
-	 * disposed, we are only removing non-control listeners.
-	 */
-	private void removeListeners() {
-		UndoPlugin.getDefault().getPreferenceStore()
-				.removePropertyChangeListener(propertyChangeListener);
-		getOperationHistory().removeOperationApprover(operationApprover);
-	}
-
-	/*
-	 * Hook a listener on the menu showing so we can fill the context menu with
-	 * our actions.
-	 */
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu");
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				BoxView.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(paintCanvas);
-		paintCanvas.setMenu(menu);
-	}
-
-	/*
-	 * Add our actions to the action bars.
-	 */
-	private void contributeToActionBars() {
-		IActionBars bars = getViewSite().getActionBars();
-		fillLocalPullDown(bars.getMenuManager());
-		fillLocalToolBar(bars.getToolBarManager());
-	}
-
-	/*
-	 * Add our undo and redo actions to the local pulldown.
-	 */
-	private void fillLocalPullDown(IMenuManager manager) {
-		manager.add(undoAction);
-		manager.add(redoAction);
-		manager.add(new Separator());
-		manager.add(clearBoxesAction);
-	}
-
-	/*
-	 * Add our undo and redo actions to the context menu.
-	 */
-	private void fillContextMenu(IMenuManager manager) {
-		manager.add(undoAction);
-		manager.add(redoAction);
-		manager.add(new Separator());
-		manager.add(clearBoxesAction);
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	/*
-	 * Add actions to the local toolbar.
-	 */
-	private void fillLocalToolBar(IToolBarManager manager) {
-		manager.add(clearBoxesAction);
-	}
-
-	/*
-	 * Make any local actions used in the view.
-	 */
-	private void makeActions() {
-		clearBoxesAction = new Action() {
-			public void run() {
-				try {
-					getOperationHistory().execute(
-							new ClearBoxesOperation(
-									UndoExampleMessages.BoxView_ClearBoxes,
-									undoContext, boxes, paintCanvas), null,
-							null);
-				} catch (ExecutionException e) {
-				}
-			}
-		};
-		clearBoxesAction.setText(UndoExampleMessages.BoxView_ClearBoxes);
-		clearBoxesAction
-				.setToolTipText(UndoExampleMessages.BoxView_ClearBoxesToolTipText);
-		clearBoxesAction.setImageDescriptor(PlatformUI.getWorkbench()
-				.getSharedImages().getImageDescriptor(
-						ISharedImages.IMG_TOOL_DELETE));
-	}
-
-	/*
-	 * Create the global undo and redo action handlers.
-	 */
-	private void createGlobalActionHandlers() {
-		// set up action handlers that operate on the current context
-		undoAction = new UndoActionHandler(this.getSite(), undoContext);
-		redoAction = new RedoActionHandler(this.getSite(), undoContext);
-		IActionBars actionBars = getViewSite().getActionBars();
-		actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(),
-				undoAction);
-		actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(),
-				redoAction);
-	}
-
-	/*
-	 * Set focus to the canvas.
-	 */
-	public void setFocus() {
-		paintCanvas.setFocus();
-	}
-
-	/*
-	 * Reset the drag operation.
-	 */
-	private void resetDrag(boolean clearRubberband) {
-		if (clearRubberband) {
-			clearRubberBandSelection();
-		}
-		dragInProgress = false;
-		moveInProgress = false;
-		movingBox = null;
-		anchorPosition.x = anchorPosition.y = tempPosition.x = tempPosition.y = rubberbandPosition.x = rubberbandPosition.y = -1;
-	}
-
-	/*
-	 * Clear the existing rubber band selection.
-	 */
-	private void clearRubberBandSelection() {
-		gc.setForeground(paintCanvas.getBackground());
-		gc.drawRectangle(anchorPosition.x, anchorPosition.y,
-				rubberbandPosition.x - anchorPosition.x, rubberbandPosition.y
-						- anchorPosition.y);
-		paintCanvas.redraw(anchorPosition.x, anchorPosition.y,
-				rubberbandPosition.x - anchorPosition.x, rubberbandPosition.y
-						- anchorPosition.y, false);
-		paintCanvas.update();
-		rubberbandPosition = new Point(-1, -1);
-		gc.setForeground(paintCanvas.getForeground());
-	}
-
-	/*
-	 * Show a rubber band selection.
-	 */
-	private void addRubberBandSelection() {
-		rubberbandPosition = tempPosition;
-		gc.drawRectangle(anchorPosition.x, anchorPosition.y,
-				rubberbandPosition.x - anchorPosition.x, rubberbandPosition.y
-						- anchorPosition.y);
-	}
-
-	/*
-	 * Initialize the workbench operation history for our undo context.
-	 */
-	private void initializeOperationHistory() {
-		// create a unique undo context to represent this view's undo history
-		undoContext = new ObjectUndoContext(this);
-
-		// set the undo limit for this context based on the preference
-		int limit = UndoPlugin.getDefault().getPreferenceStore().getInt(
-				PreferenceConstants.PREF_UNDOLIMIT);
-		getOperationHistory().setLimit(undoContext, limit);
-
-		// Install an operation approver for this undo context that prompts
-		// according to a user preference.
-		operationApprover = new PromptingUserApprover(undoContext);
-		getOperationHistory().addOperationApprover(operationApprover);
-	}
-
-	/*
-	 * Get the operation history from the workbench.
-	 */
-	private IOperationHistory getOperationHistory() {
-		return PlatformUI.getWorkbench().getOperationSupport()
-				.getOperationHistory();
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/UndoHistoryView.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/UndoHistoryView.java
deleted file mode 100644
index 881f26c..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/UndoHistoryView.java
+++ /dev/null
@@ -1,406 +0,0 @@
-package org.eclipse.ui.examples.undo.views;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.examples.undo.UndoExampleMessages;
-import org.eclipse.ui.examples.undo.UndoPlugin;
-import org.eclipse.ui.examples.undo.preferences.PreferenceConstants;
-import org.eclipse.ui.operations.RedoActionHandler;
-import org.eclipse.ui.operations.UndoActionHandler;
-import org.eclipse.ui.part.*;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.commands.operations.OperationHistoryFactory;
-import org.eclipse.core.commands.operations.IOperationHistory;
-import org.eclipse.core.commands.operations.IOperationHistoryListener;
-import org.eclipse.core.commands.operations.OperationHistoryEvent;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-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;
-
-/**
- * This view shows what operations are being added to the operations history for
- * undo. The view can be filtered by any operation context. A null operation
- * context indicates that the view should not be filtered.
- * 
- * <p>
- * Selecting undo or redo from the context menu or the edit menu will perform a
- * linear undo in the current context of the view. Selecting "Undo selected"
- * allows experimentation with direct undo. Operations that are undoable may be
- * undone independently of their order in the history.
- */
-
-public class UndoHistoryView extends ViewPart implements
-		ISelectionChangedListener {
-	private TableViewer viewer;
-
-	private Action filterAction;
-
-	private Action doubleClickAction;
-
-	private Action selectiveUndoAction;
-
-	private Action refreshListAction;
-
-	private IOperationHistory history = OperationHistoryFactory
-			.getOperationHistory();
-
-	private IUndoContext fContext = IOperationHistory.GLOBAL_UNDO_CONTEXT;
-
-	private UndoActionHandler undoAction;
-
-	private RedoActionHandler redoAction;
-	
-	private boolean showDebug = UndoPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_SHOWDEBUG);
-	private IPropertyChangeListener propertyChangeListener;
-
-	/*
-	 * The content provider shows the operations in the undo portion of the
-	 * operation history.  The histor is filtered by the currently selected
-	 * undo context.
-	 */
-
-	class ViewContentProvider implements IStructuredContentProvider,
-			IOperationHistoryListener {
-
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-			// we never change inputs, so we just use this as a place to add our
-			// listener.
-			history.addOperationHistoryListener(this);
-		}
-
-		public void dispose() {
-			history.removeOperationHistoryListener(this);
-		}
-
-		public Object[] getElements(Object input) {
-			// show the items in the operations history.
-			return history.getUndoHistory(fContext);
-		}
-
-		public void historyNotification(OperationHistoryEvent event) {
-			if (viewer.getTable().isDisposed())
-				return;
-			Display display = viewer.getTable().getDisplay();
-			switch (event.getEventType()) {
-			case OperationHistoryEvent.OPERATION_ADDED:
-			case OperationHistoryEvent.OPERATION_REMOVED:
-			case OperationHistoryEvent.UNDONE:
-			case OperationHistoryEvent.REDONE:
-				if (event.getOperation().hasContext(fContext)
-						&& display != null) {
-					display.syncExec(new Runnable() {
-						public void run() {
-							// refresh all labels in case any operation has
-							// changed dynamically
-							// without notifying the operation history.
-							if (!viewer.getTable().isDisposed())
-								viewer.refresh(true);
-						}
-					});
-				}
-				break;
-			}
-		}
-	}
-
-	/*
-	 * A simple label provider that uses a preference to determine
-	 * whether the simple label or the debugging label (toString()) 
-	 * for an operation is shown.
-	 */
-	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 String getText(Object obj) {
-			if (!showDebug && obj instanceof IUndoableOperation)
-				return ((IUndoableOperation)obj).getLabel();
-			return obj.toString();
-		}
-	}
-
-	/*
-	 * Create a table viewer to show the list of operations.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TableViewer(parent, SWT.SINGLE | SWT.H_SCROLL
-				| SWT.V_SCROLL);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(getViewSite());
-		makeActions();
-		hookContextMenu();
-		hookDoubleClickAction();
-		addListeners();
-		createGlobalActionHandlers();
-	}
-	
-	/*
-	 * Add any listeners needed by this view.
-	 */
-	private void addListeners() {
-		propertyChangeListener = new IPropertyChangeListener(){
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty() == PreferenceConstants.PREF_SHOWDEBUG) {
-					showDebug = UndoPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_SHOWDEBUG);
-					viewer.refresh();
-				}
-			}
-		};
-		UndoPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(propertyChangeListener);
-		viewer.getControl().addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				removeListeners();
-			}
-		});
-	}
-	
-	/*
-	 * Remove listeners that were added to this view.
-	 */
-	private void removeListeners() {
-		UndoPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(propertyChangeListener);	
-	}
-
-
-	/*
-	 * Create global action handlers to control undo and redo. We use the action
-	 * handlers rather than the UndoRedoActionGroup because this view
-	 * dynamically sets the undo context of the handlers. Most views that simply
-	 * desire an undo and redo menu action for their undo context can use
-	 * UndoRedoActionGroup.
-	 */
-	private void createGlobalActionHandlers() {
-		// set up action handlers that operate on the current context
-		undoAction = new UndoActionHandler(this.getSite(), fContext);
-		redoAction = new RedoActionHandler(this.getSite(), fContext);
-		IActionBars actionBars = getViewSite().getActionBars();
-		actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(),
-				undoAction);
-		actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(),
-				redoAction);
-	}
-
-	/*
-	 * Put up a dialog that shows all of the available undo contexts and allow
-	 * the user to select one.
-	 */
-	private IUndoContext selectContext() {
-		// This would be better implemented as a view filter, but for now, we 
-		// will use a dialog that collects the available undo contexts.
-		List input = new ArrayList();
-		IUndoableOperation[] operations = history
-				.getUndoHistory(IOperationHistory.GLOBAL_UNDO_CONTEXT);
-		for (int i = 0; i < operations.length; i++) {
-			IUndoContext[] contexts = operations[i].getContexts();
-			for (int j = 0; j < contexts.length; j++) {
-				if (!input.contains(contexts[j])) {
-					input.add(contexts[j]);
-				}
-			}
-		}
-		input.add(IOperationHistory.GLOBAL_UNDO_CONTEXT);
-
-		ILabelProvider labelProvider = new LabelProvider() {
-			public String getText(Object element) {
-				return ((IUndoContext) element).getLabel();
-			}
-		};
-
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(
-				getSite().getShell(), labelProvider);
-		dialog.setMultipleSelection(false);
-		dialog.setTitle(UndoExampleMessages.UndoHistoryView_ContextFilterDialog); 
-		dialog.setMessage(UndoExampleMessages.UndoHistoryView_ChooseContextMessage); 
-		dialog.setElements(input.toArray());
-		dialog.setInitialSelections(new Object[] { fContext });
-		if (dialog.open() == Window.OK) {
-			Object[] contexts = dialog.getResult();
-			if (contexts[0] instanceof IUndoContext)
-				return (IUndoContext) contexts[0];
-			else
-				return null;
-		}
-		return null;
-	}
-
-	/*
-	 * Reset the undo context on which the history is filtered.
-	 */
-	public void setContext(IUndoContext context) {
-		fContext = context;
-		// setting the context into the actions updates the menu labels, etc.
-		redoAction.setContext(context);
-		undoAction.setContext(context);
-		// need to refresh the viewer
-		viewer.refresh(false);
-	}
-
-	/*
-	 * Hook the context menu for the view
-	 */
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu");
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				UndoHistoryView.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-
-	/*
-	 * Fill the context menu for the view.
-	 */
-	private void fillContextMenu(IMenuManager manager) {
-		// First add the global undo/redo actions
-		undoAction.update();
-		redoAction.update();
-		manager.add(undoAction);
-		manager.add(redoAction);
-		manager.add(new Separator());
-		
-		// Now add our specialized actions
-		manager.add(selectiveUndoAction);
-		manager.add(filterAction);
-		manager.add(refreshListAction);
-
-		ISelection selection = viewer.getSelection();
-		if (!selection.isEmpty()) {
-			IUndoableOperation operation = (IUndoableOperation) ((IStructuredSelection) selection)
-					.getFirstElement();
-			selectiveUndoAction.setEnabled(operation.canUndo());
-		} else {
-			selectiveUndoAction.setEnabled(false);
-		}
-
-		// Other plug-ins can contribute actions here
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	/*
-	 * Create the actions for the view.
-	 */
-	private void makeActions() {
-		filterAction = new Action() {
-			public void run() {
-				IUndoContext context = selectContext();
-				if (fContext != context && context != null) {
-					setContext(context);
-				}
-			}
-		};
-		filterAction.setText(UndoExampleMessages.UndoHistoryView_FilterText);
-		filterAction.setToolTipText(UndoExampleMessages.UndoHistoryView_FilterToolTipText);
-		filterAction.setImageDescriptor(PlatformUI.getWorkbench()
-				.getSharedImages().getImageDescriptor(
-						ISharedImages.IMG_OBJS_INFO_TSK));
-
-		selectiveUndoAction = new Action() {
-			public void run() {
-				ISelection selection = viewer.getSelection();
-				IUndoableOperation operation = (IUndoableOperation) ((IStructuredSelection) selection)
-						.getFirstElement();
-				if (operation.canUndo()) {
-					try {
-						history.undoOperation(operation, null, undoAction);
-					} catch (ExecutionException e) {
-						showMessage(UndoExampleMessages.UndoHistoryView_OperationException);
-					}
-				} else {
-					showMessage(UndoExampleMessages.UndoHistoryView_OperationInvalid);
-				}
-			}
-		};
-		selectiveUndoAction.setText(UndoExampleMessages.UndoHistoryView_UndoSelected);
-		selectiveUndoAction.setToolTipText(UndoExampleMessages.UndoHistoryView_UndoSelectedToolTipText);
-		selectiveUndoAction.setImageDescriptor(PlatformUI.getWorkbench()
-				.getSharedImages().getImageDescriptor(
-						ISharedImages.IMG_TOOL_UNDO));
-
-		refreshListAction = new Action() {
-			public void run() {
-				if (!viewer.getTable().isDisposed())
-					viewer.refresh(true);
-			}
-		};
-		refreshListAction.setText(UndoExampleMessages.UndoHistoryView_RefreshList);
-		refreshListAction.setToolTipText(UndoExampleMessages.UndoHistoryView_RefreshListToolTipText);
-
-		doubleClickAction = new Action() {
-			public void run() {
-				ISelection selection = viewer.getSelection();
-				IUndoableOperation operation = (IUndoableOperation) ((IStructuredSelection) selection)
-						.getFirstElement();
-				StringBuffer buf = new StringBuffer(operation.getLabel());
-				buf.append("\n");
-				buf.append("Enabled=");	//$NON-NLS-1$
-				buf.append(new Boolean(operation.canUndo()).toString());
-				buf.append("\n");
-				buf.append(operation.getClass().toString());
-				showMessage(buf.toString());
-
-			}
-		};
-	}
-
-	/*
-	 * Register a double click action with the double click event.
-	 */
-	private void hookDoubleClickAction() {
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				doubleClickAction.run();
-			}
-		});
-	}
-
-	/*
-	 * Show an info message
-	 */
-	private void showMessage(String message) {
-		MessageDialog.openInformation(viewer.getControl().getShell(),
-				UndoExampleMessages.UndoHistoryView_InfoDialogTitle, message);
-	}
-
-	/*
-	 * The selection has changed.
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		ISelection selection = viewer.getSelection();
-		boolean enabled = !selection.isEmpty();
-		selectiveUndoAction.setEnabled(enabled);
-	}
-
-	/*
-	 * Pass 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.undo/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.undo/META-INF/MANIFEST.MF
deleted file mode 100644
index c854f9b..0000000
--- a/examples/org.eclipse.ui.examples.undo/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.undo; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.examples.undo.UndoPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.jface.text
-Eclipse-LazyStart: true
-Bundle-Vendor: %Plugin.providerName
diff --git a/examples/org.eclipse.ui.examples.undo/about.html b/examples/org.eclipse.ui.examples.undo/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.ui.examples.undo/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.undo/build.properties b/examples/org.eclipse.ui.examples.undo/build.properties
deleted file mode 100644
index c4b9d38..0000000
--- a/examples/org.eclipse.ui.examples.undo/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = Eclipse UI Examples Undo/
-
-bin.includes = doc-html/,\
-               icons/,\
-               .options,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               .,\
-               META-INF/
-
-src.includes = about.html
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.undo/doc-html/ui_undo_ex.html b/examples/org.eclipse.ui.examples.undo/doc-html/ui_undo_ex.html
deleted file mode 100644
index f24f028..0000000
--- a/examples/org.eclipse.ui.examples.undo/doc-html/ui_undo_ex.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Undo Example</title>
-</head>
-<body>
-
-<h2>
-<b>Example - Undo</b></h2>
-
-<h3>Introduction</h3>
-<p>
-The Undo Example adds two views to the workbench.  The <b>Box View</b> is a rudimentary
-view that allows the user to create boxes by clicking into empty space and dragging the mouse
-to form a box.  Boxes can be moved by selecting a box and dragging it around.  The user
-may undo and redo any operations performed in the box view.  The <b>Undo History
-View</b> shows the undo history maintained by the workbench operations history.
-</p>
-<h3>Features demonstrated in the example</h3>
-<ul>
-<li>Creating an <tt>IUndoableOperation</tt> inside an action (Delete all boxes) to perform the action's
-work .</li>
-<li>Creating an <tt>IUndoableOperation</tt> based on an operation implied by a gesture (Adding
-and moving boxes).</li>
-<li>Using a local <tt>IUndoContext</tt> to keep undo operations local to a particular view.</li>
-<li>Using the platform undo and redo action handlers to provide undo and redo in a view.</li>
-<li>Providing a user preference for setting the undo limit for a particular undo context.</li>
-<li>Using an <tt>IOperationApprover</tt> to install additional policy (Prompt before undo) in
-the operation history.</li>
-<li>Using <tt>IOperationHistory</tt> protocol to show undo history for different
-undo contexts (Undo History View).</li>
-</ul>
-<h3>Features not demonstrated</h3>
-<ul>
-<li>Since the example is focused on simple undo, the BoxView code is kept
-to a minimum.  Therefore, it does not provide the expected graphical editor features such as
-selection, resize and selection handles, color and line style attributes, etc.  For the same
-reason, advanced features in the undo framework are not shown.</li>
-<li>There is no example of assigning multiple undo contexts in order to share operations between
-views or editors.</li>
-<li>There is no example of using composite undo operations.</li>
-</ul>
-<h3>Running the example</h3>
-<p>
-From Eclipse's <strong>Window</strong> menu select <strong>Show View</strong> &gt; <strong>Other...</strong>.  
-In the <strong>Show View</strong> dialog, expand <strong>Undo Examples</strong> and select
-the view named <strong>Box View</strong>. The box view will appear.
-</p>
-<p>
-Likewise, from the <strong>Window</strong> menu select <strong>Show View</strong> &gt; <strong>Other...</strong>.  
-In the <strong>Show View</strong> dialog, expand <strong>Undo Examples</strong> and select
-the view named <strong>Undo History View</strong>. A view containing the undo history will appear.
-This view can be used alongside the Box View to watch the undo history as boxes are added or moved.  It
-can also be used independently of the Box View to follow the undo history for any view or editor that
-uses the workbench operations history to track undoable operations.
-</p>
-<h3>Details</h3>
-<h4>Box View</h4>
-<p>Click in the box view and drag the mouse to create a box that follows the mouse.  Clicking inside an
-existing box and dragging the mouse will move the box to a new location.  Note the operations that appear
-in the <strong>Undo</strong> and <strong>Redo</strong> menus as boxes are added and moved.  The box view
-can be cleared by selecting <strong>Delete all boxes</strong> from the context menu or the view's local
-menu and toolbar.  This operation can also be undone.
-</p>
-<h4>Undo History View</h4>
-<p>The Undo History View shows the operations available for undo in all undo contexts.  To view the history
-in a particular undo context, select <strong>Filter on...</strong> from the view's context menu.
-This will filter the undo history on a particular undo context.  The view can be used to view the undo history
-for the Box View, for SDK text editors, and for undoable operations that affect the workspace, such as
-refactoring operations.  Undo and redo can be performed from the Undo History View's menus.  <b>Undo selected</b>
-will attempt to undo the selected operation in the undo history, regardless of its position in the operation history.
-Depending on the operation in question, this may or may not be allowed.  For example, the Box View allows all add and
-move operations to be undone or redone even if they aren't the most recently performed operation.  Text editors
-will prompt if an attempt is made to undo a typing operation that is not the most recent.
-</p>
-<h4>Example Preferences</h4>
-<p>Preferences are provided that affect the operation of both views.  
-From Eclipse's <strong>Window</strong> menu select <strong>Preferences</strong> &gt; <strong>Undo Preferences</strong>.  
-<ul>
-<li><strong>Undo history limit</strong> controls how many undoable operations are kept in the history for the Box View.</li>
-<li><strong>Show debug labels in undo history view</strong> controls whether the simple label shown in the undo menu is
-used for displaying operations, or a debug label that includes information such as the assigned undo context(s).</li>
-<li><strong>Confirm all undo operations</strong> controls whether prompting occurs before undoing or redoing an operation.
-This preference is used by the operation approver installed by the example.</li>
-</ul>
-</p>
-</body>
-</html>
diff --git a/examples/org.eclipse.ui.examples.undo/icons/sample.gif b/examples/org.eclipse.ui.examples.undo/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.examples.undo/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.undo/plugin.properties b/examples/org.eclipse.ui.examples.undo/plugin.properties
deleted file mode 100644
index 90fc66d..0000000
--- a/examples/org.eclipse.ui.examples.undo/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Undo Example
-Plugin.providerName = Eclipse.org
-Views.historyView = Undo History View
-Views.boxView = Box View
-Views.Category = Undo Examples
-
diff --git a/examples/org.eclipse.ui.examples.undo/plugin.xml b/examples/org.eclipse.ui.examples.undo/plugin.xml
deleted file mode 100644
index d2b3538..0000000
--- a/examples/org.eclipse.ui.examples.undo/plugin.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="Undo Preferences"
-            class="org.eclipse.ui.examples.undo.preferences.UndoPreferencePage"
-            id="org.eclipse.ui.examples.undo.preferences.UndoPreferencePage">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.ui.examples.undo.preferences.PreferenceInitializer">
-      </initializer>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.Category"
-            id="org.eclipse.ui.examples.undo">
-      </category>
-      <view
-            name="%Views.boxView"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.examples.undo"
-            class="org.eclipse.ui.examples.undo.views.BoxView"
-            id="org.eclipse.ui.examples.undo.views.BoxView">
-      </view>
-   </extension>
-   
-         <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="Undo Examples"
-            id="org.eclipse.ui.examples.undo"/>
-      <view
-            class="org.eclipse.ui.examples.undo.views.UndoHistoryView"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.examples.undo"
-            name="%Views.historyView"
-            id="org.eclipse.ui.examples.undo.views.UndoHistoryView"/>
-   </extension>
-   
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.classpath b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.cvsignore b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.project b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.project
deleted file mode 100644
index 7626b41..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.views.properties.tabbed.article</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/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 682f531..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:18:08 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index cbc1d39..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:18:08 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index e5fd2a4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Jan 10 16:54:24 EST 2006
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/META-INF/MANIFEST.MF
deleted file mode 100644
index 4130384..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.views.properties.tabbed.article; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.examples.views.properties.tabbed.article.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.ui.views;resolution:=optional,
- org.eclipse.core.runtime,
- org.eclipse.ui.views.properties.tabbed
-Eclipse-LazyStart: true
-Bundle-Vendor: %Plugin.providerName
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/about.html b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/build.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/build.properties
deleted file mode 100644
index 6b8c63a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               plugin.properties,\
-               about.html
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/icons/sample.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.properties
deleted file mode 100644
index 29ae8fb..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Tabbed Properties View Article Example
-Plugin.providerName = Eclipse.org
-
-Views.category.name = Tabbed Properties View
-Views.example.name = Tabbed Properties Example View
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.xml b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.xml
deleted file mode 100644
index 658107c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin>
-
-     <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.category.name"
-            id="org.eclipse.ui.views.properties.tabbed">
-      </category>
-      <view
-            name="%Views.example.name"
-            category="org.eclipse.ui.views.properties.tabbed"
-            icon="icons/sample.gif"
-            class="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView"
-            id="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor contributorId="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView">
-         <propertyCategory category="sample"/>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
-      <propertyTabs contributorId="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView">
-         <propertyTab
-               category="sample"
-               id="ButtonTab"
-               label="Button"/>
-         <propertyTab
-               afterTab="ButtonTab"
-               category="sample"
-               id="AdvancedTab"
-               label="Advanced"/>
-      </propertyTabs>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertySections">
-      <propertySections contributorId="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView">
-         <propertySection
-               class="org.eclipse.ui.examples.views.properties.tabbed.article.views.LabelSection"
-               id="LabelSection"
-               tab="ButtonTab">
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.article.views.ButtonElement"/>
-         </propertySection>
-         <propertySection
-               afterSection="LabelSection"
-               class="org.eclipse.ui.examples.views.properties.tabbed.article.views.SizeSection"
-               id="SizeSection"
-               tab="ButtonTab">
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.article.views.ButtonElement"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection"
-               id="AdvancedSection"
-               tab="AdvancedTab">
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.article.views.ButtonElement"/>
-         </propertySection>
-         <propertySection
-               afterSection="SizeSection"
-               class="org.eclipse.ui.examples.views.properties.tabbed.article.views.FontSection"
-               id="FontSection"
-               tab="ButtonTab">
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.article.views.ButtonElement"/>
-         </propertySection>
-      </propertySections>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/Activator.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/Activator.java
deleted file mode 100644
index b30f7ae..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/Activator.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.article;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * Activator for this plug-in.
- * 
- * @author Anthony Hunter
- */
-public class Activator
-    extends AbstractUIPlugin {
-
-    // The shared instance.
-    private static Activator plugin;
-
-    /**
-     * The constructor.
-     */
-    public Activator() {
-        plugin = this;
-    }
-
-    /**
-     * This method is called upon plug-in activation
-     */
-    public void start(BundleContext context)
-        throws Exception {
-        super.start(context);
-    }
-
-    /**
-     * This method is called when the plug-in is stopped
-     */
-    public void stop(BundleContext context)
-        throws Exception {
-        super.stop(context);
-        plugin = null;
-    }
-
-    /**
-     * Returns the shared instance.
-     * 
-     * @return the shared instance.
-     */
-    public static Activator getDefault() {
-        return plugin;
-    }
-
-    /**
-     * Returns an image descriptor for the image file at the given plug-in
-     * relative path.
-     * 
-     * @param path
-     *            the path
-     * @return the image descriptor
-     */
-    public static ImageDescriptor getImageDescriptor(String path) {
-        return AbstractUIPlugin.imageDescriptorFromPlugin(
-            "org.eclipse.ui.examples.views.properties.tabbed.article", path);//$NON-NLS-1$
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElement.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElement.java
deleted file mode 100644
index cb9159e..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElement.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.core.runtime.IAdaptable;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.ui.model.IWorkbenchAdapter;

-import org.eclipse.ui.views.properties.IPropertySource;

-

-/**

- * This class represents a Button Element in the Sample View

- * 

- * 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 ButtonElement

-    implements IWorkbenchAdapter, IAdaptable {

-

-    private String headingName;

-

-    private Button ctl;

-

-    /**

-     * Creates a new ButtonElement.

-     * 

-     * @param initBtn

-     *            the control of this element

-     * @param heading

-     *            text corresponding to the heading

-     */

-    public ButtonElement(Button initBtn, String heading) {

-        this.headingName = heading;

-        this.ctl = initBtn;

-    }

-

-    /*

-     * (non-Javadoc) Method declared on IAdaptable

-     */

-    public Object getAdapter(Class adapter) {

-        if (adapter == IWorkbenchAdapter.class)

-            return this;

-        if (adapter == IPropertySource.class)

-            return new ButtonElementProperties(this);

-        return null;

-    }

-

-    /*

-     * (non-Javadoc) Method declared on IWorkbenchAdapter

-     */

-    public ImageDescriptor getImageDescriptor(Object object) {

-        return null;

-    }

-

-    /*

-     * (non-Javadoc) Method declared on IWorkbenchAdapter

-     */

-    public String getLabel(Object o) {

-        return headingName;

-    }

-

-    /*

-     * (non-Javadoc) Method declared on IWorkbenchAdapter

-     */

-    public Object getParent(Object o) {

-        return null;

-    }

-

-    /**

-     * Retrieve the control for this element.

-     * 

-     * @return the control for this element.

-     */

-    public Button getControl() {

-        return ctl;

-    }

-

-    /**

-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object)

-     */

-    public Object[] getChildren(Object o) {

-        return null;

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElementProperties.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElementProperties.java
deleted file mode 100644
index 7114d84..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElementProperties.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.swt.graphics.Font;

-import org.eclipse.swt.graphics.FontData;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.widgets.Button;

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

-

-/**

- * The property source provider for a button element.

- * 

- * @author Anthony Hunter

- */

-public class ButtonElementProperties

-    implements IPropertySource {

-

-    final protected ButtonElement element;

-

-    protected static final String PROPERTY_FONT = "font"; //$NON-NLS-1$

-

-    protected static final String PROPERTY_SIZE = "size"; //$NON-NLS-1$

-

-    protected static final String PROPERTY_TEXT = "text"; //$NON-NLS-1$

-

-    private final Object PropertiesTable[][] = {

-        {PROPERTY_FONT, new FontPropertyDescriptor(PROPERTY_FONT, "Font")},//$NON-NLS-1$

-        {PROPERTY_SIZE, new PropertyDescriptor(PROPERTY_SIZE, "Size")},//$NON-NLS-1$

-        {PROPERTY_TEXT, new TextPropertyDescriptor(PROPERTY_TEXT, "Text")}, //$NON-NLS-1$

-    };

-

-    String strFont = "";//$NON-NLS-1$

-

-    Point ptSize = null;

-

-    String strText = "";//$NON-NLS-1$

-

-    protected void firePropertyChanged(String propName, Object value) {

-        Button ctl = element.getControl();

-

-        if (ctl == null) {

-            // the GUIView is probably hidden in this case

-            return;

-        }

-

-        if (propName.equals(PROPERTY_FONT)) {

-            /**

-             * Font oldfont = ctl.getFont(); if (oldfont != null) {

-             * oldfont.dispose(); }

-             */

-            ctl

-                .setFont(new Font(ctl.getDisplay(),

-                    new FontData((String) value)));

-            return;

-        }

-        if (propName.equals(PROPERTY_TEXT)) {

-            ctl.setText((String) value);

-            return;

-        }

-

-    }

-

-    protected void initProperties() {

-        Button ctl = element.getControl();

-

-        if (ctl == null) {

-            // the GUIView is probably hidden in this case

-            return;

-        }

-

-        strText = ctl.getText();

-        /**

-         * Font font = ctl.getFont(); if (font != null) { strFont =

-         * font.getFontData().toString(); }

-         */

-        ptSize = ctl.getSize();

-    }

-

-    /**

-     * Creates a new ButtonElementProperties.

-     * 

-     * @param element

-     *            the element whose properties this instance represents

-     */

-    public ButtonElementProperties(ButtonElement element) {

-        super();

-        this.element = element;

-        initProperties();

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()

-     */

-    public Object getEditableValue() {

-        return this;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()

-     */

-    public IPropertyDescriptor[] getPropertyDescriptors() {

-        // Create the property vector.

-        IPropertyDescriptor[] propertyDescriptors = new IPropertyDescriptor[PropertiesTable.length];

-

-        for (int i = 0; i < PropertiesTable.length; i++) {

-            // Add each property supported.

-

-            PropertyDescriptor descriptor;

-

-            descriptor = (PropertyDescriptor) PropertiesTable[i][1];

-            propertyDescriptors[i] = descriptor;

-            descriptor.setCategory("Basic");//$NON-NLS-1$

-        }

-

-        // Return it.

-        return propertyDescriptors;

-

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(Object)

-     */

-    public Object getPropertyValue(Object name) {

-        if (name.equals(PROPERTY_FONT))

-            return strFont;

-        if (name.equals(PROPERTY_SIZE))

-            return new SizePropertySource(element, ptSize);

-        if (name.equals(PROPERTY_TEXT))

-            return strText;

-

-        return null;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(Object)

-     */

-    public boolean isPropertySet(Object id) {

-        return false;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(Object)

-     */

-    public void resetPropertyValue(Object id) {

-        //

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(Object,

-     *      Object)

-     */

-    public void setPropertyValue(Object name, Object value) {

-        firePropertyChanged((String) name, value);

-

-        if (name.equals(PROPERTY_FONT)) {

-            strFont = (String) value;

-            return;

-        }

-        if (name.equals(PROPERTY_TEXT)) {

-            strText = (String) value;

-            return;

-        }

-        if (name.equals(PROPERTY_SIZE)) {

-            SizePropertySource sizeProp = (SizePropertySource) value;

-            ptSize = sizeProp.getValue();

-        }

-

-    }

-

-    /**

-     * Returns the mocha element.

-     * 

-     * @return MochaElement

-     */

-    public ButtonElement getButtonElement() {

-        return element;

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/CheckBoxPropertyDescriptor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/CheckBoxPropertyDescriptor.java
deleted file mode 100644
index 31bb51f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/CheckBoxPropertyDescriptor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.viewers.CellEditor;

-import org.eclipse.jface.viewers.CheckboxCellEditor;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.views.properties.PropertyDescriptor;

-

-/**

- * A checkbox property descriptor.

- * 

- * @author Anthony Hunter

- */

-public class CheckBoxPropertyDescriptor

-    extends PropertyDescriptor {

-

-    /**

-     * Constructs a new property descriptor with the given id and display name.

-     * 

-     * @param id

-     *            the id for the descriptor.

-     * @param displayName

-     *            the display name for the descriptor.

-     */

-    public CheckBoxPropertyDescriptor(Object id, String displayName) {

-        super(id, displayName);

-    }

-

-    public CellEditor createPropertyEditor(Composite parent) {

-        CellEditor editor = new CheckboxCellEditor(parent);

-        if (getValidator() != null)

-            editor.setValidator(getValidator());

-        return editor;

-    }

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontDialogCellEditor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontDialogCellEditor.java
deleted file mode 100644
index e29d6a2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontDialogCellEditor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.viewers.DialogCellEditor;

-import org.eclipse.swt.graphics.FontData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.FontDialog;

-import org.eclipse.ui.PlatformUI;

-

-/**

- * a new Font dialog cell editor.

- * 

- * @author Anthony Hunter

- */

-public class FontDialogCellEditor

-    extends DialogCellEditor {

-

-    /**

-     * Creates a new Font dialog cell editor parented under the given control.

-     * The cell editor value is <code>null</code> initially, and has no

-     * validator.

-     * 

-     * @param parent

-     *            the parent control

-     */

-    protected FontDialogCellEditor(Composite parent) {

-        super(parent);

-    }

-

-    /**

-     * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)

-     */

-    protected Object openDialogBox(Control cellEditorWindow) {

-        FontDialog ftDialog = new FontDialog(PlatformUI.getWorkbench()

-            .getActiveWorkbenchWindow().getShell());

-

-        String value = (String) getValue();

-

-        if ((value != null) && (value.length() > 0)) {

-            ftDialog.setFontList(new FontData[] {new FontData(value)});

-        }

-        FontData fData = ftDialog.open();

-

-        if (fData != null) {

-            value = fData.toString();

-        }

-        return value;

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontPropertyDescriptor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontPropertyDescriptor.java
deleted file mode 100644
index e67d03d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontPropertyDescriptor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.viewers.CellEditor;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.views.properties.PropertyDescriptor;

-

-/**

- * A font property descriptor.

- * 

- * @author Anthony Hunter

- */

-public class FontPropertyDescriptor

-    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 FontPropertyDescriptor(Object id, String displayName) {

-        super(id, displayName);

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertyDescriptor#createPropertyEditor(Composite)

-     */

-    public CellEditor createPropertyEditor(Composite parent) {

-        CellEditor editor = new FontDialogCellEditor(parent);

-        if (getValidator() != null)

-            editor.setValidator(getValidator());

-        return editor;

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontSection.java
deleted file mode 100644
index 37d12ef..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontSection.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.resource.StringConverter;

-import org.eclipse.jface.util.Assert;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.events.SelectionAdapter;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.graphics.FontData;

-import org.eclipse.swt.graphics.GC;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.FontDialog;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.PlatformUI;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-/**

- * The font section on the button tab.

- * 

- * @author Anthony Hunter

- */

-public class FontSection

-    extends AbstractPropertySection {

-

-    Text fontText;

-

-    private ButtonElement buttonElement;

-

-    public void setInput(IWorkbenchPart part, ISelection selection) {

-        super.setInput(part, selection);

-        Assert.isTrue(selection instanceof IStructuredSelection);

-        Object input = ((IStructuredSelection) selection).getFirstElement();

-        Assert.isTrue(input instanceof ButtonElement);

-        this.buttonElement = (ButtonElement) input;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,

-     *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)

-     */

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage tabbedPropertySheetPage) {

-        super.createControls(parent, tabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-        FormData data;

-

-        Shell shell = new Shell();

-        GC gc = new GC(shell);

-        gc.setFont(shell.getFont());

-        Point point = gc.textExtent("");//$NON-NLS-1$

-        int buttonHeight = point.y + 5;

-        gc.dispose();

-        shell.dispose();

-

-        CLabel fontLabel = getWidgetFactory().createCLabel(composite, "Font:"); //$NON-NLS-1$

-        fontText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-        fontText.setEditable(false);

-        Button fontButton = getWidgetFactory().createButton(composite,

-            "Change...", SWT.PUSH); //$NON-NLS-1$

-        fontButton.addSelectionListener(new SelectionAdapter() {

-

-            public void widgetSelected(SelectionEvent event) {

-                FontDialog ftDialog = new FontDialog(PlatformUI.getWorkbench()

-                    .getActiveWorkbenchWindow().getShell());

-

-                FontData fontdata = buttonElement.getControl().getFont()

-                    .getFontData()[0];

-                String value = fontdata.toString();

-

-                if ((value != null) && (value.length() > 0)) {

-                    ftDialog.setFontList(new FontData[] {new FontData(value)});

-                }

-                FontData fData = ftDialog.open();

-

-                if (fData != null) {

-                    value = fData.toString();

-

-                    ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-                        .getAdapter(IPropertySource.class);

-                    properties.setPropertyValue(

-                        ButtonElementProperties.PROPERTY_FONT, value);

-                    fontText.setText(StringConverter.asString(fData));

-                }

-            }

-        });

-

-        data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(fontText,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        fontLabel.setLayoutData(data);

-

-        data = new FormData();

-        data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);

-        data.right = new FormAttachment(fontButton,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        fontText.setLayoutData(data);

-

-        data = new FormData();

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, 0);

-        data.height = buttonHeight;

-        fontButton.setLayoutData(data);

-    }

-

-    /*

-     * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()

-     */

-    public void refresh() {

-        FontData fontdata = buttonElement.getControl().getFont().getFontData()[0];

-        fontText.setText(StringConverter.asString(fontdata));

-    }

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/LabelSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/LabelSection.java
deleted file mode 100644
index 2fec15f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/LabelSection.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.util.Assert;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.events.ModifyEvent;

-import org.eclipse.swt.events.ModifyListener;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-/**

- * The Label section on the Button tab.

- * 

- * @author Anthony Hunter

- */

-public class LabelSection

-    extends AbstractPropertySection {

-

-    private Text labelText;

-

-    private ButtonElement buttonElement;

-

-    private ModifyListener listener = new ModifyListener() {

-

-        public void modifyText(ModifyEvent arg0) {

-            ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-                .getAdapter(IPropertySource.class);

-            properties.setPropertyValue(ButtonElementProperties.PROPERTY_TEXT,

-                labelText.getText());

-        }

-    };

-

-    public void setInput(IWorkbenchPart part, ISelection selection) {

-        super.setInput(part, selection);

-        Assert.isTrue(selection instanceof IStructuredSelection);

-        Object input = ((IStructuredSelection) selection).getFirstElement();

-        Assert.isTrue(input instanceof ButtonElement);

-        this.buttonElement = (ButtonElement) input;

-    }

-

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage aTabbedPropertySheetPage) {

-        super.createControls(parent, aTabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-        FormData data;

-

-        labelText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-        data = new FormData();

-        data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);

-        labelText.setLayoutData(data);

-        labelText.addModifyListener(listener);

-

-        CLabel labelLabel = getWidgetFactory()

-            .createCLabel(composite, "Label:"); //$NON-NLS-1$

-        data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(labelText,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(labelText, 0, SWT.CENTER);

-        labelLabel.setLayoutData(data);

-    }

-

-    public void refresh() {

-        labelText.removeModifyListener(listener);

-        ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-            .getAdapter(IPropertySource.class);

-        labelText.setText(properties.strText);

-        labelText.addModifyListener(listener);

-    }

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SampleView.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SampleView.java
deleted file mode 100644
index 12afc00..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SampleView.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.article.views;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * Sample view for the example.
- * 
- * @author Anthony Hunter
- *
- */
-public class SampleView
-    extends ViewPart
-    implements ITabbedPropertySheetPageContributor {
-
-    private ListViewer viewer;
-
-    private Group grp1;
-
-    /**
-     * The constructor.
-     */
-    public SampleView() {
-        //
-    }
-
-    /**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-    public void createPartControl(Composite parent) {
-        // create all the GUI controls
-        // create two groups
-        viewer = new ListViewer(parent, SWT.SINGLE);
-
-        grp1 = new Group(parent, SWT.NONE);
-        grp1.setText("Preview");//$NON-NLS-1$
-        RowLayout rowLayout = new RowLayout();
-        grp1.setLayout(rowLayout);
-
-        Button btn = new Button(grp1, SWT.PUSH);
-        btn.setText("Hello");//$NON-NLS-1$
-
-        // fill in the element
-        ArrayList ctlList = new ArrayList();
-        ButtonElement btnEl = new ButtonElement(btn, "Button");//$NON-NLS-1$
-        ctlList.add(btnEl);
-
-        viewer.setContentProvider(new ArrayContentProvider());
-        viewer.setLabelProvider(new WorkbenchLabelProvider());
-        viewer.setInput(ctlList);
-        getSite().setSelectionProvider(viewer);
-
-    }
-
-    /**
-     * Passing the focus request to the viewer's control.
-     */
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-
-    /**
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IPropertySheetPage.class)
-            return new TabbedPropertySheetPage(this);
-        return super.getAdapter(adapter);
-    }
-
-    /**
-     * @see org.eclipse.ui.IWorkbenchPart#dispose()
-     */
-    public void dispose() {
-        super.dispose();
-    }
-
-    public String getContributorId() {
-        return getSite().getId();
-    }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizePropertySource.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizePropertySource.java
deleted file mode 100644
index cc67b5c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizePropertySource.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.ui.views.properties.IPropertyDescriptor;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.TextPropertyDescriptor;

-

-/**

- * Property source for the size properties.

- * 

- * @author Anthony Hunter

- */

-public class SizePropertySource

-    implements IPropertySource {

-

-    protected ButtonElement element;

-

-    /**

-     * The width.

-     */

-    public static String ID_WIDTH = "Width"; //$NON-NLS-1$

-

-    /**

-     * The height.

-     */

-    public static String ID_HEIGHT = "Height"; //$NON-NLS-1$

-

-    protected static IPropertyDescriptor[] descriptors;

-

-    static {

-        descriptors = new IPropertyDescriptor[] {

-            new TextPropertyDescriptor(ID_WIDTH, "width"),//$NON-NLS-1$

-            new TextPropertyDescriptor(ID_HEIGHT, "height")//$NON-NLS-1$

-        };

-    }

-

-    protected Point point = null;

-

-    /**

-     * The constructor for SizePropertySource.

-     * 

-     * @param m_element

-     *            the button element.

-     * @param point

-     *            the size of the button element.

-     */

-    public SizePropertySource(ButtonElement m_element, Point point) {

-        this.point = new Point(point.x, point.y);

-        element = m_element;

-    }

-

-    /**

-     * Fire a property change event.

-     * 

-     * @param propName

-     *            the name of the property change.

-     */

-    protected void firePropertyChanged() {

-        Control ctl = element.getControl();

-

-        if (ctl == null) {

-            // the GUIView is probably hidden in this case

-            return;

-        }

-        ctl.setSize(point);

-    }

-

-    public Object getEditableValue() {

-        return this;

-    }

-

-    public IPropertyDescriptor[] getPropertyDescriptors() {

-        return descriptors;

-    }

-

-    public Object getPropertyValue(Object propName) {

-        if (ID_WIDTH.equals(propName)) {

-            return new String(new Integer(point.x).toString());

-        }

-        if (ID_HEIGHT.equals(propName)) {

-            return new String(new Integer(point.y).toString());

-        }

-        return null;

-    }

-

-    /**

-     * Retrieve the value of the size property.

-     * 

-     * @return the value of the size property.

-     */

-    public Point getValue() {

-        return new Point(point.x, point.y);

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(Object)

-     */

-    public boolean isPropertySet(Object propName) {

-        if (ID_WIDTH.equals(propName) || ID_HEIGHT.equals(propName))

-            return true;

-        return false;

-    }

-

-    public void resetPropertyValue(Object propName) {

-        //

-    }

-

-    public void setPropertyValue(Object propName, Object value) {

-        if (ID_WIDTH.equals(propName)) {

-            Integer newInt = new Integer((String) value);

-            point.x = newInt.intValue();

-        }

-        if (ID_HEIGHT.equals(propName)) {

-            Integer newInt = new Integer((String) value);

-            point.y = newInt.intValue();

-        }

-        firePropertyChanged();

-    }

-

-    public String toString() {

-        return point.toString();

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizeSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizeSection.java
deleted file mode 100644
index c938e7d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizeSection.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.util.Assert;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.events.ModifyEvent;

-import org.eclipse.swt.events.ModifyListener;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-/**

- * The size section on the button tab.

- * 

- * @author Anthony Hunter

- */

-public class SizeSection

-    extends AbstractPropertySection {

-

-    private Text widthText;

-

-    private Text heightText;

-

-    private ButtonElement buttonElement;

-

-    private ModifyListener listener = new ModifyListener() {

-

-        public void modifyText(ModifyEvent arg0) {

-            ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-                .getAdapter(IPropertySource.class);

-            SizePropertySource sizePropertySource = (SizePropertySource) properties

-                .getPropertyValue(ButtonElementProperties.PROPERTY_SIZE);

-            sizePropertySource.setPropertyValue(SizePropertySource.ID_HEIGHT,

-                heightText.getText());

-            sizePropertySource.setPropertyValue(SizePropertySource.ID_WIDTH,

-                widthText.getText());

-        }

-    };

-

-    public void setInput(IWorkbenchPart part, ISelection selection) {

-        super.setInput(part, selection);

-        Assert.isTrue(selection instanceof IStructuredSelection);

-        Object input = ((IStructuredSelection) selection).getFirstElement();

-        Assert.isTrue(input instanceof ButtonElement);

-        this.buttonElement = (ButtonElement) input;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,

-     *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)

-     */

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage tabbedPropertySheetPage) {

-        super.createControls(parent, tabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-        FormData data;

-

-        CLabel widthLabel = getWidgetFactory()

-            .createCLabel(composite, "Width:"); //$NON-NLS-1$

-        widthText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-        CLabel heightLabel = getWidgetFactory().createCLabel(composite,

-            "Height:"); //$NON-NLS-1$

-        heightText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-

-        data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(widthText,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        widthLabel.setLayoutData(data);

-

-        data = new FormData();

-        data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);

-        data.right = new FormAttachment(heightLabel,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        widthText.setLayoutData(data);

-

-        data = new FormData();

-        data.left = new FormAttachment(50, 0);

-        // data.right = new FormAttachment(heightText,

-        // -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        heightLabel.setLayoutData(data);

-

-        data = new FormData();

-        data.left = new FormAttachment(heightLabel,

-            ITabbedPropertyConstants.HSPACE);

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, 0);

-        heightText.setLayoutData(data);

-

-        heightText.addModifyListener(listener);

-        widthText.addModifyListener(listener);

-    }

-

-    /*

-     * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()

-     */

-    public void refresh() {

-        heightText.removeModifyListener(listener);

-        widthText.removeModifyListener(listener);

-        ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-            .getAdapter(IPropertySource.class);

-        widthText.setText(Integer.toString(properties.ptSize.x));

-        heightText.setText(Integer.toString(properties.ptSize.y));

-        heightText.addModifyListener(listener);

-        widthText.addModifyListener(listener);

-    }

-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.classpath b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.cvsignore b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.project b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.project
deleted file mode 100644
index 2a990e3..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.views.properties.tabbed.hockeyleague</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d192053..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,78 +0,0 @@
-#Mon Feb 06 11:18:18 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4ba0331..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Tue Jan 31 19:05:26 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return Returns the ${bare_field_name}.\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} The ${bare_field_name} to set.\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} IBM Corporation and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *     IBM Corporation - initial API and implementation\r\n ******************************************************************************/\r\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @since 3.2\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index b5e946b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-#Tue Jan 31 19:06:32 EST 2006
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/META-INF/MANIFEST.MF
deleted file mode 100644
index d130c83..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.examples.views.properties.tabbed.hockeyleague; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin$Implementation
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.examples.views.properties.tabbed.hockeyleague,
- org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl,
- org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider,
- org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.util
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources;visibility:=reexport,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.edit;visibility:=reexport,
- org.eclipse.emf.ecore.xmi;visibility:=reexport,
- org.eclipse.ui.ide;visibility:=reexport,
- org.eclipse.ui,
- org.eclipse.emf.edit.ui,
- org.eclipse.ui.views.properties.tabbed
-Eclipse-LazyStart: true
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/about.html b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/build.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/build.properties
deleted file mode 100644
index c762af9..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = .,\
-               model/,\
-               META-INF/,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html,\
-               icons/
-jars.compile.order = .
-source.. = src/
-output.. = bin/
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateDefence_playerStats_PlayerStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateDefence_playerStats_PlayerStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateDefence_playerStats_PlayerStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateForward_playerStats_PlayerStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateForward_playerStats_PlayerStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateForward_playerStats_PlayerStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateGoalie_goalieStats_GoalieStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateGoalie_goalieStats_GoalieStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateGoalie_goalieStats_GoalieStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateLeague_teams_Team.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateLeague_teams_Team.gif
deleted file mode 100644
index bff88cb..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateLeague_teams_Team.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_arena_Arena.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_arena_Arena.gif
deleted file mode 100644
index 6accb2c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_arena_Arena.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_defencemen_Defence.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_defencemen_Defence.gif
deleted file mode 100644
index 464f798..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_defencemen_Defence.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_forwards_Forward.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_forwards_Forward.gif
deleted file mode 100644
index e0592df..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_forwards_Forward.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_goalies_Goalie.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_goalies_Goalie.gif
deleted file mode 100644
index 4cfbb15..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_goalies_Goalie.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Arena.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Arena.gif
deleted file mode 100644
index 6accb2c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Arena.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Defence.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Defence.gif
deleted file mode 100644
index 464f798..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Defence.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Forward.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Forward.gif
deleted file mode 100644
index e0592df..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Forward.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Goalie.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Goalie.gif
deleted file mode 100644
index 4cfbb15..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Goalie.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/GoalieStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/GoalieStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/GoalieStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Height.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Height.gif
deleted file mode 100644
index aa8f0a7..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Height.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueModelFile.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueModelFile.gif
deleted file mode 100644
index 415a3b6..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueModelFile.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueObject.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueObject.gif
deleted file mode 100644
index ed87474..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueObject.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/League.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/League.gif
deleted file mode 100644
index b93bab8..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/League.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Player.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Player.gif
deleted file mode 100644
index fe89f46..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Player.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/PlayerStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/PlayerStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/PlayerStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Team.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Team.gif
deleted file mode 100644
index bff88cb..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Team.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Weight.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Weight.gif
deleted file mode 100644
index 5d660e7..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Weight.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/wizban/NewHockeyleague.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/wizban/NewHockeyleague.gif
deleted file mode 100644
index acfcd36..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/wizban/NewHockeyleague.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/hockeyleague.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/hockeyleague.gif
deleted file mode 100644
index b93bab8..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/hockeyleague.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.ecore b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.ecore
deleted file mode 100644
index cac12ba..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.ecore
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague"
-    nsURI="http:///org/eclipse/ui/views/properties/tabbed/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore"
-    nsPrefix="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague">
-  <eClassifiers xsi:type="ecore:EClass" name="Arena" eSuperTypes="#//HockeyleagueObject">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="capacity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Defence" eSuperTypes="#//Player">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="position" eType="#//DefencePositionKind"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="playerStats" upperBound="-1"
-        eType="#//PlayerStats" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Forward" eSuperTypes="#//Player">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="position" eType="#//ForwardPositionKind"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="playerStats" upperBound="-1"
-        eType="#//PlayerStats" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Goalie" eSuperTypes="#//Player">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="goalieStats" upperBound="-1"
-        eType="#//GoalieStats" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="GoalieStats">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="year" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="team" eType="#//Team"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="gamesPlayedIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutesPlayedIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="goalsAgainstAverage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="wins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="losses" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="emptyNetGoals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shutouts" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="goalsAgainst" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="saves" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="penaltyMinutes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="goals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="assists" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="HockeyleagueObject" abstract="true">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="League" eSuperTypes="#//HockeyleagueObject">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="headoffice" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="teams" upperBound="-1"
-        eType="#//Team" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Player" abstract="true" eSuperTypes="#//HockeyleagueObject">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="birthplace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="number" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="heightMesurement" eType="#//HeightKind"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="heightValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="weightMesurement" eType="#//WeightKind"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="weightValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shot" eType="#//ShotKind"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="birthdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PlayerStats">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="year" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="team" eType="#//Team"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="gamesPlayedIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="goals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="assists" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="plusMinus" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="penaltyMinutes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="powerPlayGoals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shortHandedGoals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="gameWinningGoals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shots" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shotPercentage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Team" eSuperTypes="#//HockeyleagueObject">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="forwards" upperBound="-1"
-        eType="#//Forward" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="defencemen" upperBound="-1"
-        eType="#//Defence" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="goalies" upperBound="-1"
-        eType="#//Goalie" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="arena" eType="#//Arena"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="DefencePositionKind">
-    <eLiterals name="left_defence"/>
-    <eLiterals name="right_defence" value="1"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="ForwardPositionKind">
-    <eLiterals name="left_wing"/>
-    <eLiterals name="right_wing" value="1"/>
-    <eLiterals name="center" value="2"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="HeightKind">
-    <eLiterals name="inches"/>
-    <eLiterals name="centimeters" value="1"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="ShotKind">
-    <eLiterals name="left"/>
-    <eLiterals name="right" value="1"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="WeightKind">
-    <eLiterals name="pounds"/>
-    <eLiterals name="kilograms" value="1"/>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.genmodel b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.genmodel
deleted file mode 100644
index 89d2557..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.genmodel
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src"
-    modelPluginID="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague" modelName="Hockeyleague"
-    nonNLSMarkers="true" importerID="org.eclipse.emf.importer.ecore">
-  <genPackages prefix="Hockeyleague" disposableProviderFactory="true" ecorePackage="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#/">
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//DefencePositionKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//DefencePositionKind/left_defence"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//DefencePositionKind/right_defence"/>
-    </genEnums>
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ForwardPositionKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ForwardPositionKind/left_wing"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ForwardPositionKind/right_wing"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ForwardPositionKind/center"/>
-    </genEnums>
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HeightKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HeightKind/inches"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HeightKind/centimeters"/>
-    </genEnums>
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ShotKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ShotKind/left"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ShotKind/right"/>
-    </genEnums>
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//WeightKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//WeightKind/pounds"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//WeightKind/kilograms"/>
-    </genEnums>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Arena">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Arena/address"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Arena/capacity"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Defence">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Defence/position"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Defence/playerStats"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Forward">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Forward/position"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Forward/playerStats"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Goalie">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Goalie/goalieStats"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/year"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/team"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/gamesPlayedIn"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/minutesPlayedIn"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/goalsAgainstAverage"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/wins"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/losses"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/ties"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/emptyNetGoals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/shutouts"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/goalsAgainst"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/saves"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/penaltyMinutes"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/goals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/assists"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/points"/>
-    </genClasses>
-    <genClasses image="false" ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HockeyleagueObject">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HockeyleagueObject/name"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//League">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//League/headoffice"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//League/teams"/>
-    </genClasses>
-    <genClasses image="false" ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/birthplace"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/number"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/heightMesurement"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/heightValue"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/weightMesurement"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/weightValue"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/shot"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/birthdate"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/year"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/team"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/gamesPlayedIn"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/goals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/assists"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/points"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/plusMinus"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/penaltyMinutes"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/powerPlayGoals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/shortHandedGoals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/gameWinningGoals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/shots"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/shotPercentage"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team/forwards"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team/defencemen"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team/goalies"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team/arena"/>
-    </genClasses>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.properties
deleted file mode 100644
index 1c573a9..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.properties
+++ /dev/null
@@ -1,146 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName = Tabbed Properties View
-providerName = Eclipse.org
-
-_UI_CreateChild_text = {0}
-_UI_CreateChild_text2 = {1} {0}
-_UI_CreateChild_text3 = {1}
-_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
-_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
-_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
-
-_UI_PropertyDescriptor_description = The {0} of the {1}
-
-_UI_Arena_type = Arena
-_UI_Defence_type = Defence
-_UI_Forward_type = Forward
-_UI_Goalie_type = Goalie
-_UI_GoalieStats_type = Goalie Stats
-_UI_HockeyleagueObject_type = Object
-_UI_League_type = League
-_UI_Player_type = Player
-_UI_PlayerStats_type = Player Stats
-_UI_Team_type = Team
-_UI_Unknown_type = Object
-
-_UI_Unknown_datatype= Value
-
-_UI_Arena_address_feature = Address
-_UI_Arena_capacity_feature = Capacity
-_UI_Defence_position_feature = Position
-_UI_Defence_playerStats_feature = Player Stats
-_UI_Forward_position_feature = Position
-_UI_Forward_playerStats_feature = Player Stats
-_UI_Goalie_goalieStats_feature = Goalie Stats
-_UI_GoalieStats_year_feature = Year
-_UI_GoalieStats_team_feature = Team
-_UI_GoalieStats_gamesPlayedIn_feature = Games Played In
-_UI_GoalieStats_minutesPlayedIn_feature = Minutes Played In
-_UI_GoalieStats_goalsAgainstAverage_feature = Goals Against Average
-_UI_GoalieStats_wins_feature = Wins
-_UI_GoalieStats_losses_feature = Losses
-_UI_GoalieStats_ties_feature = Ties
-_UI_GoalieStats_emptyNetGoals_feature = Empty Net Goals
-_UI_GoalieStats_shutouts_feature = Shutouts
-_UI_GoalieStats_goalsAgainst_feature = Goals Against
-_UI_GoalieStats_saves_feature = Saves
-_UI_GoalieStats_penaltyMinutes_feature = Penalty Minutes
-_UI_GoalieStats_goals_feature = Goals
-_UI_GoalieStats_assists_feature = Assists
-_UI_GoalieStats_points_feature = Points
-_UI_HockeyleagueObject_name_feature = Name
-_UI_League_headoffice_feature = Headoffice
-_UI_League_teams_feature = Teams
-_UI_Player_birthplace_feature = Birthplace
-_UI_Player_number_feature = Number
-_UI_Player_heightMesurement_feature = Height Mesurement
-_UI_Player_heightValue_feature = Height Value
-_UI_Player_weightMesurement_feature = Weight Mesurement
-_UI_Player_weightValue_feature = Weight Value
-_UI_Player_shot_feature = Shot
-_UI_Player_birthdate_feature = Birthdate
-_UI_PlayerStats_year_feature = Year
-_UI_PlayerStats_team_feature = Team
-_UI_PlayerStats_gamesPlayedIn_feature = Games Played In
-_UI_PlayerStats_goals_feature = Goals
-_UI_PlayerStats_assists_feature = Assists
-_UI_PlayerStats_points_feature = Points
-_UI_PlayerStats_plusMinus_feature = Plus Minus
-_UI_PlayerStats_penaltyMinutes_feature = Penalty Minutes
-_UI_PlayerStats_powerPlayGoals_feature = Power Play Goals
-_UI_PlayerStats_shortHandedGoals_feature = Short Handed Goals
-_UI_PlayerStats_gameWinningGoals_feature = Game Winning Goals
-_UI_PlayerStats_shots_feature = Shots
-_UI_PlayerStats_shotPercentage_feature = Shot Percentage
-_UI_Team_forwards_feature = Forwards
-_UI_Team_defencemen_feature = Defencemen
-_UI_Team_goalies_feature = Goalies
-_UI_Team_arena_feature = Arena
-_UI_Unknown_feature = Unspecified
-
-_UI_DefencePositionKind_left_defence_literal = left_defence
-_UI_DefencePositionKind_right_defence_literal = right_defence
-_UI_ForwardPositionKind_left_wing_literal = left_wing
-_UI_ForwardPositionKind_right_wing_literal = right_wing
-_UI_ForwardPositionKind_center_literal = center
-_UI_HeightKind_inches_literal = inches
-_UI_HeightKind_centimeters_literal = centimeters
-_UI_ShotKind_left_literal = left
-_UI_ShotKind_right_literal = right
-_UI_WeightKind_pounds_literal = pounds
-_UI_WeightKind_kilograms_literal = kilograms
-
-_UI_HockeyleagueEditor_menu = &Hockeyleague Editor
-
-_UI_CreateChild_menu_item = &New Child
-_UI_CreateSibling_menu_item = N&ew Sibling
-
-_UI_ShowPropertiesView_menu_item = Show &Properties View
-_UI_RefreshViewer_menu_item = &Refresh
-
-_UI_SelectionPage_label = Selection
-_UI_ParentPage_label = Parent
-_UI_ListPage_label = List
-_UI_TreePage_label = Tree
-_UI_TablePage_label = Table
-_UI_TreeWithColumnsPage_label = Tree with Columns
-_UI_ObjectColumn_label = Object
-_UI_SelfColumn_label = Self
-
-_UI_NoObjectSelected = Selected Nothing
-_UI_SingleObjectSelected = Selected Object: {0}
-_UI_MultiObjectSelected = Selected {0} Objects
-
-_UI_OpenEditorError_label = Open Editor
-
-_UI_Wizard_category = Example EMF Model Creation Wizards
-
-_UI_HockeyleagueModelWizard_label = Hockeyleague Model
-_UI_HockeyleagueModelWizard_description = Create a new Hockeyleague model
-
-_UI_HockeyleagueEditor_label = Hockeyleague Model Editor
-
-_UI_HockeyleagueEditorFilenameDefaultBase = My
-_UI_HockeyleagueEditorFilenameExtension = org.eclipse.ui.examples.views.properties.tabbed.hockeyleague
-
-_UI_Wizard_label = New
-
-_WARN_FilenameExtension = The file name must end in ".{0}"
-
-_UI_ModelObject = Model Object
-_UI_XMLEncoding = XML Encoding
-_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
-_UI_Wizard_initial_object_description = Select a model object to create
-
-_UI_FileConflict_label = File Conflict
-_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.xml b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.xml
deleted file mode 100644
index 224f19f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.xml
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension point="org.eclipse.emf.ecore.generated_package">
-    <package 
-       uri = "http:///org/eclipse/ui/views/properties/tabbed/examples/hockeyleague.ecore" 
-       class = "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage"
-       genModel = "model/hockeyleague.genmodel" /> 
-  </extension>
-
-  <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
-    <factory 
-       uri = "http:///org/eclipse/ui/views/properties/tabbed/examples/hockeyleague.ecore" 
-       class = "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider.HockeyleagueItemProviderAdapterFactory" 
-       supportedTypes = 
-         "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
-          org.eclipse.emf.edit.provider.IStructuredItemContentProvider
-          org.eclipse.emf.edit.provider.ITreeItemContentProvider
-          org.eclipse.emf.edit.provider.IItemLabelProvider
-          org.eclipse.emf.edit.provider.IItemPropertySource" />
-  </extension>
-
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="Tabbed Properties View Examples"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.ui.views.properties.tabbed">
-      </category>
-      <wizard
-            name="Tabbed Properties View Hockey League Example Project"
-            icon="icons/hockeyleague.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.ui.views.properties.tabbed"
-            class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards.NewHockeyleagueProjectWizard"
-            project="true"
-            id="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards.NewHockeyleagueProjectWizard">
-         <description>
-            Create a new Tabbed Properties View Hockey League Example Project
-         </description>
-      </wizard>
-      <wizard
-            name="Tabbed Properties View Hockey League Example File"
-            icon="icons/hockeyleague.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.ui.views.properties.tabbed"
-            class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards.NewHockeyleagueFileWizard"
-            id="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards.NewHockeyleagueFileWizard">
-         <description>
-            Create a new Tabbed Properties View Hockey League Example File
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="Hockey League Editor"
-            icon="icons/hockeyleague.gif"
-            extensions="hockeyleague"
-            contributorClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueActionBarContributor"
-            class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor"
-            id="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor
-            labelProvider="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.HockeyleagueLabelProvider"
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague">
-         <propertyCategory
-               category="default">
-         </propertyCategory>
-         <propertyCategory
-               category="advanced">
-         </propertyCategory>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
-      <propertyTabs
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague">
-         <propertyTab
-               label="Advanced"
-               category="advanced"
-               id="hockeyleague.tab.Advanced">
-         </propertyTab>
-         <propertyTab
-               label="General"
-               category="default"
-               id="hockeyleague.tab.General">
-         </propertyTab>
-         <propertyTab
-               label="Born"
-               category="default"
-               afterTab="hockeyleague.tab.General"
-               id="hockeyleague.tab.Born">
-         </propertyTab>
-         <propertyTab
-               label="Measurements"
-               category="default"
-               afterTab="hockeyleague.tab.Born"
-               id="hockeyleague.tab.Measurements">
-         </propertyTab>
-         <propertyTab
-               label="Forwards"
-               category="default"
-               afterTab="hockeyleague.tab.Measurements"
-               id="hockeyleague.tab.Forwards">
-         </propertyTab>
-         <propertyTab
-               label="Defencemen"
-               category="default"
-               afterTab="hockeyleague.tab.Measurements"
-               id="hockeyleague.tab.Defencemen">
-         </propertyTab>
-         <propertyTab
-               label="Goalies"
-               category="default"
-               afterTab="hockeyleague.tab.Measurements"
-               id="hockeyleague.tab.Goalies">
-         </propertyTab>
-         <propertyTab
-               label="Statistics"
-               category="default"
-               afterTab="hockeyleague.tab.Measurements"
-               id="hockeyleague.tab.Statistics">
-         </propertyTab>
-         <propertyTab
-               label="Teams"
-               category="default"
-               afterTab="hockeyleague.tab.General"
-               id="hockeyleague.tab.Teams">
-         </propertyTab>
-      </propertyTabs>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertySections">
-      <propertySections
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague">
-         <propertySection
-               tab="hockeyleague.tab.General"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.NamePropertySection"
-               id="hockeyleague.section.Name">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Advanced"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AdvancedPropertySection"
-               id="hockeyleague.section.Advanced">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject">
-            </input>
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats"/>
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats"/>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Name"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AddressPropertySection"
-               id="hockeyleague.section.Address">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Name"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.HeadOfficePropertySection"
-               id="hockeyleague.section.Headoffice">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Name"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.NumberPropertySection"
-               id="hockeyleague.section.Number">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Number"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.ShotPropertySection"
-               id="hockeyleague.section.Shot">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Address"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.CapacityPropertySection"
-               id="hockeyleague.section.Capacity">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Born"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.BirthDatePropertySection"
-               id="hockeyleague.section.BirthDate">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Born"
-               afterSection="hockeyleague.section.BirthDate"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.BirthPlacePropertySection"
-               id="hockeyleague.section.BirthPlace">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Measurements"
-               afterSection="hockeyleague.section.Weight"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.HeightPropertySection"
-               id="hockeyleague.section.Height">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Measurements"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.WeightPropertySection"
-               id="hockeyleague.section.Weight">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Forwards"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.ForwardsPropertySection"
-               id="hockeyleague.section.Forwards">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Goalies"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.GoaliesPropertySection"
-               id="hockeyleague.section.Goalies">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Defencemen"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.DefencemenPropertySection"
-               id="hockeyleague.section.Defencemen">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Teams"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.TeamsPropertySection"
-               id="hockeyleague.section.Teams">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Statistics"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.PlayerStatsPropertySection"
-               id="hockeyleague.section.PlayerStats">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward">
-            </input>
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Shot"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.ForwardPositionPropertySection"
-               id="hockeyleague.section.ForwardPosition">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Shot"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.DefencePositionPropertySection"
-               id="hockeyleague.section.DefencePosition">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence">
-            </input>
-         </propertySection>
-      </propertySections>
-   </extension>
-</plugin>
-
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Arena.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Arena.java
deleted file mode 100644
index 33db219..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Arena.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Arena</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getAddress <em>Address</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getCapacity <em>Capacity</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getArena()
- * @model
- * @generated
- */
-public interface Arena extends HockeyleagueObject {
-	/**
-	 * Returns the value of the '<em><b>Address</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Address</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Address</em>' attribute.
-	 * @see #setAddress(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getArena_Address()
-	 * @model
-	 * @generated
-	 */
-	String getAddress();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getAddress <em>Address</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Address</em>' attribute.
-	 * @see #getAddress()
-	 * @generated
-	 */
-	void setAddress(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Capacity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Capacity</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Capacity</em>' attribute.
-	 * @see #setCapacity(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getArena_Capacity()
-	 * @model
-	 * @generated
-	 */
-	int getCapacity();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getCapacity <em>Capacity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Capacity</em>' attribute.
-	 * @see #getCapacity()
-	 * @generated
-	 */
-	void setCapacity(int value);
-
-} // Arena
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Defence.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Defence.java
deleted file mode 100644
index a15edb2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Defence.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Defence</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPosition <em>Position</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPlayerStats <em>Player Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getDefence()
- * @model
- * @generated
- */
-public interface Defence extends Player {
-	/**
-	 * Returns the value of the '<em><b>Position</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Position</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Position</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-	 * @see #setPosition(DefencePositionKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getDefence_Position()
-	 * @model
-	 * @generated
-	 */
-	DefencePositionKind getPosition();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPosition <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Position</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-	 * @see #getPosition()
-	 * @generated
-	 */
-	void setPosition(DefencePositionKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Player Stats</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Player Stats</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Player Stats</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getDefence_PlayerStats()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats" containment="true"
-	 * @generated
-	 */
-	EList getPlayerStats();
-
-} // Defence
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/DefencePositionKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/DefencePositionKind.java
deleted file mode 100644
index 0f68acd..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/DefencePositionKind.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Defence Position Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getDefencePositionKind()
- * @model
- * @generated
- */
-public final class DefencePositionKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Left defence</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Left defence</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_DEFENCE_LITERAL
-	 * @model name="left_defence"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LEFT_DEFENCE = 0;
-
-	/**
-	 * The '<em><b>Right defence</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Right defence</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_DEFENCE_LITERAL
-	 * @model name="right_defence"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RIGHT_DEFENCE = 1;
-
-	/**
-	 * The '<em><b>Left defence</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_DEFENCE
-	 * @generated
-	 * @ordered
-	 */
-	public static final DefencePositionKind LEFT_DEFENCE_LITERAL = new DefencePositionKind(LEFT_DEFENCE, "left_defence", "left_defence"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Right defence</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_DEFENCE
-	 * @generated
-	 * @ordered
-	 */
-	public static final DefencePositionKind RIGHT_DEFENCE_LITERAL = new DefencePositionKind(RIGHT_DEFENCE, "right_defence", "right_defence"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Defence Position Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final DefencePositionKind[] VALUES_ARRAY =
-		new DefencePositionKind[] {
-			LEFT_DEFENCE_LITERAL,
-			RIGHT_DEFENCE_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Defence Position Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Defence Position Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static DefencePositionKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			DefencePositionKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Defence Position Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static DefencePositionKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			DefencePositionKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Defence Position Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static DefencePositionKind get(int value) {
-		switch (value) {
-			case LEFT_DEFENCE: return LEFT_DEFENCE_LITERAL;
-			case RIGHT_DEFENCE: return RIGHT_DEFENCE_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private DefencePositionKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //DefencePositionKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Forward.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Forward.java
deleted file mode 100644
index 3ebed14..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Forward.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Forward</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPosition <em>Position</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPlayerStats <em>Player Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getForward()
- * @model
- * @generated
- */
-public interface Forward extends Player {
-	/**
-	 * Returns the value of the '<em><b>Position</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Position</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Position</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-	 * @see #setPosition(ForwardPositionKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getForward_Position()
-	 * @model
-	 * @generated
-	 */
-	ForwardPositionKind getPosition();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPosition <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Position</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-	 * @see #getPosition()
-	 * @generated
-	 */
-	void setPosition(ForwardPositionKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Player Stats</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Player Stats</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Player Stats</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getForward_PlayerStats()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats" containment="true"
-	 * @generated
-	 */
-	EList getPlayerStats();
-
-} // Forward
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ForwardPositionKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ForwardPositionKind.java
deleted file mode 100644
index 9a4be03..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ForwardPositionKind.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Forward Position Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getForwardPositionKind()
- * @model
- * @generated
- */
-public final class ForwardPositionKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Left wing</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Left wing</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_WING_LITERAL
-	 * @model name="left_wing"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LEFT_WING = 0;
-
-	/**
-	 * The '<em><b>Right wing</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Right wing</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_WING_LITERAL
-	 * @model name="right_wing"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RIGHT_WING = 1;
-
-	/**
-	 * The '<em><b>Center</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Center</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #CENTER_LITERAL
-	 * @model name="center"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int CENTER = 2;
-
-	/**
-	 * The '<em><b>Left wing</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_WING
-	 * @generated
-	 * @ordered
-	 */
-	public static final ForwardPositionKind LEFT_WING_LITERAL = new ForwardPositionKind(LEFT_WING, "left_wing", "left_wing"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Right wing</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_WING
-	 * @generated
-	 * @ordered
-	 */
-	public static final ForwardPositionKind RIGHT_WING_LITERAL = new ForwardPositionKind(RIGHT_WING, "right_wing", "right_wing"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Center</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #CENTER
-	 * @generated
-	 * @ordered
-	 */
-	public static final ForwardPositionKind CENTER_LITERAL = new ForwardPositionKind(CENTER, "center", "center"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Forward Position Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final ForwardPositionKind[] VALUES_ARRAY =
-		new ForwardPositionKind[] {
-			LEFT_WING_LITERAL,
-			RIGHT_WING_LITERAL,
-			CENTER_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Forward Position Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Forward Position Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ForwardPositionKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			ForwardPositionKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Forward Position Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ForwardPositionKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			ForwardPositionKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Forward Position Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ForwardPositionKind get(int value) {
-		switch (value) {
-			case LEFT_WING: return LEFT_WING_LITERAL;
-			case RIGHT_WING: return RIGHT_WING_LITERAL;
-			case CENTER: return CENTER_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private ForwardPositionKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //ForwardPositionKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Goalie.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Goalie.java
deleted file mode 100644
index 6e287c5..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Goalie.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Goalie</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie#getGoalieStats <em>Goalie Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalie()
- * @model
- * @generated
- */
-public interface Goalie extends Player {
-	/**
-	 * Returns the value of the '<em><b>Goalie Stats</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goalie Stats</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goalie Stats</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalie_GoalieStats()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats" containment="true"
-	 * @generated
-	 */
-	EList getGoalieStats();
-
-} // Goalie
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/GoalieStats.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/GoalieStats.java
deleted file mode 100644
index f2eed7a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/GoalieStats.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Goalie Stats</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getYear <em>Year</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTeam <em>Team</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGamesPlayedIn <em>Games Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getMinutesPlayedIn <em>Minutes Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainstAverage <em>Goals Against Average</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getWins <em>Wins</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getLosses <em>Losses</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTies <em>Ties</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getEmptyNetGoals <em>Empty Net Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getShutouts <em>Shutouts</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainst <em>Goals Against</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getSaves <em>Saves</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPenaltyMinutes <em>Penalty Minutes</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoals <em>Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getAssists <em>Assists</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPoints <em>Points</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats()
- * @model
- * @generated
- */
-public interface GoalieStats extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Year</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Year</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Year</em>' attribute.
-	 * @see #setYear(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Year()
-	 * @model
-	 * @generated
-	 */
-	String getYear();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getYear <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Year</em>' attribute.
-	 * @see #getYear()
-	 * @generated
-	 */
-	void setYear(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Team</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Team</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Team</em>' reference.
-	 * @see #setTeam(Team)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Team()
-	 * @model
-	 * @generated
-	 */
-	Team getTeam();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTeam <em>Team</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Team</em>' reference.
-	 * @see #getTeam()
-	 * @generated
-	 */
-	void setTeam(Team value);
-
-	/**
-	 * Returns the value of the '<em><b>Games Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Games Played In</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Games Played In</em>' attribute.
-	 * @see #setGamesPlayedIn(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_GamesPlayedIn()
-	 * @model
-	 * @generated
-	 */
-	int getGamesPlayedIn();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGamesPlayedIn <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Games Played In</em>' attribute.
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 */
-	void setGamesPlayedIn(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Minutes Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Minutes Played In</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Minutes Played In</em>' attribute.
-	 * @see #setMinutesPlayedIn(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_MinutesPlayedIn()
-	 * @model
-	 * @generated
-	 */
-	int getMinutesPlayedIn();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getMinutesPlayedIn <em>Minutes Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Minutes Played In</em>' attribute.
-	 * @see #getMinutesPlayedIn()
-	 * @generated
-	 */
-	void setMinutesPlayedIn(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Goals Against Average</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goals Against Average</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goals Against Average</em>' attribute.
-	 * @see #setGoalsAgainstAverage(float)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_GoalsAgainstAverage()
-	 * @model
-	 * @generated
-	 */
-	float getGoalsAgainstAverage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainstAverage <em>Goals Against Average</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Goals Against Average</em>' attribute.
-	 * @see #getGoalsAgainstAverage()
-	 * @generated
-	 */
-	void setGoalsAgainstAverage(float value);
-
-	/**
-	 * Returns the value of the '<em><b>Wins</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Wins</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Wins</em>' attribute.
-	 * @see #setWins(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Wins()
-	 * @model
-	 * @generated
-	 */
-	int getWins();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getWins <em>Wins</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Wins</em>' attribute.
-	 * @see #getWins()
-	 * @generated
-	 */
-	void setWins(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Losses</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Losses</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Losses</em>' attribute.
-	 * @see #setLosses(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Losses()
-	 * @model
-	 * @generated
-	 */
-	int getLosses();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getLosses <em>Losses</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Losses</em>' attribute.
-	 * @see #getLosses()
-	 * @generated
-	 */
-	void setLosses(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Ties</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Ties</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Ties</em>' attribute.
-	 * @see #setTies(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Ties()
-	 * @model
-	 * @generated
-	 */
-	int getTies();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTies <em>Ties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Ties</em>' attribute.
-	 * @see #getTies()
-	 * @generated
-	 */
-	void setTies(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Empty Net Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Empty Net Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Empty Net Goals</em>' attribute.
-	 * @see #setEmptyNetGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_EmptyNetGoals()
-	 * @model
-	 * @generated
-	 */
-	int getEmptyNetGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getEmptyNetGoals <em>Empty Net Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Empty Net Goals</em>' attribute.
-	 * @see #getEmptyNetGoals()
-	 * @generated
-	 */
-	void setEmptyNetGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Shutouts</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Shutouts</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Shutouts</em>' attribute.
-	 * @see #setShutouts(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Shutouts()
-	 * @model
-	 * @generated
-	 */
-	int getShutouts();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getShutouts <em>Shutouts</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Shutouts</em>' attribute.
-	 * @see #getShutouts()
-	 * @generated
-	 */
-	void setShutouts(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Goals Against</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goals Against</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goals Against</em>' attribute.
-	 * @see #setGoalsAgainst(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_GoalsAgainst()
-	 * @model
-	 * @generated
-	 */
-	int getGoalsAgainst();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainst <em>Goals Against</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Goals Against</em>' attribute.
-	 * @see #getGoalsAgainst()
-	 * @generated
-	 */
-	void setGoalsAgainst(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Saves</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Saves</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Saves</em>' attribute.
-	 * @see #setSaves(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Saves()
-	 * @model
-	 * @generated
-	 */
-	int getSaves();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getSaves <em>Saves</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Saves</em>' attribute.
-	 * @see #getSaves()
-	 * @generated
-	 */
-	void setSaves(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Penalty Minutes</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Penalty Minutes</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Penalty Minutes</em>' attribute.
-	 * @see #setPenaltyMinutes(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_PenaltyMinutes()
-	 * @model
-	 * @generated
-	 */
-	int getPenaltyMinutes();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPenaltyMinutes <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Penalty Minutes</em>' attribute.
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 */
-	void setPenaltyMinutes(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goals</em>' attribute.
-	 * @see #setGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Goals()
-	 * @model
-	 * @generated
-	 */
-	int getGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoals <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Goals</em>' attribute.
-	 * @see #getGoals()
-	 * @generated
-	 */
-	void setGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Assists</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Assists</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Assists</em>' attribute.
-	 * @see #setAssists(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Assists()
-	 * @model
-	 * @generated
-	 */
-	int getAssists();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getAssists <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Assists</em>' attribute.
-	 * @see #getAssists()
-	 * @generated
-	 */
-	void setAssists(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Points</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Points</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Points</em>' attribute.
-	 * @see #setPoints(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Points()
-	 * @model
-	 * @generated
-	 */
-	int getPoints();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPoints <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Points</em>' attribute.
-	 * @see #getPoints()
-	 * @generated
-	 */
-	void setPoints(int value);
-
-} // GoalieStats
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HeightKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HeightKind.java
deleted file mode 100644
index 4f3341b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HeightKind.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Height Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getHeightKind()
- * @model
- * @generated
- */
-public final class HeightKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Inches</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Inches</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #INCHES_LITERAL
-	 * @model name="inches"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int INCHES = 0;
-
-	/**
-	 * The '<em><b>Centimeters</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Centimeters</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #CENTIMETERS_LITERAL
-	 * @model name="centimeters"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int CENTIMETERS = 1;
-
-	/**
-	 * The '<em><b>Inches</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #INCHES
-	 * @generated
-	 * @ordered
-	 */
-	public static final HeightKind INCHES_LITERAL = new HeightKind(INCHES, "inches", "inches"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Centimeters</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #CENTIMETERS
-	 * @generated
-	 * @ordered
-	 */
-	public static final HeightKind CENTIMETERS_LITERAL = new HeightKind(CENTIMETERS, "centimeters", "centimeters"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Height Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final HeightKind[] VALUES_ARRAY =
-		new HeightKind[] {
-			INCHES_LITERAL,
-			CENTIMETERS_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Height Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Height Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HeightKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			HeightKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Height Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HeightKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			HeightKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Height Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HeightKind get(int value) {
-		switch (value) {
-			case INCHES: return INCHES_LITERAL;
-			case CENTIMETERS: return CENTIMETERS_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private HeightKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //HeightKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueFactory.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueFactory.java
deleted file mode 100644
index d796d2b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueFactory.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage
- * @generated
- */
-public interface HockeyleagueFactory extends EFactory {
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	HockeyleagueFactory eINSTANCE = org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueFactoryImpl.init();
-
-	/**
-	 * Returns a new object of class '<em>Arena</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Arena</em>'.
-	 * @generated
-	 */
-	Arena createArena();
-
-	/**
-	 * Returns a new object of class '<em>Defence</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Defence</em>'.
-	 * @generated
-	 */
-	Defence createDefence();
-
-	/**
-	 * Returns a new object of class '<em>Forward</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Forward</em>'.
-	 * @generated
-	 */
-	Forward createForward();
-
-	/**
-	 * Returns a new object of class '<em>Goalie</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Goalie</em>'.
-	 * @generated
-	 */
-	Goalie createGoalie();
-
-	/**
-	 * Returns a new object of class '<em>Goalie Stats</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Goalie Stats</em>'.
-	 * @generated
-	 */
-	GoalieStats createGoalieStats();
-
-	/**
-	 * Returns a new object of class '<em>League</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>League</em>'.
-	 * @generated
-	 */
-	League createLeague();
-
-	/**
-	 * Returns a new object of class '<em>Player Stats</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Player Stats</em>'.
-	 * @generated
-	 */
-	PlayerStats createPlayerStats();
-
-	/**
-	 * Returns a new object of class '<em>Team</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Team</em>'.
-	 * @generated
-	 */
-	Team createTeam();
-
-	/**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	HockeyleaguePackage getHockeyleaguePackage();
-
-} //HockeyleagueFactory
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueObject.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueObject.java
deleted file mode 100644
index acb0766..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueObject.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Object</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getHockeyleagueObject()
- * @model abstract="true"
- * @generated
- */
-public interface HockeyleagueObject extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getHockeyleagueObject_Name()
-	 * @model
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-} // HockeyleagueObject
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePackage.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePackage.java
deleted file mode 100644
index a2eb444..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePackage.java
+++ /dev/null
@@ -1,2339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory
- * @model kind="package"
- * @generated
- */
-public interface HockeyleaguePackage extends EPackage {
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague"; //$NON-NLS-1$
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http:///org/eclipse/ui/views/properties/tabbed/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore"; //$NON-NLS-1$
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague"; //$NON-NLS-1$
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	HockeyleaguePackage eINSTANCE = org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl <em>Object</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getHockeyleagueObject()
-	 * @generated
-	 */
-	int HOCKEYLEAGUE_OBJECT = 5;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HOCKEYLEAGUE_OBJECT__NAME = 0;
-
-	/**
-	 * The number of structural features of the '<em>Object</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HOCKEYLEAGUE_OBJECT_FEATURE_COUNT = 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl <em>Arena</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getArena()
-	 * @generated
-	 */
-	int ARENA = 0;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARENA__NAME = HOCKEYLEAGUE_OBJECT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Address</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARENA__ADDRESS = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Capacity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARENA__CAPACITY = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Arena</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARENA_FEATURE_COUNT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl <em>Player</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getPlayer()
-	 * @generated
-	 */
-	int PLAYER = 7;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__NAME = HOCKEYLEAGUE_OBJECT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__BIRTHPLACE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__NUMBER = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Height Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__HEIGHT_MESUREMENT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__HEIGHT_VALUE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__WEIGHT_MESUREMENT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__WEIGHT_VALUE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Shot</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__SHOT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__BIRTHDATE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 7;
-
-	/**
-	 * The number of structural features of the '<em>Player</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_FEATURE_COUNT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 8;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl <em>Defence</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getDefence()
-	 * @generated
-	 */
-	int DEFENCE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__NAME = PLAYER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__BIRTHPLACE = PLAYER__BIRTHPLACE;
-
-	/**
-	 * The feature id for the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__NUMBER = PLAYER__NUMBER;
-
-	/**
-	 * The feature id for the '<em><b>Height Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__HEIGHT_MESUREMENT = PLAYER__HEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__HEIGHT_VALUE = PLAYER__HEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__WEIGHT_MESUREMENT = PLAYER__WEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__WEIGHT_VALUE = PLAYER__WEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Shot</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__SHOT = PLAYER__SHOT;
-
-	/**
-	 * The feature id for the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__BIRTHDATE = PLAYER__BIRTHDATE;
-
-	/**
-	 * The feature id for the '<em><b>Position</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__POSITION = PLAYER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Player Stats</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__PLAYER_STATS = PLAYER_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Defence</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE_FEATURE_COUNT = PLAYER_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl <em>Forward</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getForward()
-	 * @generated
-	 */
-	int FORWARD = 2;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__NAME = PLAYER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__BIRTHPLACE = PLAYER__BIRTHPLACE;
-
-	/**
-	 * The feature id for the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__NUMBER = PLAYER__NUMBER;
-
-	/**
-	 * The feature id for the '<em><b>Height Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__HEIGHT_MESUREMENT = PLAYER__HEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__HEIGHT_VALUE = PLAYER__HEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__WEIGHT_MESUREMENT = PLAYER__WEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__WEIGHT_VALUE = PLAYER__WEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Shot</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__SHOT = PLAYER__SHOT;
-
-	/**
-	 * The feature id for the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__BIRTHDATE = PLAYER__BIRTHDATE;
-
-	/**
-	 * The feature id for the '<em><b>Position</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__POSITION = PLAYER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Player Stats</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__PLAYER_STATS = PLAYER_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Forward</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD_FEATURE_COUNT = PLAYER_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl <em>Goalie</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getGoalie()
-	 * @generated
-	 */
-	int GOALIE = 3;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__NAME = PLAYER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__BIRTHPLACE = PLAYER__BIRTHPLACE;
-
-	/**
-	 * The feature id for the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__NUMBER = PLAYER__NUMBER;
-
-	/**
-	 * The feature id for the '<em><b>Height Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__HEIGHT_MESUREMENT = PLAYER__HEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__HEIGHT_VALUE = PLAYER__HEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__WEIGHT_MESUREMENT = PLAYER__WEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__WEIGHT_VALUE = PLAYER__WEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Shot</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__SHOT = PLAYER__SHOT;
-
-	/**
-	 * The feature id for the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__BIRTHDATE = PLAYER__BIRTHDATE;
-
-	/**
-	 * The feature id for the '<em><b>Goalie Stats</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__GOALIE_STATS = PLAYER_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Goalie</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_FEATURE_COUNT = PLAYER_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl <em>Goalie Stats</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getGoalieStats()
-	 * @generated
-	 */
-	int GOALIE_STATS = 4;
-
-	/**
-	 * The feature id for the '<em><b>Year</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__YEAR = 0;
-
-	/**
-	 * The feature id for the '<em><b>Team</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__TEAM = 1;
-
-	/**
-	 * The feature id for the '<em><b>Games Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__GAMES_PLAYED_IN = 2;
-
-	/**
-	 * The feature id for the '<em><b>Minutes Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__MINUTES_PLAYED_IN = 3;
-
-	/**
-	 * The feature id for the '<em><b>Goals Against Average</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__GOALS_AGAINST_AVERAGE = 4;
-
-	/**
-	 * The feature id for the '<em><b>Wins</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__WINS = 5;
-
-	/**
-	 * The feature id for the '<em><b>Losses</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__LOSSES = 6;
-
-	/**
-	 * The feature id for the '<em><b>Ties</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__TIES = 7;
-
-	/**
-	 * The feature id for the '<em><b>Empty Net Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__EMPTY_NET_GOALS = 8;
-
-	/**
-	 * The feature id for the '<em><b>Shutouts</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__SHUTOUTS = 9;
-
-	/**
-	 * The feature id for the '<em><b>Goals Against</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__GOALS_AGAINST = 10;
-
-	/**
-	 * The feature id for the '<em><b>Saves</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__SAVES = 11;
-
-	/**
-	 * The feature id for the '<em><b>Penalty Minutes</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__PENALTY_MINUTES = 12;
-
-	/**
-	 * The feature id for the '<em><b>Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__GOALS = 13;
-
-	/**
-	 * The feature id for the '<em><b>Assists</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__ASSISTS = 14;
-
-	/**
-	 * The feature id for the '<em><b>Points</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__POINTS = 15;
-
-	/**
-	 * The number of structural features of the '<em>Goalie Stats</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS_FEATURE_COUNT = 16;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl <em>League</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getLeague()
-	 * @generated
-	 */
-	int LEAGUE = 6;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LEAGUE__NAME = HOCKEYLEAGUE_OBJECT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Headoffice</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LEAGUE__HEADOFFICE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Teams</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LEAGUE__TEAMS = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>League</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LEAGUE_FEATURE_COUNT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl <em>Player Stats</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getPlayerStats()
-	 * @generated
-	 */
-	int PLAYER_STATS = 8;
-
-	/**
-	 * The feature id for the '<em><b>Year</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__YEAR = 0;
-
-	/**
-	 * The feature id for the '<em><b>Team</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__TEAM = 1;
-
-	/**
-	 * The feature id for the '<em><b>Games Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__GAMES_PLAYED_IN = 2;
-
-	/**
-	 * The feature id for the '<em><b>Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__GOALS = 3;
-
-	/**
-	 * The feature id for the '<em><b>Assists</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__ASSISTS = 4;
-
-	/**
-	 * The feature id for the '<em><b>Points</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__POINTS = 5;
-
-	/**
-	 * The feature id for the '<em><b>Plus Minus</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__PLUS_MINUS = 6;
-
-	/**
-	 * The feature id for the '<em><b>Penalty Minutes</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__PENALTY_MINUTES = 7;
-
-	/**
-	 * The feature id for the '<em><b>Power Play Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__POWER_PLAY_GOALS = 8;
-
-	/**
-	 * The feature id for the '<em><b>Short Handed Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__SHORT_HANDED_GOALS = 9;
-
-	/**
-	 * The feature id for the '<em><b>Game Winning Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__GAME_WINNING_GOALS = 10;
-
-	/**
-	 * The feature id for the '<em><b>Shots</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__SHOTS = 11;
-
-	/**
-	 * The feature id for the '<em><b>Shot Percentage</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__SHOT_PERCENTAGE = 12;
-
-	/**
-	 * The number of structural features of the '<em>Player Stats</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS_FEATURE_COUNT = 13;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl <em>Team</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getTeam()
-	 * @generated
-	 */
-	int TEAM = 9;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__NAME = HOCKEYLEAGUE_OBJECT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Forwards</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__FORWARDS = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Defencemen</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__DEFENCEMEN = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Goalies</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__GOALIES = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Arena</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__ARENA = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 3;
-
-	/**
-	 * The number of structural features of the '<em>Team</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM_FEATURE_COUNT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 4;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind <em>Defence Position Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getDefencePositionKind()
-	 * @generated
-	 */
-	int DEFENCE_POSITION_KIND = 10;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind <em>Forward Position Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getForwardPositionKind()
-	 * @generated
-	 */
-	int FORWARD_POSITION_KIND = 11;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind <em>Height Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getHeightKind()
-	 * @generated
-	 */
-	int HEIGHT_KIND = 12;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind <em>Shot Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getShotKind()
-	 * @generated
-	 */
-	int SHOT_KIND = 13;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind <em>Weight Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getWeightKind()
-	 * @generated
-	 */
-	int WEIGHT_KIND = 14;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena <em>Arena</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Arena</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena
-	 * @generated
-	 */
-	EClass getArena();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getAddress <em>Address</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Address</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getAddress()
-	 * @see #getArena()
-	 * @generated
-	 */
-	EAttribute getArena_Address();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getCapacity <em>Capacity</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Capacity</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getCapacity()
-	 * @see #getArena()
-	 * @generated
-	 */
-	EAttribute getArena_Capacity();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence <em>Defence</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Defence</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence
-	 * @generated
-	 */
-	EClass getDefence();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPosition <em>Position</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Position</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPosition()
-	 * @see #getDefence()
-	 * @generated
-	 */
-	EAttribute getDefence_Position();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPlayerStats <em>Player Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Player Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPlayerStats()
-	 * @see #getDefence()
-	 * @generated
-	 */
-	EReference getDefence_PlayerStats();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward <em>Forward</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Forward</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward
-	 * @generated
-	 */
-	EClass getForward();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPosition <em>Position</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Position</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPosition()
-	 * @see #getForward()
-	 * @generated
-	 */
-	EAttribute getForward_Position();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPlayerStats <em>Player Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Player Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPlayerStats()
-	 * @see #getForward()
-	 * @generated
-	 */
-	EReference getForward_PlayerStats();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie <em>Goalie</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Goalie</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie
-	 * @generated
-	 */
-	EClass getGoalie();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie#getGoalieStats <em>Goalie Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Goalie Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie#getGoalieStats()
-	 * @see #getGoalie()
-	 * @generated
-	 */
-	EReference getGoalie_GoalieStats();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats <em>Goalie Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Goalie Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats
-	 * @generated
-	 */
-	EClass getGoalieStats();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getYear <em>Year</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Year</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getYear()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Year();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTeam <em>Team</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Team</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTeam()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EReference getGoalieStats_Team();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGamesPlayedIn <em>Games Played In</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Games Played In</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGamesPlayedIn()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_GamesPlayedIn();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getMinutesPlayedIn <em>Minutes Played In</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Minutes Played In</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getMinutesPlayedIn()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_MinutesPlayedIn();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainstAverage <em>Goals Against Average</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Goals Against Average</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainstAverage()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_GoalsAgainstAverage();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getWins <em>Wins</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Wins</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getWins()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Wins();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getLosses <em>Losses</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Losses</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getLosses()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Losses();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTies <em>Ties</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Ties</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTies()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Ties();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getEmptyNetGoals <em>Empty Net Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Empty Net Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getEmptyNetGoals()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_EmptyNetGoals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getShutouts <em>Shutouts</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Shutouts</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getShutouts()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Shutouts();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainst <em>Goals Against</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Goals Against</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainst()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_GoalsAgainst();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getSaves <em>Saves</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Saves</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getSaves()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Saves();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPenaltyMinutes <em>Penalty Minutes</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Penalty Minutes</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPenaltyMinutes()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_PenaltyMinutes();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoals <em>Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoals()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Goals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getAssists <em>Assists</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Assists</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getAssists()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Assists();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPoints <em>Points</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Points</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPoints()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Points();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject <em>Object</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Object</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject
-	 * @generated
-	 */
-	EClass getHockeyleagueObject();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject#getName()
-	 * @see #getHockeyleagueObject()
-	 * @generated
-	 */
-	EAttribute getHockeyleagueObject_Name();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League <em>League</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>League</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League
-	 * @generated
-	 */
-	EClass getLeague();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getHeadoffice <em>Headoffice</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Headoffice</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getHeadoffice()
-	 * @see #getLeague()
-	 * @generated
-	 */
-	EAttribute getLeague_Headoffice();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getTeams <em>Teams</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Teams</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getTeams()
-	 * @see #getLeague()
-	 * @generated
-	 */
-	EReference getLeague_Teams();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player <em>Player</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Player</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player
-	 * @generated
-	 */
-	EClass getPlayer();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthplace <em>Birthplace</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Birthplace</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthplace()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_Birthplace();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getNumber <em>Number</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Number</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getNumber()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_Number();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightMesurement <em>Height Mesurement</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Height Mesurement</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightMesurement()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_HeightMesurement();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightValue <em>Height Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Height Value</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightValue()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_HeightValue();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightMesurement <em>Weight Mesurement</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Weight Mesurement</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightMesurement()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_WeightMesurement();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightValue <em>Weight Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Weight Value</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightValue()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_WeightValue();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getShot <em>Shot</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Shot</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getShot()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_Shot();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthdate <em>Birthdate</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Birthdate</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthdate()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_Birthdate();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats <em>Player Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Player Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats
-	 * @generated
-	 */
-	EClass getPlayerStats();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getYear <em>Year</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Year</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getYear()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Year();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getTeam <em>Team</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Team</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getTeam()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EReference getPlayerStats_Team();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGamesPlayedIn <em>Games Played In</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Games Played In</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGamesPlayedIn()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_GamesPlayedIn();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGoals <em>Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGoals()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Goals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getAssists <em>Assists</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Assists</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getAssists()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Assists();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPoints <em>Points</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Points</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPoints()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Points();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPlusMinus <em>Plus Minus</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Plus Minus</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPlusMinus()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_PlusMinus();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPenaltyMinutes <em>Penalty Minutes</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Penalty Minutes</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPenaltyMinutes()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_PenaltyMinutes();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPowerPlayGoals <em>Power Play Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Power Play Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPowerPlayGoals()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_PowerPlayGoals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShortHandedGoals <em>Short Handed Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Short Handed Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShortHandedGoals()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_ShortHandedGoals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGameWinningGoals <em>Game Winning Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Game Winning Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGameWinningGoals()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_GameWinningGoals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShots <em>Shots</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Shots</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShots()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Shots();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShotPercentage <em>Shot Percentage</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Shot Percentage</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShotPercentage()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_ShotPercentage();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team <em>Team</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Team</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team
-	 * @generated
-	 */
-	EClass getTeam();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getForwards <em>Forwards</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Forwards</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getForwards()
-	 * @see #getTeam()
-	 * @generated
-	 */
-	EReference getTeam_Forwards();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getDefencemen <em>Defencemen</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Defencemen</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getDefencemen()
-	 * @see #getTeam()
-	 * @generated
-	 */
-	EReference getTeam_Defencemen();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getGoalies <em>Goalies</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Goalies</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getGoalies()
-	 * @see #getTeam()
-	 * @generated
-	 */
-	EReference getTeam_Goalies();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getArena <em>Arena</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Arena</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getArena()
-	 * @see #getTeam()
-	 * @generated
-	 */
-	EReference getTeam_Arena();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind <em>Defence Position Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Defence Position Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-	 * @generated
-	 */
-	EEnum getDefencePositionKind();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind <em>Forward Position Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Forward Position Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-	 * @generated
-	 */
-	EEnum getForwardPositionKind();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind <em>Height Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Height Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-	 * @generated
-	 */
-	EEnum getHeightKind();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind <em>Shot Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Shot Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-	 * @generated
-	 */
-	EEnum getShotKind();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind <em>Weight Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Weight Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-	 * @generated
-	 */
-	EEnum getWeightKind();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	HockeyleagueFactory getHockeyleagueFactory();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Defines literals for the meta objects that represent
-	 * <ul>
-	 *   <li>each class,</li>
-	 *   <li>each feature of each class,</li>
-	 *   <li>each enum,</li>
-	 *   <li>and each data type</li>
-	 * </ul>
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	interface Literals {
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl <em>Arena</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getArena()
-		 * @generated
-		 */
-		EClass ARENA = eINSTANCE.getArena();
-
-		/**
-		 * The meta object literal for the '<em><b>Address</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ARENA__ADDRESS = eINSTANCE.getArena_Address();
-
-		/**
-		 * The meta object literal for the '<em><b>Capacity</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ARENA__CAPACITY = eINSTANCE.getArena_Capacity();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl <em>Defence</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getDefence()
-		 * @generated
-		 */
-		EClass DEFENCE = eINSTANCE.getDefence();
-
-		/**
-		 * The meta object literal for the '<em><b>Position</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute DEFENCE__POSITION = eINSTANCE.getDefence_Position();
-
-		/**
-		 * The meta object literal for the '<em><b>Player Stats</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DEFENCE__PLAYER_STATS = eINSTANCE.getDefence_PlayerStats();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl <em>Forward</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getForward()
-		 * @generated
-		 */
-		EClass FORWARD = eINSTANCE.getForward();
-
-		/**
-		 * The meta object literal for the '<em><b>Position</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute FORWARD__POSITION = eINSTANCE.getForward_Position();
-
-		/**
-		 * The meta object literal for the '<em><b>Player Stats</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference FORWARD__PLAYER_STATS = eINSTANCE.getForward_PlayerStats();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl <em>Goalie</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getGoalie()
-		 * @generated
-		 */
-		EClass GOALIE = eINSTANCE.getGoalie();
-
-		/**
-		 * The meta object literal for the '<em><b>Goalie Stats</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference GOALIE__GOALIE_STATS = eINSTANCE.getGoalie_GoalieStats();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl <em>Goalie Stats</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getGoalieStats()
-		 * @generated
-		 */
-		EClass GOALIE_STATS = eINSTANCE.getGoalieStats();
-
-		/**
-		 * The meta object literal for the '<em><b>Year</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__YEAR = eINSTANCE.getGoalieStats_Year();
-
-		/**
-		 * The meta object literal for the '<em><b>Team</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference GOALIE_STATS__TEAM = eINSTANCE.getGoalieStats_Team();
-
-		/**
-		 * The meta object literal for the '<em><b>Games Played In</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__GAMES_PLAYED_IN = eINSTANCE.getGoalieStats_GamesPlayedIn();
-
-		/**
-		 * The meta object literal for the '<em><b>Minutes Played In</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__MINUTES_PLAYED_IN = eINSTANCE.getGoalieStats_MinutesPlayedIn();
-
-		/**
-		 * The meta object literal for the '<em><b>Goals Against Average</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__GOALS_AGAINST_AVERAGE = eINSTANCE.getGoalieStats_GoalsAgainstAverage();
-
-		/**
-		 * The meta object literal for the '<em><b>Wins</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__WINS = eINSTANCE.getGoalieStats_Wins();
-
-		/**
-		 * The meta object literal for the '<em><b>Losses</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__LOSSES = eINSTANCE.getGoalieStats_Losses();
-
-		/**
-		 * The meta object literal for the '<em><b>Ties</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__TIES = eINSTANCE.getGoalieStats_Ties();
-
-		/**
-		 * The meta object literal for the '<em><b>Empty Net Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__EMPTY_NET_GOALS = eINSTANCE.getGoalieStats_EmptyNetGoals();
-
-		/**
-		 * The meta object literal for the '<em><b>Shutouts</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__SHUTOUTS = eINSTANCE.getGoalieStats_Shutouts();
-
-		/**
-		 * The meta object literal for the '<em><b>Goals Against</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__GOALS_AGAINST = eINSTANCE.getGoalieStats_GoalsAgainst();
-
-		/**
-		 * The meta object literal for the '<em><b>Saves</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__SAVES = eINSTANCE.getGoalieStats_Saves();
-
-		/**
-		 * The meta object literal for the '<em><b>Penalty Minutes</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__PENALTY_MINUTES = eINSTANCE.getGoalieStats_PenaltyMinutes();
-
-		/**
-		 * The meta object literal for the '<em><b>Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__GOALS = eINSTANCE.getGoalieStats_Goals();
-
-		/**
-		 * The meta object literal for the '<em><b>Assists</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__ASSISTS = eINSTANCE.getGoalieStats_Assists();
-
-		/**
-		 * The meta object literal for the '<em><b>Points</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__POINTS = eINSTANCE.getGoalieStats_Points();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl <em>Object</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getHockeyleagueObject()
-		 * @generated
-		 */
-		EClass HOCKEYLEAGUE_OBJECT = eINSTANCE.getHockeyleagueObject();
-
-		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute HOCKEYLEAGUE_OBJECT__NAME = eINSTANCE.getHockeyleagueObject_Name();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl <em>League</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getLeague()
-		 * @generated
-		 */
-		EClass LEAGUE = eINSTANCE.getLeague();
-
-		/**
-		 * The meta object literal for the '<em><b>Headoffice</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute LEAGUE__HEADOFFICE = eINSTANCE.getLeague_Headoffice();
-
-		/**
-		 * The meta object literal for the '<em><b>Teams</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference LEAGUE__TEAMS = eINSTANCE.getLeague_Teams();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl <em>Player</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getPlayer()
-		 * @generated
-		 */
-		EClass PLAYER = eINSTANCE.getPlayer();
-
-		/**
-		 * The meta object literal for the '<em><b>Birthplace</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__BIRTHPLACE = eINSTANCE.getPlayer_Birthplace();
-
-		/**
-		 * The meta object literal for the '<em><b>Number</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__NUMBER = eINSTANCE.getPlayer_Number();
-
-		/**
-		 * The meta object literal for the '<em><b>Height Mesurement</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__HEIGHT_MESUREMENT = eINSTANCE.getPlayer_HeightMesurement();
-
-		/**
-		 * The meta object literal for the '<em><b>Height Value</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__HEIGHT_VALUE = eINSTANCE.getPlayer_HeightValue();
-
-		/**
-		 * The meta object literal for the '<em><b>Weight Mesurement</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__WEIGHT_MESUREMENT = eINSTANCE.getPlayer_WeightMesurement();
-
-		/**
-		 * The meta object literal for the '<em><b>Weight Value</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__WEIGHT_VALUE = eINSTANCE.getPlayer_WeightValue();
-
-		/**
-		 * The meta object literal for the '<em><b>Shot</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__SHOT = eINSTANCE.getPlayer_Shot();
-
-		/**
-		 * The meta object literal for the '<em><b>Birthdate</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__BIRTHDATE = eINSTANCE.getPlayer_Birthdate();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl <em>Player Stats</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getPlayerStats()
-		 * @generated
-		 */
-		EClass PLAYER_STATS = eINSTANCE.getPlayerStats();
-
-		/**
-		 * The meta object literal for the '<em><b>Year</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__YEAR = eINSTANCE.getPlayerStats_Year();
-
-		/**
-		 * The meta object literal for the '<em><b>Team</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference PLAYER_STATS__TEAM = eINSTANCE.getPlayerStats_Team();
-
-		/**
-		 * The meta object literal for the '<em><b>Games Played In</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__GAMES_PLAYED_IN = eINSTANCE.getPlayerStats_GamesPlayedIn();
-
-		/**
-		 * The meta object literal for the '<em><b>Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__GOALS = eINSTANCE.getPlayerStats_Goals();
-
-		/**
-		 * The meta object literal for the '<em><b>Assists</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__ASSISTS = eINSTANCE.getPlayerStats_Assists();
-
-		/**
-		 * The meta object literal for the '<em><b>Points</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__POINTS = eINSTANCE.getPlayerStats_Points();
-
-		/**
-		 * The meta object literal for the '<em><b>Plus Minus</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__PLUS_MINUS = eINSTANCE.getPlayerStats_PlusMinus();
-
-		/**
-		 * The meta object literal for the '<em><b>Penalty Minutes</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__PENALTY_MINUTES = eINSTANCE.getPlayerStats_PenaltyMinutes();
-
-		/**
-		 * The meta object literal for the '<em><b>Power Play Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__POWER_PLAY_GOALS = eINSTANCE.getPlayerStats_PowerPlayGoals();
-
-		/**
-		 * The meta object literal for the '<em><b>Short Handed Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__SHORT_HANDED_GOALS = eINSTANCE.getPlayerStats_ShortHandedGoals();
-
-		/**
-		 * The meta object literal for the '<em><b>Game Winning Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__GAME_WINNING_GOALS = eINSTANCE.getPlayerStats_GameWinningGoals();
-
-		/**
-		 * The meta object literal for the '<em><b>Shots</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__SHOTS = eINSTANCE.getPlayerStats_Shots();
-
-		/**
-		 * The meta object literal for the '<em><b>Shot Percentage</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__SHOT_PERCENTAGE = eINSTANCE.getPlayerStats_ShotPercentage();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl <em>Team</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getTeam()
-		 * @generated
-		 */
-		EClass TEAM = eINSTANCE.getTeam();
-
-		/**
-		 * The meta object literal for the '<em><b>Forwards</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TEAM__FORWARDS = eINSTANCE.getTeam_Forwards();
-
-		/**
-		 * The meta object literal for the '<em><b>Defencemen</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TEAM__DEFENCEMEN = eINSTANCE.getTeam_Defencemen();
-
-		/**
-		 * The meta object literal for the '<em><b>Goalies</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TEAM__GOALIES = eINSTANCE.getTeam_Goalies();
-
-		/**
-		 * The meta object literal for the '<em><b>Arena</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TEAM__ARENA = eINSTANCE.getTeam_Arena();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind <em>Defence Position Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getDefencePositionKind()
-		 * @generated
-		 */
-		EEnum DEFENCE_POSITION_KIND = eINSTANCE.getDefencePositionKind();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind <em>Forward Position Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getForwardPositionKind()
-		 * @generated
-		 */
-		EEnum FORWARD_POSITION_KIND = eINSTANCE.getForwardPositionKind();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind <em>Height Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getHeightKind()
-		 * @generated
-		 */
-		EEnum HEIGHT_KIND = eINSTANCE.getHeightKind();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind <em>Shot Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getShotKind()
-		 * @generated
-		 */
-		EEnum SHOT_KIND = eINSTANCE.getShotKind();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind <em>Weight Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getWeightKind()
-		 * @generated
-		 */
-		EEnum WEIGHT_KIND = eINSTANCE.getWeightKind();
-
-	}
-
-} //HockeyleaguePackage
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePlugin.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePlugin.java
deleted file mode 100644
index c5753bf..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePlugin.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.EMFPlugin;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-/**
- * This is the central singleton for the Hockeyleague edit plugin.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public final class HockeyleaguePlugin extends EMFPlugin {
-	/**
-	 * Keep track of the singleton.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final HockeyleaguePlugin INSTANCE = new HockeyleaguePlugin();
-
-	/**
-	 * Keep track of the singleton.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static Implementation plugin;
-
-	/**
-	 * Create the instance.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleaguePlugin() {
-		super
-		  (new ResourceLocator [] {
-		   });
-	}
-
-	/**
-	 * Returns the singleton instance of the Eclipse plugin.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the singleton instance.
-	 * @generated
-	 */
-	public ResourceLocator getPluginResourceLocator() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the singleton instance of the Eclipse plugin.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the singleton instance.
-	 * @generated
-	 */
-	public static Implementation getPlugin() {
-		return plugin;
-	}
-
-	/**
-	 * The actual implementation of the Eclipse <b>Plugin</b>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static class Implementation extends EclipsePlugin {
-		/**
-		 * Creates an instance.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		public Implementation() {
-			super();
-
-			// Remember the static instance.
-			//
-			plugin = this;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/League.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/League.java
deleted file mode 100644
index e2c0fa2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/League.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>League</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getHeadoffice <em>Headoffice</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getTeams <em>Teams</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getLeague()
- * @model
- * @generated
- */
-public interface League extends HockeyleagueObject {
-	/**
-	 * Returns the value of the '<em><b>Headoffice</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Headoffice</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Headoffice</em>' attribute.
-	 * @see #setHeadoffice(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getLeague_Headoffice()
-	 * @model
-	 * @generated
-	 */
-	String getHeadoffice();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getHeadoffice <em>Headoffice</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Headoffice</em>' attribute.
-	 * @see #getHeadoffice()
-	 * @generated
-	 */
-	void setHeadoffice(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Teams</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Teams</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Teams</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getLeague_Teams()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team" containment="true"
-	 * @generated
-	 */
-	EList getTeams();
-
-} // League
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Player.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Player.java
deleted file mode 100644
index 7aa5045e..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Player.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Player</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthplace <em>Birthplace</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getNumber <em>Number</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightMesurement <em>Height Mesurement</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightValue <em>Height Value</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightMesurement <em>Weight Mesurement</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightValue <em>Weight Value</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getShot <em>Shot</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthdate <em>Birthdate</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer()
- * @model abstract="true"
- * @generated
- */
-public interface Player extends HockeyleagueObject {
-	/**
-	 * Returns the value of the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Birthplace</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Birthplace</em>' attribute.
-	 * @see #setBirthplace(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_Birthplace()
-	 * @model
-	 * @generated
-	 */
-	String getBirthplace();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthplace <em>Birthplace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Birthplace</em>' attribute.
-	 * @see #getBirthplace()
-	 * @generated
-	 */
-	void setBirthplace(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Number</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Number</em>' attribute.
-	 * @see #setNumber(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_Number()
-	 * @model
-	 * @generated
-	 */
-	int getNumber();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getNumber <em>Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Number</em>' attribute.
-	 * @see #getNumber()
-	 * @generated
-	 */
-	void setNumber(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Height Mesurement</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Height Mesurement</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Height Mesurement</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-	 * @see #setHeightMesurement(HeightKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_HeightMesurement()
-	 * @model
-	 * @generated
-	 */
-	HeightKind getHeightMesurement();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightMesurement <em>Height Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Height Mesurement</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-	 * @see #getHeightMesurement()
-	 * @generated
-	 */
-	void setHeightMesurement(HeightKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Height Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Height Value</em>' attribute.
-	 * @see #setHeightValue(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_HeightValue()
-	 * @model
-	 * @generated
-	 */
-	int getHeightValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightValue <em>Height Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Height Value</em>' attribute.
-	 * @see #getHeightValue()
-	 * @generated
-	 */
-	void setHeightValue(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Weight Mesurement</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Weight Mesurement</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-	 * @see #setWeightMesurement(WeightKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_WeightMesurement()
-	 * @model
-	 * @generated
-	 */
-	WeightKind getWeightMesurement();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightMesurement <em>Weight Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Weight Mesurement</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-	 * @see #getWeightMesurement()
-	 * @generated
-	 */
-	void setWeightMesurement(WeightKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Weight Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Weight Value</em>' attribute.
-	 * @see #setWeightValue(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_WeightValue()
-	 * @model
-	 * @generated
-	 */
-	int getWeightValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightValue <em>Weight Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Weight Value</em>' attribute.
-	 * @see #getWeightValue()
-	 * @generated
-	 */
-	void setWeightValue(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Shot</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Shot</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Shot</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-	 * @see #setShot(ShotKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_Shot()
-	 * @model
-	 * @generated
-	 */
-	ShotKind getShot();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getShot <em>Shot</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Shot</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-	 * @see #getShot()
-	 * @generated
-	 */
-	void setShot(ShotKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Birthdate</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Birthdate</em>' attribute.
-	 * @see #setBirthdate(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_Birthdate()
-	 * @model
-	 * @generated
-	 */
-	String getBirthdate();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthdate <em>Birthdate</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Birthdate</em>' attribute.
-	 * @see #getBirthdate()
-	 * @generated
-	 */
-	void setBirthdate(String value);
-
-} // Player
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/PlayerStats.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/PlayerStats.java
deleted file mode 100644
index 545f5c2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/PlayerStats.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Player Stats</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getYear <em>Year</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getTeam <em>Team</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGamesPlayedIn <em>Games Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGoals <em>Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getAssists <em>Assists</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPoints <em>Points</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPlusMinus <em>Plus Minus</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPenaltyMinutes <em>Penalty Minutes</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPowerPlayGoals <em>Power Play Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShortHandedGoals <em>Short Handed Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGameWinningGoals <em>Game Winning Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShots <em>Shots</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShotPercentage <em>Shot Percentage</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats()
- * @model
- * @generated
- */
-public interface PlayerStats extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Year</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Year</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Year</em>' attribute.
-	 * @see #setYear(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Year()
-	 * @model
-	 * @generated
-	 */
-	String getYear();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getYear <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Year</em>' attribute.
-	 * @see #getYear()
-	 * @generated
-	 */
-	void setYear(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Team</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Team</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Team</em>' reference.
-	 * @see #setTeam(Team)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Team()
-	 * @model
-	 * @generated
-	 */
-	Team getTeam();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getTeam <em>Team</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Team</em>' reference.
-	 * @see #getTeam()
-	 * @generated
-	 */
-	void setTeam(Team value);
-
-	/**
-	 * Returns the value of the '<em><b>Games Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Games Played In</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Games Played In</em>' attribute.
-	 * @see #setGamesPlayedIn(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_GamesPlayedIn()
-	 * @model
-	 * @generated
-	 */
-	int getGamesPlayedIn();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGamesPlayedIn <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Games Played In</em>' attribute.
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 */
-	void setGamesPlayedIn(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goals</em>' attribute.
-	 * @see #setGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Goals()
-	 * @model
-	 * @generated
-	 */
-	int getGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGoals <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Goals</em>' attribute.
-	 * @see #getGoals()
-	 * @generated
-	 */
-	void setGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Assists</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Assists</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Assists</em>' attribute.
-	 * @see #setAssists(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Assists()
-	 * @model
-	 * @generated
-	 */
-	int getAssists();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getAssists <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Assists</em>' attribute.
-	 * @see #getAssists()
-	 * @generated
-	 */
-	void setAssists(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Points</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Points</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Points</em>' attribute.
-	 * @see #setPoints(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Points()
-	 * @model
-	 * @generated
-	 */
-	int getPoints();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPoints <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Points</em>' attribute.
-	 * @see #getPoints()
-	 * @generated
-	 */
-	void setPoints(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Plus Minus</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Plus Minus</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Plus Minus</em>' attribute.
-	 * @see #setPlusMinus(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_PlusMinus()
-	 * @model
-	 * @generated
-	 */
-	int getPlusMinus();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPlusMinus <em>Plus Minus</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Plus Minus</em>' attribute.
-	 * @see #getPlusMinus()
-	 * @generated
-	 */
-	void setPlusMinus(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Penalty Minutes</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Penalty Minutes</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Penalty Minutes</em>' attribute.
-	 * @see #setPenaltyMinutes(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_PenaltyMinutes()
-	 * @model
-	 * @generated
-	 */
-	int getPenaltyMinutes();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPenaltyMinutes <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Penalty Minutes</em>' attribute.
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 */
-	void setPenaltyMinutes(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Power Play Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Power Play Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Power Play Goals</em>' attribute.
-	 * @see #setPowerPlayGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_PowerPlayGoals()
-	 * @model
-	 * @generated
-	 */
-	int getPowerPlayGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPowerPlayGoals <em>Power Play Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Power Play Goals</em>' attribute.
-	 * @see #getPowerPlayGoals()
-	 * @generated
-	 */
-	void setPowerPlayGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Short Handed Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Short Handed Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Short Handed Goals</em>' attribute.
-	 * @see #setShortHandedGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_ShortHandedGoals()
-	 * @model
-	 * @generated
-	 */
-	int getShortHandedGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShortHandedGoals <em>Short Handed Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Short Handed Goals</em>' attribute.
-	 * @see #getShortHandedGoals()
-	 * @generated
-	 */
-	void setShortHandedGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Game Winning Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Game Winning Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Game Winning Goals</em>' attribute.
-	 * @see #setGameWinningGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_GameWinningGoals()
-	 * @model
-	 * @generated
-	 */
-	int getGameWinningGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGameWinningGoals <em>Game Winning Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Game Winning Goals</em>' attribute.
-	 * @see #getGameWinningGoals()
-	 * @generated
-	 */
-	void setGameWinningGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Shots</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Shots</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Shots</em>' attribute.
-	 * @see #setShots(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Shots()
-	 * @model
-	 * @generated
-	 */
-	int getShots();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShots <em>Shots</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Shots</em>' attribute.
-	 * @see #getShots()
-	 * @generated
-	 */
-	void setShots(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Shot Percentage</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Shot Percentage</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Shot Percentage</em>' attribute.
-	 * @see #setShotPercentage(float)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_ShotPercentage()
-	 * @model
-	 * @generated
-	 */
-	float getShotPercentage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShotPercentage <em>Shot Percentage</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Shot Percentage</em>' attribute.
-	 * @see #getShotPercentage()
-	 * @generated
-	 */
-	void setShotPercentage(float value);
-
-} // PlayerStats
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ShotKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ShotKind.java
deleted file mode 100644
index 2a7ccbe..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ShotKind.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Shot Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getShotKind()
- * @model
- * @generated
- */
-public final class ShotKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Left</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Left</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_LITERAL
-	 * @model name="left"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LEFT = 0;
-
-	/**
-	 * The '<em><b>Right</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Right</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_LITERAL
-	 * @model name="right"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RIGHT = 1;
-
-	/**
-	 * The '<em><b>Left</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LEFT
-	 * @generated
-	 * @ordered
-	 */
-	public static final ShotKind LEFT_LITERAL = new ShotKind(LEFT, "left", "left"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Right</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT
-	 * @generated
-	 * @ordered
-	 */
-	public static final ShotKind RIGHT_LITERAL = new ShotKind(RIGHT, "right", "right"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Shot Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final ShotKind[] VALUES_ARRAY =
-		new ShotKind[] {
-			LEFT_LITERAL,
-			RIGHT_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Shot Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Shot Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ShotKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			ShotKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Shot Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ShotKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			ShotKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Shot Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ShotKind get(int value) {
-		switch (value) {
-			case LEFT: return LEFT_LITERAL;
-			case RIGHT: return RIGHT_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private ShotKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //ShotKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Team.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Team.java
deleted file mode 100644
index 41f59e2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Team.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Team</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getForwards <em>Forwards</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getDefencemen <em>Defencemen</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getGoalies <em>Goalies</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getArena <em>Arena</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam()
- * @model
- * @generated
- */
-public interface Team extends HockeyleagueObject {
-	/**
-	 * Returns the value of the '<em><b>Forwards</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Forwards</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Forwards</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam_Forwards()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward" containment="true"
-	 * @generated
-	 */
-	EList getForwards();
-
-	/**
-	 * Returns the value of the '<em><b>Defencemen</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Defencemen</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Defencemen</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam_Defencemen()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence" containment="true"
-	 * @generated
-	 */
-	EList getDefencemen();
-
-	/**
-	 * Returns the value of the '<em><b>Goalies</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goalies</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goalies</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam_Goalies()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie" containment="true"
-	 * @generated
-	 */
-	EList getGoalies();
-
-	/**
-	 * Returns the value of the '<em><b>Arena</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Arena</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Arena</em>' containment reference.
-	 * @see #setArena(Arena)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam_Arena()
-	 * @model containment="true"
-	 * @generated
-	 */
-	Arena getArena();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getArena <em>Arena</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Arena</em>' containment reference.
-	 * @see #getArena()
-	 * @generated
-	 */
-	void setArena(Arena value);
-
-} // Team
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/WeightKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/WeightKind.java
deleted file mode 100644
index 27d5a9a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/WeightKind.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Weight Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getWeightKind()
- * @model
- * @generated
- */
-public final class WeightKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Pounds</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Pounds</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #POUNDS_LITERAL
-	 * @model name="pounds"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int POUNDS = 0;
-
-	/**
-	 * The '<em><b>Kilograms</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Kilograms</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #KILOGRAMS_LITERAL
-	 * @model name="kilograms"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int KILOGRAMS = 1;
-
-	/**
-	 * The '<em><b>Pounds</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #POUNDS
-	 * @generated
-	 * @ordered
-	 */
-	public static final WeightKind POUNDS_LITERAL = new WeightKind(POUNDS, "pounds", "pounds"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Kilograms</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #KILOGRAMS
-	 * @generated
-	 * @ordered
-	 */
-	public static final WeightKind KILOGRAMS_LITERAL = new WeightKind(KILOGRAMS, "kilograms", "kilograms"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Weight Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final WeightKind[] VALUES_ARRAY =
-		new WeightKind[] {
-			POUNDS_LITERAL,
-			KILOGRAMS_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Weight Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Weight Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static WeightKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			WeightKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Weight Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static WeightKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			WeightKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Weight Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static WeightKind get(int value) {
-		switch (value) {
-			case POUNDS: return POUNDS_LITERAL;
-			case KILOGRAMS: return KILOGRAMS_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private WeightKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //WeightKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ArenaImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ArenaImpl.java
deleted file mode 100644
index c8d2d4c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ArenaImpl.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Arena</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl#getAddress <em>Address</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl#getCapacity <em>Capacity</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ArenaImpl extends HockeyleagueObjectImpl implements Arena {
-	/**
-	 * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAddress()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ADDRESS_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAddress()
-	 * @generated
-	 * @ordered
-	 */
-	protected String address = ADDRESS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getCapacity() <em>Capacity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCapacity()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int CAPACITY_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getCapacity() <em>Capacity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCapacity()
-	 * @generated
-	 * @ordered
-	 */
-	protected int capacity = CAPACITY_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ArenaImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.ARENA;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getAddress() {
-		return address;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAddress(String newAddress) {
-		String oldAddress = address;
-		address = newAddress;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.ARENA__ADDRESS, oldAddress, address));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getCapacity() {
-		return capacity;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setCapacity(int newCapacity) {
-		int oldCapacity = capacity;
-		capacity = newCapacity;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.ARENA__CAPACITY, oldCapacity, capacity));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-				return getAddress();
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				return new Integer(getCapacity());
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-				setAddress((String)newValue);
-				return;
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				setCapacity(((Integer)newValue).intValue());
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-				setAddress(ADDRESS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				setCapacity(CAPACITY_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-				return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				return capacity != CAPACITY_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (address: "); //$NON-NLS-1$
-		result.append(address);
-		result.append(", capacity: "); //$NON-NLS-1$
-		result.append(capacity);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ArenaImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/DefenceImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/DefenceImpl.java
deleted file mode 100644
index aa41e04..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/DefenceImpl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Defence</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl#getPosition <em>Position</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl#getPlayerStats <em>Player Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class DefenceImpl extends PlayerImpl implements Defence {
-	/**
-	 * The default value of the '{@link #getPosition() <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPosition()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final DefencePositionKind POSITION_EDEFAULT = DefencePositionKind.LEFT_DEFENCE_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getPosition() <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPosition()
-	 * @generated
-	 * @ordered
-	 */
-	protected DefencePositionKind position = POSITION_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getPlayerStats() <em>Player Stats</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlayerStats()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList playerStats = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DefenceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.DEFENCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DefencePositionKind getPosition() {
-		return position;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPosition(DefencePositionKind newPosition) {
-		DefencePositionKind oldPosition = position;
-		position = newPosition == null ? POSITION_EDEFAULT : newPosition;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.DEFENCE__POSITION, oldPosition, position));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getPlayerStats() {
-		if (playerStats == null) {
-			playerStats = new EObjectContainmentEList(PlayerStats.class, this, HockeyleaguePackage.DEFENCE__PLAYER_STATS);
-		}
-		return playerStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				return ((InternalEList)getPlayerStats()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				return getPosition();
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				return getPlayerStats();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				setPosition((DefencePositionKind)newValue);
-				return;
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				getPlayerStats().clear();
-				getPlayerStats().addAll((Collection)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				setPosition(POSITION_EDEFAULT);
-				return;
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				getPlayerStats().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				return position != POSITION_EDEFAULT;
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				return playerStats != null && !playerStats.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (position: "); //$NON-NLS-1$
-		result.append(position);
-		result.append(')');
-		return result.toString();
-	}
-
-} //DefenceImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ForwardImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ForwardImpl.java
deleted file mode 100644
index 6e70813..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ForwardImpl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Forward</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl#getPosition <em>Position</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl#getPlayerStats <em>Player Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ForwardImpl extends PlayerImpl implements Forward {
-	/**
-	 * The default value of the '{@link #getPosition() <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPosition()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final ForwardPositionKind POSITION_EDEFAULT = ForwardPositionKind.LEFT_WING_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getPosition() <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPosition()
-	 * @generated
-	 * @ordered
-	 */
-	protected ForwardPositionKind position = POSITION_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getPlayerStats() <em>Player Stats</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlayerStats()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList playerStats = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ForwardImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.FORWARD;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ForwardPositionKind getPosition() {
-		return position;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPosition(ForwardPositionKind newPosition) {
-		ForwardPositionKind oldPosition = position;
-		position = newPosition == null ? POSITION_EDEFAULT : newPosition;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.FORWARD__POSITION, oldPosition, position));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getPlayerStats() {
-		if (playerStats == null) {
-			playerStats = new EObjectContainmentEList(PlayerStats.class, this, HockeyleaguePackage.FORWARD__PLAYER_STATS);
-		}
-		return playerStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				return ((InternalEList)getPlayerStats()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				return getPosition();
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				return getPlayerStats();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				setPosition((ForwardPositionKind)newValue);
-				return;
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				getPlayerStats().clear();
-				getPlayerStats().addAll((Collection)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				setPosition(POSITION_EDEFAULT);
-				return;
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				getPlayerStats().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				return position != POSITION_EDEFAULT;
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				return playerStats != null && !playerStats.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (position: "); //$NON-NLS-1$
-		result.append(position);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ForwardImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieImpl.java
deleted file mode 100644
index bc65d81..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Goalie</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl#getGoalieStats <em>Goalie Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class GoalieImpl extends PlayerImpl implements Goalie {
-	/**
-	 * The cached value of the '{@link #getGoalieStats() <em>Goalie Stats</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalieStats()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList goalieStats = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GoalieImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.GOALIE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getGoalieStats() {
-		if (goalieStats == null) {
-			goalieStats = new EObjectContainmentEList(GoalieStats.class, this, HockeyleaguePackage.GOALIE__GOALIE_STATS);
-		}
-		return goalieStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				return ((InternalEList)getGoalieStats()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				return getGoalieStats();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				getGoalieStats().clear();
-				getGoalieStats().addAll((Collection)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				getGoalieStats().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				return goalieStats != null && !goalieStats.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //GoalieImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieStatsImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieStatsImpl.java
deleted file mode 100644
index 6595d26..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieStatsImpl.java
+++ /dev/null
@@ -1,983 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Goalie Stats</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getYear <em>Year</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getTeam <em>Team</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getGamesPlayedIn <em>Games Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getMinutesPlayedIn <em>Minutes Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getGoalsAgainstAverage <em>Goals Against Average</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getWins <em>Wins</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getLosses <em>Losses</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getTies <em>Ties</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getEmptyNetGoals <em>Empty Net Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getShutouts <em>Shutouts</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getGoalsAgainst <em>Goals Against</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getSaves <em>Saves</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getPenaltyMinutes <em>Penalty Minutes</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getGoals <em>Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getAssists <em>Assists</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getPoints <em>Points</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class GoalieStatsImpl extends EObjectImpl implements GoalieStats {
-	/**
-	 * The default value of the '{@link #getYear() <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getYear()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String YEAR_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getYear() <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getYear()
-	 * @generated
-	 * @ordered
-	 */
-	protected String year = YEAR_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getTeam() <em>Team</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTeam()
-	 * @generated
-	 * @ordered
-	 */
-	protected Team team = null;
-
-	/**
-	 * The default value of the '{@link #getGamesPlayedIn() <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GAMES_PLAYED_IN_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGamesPlayedIn() <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected int gamesPlayedIn = GAMES_PLAYED_IN_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getMinutesPlayedIn() <em>Minutes Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMinutesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int MINUTES_PLAYED_IN_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getMinutesPlayedIn() <em>Minutes Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMinutesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected int minutesPlayedIn = MINUTES_PLAYED_IN_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGoalsAgainstAverage() <em>Goals Against Average</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalsAgainstAverage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final float GOALS_AGAINST_AVERAGE_EDEFAULT = 0.0F;
-
-	/**
-	 * The cached value of the '{@link #getGoalsAgainstAverage() <em>Goals Against Average</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalsAgainstAverage()
-	 * @generated
-	 * @ordered
-	 */
-	protected float goalsAgainstAverage = GOALS_AGAINST_AVERAGE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getWins() <em>Wins</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWins()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int WINS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getWins() <em>Wins</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWins()
-	 * @generated
-	 * @ordered
-	 */
-	protected int wins = WINS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getLosses() <em>Losses</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLosses()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int LOSSES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getLosses() <em>Losses</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLosses()
-	 * @generated
-	 * @ordered
-	 */
-	protected int losses = LOSSES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getTies() <em>Ties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTies()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int TIES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getTies() <em>Ties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTies()
-	 * @generated
-	 * @ordered
-	 */
-	protected int ties = TIES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getEmptyNetGoals() <em>Empty Net Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEmptyNetGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int EMPTY_NET_GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getEmptyNetGoals() <em>Empty Net Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEmptyNetGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int emptyNetGoals = EMPTY_NET_GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShutouts() <em>Shutouts</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShutouts()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SHUTOUTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getShutouts() <em>Shutouts</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShutouts()
-	 * @generated
-	 * @ordered
-	 */
-	protected int shutouts = SHUTOUTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGoalsAgainst() <em>Goals Against</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalsAgainst()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GOALS_AGAINST_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGoalsAgainst() <em>Goals Against</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalsAgainst()
-	 * @generated
-	 * @ordered
-	 */
-	protected int goalsAgainst = GOALS_AGAINST_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getSaves() <em>Saves</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSaves()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SAVES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getSaves() <em>Saves</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSaves()
-	 * @generated
-	 * @ordered
-	 */
-	protected int saves = SAVES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPenaltyMinutes() <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int PENALTY_MINUTES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPenaltyMinutes() <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 * @ordered
-	 */
-	protected int penaltyMinutes = PENALTY_MINUTES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGoals() <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGoals() <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int goals = GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getAssists() <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAssists()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int ASSISTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getAssists() <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAssists()
-	 * @generated
-	 * @ordered
-	 */
-	protected int assists = ASSISTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPoints() <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPoints()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int POINTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPoints() <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPoints()
-	 * @generated
-	 * @ordered
-	 */
-	protected int points = POINTS_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GoalieStatsImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.GOALIE_STATS;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getYear() {
-		return year;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setYear(String newYear) {
-		String oldYear = year;
-		year = newYear;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__YEAR, oldYear, year));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team getTeam() {
-		if (team != null && team.eIsProxy()) {
-			InternalEObject oldTeam = (InternalEObject)team;
-			team = (Team)eResolveProxy(oldTeam);
-			if (team != oldTeam) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HockeyleaguePackage.GOALIE_STATS__TEAM, oldTeam, team));
-			}
-		}
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team basicGetTeam() {
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTeam(Team newTeam) {
-		Team oldTeam = team;
-		team = newTeam;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__TEAM, oldTeam, team));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGamesPlayedIn() {
-		return gamesPlayedIn;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGamesPlayedIn(int newGamesPlayedIn) {
-		int oldGamesPlayedIn = gamesPlayedIn;
-		gamesPlayedIn = newGamesPlayedIn;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN, oldGamesPlayedIn, gamesPlayedIn));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getMinutesPlayedIn() {
-		return minutesPlayedIn;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMinutesPlayedIn(int newMinutesPlayedIn) {
-		int oldMinutesPlayedIn = minutesPlayedIn;
-		minutesPlayedIn = newMinutesPlayedIn;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN, oldMinutesPlayedIn, minutesPlayedIn));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public float getGoalsAgainstAverage() {
-		return goalsAgainstAverage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGoalsAgainstAverage(float newGoalsAgainstAverage) {
-		float oldGoalsAgainstAverage = goalsAgainstAverage;
-		goalsAgainstAverage = newGoalsAgainstAverage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE, oldGoalsAgainstAverage, goalsAgainstAverage));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getWins() {
-		return wins;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setWins(int newWins) {
-		int oldWins = wins;
-		wins = newWins;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__WINS, oldWins, wins));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getLosses() {
-		return losses;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setLosses(int newLosses) {
-		int oldLosses = losses;
-		losses = newLosses;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__LOSSES, oldLosses, losses));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getTies() {
-		return ties;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTies(int newTies) {
-		int oldTies = ties;
-		ties = newTies;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__TIES, oldTies, ties));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getEmptyNetGoals() {
-		return emptyNetGoals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setEmptyNetGoals(int newEmptyNetGoals) {
-		int oldEmptyNetGoals = emptyNetGoals;
-		emptyNetGoals = newEmptyNetGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS, oldEmptyNetGoals, emptyNetGoals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getShutouts() {
-		return shutouts;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShutouts(int newShutouts) {
-		int oldShutouts = shutouts;
-		shutouts = newShutouts;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__SHUTOUTS, oldShutouts, shutouts));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGoalsAgainst() {
-		return goalsAgainst;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGoalsAgainst(int newGoalsAgainst) {
-		int oldGoalsAgainst = goalsAgainst;
-		goalsAgainst = newGoalsAgainst;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST, oldGoalsAgainst, goalsAgainst));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getSaves() {
-		return saves;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setSaves(int newSaves) {
-		int oldSaves = saves;
-		saves = newSaves;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__SAVES, oldSaves, saves));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPenaltyMinutes() {
-		return penaltyMinutes;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPenaltyMinutes(int newPenaltyMinutes) {
-		int oldPenaltyMinutes = penaltyMinutes;
-		penaltyMinutes = newPenaltyMinutes;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES, oldPenaltyMinutes, penaltyMinutes));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGoals() {
-		return goals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGoals(int newGoals) {
-		int oldGoals = goals;
-		goals = newGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__GOALS, oldGoals, goals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getAssists() {
-		return assists;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAssists(int newAssists) {
-		int oldAssists = assists;
-		assists = newAssists;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__ASSISTS, oldAssists, assists));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPoints() {
-		return points;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPoints(int newPoints) {
-		int oldPoints = points;
-		points = newPoints;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__POINTS, oldPoints, points));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-				return getYear();
-			case HockeyleaguePackage.GOALIE_STATS__TEAM:
-				if (resolve) return getTeam();
-				return basicGetTeam();
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-				return new Integer(getGamesPlayedIn());
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-				return new Integer(getMinutesPlayedIn());
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-				return new Float(getGoalsAgainstAverage());
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-				return new Integer(getWins());
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-				return new Integer(getLosses());
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-				return new Integer(getTies());
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-				return new Integer(getEmptyNetGoals());
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-				return new Integer(getShutouts());
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-				return new Integer(getGoalsAgainst());
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-				return new Integer(getSaves());
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-				return new Integer(getPenaltyMinutes());
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-				return new Integer(getGoals());
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-				return new Integer(getAssists());
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				return new Integer(getPoints());
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-				setYear((String)newValue);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__TEAM:
-				setTeam((Team)newValue);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-				setGamesPlayedIn(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-				setMinutesPlayedIn(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-				setGoalsAgainstAverage(((Float)newValue).floatValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-				setWins(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-				setLosses(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-				setTies(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-				setEmptyNetGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-				setShutouts(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-				setGoalsAgainst(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-				setSaves(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-				setPenaltyMinutes(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-				setGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-				setAssists(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				setPoints(((Integer)newValue).intValue());
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-				setYear(YEAR_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__TEAM:
-				setTeam((Team)null);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-				setGamesPlayedIn(GAMES_PLAYED_IN_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-				setMinutesPlayedIn(MINUTES_PLAYED_IN_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-				setGoalsAgainstAverage(GOALS_AGAINST_AVERAGE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-				setWins(WINS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-				setLosses(LOSSES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-				setTies(TIES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-				setEmptyNetGoals(EMPTY_NET_GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-				setShutouts(SHUTOUTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-				setGoalsAgainst(GOALS_AGAINST_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-				setSaves(SAVES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-				setPenaltyMinutes(PENALTY_MINUTES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-				setGoals(GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-				setAssists(ASSISTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				setPoints(POINTS_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-				return YEAR_EDEFAULT == null ? year != null : !YEAR_EDEFAULT.equals(year);
-			case HockeyleaguePackage.GOALIE_STATS__TEAM:
-				return team != null;
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-				return gamesPlayedIn != GAMES_PLAYED_IN_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-				return minutesPlayedIn != MINUTES_PLAYED_IN_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-				return goalsAgainstAverage != GOALS_AGAINST_AVERAGE_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-				return wins != WINS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-				return losses != LOSSES_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-				return ties != TIES_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-				return emptyNetGoals != EMPTY_NET_GOALS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-				return shutouts != SHUTOUTS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-				return goalsAgainst != GOALS_AGAINST_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-				return saves != SAVES_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-				return penaltyMinutes != PENALTY_MINUTES_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-				return goals != GOALS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-				return assists != ASSISTS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				return points != POINTS_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (year: "); //$NON-NLS-1$
-		result.append(year);
-		result.append(", gamesPlayedIn: "); //$NON-NLS-1$
-		result.append(gamesPlayedIn);
-		result.append(", minutesPlayedIn: "); //$NON-NLS-1$
-		result.append(minutesPlayedIn);
-		result.append(", goalsAgainstAverage: "); //$NON-NLS-1$
-		result.append(goalsAgainstAverage);
-		result.append(", wins: "); //$NON-NLS-1$
-		result.append(wins);
-		result.append(", losses: "); //$NON-NLS-1$
-		result.append(losses);
-		result.append(", ties: "); //$NON-NLS-1$
-		result.append(ties);
-		result.append(", emptyNetGoals: "); //$NON-NLS-1$
-		result.append(emptyNetGoals);
-		result.append(", shutouts: "); //$NON-NLS-1$
-		result.append(shutouts);
-		result.append(", goalsAgainst: "); //$NON-NLS-1$
-		result.append(goalsAgainst);
-		result.append(", saves: "); //$NON-NLS-1$
-		result.append(saves);
-		result.append(", penaltyMinutes: "); //$NON-NLS-1$
-		result.append(penaltyMinutes);
-		result.append(", goals: "); //$NON-NLS-1$
-		result.append(goals);
-		result.append(", assists: "); //$NON-NLS-1$
-		result.append(assists);
-		result.append(", points: "); //$NON-NLS-1$
-		result.append(points);
-		result.append(')');
-		return result.toString();
-	}
-
-} //GoalieStatsImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueFactoryImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueFactoryImpl.java
deleted file mode 100644
index 025562b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueFactoryImpl.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class HockeyleagueFactoryImpl extends EFactoryImpl implements HockeyleagueFactory {
-	/**
-	 * Creates the default factory implementation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HockeyleagueFactory init() {
-		try {
-			HockeyleagueFactory theHockeyleagueFactory = (HockeyleagueFactory)EPackage.Registry.INSTANCE.getEFactory("http:///org/eclipse/ui/views/properties/tabbed/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore"); //$NON-NLS-1$ 
-			if (theHockeyleagueFactory != null) {
-				return theHockeyleagueFactory;
-			}
-		}
-		catch (Exception exception) {
-			EcorePlugin.INSTANCE.log(exception);
-		}
-		return new HockeyleagueFactoryImpl();
-	}
-
-	/**
-	 * Creates an instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case HockeyleaguePackage.ARENA: return createArena();
-			case HockeyleaguePackage.DEFENCE: return createDefence();
-			case HockeyleaguePackage.FORWARD: return createForward();
-			case HockeyleaguePackage.GOALIE: return createGoalie();
-			case HockeyleaguePackage.GOALIE_STATS: return createGoalieStats();
-			case HockeyleaguePackage.LEAGUE: return createLeague();
-			case HockeyleaguePackage.PLAYER_STATS: return createPlayerStats();
-			case HockeyleaguePackage.TEAM: return createTeam();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object createFromString(EDataType eDataType, String initialValue) {
-		switch (eDataType.getClassifierID()) {
-			case HockeyleaguePackage.DEFENCE_POSITION_KIND:
-				return createDefencePositionKindFromString(eDataType, initialValue);
-			case HockeyleaguePackage.FORWARD_POSITION_KIND:
-				return createForwardPositionKindFromString(eDataType, initialValue);
-			case HockeyleaguePackage.HEIGHT_KIND:
-				return createHeightKindFromString(eDataType, initialValue);
-			case HockeyleaguePackage.SHOT_KIND:
-				return createShotKindFromString(eDataType, initialValue);
-			case HockeyleaguePackage.WEIGHT_KIND:
-				return createWeightKindFromString(eDataType, initialValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertToString(EDataType eDataType, Object instanceValue) {
-		switch (eDataType.getClassifierID()) {
-			case HockeyleaguePackage.DEFENCE_POSITION_KIND:
-				return convertDefencePositionKindToString(eDataType, instanceValue);
-			case HockeyleaguePackage.FORWARD_POSITION_KIND:
-				return convertForwardPositionKindToString(eDataType, instanceValue);
-			case HockeyleaguePackage.HEIGHT_KIND:
-				return convertHeightKindToString(eDataType, instanceValue);
-			case HockeyleaguePackage.SHOT_KIND:
-				return convertShotKindToString(eDataType, instanceValue);
-			case HockeyleaguePackage.WEIGHT_KIND:
-				return convertWeightKindToString(eDataType, instanceValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Arena createArena() {
-		ArenaImpl arena = new ArenaImpl();
-		return arena;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Defence createDefence() {
-		DefenceImpl defence = new DefenceImpl();
-		return defence;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Forward createForward() {
-		ForwardImpl forward = new ForwardImpl();
-		return forward;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Goalie createGoalie() {
-		GoalieImpl goalie = new GoalieImpl();
-		return goalie;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public GoalieStats createGoalieStats() {
-		GoalieStatsImpl goalieStats = new GoalieStatsImpl();
-		return goalieStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public League createLeague() {
-		LeagueImpl league = new LeagueImpl();
-		return league;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PlayerStats createPlayerStats() {
-		PlayerStatsImpl playerStats = new PlayerStatsImpl();
-		return playerStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team createTeam() {
-		TeamImpl team = new TeamImpl();
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DefencePositionKind createDefencePositionKindFromString(EDataType eDataType, String initialValue) {
-		DefencePositionKind result = DefencePositionKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertDefencePositionKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ForwardPositionKind createForwardPositionKindFromString(EDataType eDataType, String initialValue) {
-		ForwardPositionKind result = ForwardPositionKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertForwardPositionKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HeightKind createHeightKindFromString(EDataType eDataType, String initialValue) {
-		HeightKind result = HeightKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertHeightKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ShotKind createShotKindFromString(EDataType eDataType, String initialValue) {
-		ShotKind result = ShotKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertShotKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public WeightKind createWeightKindFromString(EDataType eDataType, String initialValue) {
-		WeightKind result = WeightKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertWeightKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleaguePackage getHockeyleaguePackage() {
-		return (HockeyleaguePackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	public static HockeyleaguePackage getPackage() {
-		return HockeyleaguePackage.eINSTANCE;
-	}
-
-} //HockeyleagueFactoryImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueObjectImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueObjectImpl.java
deleted file mode 100644
index 080c1e4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueObjectImpl.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Object</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class HockeyleagueObjectImpl extends EObjectImpl implements HockeyleagueObject {
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected HockeyleagueObjectImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.HOCKEYLEAGUE_OBJECT;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				return getName();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				setName((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (name: "); //$NON-NLS-1$
-		result.append(name);
-		result.append(')');
-		return result.toString();
-	}
-
-} //HockeyleagueObjectImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleaguePackageImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleaguePackageImpl.java
deleted file mode 100644
index b8dc923..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleaguePackageImpl.java
+++ /dev/null
@@ -1,1050 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class HockeyleaguePackageImpl extends EPackageImpl implements HockeyleaguePackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass arenaEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass defenceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass forwardEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass goalieEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass goalieStatsEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass hockeyleagueObjectEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass leagueEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass playerEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass playerStatsEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass teamEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum defencePositionKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum forwardPositionKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum heightKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum shotKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum weightKindEEnum = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private HockeyleaguePackageImpl() {
-		super(eNS_URI, HockeyleagueFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this
-	 * model, and for any others upon which it depends.  Simple
-	 * dependencies are satisfied by calling this method on all
-	 * dependent packages before doing anything else.  This method drives
-	 * initialization for interdependent packages directly, in parallel
-	 * with this package, itself.
-	 * <p>Of this package and its interdependencies, all packages which
-	 * have not yet been registered by their URI values are first created
-	 * and registered.  The packages are then initialized in two steps:
-	 * meta-model objects for all of the packages are created before any
-	 * are initialized, since one package's meta-model objects may refer to
-	 * those of another.
-	 * <p>Invocation of this method will not affect any packages that have
-	 * already been initialized.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static HockeyleaguePackage init() {
-		if (isInited) return (HockeyleaguePackage)EPackage.Registry.INSTANCE.getEPackage(HockeyleaguePackage.eNS_URI);
-
-		// Obtain or create and register package
-		HockeyleaguePackageImpl theHockeyleaguePackage = (HockeyleaguePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof HockeyleaguePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new HockeyleaguePackageImpl());
-
-		isInited = true;
-
-		// Create package meta-data objects
-		theHockeyleaguePackage.createPackageContents();
-
-		// Initialize created meta-data
-		theHockeyleaguePackage.initializePackageContents();
-
-		// Mark meta-data to indicate it can't be changed
-		theHockeyleaguePackage.freeze();
-
-		return theHockeyleaguePackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getArena() {
-		return arenaEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArena_Address() {
-		return (EAttribute)arenaEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArena_Capacity() {
-		return (EAttribute)arenaEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getDefence() {
-		return defenceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getDefence_Position() {
-		return (EAttribute)defenceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getDefence_PlayerStats() {
-		return (EReference)defenceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getForward() {
-		return forwardEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getForward_Position() {
-		return (EAttribute)forwardEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getForward_PlayerStats() {
-		return (EReference)forwardEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getGoalie() {
-		return goalieEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getGoalie_GoalieStats() {
-		return (EReference)goalieEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getGoalieStats() {
-		return goalieStatsEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Year() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getGoalieStats_Team() {
-		return (EReference)goalieStatsEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_GamesPlayedIn() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_MinutesPlayedIn() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_GoalsAgainstAverage() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Wins() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Losses() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Ties() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_EmptyNetGoals() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Shutouts() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_GoalsAgainst() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Saves() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(11);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_PenaltyMinutes() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(12);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Goals() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(13);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Assists() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(14);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Points() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(15);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getHockeyleagueObject() {
-		return hockeyleagueObjectEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getHockeyleagueObject_Name() {
-		return (EAttribute)hockeyleagueObjectEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getLeague() {
-		return leagueEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLeague_Headoffice() {
-		return (EAttribute)leagueEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getLeague_Teams() {
-		return (EReference)leagueEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPlayer() {
-		return playerEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_Birthplace() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_Number() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_HeightMesurement() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_HeightValue() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_WeightMesurement() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_WeightValue() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_Shot() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_Birthdate() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPlayerStats() {
-		return playerStatsEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Year() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPlayerStats_Team() {
-		return (EReference)playerStatsEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_GamesPlayedIn() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Goals() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Assists() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Points() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_PlusMinus() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_PenaltyMinutes() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_PowerPlayGoals() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_ShortHandedGoals() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_GameWinningGoals() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Shots() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(11);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_ShotPercentage() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(12);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getTeam() {
-		return teamEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTeam_Forwards() {
-		return (EReference)teamEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTeam_Defencemen() {
-		return (EReference)teamEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTeam_Goalies() {
-		return (EReference)teamEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTeam_Arena() {
-		return (EReference)teamEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getDefencePositionKind() {
-		return defencePositionKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getForwardPositionKind() {
-		return forwardPositionKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getHeightKind() {
-		return heightKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getShotKind() {
-		return shotKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getWeightKind() {
-		return weightKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueFactory getHockeyleagueFactory() {
-		return (HockeyleagueFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		arenaEClass = createEClass(ARENA);
-		createEAttribute(arenaEClass, ARENA__ADDRESS);
-		createEAttribute(arenaEClass, ARENA__CAPACITY);
-
-		defenceEClass = createEClass(DEFENCE);
-		createEAttribute(defenceEClass, DEFENCE__POSITION);
-		createEReference(defenceEClass, DEFENCE__PLAYER_STATS);
-
-		forwardEClass = createEClass(FORWARD);
-		createEAttribute(forwardEClass, FORWARD__POSITION);
-		createEReference(forwardEClass, FORWARD__PLAYER_STATS);
-
-		goalieEClass = createEClass(GOALIE);
-		createEReference(goalieEClass, GOALIE__GOALIE_STATS);
-
-		goalieStatsEClass = createEClass(GOALIE_STATS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__YEAR);
-		createEReference(goalieStatsEClass, GOALIE_STATS__TEAM);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__GAMES_PLAYED_IN);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__MINUTES_PLAYED_IN);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__GOALS_AGAINST_AVERAGE);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__WINS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__LOSSES);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__TIES);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__EMPTY_NET_GOALS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__SHUTOUTS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__GOALS_AGAINST);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__SAVES);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__PENALTY_MINUTES);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__GOALS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__ASSISTS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__POINTS);
-
-		hockeyleagueObjectEClass = createEClass(HOCKEYLEAGUE_OBJECT);
-		createEAttribute(hockeyleagueObjectEClass, HOCKEYLEAGUE_OBJECT__NAME);
-
-		leagueEClass = createEClass(LEAGUE);
-		createEAttribute(leagueEClass, LEAGUE__HEADOFFICE);
-		createEReference(leagueEClass, LEAGUE__TEAMS);
-
-		playerEClass = createEClass(PLAYER);
-		createEAttribute(playerEClass, PLAYER__BIRTHPLACE);
-		createEAttribute(playerEClass, PLAYER__NUMBER);
-		createEAttribute(playerEClass, PLAYER__HEIGHT_MESUREMENT);
-		createEAttribute(playerEClass, PLAYER__HEIGHT_VALUE);
-		createEAttribute(playerEClass, PLAYER__WEIGHT_MESUREMENT);
-		createEAttribute(playerEClass, PLAYER__WEIGHT_VALUE);
-		createEAttribute(playerEClass, PLAYER__SHOT);
-		createEAttribute(playerEClass, PLAYER__BIRTHDATE);
-
-		playerStatsEClass = createEClass(PLAYER_STATS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__YEAR);
-		createEReference(playerStatsEClass, PLAYER_STATS__TEAM);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__GAMES_PLAYED_IN);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__GOALS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__ASSISTS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__POINTS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__PLUS_MINUS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__PENALTY_MINUTES);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__POWER_PLAY_GOALS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__SHORT_HANDED_GOALS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__GAME_WINNING_GOALS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__SHOTS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__SHOT_PERCENTAGE);
-
-		teamEClass = createEClass(TEAM);
-		createEReference(teamEClass, TEAM__FORWARDS);
-		createEReference(teamEClass, TEAM__DEFENCEMEN);
-		createEReference(teamEClass, TEAM__GOALIES);
-		createEReference(teamEClass, TEAM__ARENA);
-
-		// Create enums
-		defencePositionKindEEnum = createEEnum(DEFENCE_POSITION_KIND);
-		forwardPositionKindEEnum = createEEnum(FORWARD_POSITION_KIND);
-		heightKindEEnum = createEEnum(HEIGHT_KIND);
-		shotKindEEnum = createEEnum(SHOT_KIND);
-		weightKindEEnum = createEEnum(WEIGHT_KIND);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Add supertypes to classes
-		arenaEClass.getESuperTypes().add(this.getHockeyleagueObject());
-		defenceEClass.getESuperTypes().add(this.getPlayer());
-		forwardEClass.getESuperTypes().add(this.getPlayer());
-		goalieEClass.getESuperTypes().add(this.getPlayer());
-		leagueEClass.getESuperTypes().add(this.getHockeyleagueObject());
-		playerEClass.getESuperTypes().add(this.getHockeyleagueObject());
-		teamEClass.getESuperTypes().add(this.getHockeyleagueObject());
-
-		// Initialize classes and features; add operations and parameters
-		initEClass(arenaEClass, Arena.class, "Arena", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getArena_Address(), ecorePackage.getEString(), "address", null, 0, 1, Arena.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getArena_Capacity(), ecorePackage.getEInt(), "capacity", null, 0, 1, Arena.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(defenceEClass, Defence.class, "Defence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getDefence_Position(), this.getDefencePositionKind(), "position", null, 0, 1, Defence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getDefence_PlayerStats(), this.getPlayerStats(), null, "playerStats", null, 0, -1, Defence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(forwardEClass, Forward.class, "Forward", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getForward_Position(), this.getForwardPositionKind(), "position", null, 0, 1, Forward.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getForward_PlayerStats(), this.getPlayerStats(), null, "playerStats", null, 0, -1, Forward.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(goalieEClass, Goalie.class, "Goalie", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(getGoalie_GoalieStats(), this.getGoalieStats(), null, "goalieStats", null, 0, -1, Goalie.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(goalieStatsEClass, GoalieStats.class, "GoalieStats", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Year(), ecorePackage.getEString(), "year", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getGoalieStats_Team(), this.getTeam(), null, "team", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_GamesPlayedIn(), ecorePackage.getEInt(), "gamesPlayedIn", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_MinutesPlayedIn(), ecorePackage.getEInt(), "minutesPlayedIn", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_GoalsAgainstAverage(), ecorePackage.getEFloat(), "goalsAgainstAverage", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Wins(), ecorePackage.getEInt(), "wins", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Losses(), ecorePackage.getEInt(), "losses", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Ties(), ecorePackage.getEInt(), "ties", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_EmptyNetGoals(), ecorePackage.getEInt(), "emptyNetGoals", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Shutouts(), ecorePackage.getEInt(), "shutouts", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_GoalsAgainst(), ecorePackage.getEInt(), "goalsAgainst", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Saves(), ecorePackage.getEInt(), "saves", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_PenaltyMinutes(), ecorePackage.getEInt(), "penaltyMinutes", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Goals(), ecorePackage.getEInt(), "goals", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Assists(), ecorePackage.getEInt(), "assists", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Points(), ecorePackage.getEInt(), "points", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(hockeyleagueObjectEClass, HockeyleagueObject.class, "HockeyleagueObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getHockeyleagueObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, HockeyleagueObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(leagueEClass, League.class, "League", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getLeague_Headoffice(), ecorePackage.getEString(), "headoffice", null, 0, 1, League.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getLeague_Teams(), this.getTeam(), null, "teams", null, 0, -1, League.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(playerEClass, Player.class, "Player", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getPlayer_Birthplace(), ecorePackage.getEString(), "birthplace", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_Number(), ecorePackage.getEInt(), "number", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_HeightMesurement(), this.getHeightKind(), "heightMesurement", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_HeightValue(), ecorePackage.getEInt(), "heightValue", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_WeightMesurement(), this.getWeightKind(), "weightMesurement", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_WeightValue(), ecorePackage.getEInt(), "weightValue", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_Shot(), this.getShotKind(), "shot", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_Birthdate(), ecorePackage.getEString(), "birthdate", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(playerStatsEClass, PlayerStats.class, "PlayerStats", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Year(), ecorePackage.getEString(), "year", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getPlayerStats_Team(), this.getTeam(), null, "team", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_GamesPlayedIn(), ecorePackage.getEInt(), "gamesPlayedIn", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Goals(), ecorePackage.getEInt(), "goals", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Assists(), ecorePackage.getEInt(), "assists", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Points(), ecorePackage.getEInt(), "points", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_PlusMinus(), ecorePackage.getEInt(), "plusMinus", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_PenaltyMinutes(), ecorePackage.getEInt(), "penaltyMinutes", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_PowerPlayGoals(), ecorePackage.getEInt(), "powerPlayGoals", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_ShortHandedGoals(), ecorePackage.getEInt(), "shortHandedGoals", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_GameWinningGoals(), ecorePackage.getEInt(), "gameWinningGoals", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Shots(), ecorePackage.getEInt(), "shots", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_ShotPercentage(), ecorePackage.getEFloat(), "shotPercentage", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(teamEClass, Team.class, "Team", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(getTeam_Forwards(), this.getForward(), null, "forwards", null, 0, -1, Team.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getTeam_Defencemen(), this.getDefence(), null, "defencemen", null, 0, -1, Team.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getTeam_Goalies(), this.getGoalie(), null, "goalies", null, 0, -1, Team.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getTeam_Arena(), this.getArena(), null, "arena", null, 0, 1, Team.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		// Initialize enums and add enum literals
-		initEEnum(defencePositionKindEEnum, DefencePositionKind.class, "DefencePositionKind"); //$NON-NLS-1$
-		addEEnumLiteral(defencePositionKindEEnum, DefencePositionKind.LEFT_DEFENCE_LITERAL);
-		addEEnumLiteral(defencePositionKindEEnum, DefencePositionKind.RIGHT_DEFENCE_LITERAL);
-
-		initEEnum(forwardPositionKindEEnum, ForwardPositionKind.class, "ForwardPositionKind"); //$NON-NLS-1$
-		addEEnumLiteral(forwardPositionKindEEnum, ForwardPositionKind.LEFT_WING_LITERAL);
-		addEEnumLiteral(forwardPositionKindEEnum, ForwardPositionKind.RIGHT_WING_LITERAL);
-		addEEnumLiteral(forwardPositionKindEEnum, ForwardPositionKind.CENTER_LITERAL);
-
-		initEEnum(heightKindEEnum, HeightKind.class, "HeightKind"); //$NON-NLS-1$
-		addEEnumLiteral(heightKindEEnum, HeightKind.INCHES_LITERAL);
-		addEEnumLiteral(heightKindEEnum, HeightKind.CENTIMETERS_LITERAL);
-
-		initEEnum(shotKindEEnum, ShotKind.class, "ShotKind"); //$NON-NLS-1$
-		addEEnumLiteral(shotKindEEnum, ShotKind.LEFT_LITERAL);
-		addEEnumLiteral(shotKindEEnum, ShotKind.RIGHT_LITERAL);
-
-		initEEnum(weightKindEEnum, WeightKind.class, "WeightKind"); //$NON-NLS-1$
-		addEEnumLiteral(weightKindEEnum, WeightKind.POUNDS_LITERAL);
-		addEEnumLiteral(weightKindEEnum, WeightKind.KILOGRAMS_LITERAL);
-
-		// Create resource
-		createResource(eNS_URI);
-	}
-
-} //HockeyleaguePackageImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/LeagueImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/LeagueImpl.java
deleted file mode 100644
index 3ccd325..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/LeagueImpl.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>League</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl#getHeadoffice <em>Headoffice</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl#getTeams <em>Teams</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class LeagueImpl extends HockeyleagueObjectImpl implements League {
-	/**
-	 * The default value of the '{@link #getHeadoffice() <em>Headoffice</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeadoffice()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String HEADOFFICE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getHeadoffice() <em>Headoffice</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeadoffice()
-	 * @generated
-	 * @ordered
-	 */
-	protected String headoffice = HEADOFFICE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getTeams() <em>Teams</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTeams()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList teams = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LeagueImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.LEAGUE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getHeadoffice() {
-		return headoffice;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeadoffice(String newHeadoffice) {
-		String oldHeadoffice = headoffice;
-		headoffice = newHeadoffice;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.LEAGUE__HEADOFFICE, oldHeadoffice, headoffice));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getTeams() {
-		if (teams == null) {
-			teams = new EObjectContainmentEList(Team.class, this, HockeyleaguePackage.LEAGUE__TEAMS);
-		}
-		return teams;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				return ((InternalEList)getTeams()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				return getHeadoffice();
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				return getTeams();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				setHeadoffice((String)newValue);
-				return;
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				getTeams().clear();
-				getTeams().addAll((Collection)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				setHeadoffice(HEADOFFICE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				getTeams().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				return HEADOFFICE_EDEFAULT == null ? headoffice != null : !HEADOFFICE_EDEFAULT.equals(headoffice);
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				return teams != null && !teams.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (headoffice: "); //$NON-NLS-1$
-		result.append(headoffice);
-		result.append(')');
-		return result.toString();
-	}
-
-} //LeagueImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerImpl.java
deleted file mode 100644
index a37d89a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerImpl.java
+++ /dev/null
@@ -1,545 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Player</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getBirthplace <em>Birthplace</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getNumber <em>Number</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getHeightMesurement <em>Height Mesurement</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getHeightValue <em>Height Value</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getWeightMesurement <em>Weight Mesurement</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getWeightValue <em>Weight Value</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getShot <em>Shot</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getBirthdate <em>Birthdate</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class PlayerImpl extends HockeyleagueObjectImpl implements Player {
-	/**
-	 * The default value of the '{@link #getBirthplace() <em>Birthplace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getBirthplace()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String BIRTHPLACE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getBirthplace() <em>Birthplace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getBirthplace()
-	 * @generated
-	 * @ordered
-	 */
-	protected String birthplace = BIRTHPLACE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getNumber() <em>Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getNumber()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int NUMBER_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getNumber() <em>Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getNumber()
-	 * @generated
-	 * @ordered
-	 */
-	protected int number = NUMBER_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getHeightMesurement() <em>Height Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeightMesurement()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final HeightKind HEIGHT_MESUREMENT_EDEFAULT = HeightKind.INCHES_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getHeightMesurement() <em>Height Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeightMesurement()
-	 * @generated
-	 * @ordered
-	 */
-	protected HeightKind heightMesurement = HEIGHT_MESUREMENT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getHeightValue() <em>Height Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeightValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int HEIGHT_VALUE_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getHeightValue() <em>Height Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeightValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected int heightValue = HEIGHT_VALUE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getWeightMesurement() <em>Weight Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWeightMesurement()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final WeightKind WEIGHT_MESUREMENT_EDEFAULT = WeightKind.POUNDS_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getWeightMesurement() <em>Weight Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWeightMesurement()
-	 * @generated
-	 * @ordered
-	 */
-	protected WeightKind weightMesurement = WEIGHT_MESUREMENT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getWeightValue() <em>Weight Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWeightValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int WEIGHT_VALUE_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getWeightValue() <em>Weight Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWeightValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected int weightValue = WEIGHT_VALUE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShot() <em>Shot</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShot()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final ShotKind SHOT_EDEFAULT = ShotKind.LEFT_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getShot() <em>Shot</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShot()
-	 * @generated
-	 * @ordered
-	 */
-	protected ShotKind shot = SHOT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getBirthdate() <em>Birthdate</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getBirthdate()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String BIRTHDATE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getBirthdate() <em>Birthdate</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getBirthdate()
-	 * @generated
-	 * @ordered
-	 */
-	protected String birthdate = BIRTHDATE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PlayerImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.PLAYER;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getBirthplace() {
-		return birthplace;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setBirthplace(String newBirthplace) {
-		String oldBirthplace = birthplace;
-		birthplace = newBirthplace;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__BIRTHPLACE, oldBirthplace, birthplace));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getNumber() {
-		return number;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setNumber(int newNumber) {
-		int oldNumber = number;
-		number = newNumber;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__NUMBER, oldNumber, number));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HeightKind getHeightMesurement() {
-		return heightMesurement;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeightMesurement(HeightKind newHeightMesurement) {
-		HeightKind oldHeightMesurement = heightMesurement;
-		heightMesurement = newHeightMesurement == null ? HEIGHT_MESUREMENT_EDEFAULT : newHeightMesurement;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT, oldHeightMesurement, heightMesurement));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getHeightValue() {
-		return heightValue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeightValue(int newHeightValue) {
-		int oldHeightValue = heightValue;
-		heightValue = newHeightValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__HEIGHT_VALUE, oldHeightValue, heightValue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public WeightKind getWeightMesurement() {
-		return weightMesurement;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setWeightMesurement(WeightKind newWeightMesurement) {
-		WeightKind oldWeightMesurement = weightMesurement;
-		weightMesurement = newWeightMesurement == null ? WEIGHT_MESUREMENT_EDEFAULT : newWeightMesurement;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT, oldWeightMesurement, weightMesurement));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getWeightValue() {
-		return weightValue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setWeightValue(int newWeightValue) {
-		int oldWeightValue = weightValue;
-		weightValue = newWeightValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__WEIGHT_VALUE, oldWeightValue, weightValue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ShotKind getShot() {
-		return shot;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShot(ShotKind newShot) {
-		ShotKind oldShot = shot;
-		shot = newShot == null ? SHOT_EDEFAULT : newShot;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__SHOT, oldShot, shot));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getBirthdate() {
-		return birthdate;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setBirthdate(String newBirthdate) {
-		String oldBirthdate = birthdate;
-		birthdate = newBirthdate;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__BIRTHDATE, oldBirthdate, birthdate));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-				return getBirthplace();
-			case HockeyleaguePackage.PLAYER__NUMBER:
-				return new Integer(getNumber());
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-				return getHeightMesurement();
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-				return new Integer(getHeightValue());
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-				return getWeightMesurement();
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-				return new Integer(getWeightValue());
-			case HockeyleaguePackage.PLAYER__SHOT:
-				return getShot();
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				return getBirthdate();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-				setBirthplace((String)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER__NUMBER:
-				setNumber(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-				setHeightMesurement((HeightKind)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-				setHeightValue(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-				setWeightMesurement((WeightKind)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-				setWeightValue(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER__SHOT:
-				setShot((ShotKind)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				setBirthdate((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-				setBirthplace(BIRTHPLACE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__NUMBER:
-				setNumber(NUMBER_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-				setHeightMesurement(HEIGHT_MESUREMENT_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-				setHeightValue(HEIGHT_VALUE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-				setWeightMesurement(WEIGHT_MESUREMENT_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-				setWeightValue(WEIGHT_VALUE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__SHOT:
-				setShot(SHOT_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				setBirthdate(BIRTHDATE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-				return BIRTHPLACE_EDEFAULT == null ? birthplace != null : !BIRTHPLACE_EDEFAULT.equals(birthplace);
-			case HockeyleaguePackage.PLAYER__NUMBER:
-				return number != NUMBER_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-				return heightMesurement != HEIGHT_MESUREMENT_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-				return heightValue != HEIGHT_VALUE_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-				return weightMesurement != WEIGHT_MESUREMENT_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-				return weightValue != WEIGHT_VALUE_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__SHOT:
-				return shot != SHOT_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				return BIRTHDATE_EDEFAULT == null ? birthdate != null : !BIRTHDATE_EDEFAULT.equals(birthdate);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (birthplace: "); //$NON-NLS-1$
-		result.append(birthplace);
-		result.append(", number: "); //$NON-NLS-1$
-		result.append(number);
-		result.append(", heightMesurement: "); //$NON-NLS-1$
-		result.append(heightMesurement);
-		result.append(", heightValue: "); //$NON-NLS-1$
-		result.append(heightValue);
-		result.append(", weightMesurement: "); //$NON-NLS-1$
-		result.append(weightMesurement);
-		result.append(", weightValue: "); //$NON-NLS-1$
-		result.append(weightValue);
-		result.append(", shot: "); //$NON-NLS-1$
-		result.append(shot);
-		result.append(", birthdate: "); //$NON-NLS-1$
-		result.append(birthdate);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PlayerImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerStatsImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerStatsImpl.java
deleted file mode 100644
index a9c11a8..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerStatsImpl.java
+++ /dev/null
@@ -1,821 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Player Stats</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getYear <em>Year</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getTeam <em>Team</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getGamesPlayedIn <em>Games Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getGoals <em>Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getAssists <em>Assists</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getPoints <em>Points</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getPlusMinus <em>Plus Minus</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getPenaltyMinutes <em>Penalty Minutes</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getPowerPlayGoals <em>Power Play Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getShortHandedGoals <em>Short Handed Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getGameWinningGoals <em>Game Winning Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getShots <em>Shots</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getShotPercentage <em>Shot Percentage</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PlayerStatsImpl extends EObjectImpl implements PlayerStats {
-	/**
-	 * The default value of the '{@link #getYear() <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getYear()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String YEAR_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getYear() <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getYear()
-	 * @generated
-	 * @ordered
-	 */
-	protected String year = YEAR_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getTeam() <em>Team</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTeam()
-	 * @generated
-	 * @ordered
-	 */
-	protected Team team = null;
-
-	/**
-	 * The default value of the '{@link #getGamesPlayedIn() <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GAMES_PLAYED_IN_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGamesPlayedIn() <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected int gamesPlayedIn = GAMES_PLAYED_IN_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGoals() <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGoals() <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int goals = GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getAssists() <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAssists()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int ASSISTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getAssists() <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAssists()
-	 * @generated
-	 * @ordered
-	 */
-	protected int assists = ASSISTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPoints() <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPoints()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int POINTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPoints() <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPoints()
-	 * @generated
-	 * @ordered
-	 */
-	protected int points = POINTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPlusMinus() <em>Plus Minus</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlusMinus()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int PLUS_MINUS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPlusMinus() <em>Plus Minus</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlusMinus()
-	 * @generated
-	 * @ordered
-	 */
-	protected int plusMinus = PLUS_MINUS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPenaltyMinutes() <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int PENALTY_MINUTES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPenaltyMinutes() <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 * @ordered
-	 */
-	protected int penaltyMinutes = PENALTY_MINUTES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPowerPlayGoals() <em>Power Play Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPowerPlayGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int POWER_PLAY_GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPowerPlayGoals() <em>Power Play Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPowerPlayGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int powerPlayGoals = POWER_PLAY_GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShortHandedGoals() <em>Short Handed Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShortHandedGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SHORT_HANDED_GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getShortHandedGoals() <em>Short Handed Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShortHandedGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int shortHandedGoals = SHORT_HANDED_GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGameWinningGoals() <em>Game Winning Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGameWinningGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GAME_WINNING_GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGameWinningGoals() <em>Game Winning Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGameWinningGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int gameWinningGoals = GAME_WINNING_GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShots() <em>Shots</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShots()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SHOTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getShots() <em>Shots</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShots()
-	 * @generated
-	 * @ordered
-	 */
-	protected int shots = SHOTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShotPercentage() <em>Shot Percentage</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShotPercentage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final float SHOT_PERCENTAGE_EDEFAULT = 0.0F;
-
-	/**
-	 * The cached value of the '{@link #getShotPercentage() <em>Shot Percentage</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShotPercentage()
-	 * @generated
-	 * @ordered
-	 */
-	protected float shotPercentage = SHOT_PERCENTAGE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PlayerStatsImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.PLAYER_STATS;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getYear() {
-		return year;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setYear(String newYear) {
-		String oldYear = year;
-		year = newYear;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__YEAR, oldYear, year));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team getTeam() {
-		if (team != null && team.eIsProxy()) {
-			InternalEObject oldTeam = (InternalEObject)team;
-			team = (Team)eResolveProxy(oldTeam);
-			if (team != oldTeam) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HockeyleaguePackage.PLAYER_STATS__TEAM, oldTeam, team));
-			}
-		}
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team basicGetTeam() {
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTeam(Team newTeam) {
-		Team oldTeam = team;
-		team = newTeam;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__TEAM, oldTeam, team));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGamesPlayedIn() {
-		return gamesPlayedIn;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGamesPlayedIn(int newGamesPlayedIn) {
-		int oldGamesPlayedIn = gamesPlayedIn;
-		gamesPlayedIn = newGamesPlayedIn;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN, oldGamesPlayedIn, gamesPlayedIn));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGoals() {
-		return goals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGoals(int newGoals) {
-		int oldGoals = goals;
-		goals = newGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__GOALS, oldGoals, goals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getAssists() {
-		return assists;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAssists(int newAssists) {
-		int oldAssists = assists;
-		assists = newAssists;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__ASSISTS, oldAssists, assists));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPoints() {
-		return points;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPoints(int newPoints) {
-		int oldPoints = points;
-		points = newPoints;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__POINTS, oldPoints, points));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPlusMinus() {
-		return plusMinus;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPlusMinus(int newPlusMinus) {
-		int oldPlusMinus = plusMinus;
-		plusMinus = newPlusMinus;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS, oldPlusMinus, plusMinus));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPenaltyMinutes() {
-		return penaltyMinutes;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPenaltyMinutes(int newPenaltyMinutes) {
-		int oldPenaltyMinutes = penaltyMinutes;
-		penaltyMinutes = newPenaltyMinutes;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES, oldPenaltyMinutes, penaltyMinutes));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPowerPlayGoals() {
-		return powerPlayGoals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPowerPlayGoals(int newPowerPlayGoals) {
-		int oldPowerPlayGoals = powerPlayGoals;
-		powerPlayGoals = newPowerPlayGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS, oldPowerPlayGoals, powerPlayGoals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getShortHandedGoals() {
-		return shortHandedGoals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShortHandedGoals(int newShortHandedGoals) {
-		int oldShortHandedGoals = shortHandedGoals;
-		shortHandedGoals = newShortHandedGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS, oldShortHandedGoals, shortHandedGoals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGameWinningGoals() {
-		return gameWinningGoals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGameWinningGoals(int newGameWinningGoals) {
-		int oldGameWinningGoals = gameWinningGoals;
-		gameWinningGoals = newGameWinningGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS, oldGameWinningGoals, gameWinningGoals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getShots() {
-		return shots;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShots(int newShots) {
-		int oldShots = shots;
-		shots = newShots;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__SHOTS, oldShots, shots));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public float getShotPercentage() {
-		return shotPercentage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShotPercentage(float newShotPercentage) {
-		float oldShotPercentage = shotPercentage;
-		shotPercentage = newShotPercentage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE, oldShotPercentage, shotPercentage));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-				return getYear();
-			case HockeyleaguePackage.PLAYER_STATS__TEAM:
-				if (resolve) return getTeam();
-				return basicGetTeam();
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-				return new Integer(getGamesPlayedIn());
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-				return new Integer(getGoals());
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-				return new Integer(getAssists());
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-				return new Integer(getPoints());
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-				return new Integer(getPlusMinus());
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-				return new Integer(getPenaltyMinutes());
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-				return new Integer(getPowerPlayGoals());
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-				return new Integer(getShortHandedGoals());
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-				return new Integer(getGameWinningGoals());
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-				return new Integer(getShots());
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				return new Float(getShotPercentage());
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-				setYear((String)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__TEAM:
-				setTeam((Team)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-				setGamesPlayedIn(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-				setGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-				setAssists(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-				setPoints(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-				setPlusMinus(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-				setPenaltyMinutes(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-				setPowerPlayGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-				setShortHandedGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-				setGameWinningGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-				setShots(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				setShotPercentage(((Float)newValue).floatValue());
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-				setYear(YEAR_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__TEAM:
-				setTeam((Team)null);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-				setGamesPlayedIn(GAMES_PLAYED_IN_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-				setGoals(GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-				setAssists(ASSISTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-				setPoints(POINTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-				setPlusMinus(PLUS_MINUS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-				setPenaltyMinutes(PENALTY_MINUTES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-				setPowerPlayGoals(POWER_PLAY_GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-				setShortHandedGoals(SHORT_HANDED_GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-				setGameWinningGoals(GAME_WINNING_GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-				setShots(SHOTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				setShotPercentage(SHOT_PERCENTAGE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-				return YEAR_EDEFAULT == null ? year != null : !YEAR_EDEFAULT.equals(year);
-			case HockeyleaguePackage.PLAYER_STATS__TEAM:
-				return team != null;
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-				return gamesPlayedIn != GAMES_PLAYED_IN_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-				return goals != GOALS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-				return assists != ASSISTS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-				return points != POINTS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-				return plusMinus != PLUS_MINUS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-				return penaltyMinutes != PENALTY_MINUTES_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-				return powerPlayGoals != POWER_PLAY_GOALS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-				return shortHandedGoals != SHORT_HANDED_GOALS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-				return gameWinningGoals != GAME_WINNING_GOALS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-				return shots != SHOTS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				return shotPercentage != SHOT_PERCENTAGE_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (year: "); //$NON-NLS-1$
-		result.append(year);
-		result.append(", gamesPlayedIn: "); //$NON-NLS-1$
-		result.append(gamesPlayedIn);
-		result.append(", goals: "); //$NON-NLS-1$
-		result.append(goals);
-		result.append(", assists: "); //$NON-NLS-1$
-		result.append(assists);
-		result.append(", points: "); //$NON-NLS-1$
-		result.append(points);
-		result.append(", plusMinus: "); //$NON-NLS-1$
-		result.append(plusMinus);
-		result.append(", penaltyMinutes: "); //$NON-NLS-1$
-		result.append(penaltyMinutes);
-		result.append(", powerPlayGoals: "); //$NON-NLS-1$
-		result.append(powerPlayGoals);
-		result.append(", shortHandedGoals: "); //$NON-NLS-1$
-		result.append(shortHandedGoals);
-		result.append(", gameWinningGoals: "); //$NON-NLS-1$
-		result.append(gameWinningGoals);
-		result.append(", shots: "); //$NON-NLS-1$
-		result.append(shots);
-		result.append(", shotPercentage: "); //$NON-NLS-1$
-		result.append(shotPercentage);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PlayerStatsImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/TeamImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/TeamImpl.java
deleted file mode 100644
index eef64da..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/TeamImpl.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Team</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl#getForwards <em>Forwards</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl#getDefencemen <em>Defencemen</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl#getGoalies <em>Goalies</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl#getArena <em>Arena</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TeamImpl extends HockeyleagueObjectImpl implements Team {
-	/**
-	 * The cached value of the '{@link #getForwards() <em>Forwards</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getForwards()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList forwards = null;
-
-	/**
-	 * The cached value of the '{@link #getDefencemen() <em>Defencemen</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDefencemen()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList defencemen = null;
-
-	/**
-	 * The cached value of the '{@link #getGoalies() <em>Goalies</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalies()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList goalies = null;
-
-	/**
-	 * The cached value of the '{@link #getArena() <em>Arena</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getArena()
-	 * @generated
-	 * @ordered
-	 */
-	protected Arena arena = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TeamImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.TEAM;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getForwards() {
-		if (forwards == null) {
-			forwards = new EObjectContainmentEList(Forward.class, this, HockeyleaguePackage.TEAM__FORWARDS);
-		}
-		return forwards;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getDefencemen() {
-		if (defencemen == null) {
-			defencemen = new EObjectContainmentEList(Defence.class, this, HockeyleaguePackage.TEAM__DEFENCEMEN);
-		}
-		return defencemen;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getGoalies() {
-		if (goalies == null) {
-			goalies = new EObjectContainmentEList(Goalie.class, this, HockeyleaguePackage.TEAM__GOALIES);
-		}
-		return goalies;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Arena getArena() {
-		return arena;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetArena(Arena newArena, NotificationChain msgs) {
-		Arena oldArena = arena;
-		arena = newArena;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.TEAM__ARENA, oldArena, newArena);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setArena(Arena newArena) {
-		if (newArena != arena) {
-			NotificationChain msgs = null;
-			if (arena != null)
-				msgs = ((InternalEObject)arena).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HockeyleaguePackage.TEAM__ARENA, null, msgs);
-			if (newArena != null)
-				msgs = ((InternalEObject)newArena).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HockeyleaguePackage.TEAM__ARENA, null, msgs);
-			msgs = basicSetArena(newArena, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.TEAM__ARENA, newArena, newArena));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				return ((InternalEList)getForwards()).basicRemove(otherEnd, msgs);
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				return ((InternalEList)getDefencemen()).basicRemove(otherEnd, msgs);
-			case HockeyleaguePackage.TEAM__GOALIES:
-				return ((InternalEList)getGoalies()).basicRemove(otherEnd, msgs);
-			case HockeyleaguePackage.TEAM__ARENA:
-				return basicSetArena(null, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				return getForwards();
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				return getDefencemen();
-			case HockeyleaguePackage.TEAM__GOALIES:
-				return getGoalies();
-			case HockeyleaguePackage.TEAM__ARENA:
-				return getArena();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				getForwards().clear();
-				getForwards().addAll((Collection)newValue);
-				return;
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				getDefencemen().clear();
-				getDefencemen().addAll((Collection)newValue);
-				return;
-			case HockeyleaguePackage.TEAM__GOALIES:
-				getGoalies().clear();
-				getGoalies().addAll((Collection)newValue);
-				return;
-			case HockeyleaguePackage.TEAM__ARENA:
-				setArena((Arena)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				getForwards().clear();
-				return;
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				getDefencemen().clear();
-				return;
-			case HockeyleaguePackage.TEAM__GOALIES:
-				getGoalies().clear();
-				return;
-			case HockeyleaguePackage.TEAM__ARENA:
-				setArena((Arena)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				return forwards != null && !forwards.isEmpty();
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				return defencemen != null && !defencemen.isEmpty();
-			case HockeyleaguePackage.TEAM__GOALIES:
-				return goalies != null && !goalies.isEmpty();
-			case HockeyleaguePackage.TEAM__ARENA:
-				return arena != null;
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //TeamImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ArenaItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ArenaItemProvider.java
deleted file mode 100644
index 6d01d59..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ArenaItemProvider.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ArenaItemProvider
-	extends HockeyleagueObjectItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ArenaItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addAddressPropertyDescriptor(object);
-			addCapacityPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Address feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addAddressPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Arena_address_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Arena_address_feature", "_UI_Arena_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.ARENA__ADDRESS,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Capacity feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addCapacityPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Arena_capacity_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Arena_capacity_feature", "_UI_Arena_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.ARENA__CAPACITY,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns Arena.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Arena"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Arena)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Arena_type") : //$NON-NLS-1$
-			getString("_UI_Arena_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Arena.class)) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/DefenceItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/DefenceItemProvider.java
deleted file mode 100644
index 0a938e6..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/DefenceItemProvider.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class DefenceItemProvider
-	extends PlayerItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DefenceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addPositionPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Position feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPositionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Defence_position_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Defence_position_feature", "_UI_Defence_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.DEFENCE__POSITION,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.DEFENCE__PLAYER_STATS);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * This returns Defence.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Defence"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Defence)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Defence_type") : //$NON-NLS-1$
-			getString("_UI_Defence_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Defence.class)) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.DEFENCE__PLAYER_STATS,
-				 HockeyleagueFactory.eINSTANCE.createPlayerStats()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ForwardItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ForwardItemProvider.java
deleted file mode 100644
index e31339a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ForwardItemProvider.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ForwardItemProvider
-	extends PlayerItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ForwardItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addPositionPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Position feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPositionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Forward_position_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Forward_position_feature", "_UI_Forward_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.FORWARD__POSITION,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.FORWARD__PLAYER_STATS);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * This returns Forward.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Forward"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Forward)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Forward_type") : //$NON-NLS-1$
-			getString("_UI_Forward_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Forward.class)) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.FORWARD__PLAYER_STATS,
-				 HockeyleagueFactory.eINSTANCE.createPlayerStats()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieItemProvider.java
deleted file mode 100644
index c28bbcb..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieItemProvider.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class GoalieItemProvider
-	extends PlayerItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public GoalieItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.GOALIE__GOALIE_STATS);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * This returns Goalie.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Goalie"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Goalie)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Goalie_type") : //$NON-NLS-1$
-			getString("_UI_Goalie_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Goalie.class)) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.GOALIE__GOALIE_STATS,
-				 HockeyleagueFactory.eINSTANCE.createGoalieStats()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieStatsItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieStatsItemProvider.java
deleted file mode 100644
index 448a5f2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieStatsItemProvider.java
+++ /dev/null
@@ -1,486 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class GoalieStatsItemProvider
-	extends ItemProviderAdapter
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public GoalieStatsItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addYearPropertyDescriptor(object);
-			addTeamPropertyDescriptor(object);
-			addGamesPlayedInPropertyDescriptor(object);
-			addMinutesPlayedInPropertyDescriptor(object);
-			addGoalsAgainstAveragePropertyDescriptor(object);
-			addWinsPropertyDescriptor(object);
-			addLossesPropertyDescriptor(object);
-			addTiesPropertyDescriptor(object);
-			addEmptyNetGoalsPropertyDescriptor(object);
-			addShutoutsPropertyDescriptor(object);
-			addGoalsAgainstPropertyDescriptor(object);
-			addSavesPropertyDescriptor(object);
-			addPenaltyMinutesPropertyDescriptor(object);
-			addGoalsPropertyDescriptor(object);
-			addAssistsPropertyDescriptor(object);
-			addPointsPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Year feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addYearPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_year_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_year_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__YEAR,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Team feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addTeamPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_team_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_team_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__TEAM,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Games Played In feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGamesPlayedInPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_gamesPlayedIn_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_gamesPlayedIn_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__GAMES_PLAYED_IN,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Minutes Played In feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addMinutesPlayedInPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_minutesPlayedIn_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_minutesPlayedIn_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__MINUTES_PLAYED_IN,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Goals Against Average feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGoalsAgainstAveragePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_goalsAgainstAverage_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_goalsAgainstAverage_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__GOALS_AGAINST_AVERAGE,
-				 true,
-				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Wins feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addWinsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_wins_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_wins_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__WINS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Losses feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addLossesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_losses_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_losses_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__LOSSES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Ties feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addTiesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_ties_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_ties_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__TIES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Empty Net Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addEmptyNetGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_emptyNetGoals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_emptyNetGoals_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__EMPTY_NET_GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Shutouts feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShutoutsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_shutouts_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_shutouts_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__SHUTOUTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Goals Against feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGoalsAgainstPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_goalsAgainst_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_goalsAgainst_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__GOALS_AGAINST,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Saves feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addSavesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_saves_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_saves_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__SAVES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Penalty Minutes feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPenaltyMinutesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_penaltyMinutes_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_penaltyMinutes_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__PENALTY_MINUTES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_goals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_goals_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Assists feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addAssistsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_assists_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_assists_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__ASSISTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Points feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPointsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_points_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_points_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__POINTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns GoalieStats.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/GoalieStats"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((GoalieStats)object).getYear();
-		return label == null || label.length() == 0 ?
-			getString("_UI_GoalieStats_type") : //$NON-NLS-1$
-			getString("_UI_GoalieStats_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(GoalieStats.class)) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueItemProviderAdapterFactory.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueItemProviderAdapterFactory.java
deleted file mode 100644
index 167654a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueItemProviderAdapterFactory.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.edit.provider.ChangeNotifier;
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.IDisposable;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.util.HockeyleagueAdapterFactory;
-
-/**
- * This is the factory that is used to provide the interfaces needed to support Viewers.
- * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
- * The adapters also support Eclipse property sheets.
- * Note that most of the adapters are shared among multiple instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class HockeyleagueItemProviderAdapterFactory extends HockeyleagueAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
-	/**
-	 * This keeps track of the root adapter factory that delegates to this adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ComposedAdapterFactory parentAdapterFactory;
-
-	/**
-	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected IChangeNotifier changeNotifier = new ChangeNotifier();
-
-	/**
-	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected Collection supportedTypes = new ArrayList();
-
-	/**
-	 * This constructs an instance.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueItemProviderAdapterFactory() {
-		supportedTypes.add(IEditingDomainItemProvider.class);
-		supportedTypes.add(IStructuredItemContentProvider.class);
-		supportedTypes.add(ITreeItemContentProvider.class);
-		supportedTypes.add(IItemLabelProvider.class);
-		supportedTypes.add(IItemPropertySource.class);		
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ArenaItemProvider arenaItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createArenaAdapter() {
-		if (arenaItemProvider == null) {
-			arenaItemProvider = new ArenaItemProvider(this);
-		}
-
-		return arenaItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DefenceItemProvider defenceItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createDefenceAdapter() {
-		if (defenceItemProvider == null) {
-			defenceItemProvider = new DefenceItemProvider(this);
-		}
-
-		return defenceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ForwardItemProvider forwardItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createForwardAdapter() {
-		if (forwardItemProvider == null) {
-			forwardItemProvider = new ForwardItemProvider(this);
-		}
-
-		return forwardItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GoalieItemProvider goalieItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createGoalieAdapter() {
-		if (goalieItemProvider == null) {
-			goalieItemProvider = new GoalieItemProvider(this);
-		}
-
-		return goalieItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GoalieStatsItemProvider goalieStatsItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createGoalieStatsAdapter() {
-		if (goalieStatsItemProvider == null) {
-			goalieStatsItemProvider = new GoalieStatsItemProvider(this);
-		}
-
-		return goalieStatsItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LeagueItemProvider leagueItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createLeagueAdapter() {
-		if (leagueItemProvider == null) {
-			leagueItemProvider = new LeagueItemProvider(this);
-		}
-
-		return leagueItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PlayerStatsItemProvider playerStatsItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createPlayerStatsAdapter() {
-		if (playerStatsItemProvider == null) {
-			playerStatsItemProvider = new PlayerStatsItemProvider(this);
-		}
-
-		return playerStatsItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TeamItemProvider teamItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createTeamAdapter() {
-		if (teamItemProvider == null) {
-			teamItemProvider = new TeamItemProvider(this);
-		}
-
-		return teamItemProvider;
-	}
-
-	/**
-	 * This returns the root adapter factory that contains this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComposeableAdapterFactory getRootAdapterFactory() {
-		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
-	}
-
-	/**
-	 * This sets the composed adapter factory that contains this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
-		this.parentAdapterFactory = parentAdapterFactory;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isFactoryForType(Object type) {
-		return supportedTypes.contains(type) || super.isFactoryForType(type);
-	}
-
-	/**
-	 * This implementation substitutes the factory itself as the key for the adapter.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter adapt(Notifier notifier, Object type) {
-		return super.adapt(notifier, this);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object adapt(Object object, Object type) {
-		if (isFactoryForType(type)) {
-			Object adapter = super.adapt(object, type);
-			if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) {
-				return adapter;
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * This adds a listener.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void addListener(INotifyChangedListener notifyChangedListener) {
-		changeNotifier.addListener(notifyChangedListener);
-	}
-
-	/**
-	 * This removes a listener.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void removeListener(INotifyChangedListener notifyChangedListener) {
-		changeNotifier.removeListener(notifyChangedListener);
-	}
-
-	/**
-	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void fireNotifyChanged(Notification notification) {
-		changeNotifier.fireNotifyChanged(notification);
-
-		if (parentAdapterFactory != null) {
-			parentAdapterFactory.fireNotifyChanged(notification);
-		}
-	}
-
-	/**
-	 * This disposes all of the item providers created by this factory. 
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void dispose() {
-		if (arenaItemProvider != null) arenaItemProvider.dispose();
-		if (defenceItemProvider != null) defenceItemProvider.dispose();
-		if (forwardItemProvider != null) forwardItemProvider.dispose();
-		if (goalieItemProvider != null) goalieItemProvider.dispose();
-		if (goalieStatsItemProvider != null) goalieStatsItemProvider.dispose();
-		if (leagueItemProvider != null) leagueItemProvider.dispose();
-		if (playerStatsItemProvider != null) playerStatsItemProvider.dispose();
-		if (teamItemProvider != null) teamItemProvider.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueObjectItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueObjectItemProvider.java
deleted file mode 100644
index d4a63c4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueObjectItemProvider.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class HockeyleagueObjectItemProvider
-	extends ItemProviderAdapter
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueObjectItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addNamePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Name feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addNamePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_HockeyleagueObject_name_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_HockeyleagueObject_name_feature", "_UI_HockeyleagueObject_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.HOCKEYLEAGUE_OBJECT__NAME,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((HockeyleagueObject)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_HockeyleagueObject_type") : //$NON-NLS-1$
-			getString("_UI_HockeyleagueObject_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(HockeyleagueObject.class)) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/LeagueItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/LeagueItemProvider.java
deleted file mode 100644
index 6594ece..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/LeagueItemProvider.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class LeagueItemProvider
-	extends HockeyleagueObjectItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LeagueItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addHeadofficePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Headoffice feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addHeadofficePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_League_headoffice_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_League_headoffice_feature", "_UI_League_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.LEAGUE__HEADOFFICE,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.LEAGUE__TEAMS);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * This returns League.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/League"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((League)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_League_type") : //$NON-NLS-1$
-			getString("_UI_League_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(League.class)) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.LEAGUE__TEAMS,
-				 HockeyleagueFactory.eINSTANCE.createTeam()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerItemProvider.java
deleted file mode 100644
index 0235a1a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerItemProvider.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class PlayerItemProvider
-	extends HockeyleagueObjectItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PlayerItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addBirthplacePropertyDescriptor(object);
-			addNumberPropertyDescriptor(object);
-			addHeightMesurementPropertyDescriptor(object);
-			addHeightValuePropertyDescriptor(object);
-			addWeightMesurementPropertyDescriptor(object);
-			addWeightValuePropertyDescriptor(object);
-			addShotPropertyDescriptor(object);
-			addBirthdatePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Birthplace feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addBirthplacePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_birthplace_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_birthplace_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__BIRTHPLACE,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Number feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addNumberPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_number_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_number_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__NUMBER,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Height Mesurement feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addHeightMesurementPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_heightMesurement_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_heightMesurement_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__HEIGHT_MESUREMENT,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Height Value feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addHeightValuePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_heightValue_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_heightValue_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__HEIGHT_VALUE,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Weight Mesurement feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addWeightMesurementPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_weightMesurement_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_weightMesurement_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__WEIGHT_MESUREMENT,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Weight Value feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addWeightValuePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_weightValue_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_weightValue_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__WEIGHT_VALUE,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Shot feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShotPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_shot_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_shot_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__SHOT,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Birthdate feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addBirthdatePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_birthdate_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_birthdate_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__BIRTHDATE,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Player)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Player_type") : //$NON-NLS-1$
-			getString("_UI_Player_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Player.class)) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-			case HockeyleaguePackage.PLAYER__NUMBER:
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-			case HockeyleaguePackage.PLAYER__SHOT:
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerStatsItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerStatsItemProvider.java
deleted file mode 100644
index 2072d50..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerStatsItemProvider.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class PlayerStatsItemProvider
-	extends ItemProviderAdapter
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PlayerStatsItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addYearPropertyDescriptor(object);
-			addTeamPropertyDescriptor(object);
-			addGamesPlayedInPropertyDescriptor(object);
-			addGoalsPropertyDescriptor(object);
-			addAssistsPropertyDescriptor(object);
-			addPointsPropertyDescriptor(object);
-			addPlusMinusPropertyDescriptor(object);
-			addPenaltyMinutesPropertyDescriptor(object);
-			addPowerPlayGoalsPropertyDescriptor(object);
-			addShortHandedGoalsPropertyDescriptor(object);
-			addGameWinningGoalsPropertyDescriptor(object);
-			addShotsPropertyDescriptor(object);
-			addShotPercentagePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Year feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addYearPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_year_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_year_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__YEAR,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Team feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addTeamPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_team_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_team_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__TEAM,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Games Played In feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGamesPlayedInPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_gamesPlayedIn_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_gamesPlayedIn_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__GAMES_PLAYED_IN,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_goals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_goals_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Assists feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addAssistsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_assists_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_assists_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__ASSISTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Points feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPointsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_points_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_points_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__POINTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Plus Minus feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPlusMinusPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_plusMinus_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_plusMinus_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__PLUS_MINUS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Penalty Minutes feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPenaltyMinutesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_penaltyMinutes_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_penaltyMinutes_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__PENALTY_MINUTES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Power Play Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPowerPlayGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_powerPlayGoals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_powerPlayGoals_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__POWER_PLAY_GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Short Handed Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShortHandedGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_shortHandedGoals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_shortHandedGoals_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__SHORT_HANDED_GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Game Winning Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGameWinningGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_gameWinningGoals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_gameWinningGoals_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__GAME_WINNING_GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Shots feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShotsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_shots_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_shots_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__SHOTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Shot Percentage feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShotPercentagePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_shotPercentage_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_shotPercentage_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__SHOT_PERCENTAGE,
-				 true,
-				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns PlayerStats.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/PlayerStats"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((PlayerStats)object).getYear();
-		return label == null || label.length() == 0 ?
-			getString("_UI_PlayerStats_type") : //$NON-NLS-1$
-			getString("_UI_PlayerStats_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(PlayerStats.class)) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/TeamItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/TeamItemProvider.java
deleted file mode 100644
index 122942c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/TeamItemProvider.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class TeamItemProvider
-	extends HockeyleagueObjectItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TeamItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.TEAM__FORWARDS);
-			childrenFeatures.add(HockeyleaguePackage.Literals.TEAM__DEFENCEMEN);
-			childrenFeatures.add(HockeyleaguePackage.Literals.TEAM__GOALIES);
-			childrenFeatures.add(HockeyleaguePackage.Literals.TEAM__ARENA);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		// Check the type of the specified child object and return the proper feature to use for
-		// adding (see {@link AddCommand}) it as a child.
-
-		return super.getChildFeature(object, child);
-	}
-
-	/**
-	 * This returns Team.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Team"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Team)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Team_type") : //$NON-NLS-1$
-			getString("_UI_Team_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Team.class)) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-			case HockeyleaguePackage.TEAM__GOALIES:
-			case HockeyleaguePackage.TEAM__ARENA:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.TEAM__FORWARDS,
-				 HockeyleagueFactory.eINSTANCE.createForward()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.TEAM__DEFENCEMEN,
-				 HockeyleagueFactory.eINSTANCE.createDefence()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.TEAM__GOALIES,
-				 HockeyleagueFactory.eINSTANCE.createGoalie()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.TEAM__ARENA,
-				 HockeyleagueFactory.eINSTANCE.createArena()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/actions/HockeyleagueCreateChildAction.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/actions/HockeyleagueCreateChildAction.java
deleted file mode 100644
index c522581..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/actions/HockeyleagueCreateChildAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.actions;
-
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.CreateChildCommand;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.ui.action.CreateChildAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.dialogs.HockeyleagueSetDefaultsDialog;
-
-/**
- * Create child action for the Tabbed Properties View Hockey League Example.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueCreateChildAction extends CreateChildAction {
-	public HockeyleagueCreateChildAction(IEditorPart editorPart,
-			ISelection selection, Object descriptor) {
-		super(editorPart, selection, descriptor);
-	}
-
-	public void run() {
-		CreateChildCommand createChildCommand = (CreateChildCommand) this.command;
-		HockeyleagueSetDefaultsDialog dialog;
-		if (createChildCommand.getCommand() instanceof AddCommand) {
-			AddCommand addCommand = (AddCommand) createChildCommand.getCommand();
-			dialog = new HockeyleagueSetDefaultsDialog(Display.getCurrent()
-					.getActiveShell(), addCommand);
-		} else if (createChildCommand.getCommand() instanceof SetCommand) {
-			SetCommand setCommand = (SetCommand) createChildCommand.getCommand();
-			dialog = new HockeyleagueSetDefaultsDialog(Display.getCurrent()
-					.getActiveShell(), setCommand);
-		} else {
-			dialog = null;
-		}
-		dialog.open();
-		if (dialog.getReturnCode() == Window.CANCEL) {
-			return;
-		}
-		super.run();
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/dialogs/HockeyleagueSetDefaultsDialog.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/dialogs/HockeyleagueSetDefaultsDialog.java
deleted file mode 100644
index adf7d05..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/dialogs/HockeyleagueSetDefaultsDialog.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.dialogs;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-
-/**
- * A defaults dialog that allows for data entry for the Tabbed Properties View
- * Hockey League Example.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueSetDefaultsDialog
-	extends Dialog {
-
-	private class DefaultValue {
-
-		protected Method method;
-
-		protected String label;
-
-		protected Object value;
-
-		protected Object widget;
-
-		protected DefaultValue(Method method) {
-			this.method = method;
-			label = method.getName().substring(3) + ":";//$NON-NLS-1$
-		}
-
-		public String toString() {
-			return method.toString();
-		}
-	}
-
-	private EObject owner = null;
-
-	private EObject child = null;
-
-	private ArrayList defaultValues = null;
-
-	public HockeyleagueSetDefaultsDialog(Shell parentShell,
-			AddCommand addCommand) {
-		super(parentShell);
-		Collection collection = addCommand.getCollection();
-		this.owner = addCommand.getOwner();
-		this.child = (EObject) collection.iterator().next();
-		this.defaultValues = getDefaultValues(child);
-	}
-
-	public HockeyleagueSetDefaultsDialog(Shell parentShell,
-			SetCommand setCommand) {
-		super(parentShell);
-		this.owner = setCommand.getOwner();
-		this.child = (EObject) setCommand.getValue();
-		this.defaultValues = getDefaultValues(child);
-	}
-
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText("Add New " + child.eClass().getName()); //$NON-NLS-1$
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		Group group = createGroup(composite, child.eClass().getName(), 2);
-		for (Iterator i = defaultValues.iterator(); i.hasNext();) {
-			DefaultValue defaultValue = (DefaultValue) i.next();
-			Label label = createLabel(group, defaultValue.label);
-			label.setToolTipText(""); //$NON-NLS-1$
-			Class setType = defaultValue.method.getParameterTypes()[0];
-			if (setType.equals(String.class)) {
-				defaultValue.widget = createTextField(group);
-				((Text) defaultValue.widget).setText(defaultValue.method
-					.getName().substring(3));
-			} else if (setType.equals(int.class)) {
-				defaultValue.widget = createTextField(group);
-				((Text) defaultValue.widget).setText("0");//$NON-NLS-1$
-			} else if (setType.equals(float.class)) {
-				defaultValue.widget = createTextField(group);
-				((Text) defaultValue.widget).setText("0.0F");//$NON-NLS-1$
-			} else if (setType.equals(Boolean.class)) {
-				defaultValue.widget = createCheckBox(group, "Yes"); //$NON-NLS-1$
-			} else if (setType.equals(DefencePositionKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					DefencePositionKind.LEFT_DEFENCE_LITERAL.getName(),
-					DefencePositionKind.RIGHT_DEFENCE_LITERAL.getName()});
-			} else if (setType.equals(ForwardPositionKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					ForwardPositionKind.LEFT_WING_LITERAL.getName(),
-					ForwardPositionKind.RIGHT_WING_LITERAL.getName(),
-					ForwardPositionKind.CENTER_LITERAL.getName()});
-			} else if (setType.equals(WeightKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					WeightKind.POUNDS_LITERAL.getName(),
-					WeightKind.KILOGRAMS_LITERAL.getName()});
-			} else if (setType.equals(ShotKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					ShotKind.LEFT_LITERAL.getName(),
-					ShotKind.RIGHT_LITERAL.getName()});
-			} else if (setType.equals(HeightKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					HeightKind.INCHES_LITERAL.getName(),
-					HeightKind.CENTIMETERS_LITERAL.getName()});
-			} else if (setType.equals(Team.class)) {
-				League league = (League) owner.eResource().getContents().get(0);
-				Team[] teams = (Team[]) league.getTeams().toArray();
-				String[] teamNames = new String[teams.length];
-				for (int t = 0; t < teams.length; t++) {
-					teamNames[t] = teams[t].getName();
-				}
-				defaultValue.widget = createCombo(group, teamNames);
-			} else {
-				defaultValue.widget = createLabel(group, "N/A");//$NON-NLS-1$
-			}
-		}
-		return composite;
-	}
-
-	protected Group createGroup(Composite parent, String text, int numColumns) {
-		Group composite = new Group(parent, SWT.NONE);
-		composite.setText(text);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		layout.makeColumnsEqualWidth = false;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(data);
-		return composite;
-	}
-
-	protected Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(text);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-
-	protected Text createTextField(Composite parent) {
-		Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		data.verticalAlignment = GridData.CENTER;
-		data.grabExcessVerticalSpace = false;
-		data.widthHint = 250;
-		text.setLayoutData(data);
-		return text;
-	}
-
-	protected Button createCheckBox(Composite group, String label) {
-		Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-		button.setText(label);
-		GridData data = new GridData();
-		button.setLayoutData(data);
-		return button;
-	}
-
-	protected Combo createCombo(Composite parent, String[] items) {
-		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(0);
-		return combo;
-	}
-
-	protected void okPressed() {
-		for (Iterator i = defaultValues.iterator(); i.hasNext();) {
-			DefaultValue defaultValue = (DefaultValue) i.next();
-			Class setType = defaultValue.method.getParameterTypes()[0];
-			if (setType.equals(String.class)) {
-				defaultValue.value = ((Text) defaultValue.widget).getText();
-			} else if (setType.equals(int.class)) {
-				String text = ((Text) defaultValue.widget).getText();
-				defaultValue.value = Integer.valueOf(text);
-			} else if (setType.equals(float.class)) {
-				String text = ((Text) defaultValue.widget).getText();
-				defaultValue.value = Float.valueOf(text);
-			} else if (setType.equals(DefencePositionKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case DefencePositionKind.LEFT_DEFENCE:
-						defaultValue.value = DefencePositionKind.LEFT_DEFENCE_LITERAL;
-						break;
-					case DefencePositionKind.RIGHT_DEFENCE:
-						defaultValue.value = DefencePositionKind.RIGHT_DEFENCE_LITERAL;
-						break;
-				}
-			} else if (setType.equals(ForwardPositionKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case ForwardPositionKind.LEFT_WING:
-						defaultValue.value = ForwardPositionKind.LEFT_WING_LITERAL;
-						break;
-					case ForwardPositionKind.CENTER:
-						defaultValue.value = ForwardPositionKind.CENTER_LITERAL;
-						break;
-					case ForwardPositionKind.RIGHT_WING:
-						defaultValue.value = ForwardPositionKind.RIGHT_WING_LITERAL;
-						break;
-				}
-			} else if (setType.equals(WeightKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case WeightKind.KILOGRAMS:
-						defaultValue.value = WeightKind.KILOGRAMS_LITERAL;
-						break;
-					case WeightKind.POUNDS:
-						defaultValue.value = WeightKind.POUNDS_LITERAL;
-						break;
-				}
-			} else if (setType.equals(ShotKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case ShotKind.LEFT:
-						defaultValue.value = ShotKind.LEFT_LITERAL;
-						break;
-					case ShotKind.RIGHT:
-						defaultValue.value = ShotKind.RIGHT_LITERAL;
-						break;
-				}
-			} else if (setType.equals(HeightKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case HeightKind.CENTIMETERS:
-						defaultValue.value = HeightKind.CENTIMETERS_LITERAL;
-						break;
-					case HeightKind.INCHES:
-						defaultValue.value = HeightKind.INCHES_LITERAL;
-						break;
-				}
-			} else if (setType.equals(Team.class)) {
-				League league = (League) owner.eResource().getContents().get(0);
-				Team[] teams = (Team[]) league.getTeams().toArray();
-				defaultValue.value = teams[((Combo) defaultValue.widget)
-					.getSelectionIndex()];
-			} else if (setType.equals(Boolean.class)) {
-				defaultValue.value = ((Button) defaultValue.widget)
-					.getSelection() ? Boolean.TRUE
-					: Boolean.FALSE;
-			}
-		}
-		setDefaultValues(defaultValues, child);
-		super.okPressed();
-	}
-
-	private ArrayList getDefaultValues(EObject aChild) {
-		ArrayList ret = new ArrayList();
-		Class childClassImpl = aChild.getClass();
-		Method[] methods = childClassImpl.getMethods();
-		for (int i = 0; i < methods.length; i++) {
-			if (methods[i].getName().startsWith("set")) {//$NON-NLS-1$
-				Class setType = methods[i].getParameterTypes()[0];
-				if (!setType.equals(Class.class)
-					&& !setType.equals(Arena.class)
-					&& !setType.equals(EList.class)) {
-					ret.add(new DefaultValue(methods[i]));
-				}
-			}
-		}
-		return ret;
-	}
-
-	private void setDefaultValues(ArrayList defaultValues, EObject child) {
-		for (Iterator i = defaultValues.iterator(); i.hasNext();) {
-			DefaultValue defaultValue = (DefaultValue) i.next();
-			try {
-				defaultValue.method.invoke(child,
-					new Object[] {defaultValue.value});
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueActionBarContributor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueActionBarContributor.java
deleted file mode 100644
index 0ca9054..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueActionBarContributor.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import org.eclipse.emf.common.ui.viewer.IViewerProvider;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-import org.eclipse.emf.edit.ui.action.CreateChildAction;
-import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
-import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
-import org.eclipse.jface.action.Action;
-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.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.SubContributionItem;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.actions.HockeyleagueCreateChildAction;
-
-/**
- * This is the action bar contributor for the Hockeyleague model editor.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueActionBarContributor
-	extends EditingDomainActionBarContributor
-	implements ISelectionChangedListener {
-
-	/**
-	 * This keeps track of the active editor. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IEditorPart activeEditorPart;
-
-	/**
-	 * This keeps track of the current selection provider. <!-- begin-user-doc
-	 * --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ISelectionProvider selectionProvider;
-
-	/**
-	 * This action opens the Properties view. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IAction showPropertiesViewAction = new Action(
-		"Show &Properties View") {//$NON-NLS-1$
-
-		public void run() {
-			try {
-				getPage().showView("org.eclipse.ui.views.PropertySheet");//$NON-NLS-1$
-			} catch (PartInitException exception) {
-				exception.printStackTrace();
-			}
-		}
-	};
-
-	/**
-	 * This action refreshes the viewer of the current editor if the editor
-	 * implements {@link IViewerProvider}. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IAction refreshViewerAction = new Action("Refresh") {//$NON-NLS-1$
-
-		public boolean isEnabled() {
-			return activeEditorPart instanceof IViewerProvider;
-		}
-
-		public void run() {
-			if (activeEditorPart instanceof IViewerProvider) {
-				Viewer viewer = ((IViewerProvider) activeEditorPart)
-					.getViewer();
-				if (viewer != null) {
-					viewer.refresh();
-				}
-			}
-		}
-	};
-
-	/**
-	 * This will contain one {@link CreateChildAction}corresponding to each
-	 * descriptor generated for the current selection by the item provider. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection createChildActions;
-
-	/**
-	 * This is the menu manager into which menu contribution items should be
-	 * added for CreateChild actions. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	protected IMenuManager createChildMenuManager;
-
-	/**
-	 * This will contain one {@link CreateSiblingAction}corresponding to each
-	 * descriptor generated for the current selection by the item provider. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection createSiblingActions;
-
-	/**
-	 * This is the menu manager into which menu contribution items should be
-	 * added for CreateSibling actions. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IMenuManager createSiblingMenuManager;
-
-	/**
-	 * This creates an instance of the contributor. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public HockeyleagueActionBarContributor() {
-		//
-	}
-
-	/**
-	 * This adds Separators for editor additions to the tool bar. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void contributeToToolBar(IToolBarManager toolBarManager) {
-		toolBarManager.add(new Separator("hockeyleague-settings"));//$NON-NLS-1$
-		toolBarManager.add(new Separator("hockeyleague-additions"));//$NON-NLS-1$
-	}
-
-	/**
-	 * This adds to the menu bar a menu and some separators for editor
-	 * additions, as well as the sub-menus for object creation items. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void contributeToMenu(IMenuManager menuManager) {
-		super.contributeToMenu(menuManager);
-
-		IMenuManager submenuManager = new MenuManager("&Hockeyleague Editor",//$NON-NLS-1$
-			"org.eclipse.ui.examples.views.properties.tabbed.hockeyleagueMenuID");//$NON-NLS-1$
-		menuManager.insertAfter("additions", submenuManager);//$NON-NLS-1$
-		submenuManager.add(new Separator("settings"));//$NON-NLS-1$
-		submenuManager.add(new Separator("actions"));//$NON-NLS-1$
-		submenuManager.add(new Separator("additions"));//$NON-NLS-1$
-		submenuManager.add(new Separator("additions-end"));//$NON-NLS-1$
-
-		// Prepare for CreateChild item addition or removal.
-		//
-		createChildMenuManager = new MenuManager("&New Child");//$NON-NLS-1$
-		submenuManager.insertBefore("additions", createChildMenuManager);//$NON-NLS-1$
-
-		// Prepare for CreateSibling item addition or removal.
-		//
-		createSiblingMenuManager = new MenuManager("N&ew Sibling");//$NON-NLS-1$
-		submenuManager.insertBefore("additions", createSiblingMenuManager);//$NON-NLS-1$
-	}
-
-	/**
-	 * When the active editor changes, this remembers the change, and registers
-	 * with it as a selection provider. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setActiveEditor(IEditorPart part) {
-		super.setActiveEditor(part);
-		activeEditorPart = part;
-
-		// Switch to the new selection provider.
-		//
-		if (selectionProvider != null) {
-			selectionProvider.removeSelectionChangedListener(this);
-		}
-		if (part == null) {
-			selectionProvider = null;
-		} else {
-			selectionProvider = part.getSite().getSelectionProvider();
-			selectionProvider.addSelectionChangedListener(this);
-
-			// Fake a selection changed event to update the menus.
-			//
-			if (selectionProvider.getSelection() != null) {
-				selectionChanged(new SelectionChangedEvent(selectionProvider,
-					selectionProvider.getSelection()));
-			}
-		}
-	}
-
-	/**
-	 * This implements {@link ISelectionChangedListener}, handling
-	 * {@link SelectionChangedEvents}by querying for the children and siblings
-	 * that can be added to the selected object and updating the menus
-	 * accordingly. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		// Remove any menu items for old selection.
-		//
-		if (createChildMenuManager != null) {
-			depopulateManager(createChildMenuManager, createChildActions);
-		}
-		if (createSiblingMenuManager != null) {
-			depopulateManager(createSiblingMenuManager, createSiblingActions);
-		}
-
-		// Query the new selection for appropriate new child/sibling descriptors
-		//
-		Collection newChildDescriptors = null;
-		Collection newSiblingDescriptors = null;
-
-		ISelection selection = event.getSelection();
-		if (selection instanceof IStructuredSelection
-			&& ((IStructuredSelection) selection).size() == 1) {
-			Object object = ((IStructuredSelection) selection)
-				.getFirstElement();
-
-			EditingDomain domain = ((IEditingDomainProvider) activeEditorPart)
-				.getEditingDomain();
-
-			newChildDescriptors = domain.getNewChildDescriptors(object, null);
-			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
-		}
-
-		// Generate actions for selection; populate and redraw the menus.
-		//
-		createChildActions = generateCreateChildActions(newChildDescriptors,
-			selection);
-		createSiblingActions = generateCreateSiblingActions(
-			newSiblingDescriptors, selection);
-
-		if (createChildMenuManager != null) {
-			populateManager(createChildMenuManager, createChildActions, null);
-			createChildMenuManager.update(true);
-		}
-		if (createSiblingMenuManager != null) {
-			populateManager(createSiblingMenuManager, createSiblingActions,
-				null);
-			createSiblingMenuManager.update(true);
-		}
-	}
-
-	/**
-	 * This generates a {@link CreateChildAction}for each object in
-	 * <code>descriptors</code>, and returns the collection of these actions.
-	 * <!-- begin-user-doc --> Modified <!-- end-user-doc -->
-	 */
-	protected Collection generateCreateChildActions(Collection descriptors,
-			ISelection selection) {
-		Collection actions = new LinkedList();
-		if (descriptors != null) {
-			for (Iterator i = descriptors.iterator(); i.hasNext();) {
-				actions.add(new HockeyleagueCreateChildAction(activeEditorPart,
-					selection, i.next()));
-			}
-		}
-		return actions;
-	}
-
-	/**
-	 * This generates a {@link CreateSiblingAction}for each object in
-	 * <code>descriptors</code>, and returns the collection of these actions.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection generateCreateSiblingActions(Collection descriptors,
-			ISelection selection) {
-		Collection actions = new LinkedList();
-		if (descriptors != null) {
-			for (Iterator i = descriptors.iterator(); i.hasNext();) {
-				actions.add(new CreateSiblingAction(activeEditorPart,
-					selection, i.next()));
-			}
-		}
-		return actions;
-	}
-
-	/**
-	 * This populates the specified <code>manager</code> with
-	 * {@link ActionContributionItem}s based on the {@link IAction}s contained
-	 * in the <code>actions</code> collection, by inserting them before the
-	 * specified contribution item <code>contributionID</code>. If
-	 * <code>ID</code> is <code>null</code>, they are simply added. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void populateManager(IContributionManager manager,
-			Collection actions, String contributionID) {
-		if (actions != null) {
-			for (Iterator i = actions.iterator(); i.hasNext();) {
-				IAction action = (IAction) i.next();
-				if (contributionID != null) {
-					manager.insertBefore(contributionID, action);
-				} else {
-					manager.add(action);
-				}
-			}
-		}
-	}
-
-	/**
-	 * This removes from the specified <code>manager</code> all
-	 * {@link ActionContributionItem}s based on the {@link IAction}s contained
-	 * in the <code>actions</code> collection. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void depopulateManager(IContributionManager manager,
-			Collection actions) {
-		if (actions != null) {
-			IContributionItem[] items = manager.getItems();
-			for (int i = 0; i < items.length; i++) {
-				// Look into SubContributionItems
-				//
-				IContributionItem contributionItem = items[i];
-				while (contributionItem instanceof SubContributionItem) {
-					contributionItem = ((SubContributionItem) contributionItem)
-						.getInnerItem();
-				}
-
-				// Delete the ActionContributionItems with matching action.
-				//
-				if (contributionItem instanceof ActionContributionItem) {
-					IAction action = ((ActionContributionItem) contributionItem)
-						.getAction();
-					if (actions.contains(action)) {
-						manager.remove(contributionItem);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * add actions to the menu manager.
-	 */
-	protected void populateManager(IContributionManager manager,
-			Collection actions) {
-		if (actions != null) {
-			for (Iterator i = actions.iterator(); i.hasNext();) {
-				IAction action = (IAction) i.next();
-				if (!action.getText().startsWith("Add")) {//$NON-NLS-1$
-					action.setText("Add " + action.getText() + "...");//$NON-NLS-2$//$NON-NLS-1$
-				}
-				manager.insertBefore("additions", action); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * This populates the pop-up menu before it appears. <!-- begin-user-doc -->
-	 * Modified <!-- end-user-doc -->
-	 */
-	public void menuAboutToShow(IMenuManager menuManager) {
-		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
-
-		super.menuAboutToShow(menuManager);
-		populateManager(menuManager, createChildActions);
-
-		menuManager.insertAfter("additions-end", new Separator("ui-actions"));//$NON-NLS-2$//$NON-NLS-1$
-		menuManager.insertAfter("ui-actions", showPropertiesViewAction);//$NON-NLS-1$
-		menuManager.insertAfter("ui-actions", refreshViewerAction);//$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueEditor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueEditor.java
deleted file mode 100644
index 4edaf32..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueEditor.java
+++ /dev/null
@@ -1,1199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.EventObject;
-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.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStack;
-import org.eclipse.emf.common.command.CommandStackListener;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.ui.ViewerPane;
-import org.eclipse.emf.common.ui.viewer.IViewerProvider;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
-import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
-import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
-import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
-import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
-import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
-import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider.HockeyleagueItemProviderAdapterFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.HockeyleaguePropertySheetPage;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.views.contentoutline.ContentOutline;
-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.PropertySheet;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * This is the editor for the Hockeyleague model editor.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueEditor
-	extends MultiPageEditorPart
-	implements IEditingDomainProvider, ISelectionProvider, IMenuListener,
-	IViewerProvider, ITabbedPropertySheetPageContributor {
-
-	/**
-	 * This keeps track of the editing domain that is used to track all changes
-	 * to the model. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected AdapterFactoryEditingDomain editingDomain;
-
-	/**
-	 * This is the one adapter factory used for providing views of the model.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ComposedAdapterFactory adapterFactory;
-
-	/**
-	 * This is the content outline page. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IContentOutlinePage contentOutlinePage;
-
-	/**
-	 * This is a kludge... <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IStatusLineManager contentOutlineStatusLineManager;
-
-	/**
-	 * This is the content outline page's viewer. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected TreeViewer contentOutlineViewer;
-
-	/**
-	 * This is the property sheet page. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated protected TabbedPropertySheetPage propertySheetPage;
-	 */
-
-	/**
-	 * This shows how a tree view works. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected TreeViewer treeViewer;
-
-	/**
-	 * This keeps track of the active viewer pane, in the book. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ViewerPane currentViewerPane;
-
-	/**
-	 * This keeps track of the active content viewer, which may be either one of
-	 * the viewers in the pages or the content outline viewer. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Viewer currentViewer;
-
-	/**
-	 * This listens to which ever viewer is active. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ISelectionChangedListener selectionChangedListener;
-
-	/**
-	 * This keeps track of all the
-	 * {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are
-	 * listening to this editor. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection selectionChangedListeners = new ArrayList();
-
-	/**
-	 * This keeps track of the selection of the editor as a whole. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ISelection editorSelection;
-
-	/**
-	 * This listens for when the outline becomes active <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IPartListener partListener = new IPartListener() {
-
-		public void partActivated(IWorkbenchPart p) {
-			if (p instanceof ContentOutline) {
-				if (((ContentOutline) p).getCurrentPage() == contentOutlinePage) {
-					getActionBarContributor().setActiveEditor(
-						HockeyleagueEditor.this);
-
-					setCurrentViewer(contentOutlineViewer);
-				}
-			} else if (p instanceof PropertySheet) {
-				if (((PropertySheet) p).getCurrentPage() == getPropertySheetPage()) {
-					getActionBarContributor().setActiveEditor(
-						HockeyleagueEditor.this);
-					handleActivate();
-				}
-			} else if (p == HockeyleagueEditor.this) {
-				handleActivate();
-			}
-		}
-
-		public void partBroughtToTop(IWorkbenchPart p) {
-		}
-
-		public void partClosed(IWorkbenchPart p) {
-		}
-
-		public void partDeactivated(IWorkbenchPart p) {
-		}
-
-		public void partOpened(IWorkbenchPart p) {
-		}
-	};
-
-	private HockeyleaguePropertySheetPage propertySheetPage;
-	
-	/**
-	 * Resources that have been removed since last activation.
-	 * 
-	 * @generated
-	 */
-	Collection removedResources = new ArrayList();
-
-	/**
-	 * Resources that have been changed since last activation.
-	 * 
-	 * @generated
-	 */
-	Collection changedResources = new ArrayList();
-
-	/**
-	 * Resources that have been saved.
-	 * 
-	 * @generated
-	 */
-	Collection savedResources = new ArrayList();
-
-	/**
-	 * This listens for workspace changes. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
-
-		public void resourceChanged(IResourceChangeEvent event) {
-			//ResourceSet resourceSet = editingDomain.getResourceSet();
-			// Only listening to these.
-			// if (event.getType() == IResourceDelta.POST_CHANGE)
-			{
-				IResourceDelta delta = event.getDelta();
-				try {
-					class ResourceDeltaVisitor
-						implements IResourceDeltaVisitor {
-
-						protected ResourceSet resourceSet = editingDomain
-							.getResourceSet();
-
-						//protected Collection changedResources = new
-						// ArrayList();
-						//protected Collection removedResources = new
-						// ArrayList();
-
-						public boolean visit(IResourceDelta delta1) {
-							if (delta1.getFlags() != IResourceDelta.MARKERS
-								&& delta1.getResource().getType() == IResource.FILE) {
-								if ((delta1.getKind() & (IResourceDelta.CHANGED | IResourceDelta.REMOVED)) != 0) {
-									Resource resource = resourceSet
-										.getResource(URI.createURI(delta1
-											.getFullPath().toString()), false);
-									if (resource != null) {
-										if ((delta1.getKind() & IResourceDelta.REMOVED) != 0) {
-											removedResources.add(resource);
-										} else {
-											changedResources.add(resource);
-										}
-									}
-								}
-							}
-
-							return true;
-						}
-
-						public Collection getChangedResources() {
-							return changedResources;
-						}
-
-						public Collection getRemovedResources() {
-							return removedResources;
-						}
-					}
-
-					ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
-					delta.accept(visitor);
-
-					removedResources.addAll(visitor.getRemovedResources());
-					if (!visitor.getRemovedResources().isEmpty() && !isDirty()) {
-						getSite().getShell().getDisplay().asyncExec(
-							new Runnable() {
-
-								public void run() {
-									getSite().getPage().closeEditor(
-										HockeyleagueEditor.this, false);
-									HockeyleagueEditor.this.dispose();
-								}
-							});
-					}
-
-					changedResources.addAll(visitor.getChangedResources());
-				} catch (CoreException exception) {
-					exception.printStackTrace();
-				}
-			}
-		}
-	};
-
-	/**
-	 * Handles activation of the editor or it's associated views.
-	 * 
-	 * @generated
-	 */
-	protected void handleActivate() {
-		if (!removedResources.isEmpty()) {
-			if (handleDirtyConflict()) {
-				getSite().getPage().closeEditor(HockeyleagueEditor.this, false);
-				HockeyleagueEditor.this.dispose();
-			} else {
-				removedResources.clear();
-				changedResources.clear();
-				savedResources.clear();
-			}
-		} else if (!changedResources.isEmpty()) {
-			changedResources.removeAll(savedResources);
-			handleChangedResources();
-			changedResources.clear();
-			savedResources.clear();
-		}
-	}
-
-	/**
-	 * Handles what to do with changed resources on activation.
-	 * 
-	 * @generated
-	 */
-	protected void handleChangedResources() {
-		if (!changedResources.isEmpty()
-			&& (!isDirty() || handleDirtyConflict())) {
-			editingDomain.getCommandStack().flush();
-
-			for (Iterator i = changedResources.iterator(); i.hasNext();) {
-				Resource resource = (Resource) i.next();
-				if (resource.isLoaded()) {
-					resource.unload();
-					try {
-						resource.load(Collections.EMPTY_MAP);
-					} catch (IOException exception) {
-						exception.printStackTrace();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Shows a dialog that asks if conflicting changes should be discarded.
-	 * 
-	 * @generated
-	 */
-	protected boolean handleDirtyConflict() {
-		return MessageDialog
-			.openQuestion(
-				getSite().getShell(),
-				"File Conflict",//$NON-NLS-1$
-				"There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?");//$NON-NLS-1$
-	}
-
-	/**
-	 * This creates a model editor. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	public HockeyleagueEditor() {
-		super();
-
-		// Create an adapter factory that yields item providers.
-		//
-		List factories = new ArrayList();
-		factories.add(new ResourceItemProviderAdapterFactory());
-		factories.add(new HockeyleagueItemProviderAdapterFactory());
-		factories.add(new ReflectiveItemProviderAdapterFactory());
-
-		adapterFactory = new ComposedAdapterFactory(factories);
-
-		// Create the command stack that will notify this editor as commands are
-		// executed.
-		//
-		BasicCommandStack commandStack = new BasicCommandStack();
-
-		// Add a listener to set the most recent command's affected objects to
-		// be the selection of the viewer with focus.
-		//
-		commandStack.addCommandStackListener(new CommandStackListener() {
-
-			public void commandStackChanged(final EventObject event) {
-				getContainer().getDisplay().asyncExec(new Runnable() {
-
-					public void run() {
-						firePropertyChange(IEditorPart.PROP_DIRTY);
-
-						// Try to select the affected objects.
-						//
-						Command mostRecentCommand = ((CommandStack) event
-							.getSource()).getMostRecentCommand();
-						if (mostRecentCommand != null) {
-							setSelectionToViewer(mostRecentCommand
-								.getAffectedObjects());
-						}
-						if (getPropertySheetPage() != null) {
-							getPropertySheetPage().refresh();
-						}
-					}
-				});
-			}
-		});
-
-		// Create the editing domain with a special command stack.
-		//
-		editingDomain = new AdapterFactoryEditingDomain(adapterFactory,
-			commandStack);
-	}
-
-	/**
-	 * This is here for the listener to be able to call it. <!-- begin-user-doc
-	 * --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void firePropertyChange(int action) {
-		super.firePropertyChange(action);
-	}
-
-	/**
-	 * This sets the selection into whichever viewer is active. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setSelectionToViewer(Collection collection) {
-		final Collection theSelection = collection;
-		// Make sure it's okay.
-		//
-		if (theSelection != null && !theSelection.isEmpty()) {
-			// I don't know if this should be run this deferred
-			// because we might have to give the editor a chance to process the
-			// viewer update events
-			// and hence to update the views first.
-			//
-			//
-			Runnable runnable = new Runnable() {
-
-				public void run() {
-					// Try to select the items in the current content viewer of
-					// the editor.
-					//
-					if (currentViewer != null) {
-						currentViewer.setSelection(new StructuredSelection(
-							theSelection.toArray()), true);
-					}
-				}
-			};
-			runnable.run();
-		}
-	}
-
-	/**
-	 * This returns the editing domain as required by the
-	 * {@link IEditingDomainProvider}interface. This is important for
-	 * implementing the static methods of {@link AdapterFactoryEditingDomain}
-	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EditingDomain getEditingDomain() {
-		return editingDomain;
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public class ReverseAdapterFactoryContentProvider
-		extends AdapterFactoryContentProvider {
-
-		public ReverseAdapterFactoryContentProvider(
-				AdapterFactory adapterFactory) {
-			super(adapterFactory);
-		}
-
-		public Object[] getElements(Object object) {
-			Object parent = super.getParent(object);
-			return (parent == null ? Collections.EMPTY_SET
-				: Collections.singleton(parent)).toArray();
-		}
-
-		public Object[] getChildren(Object object) {
-			Object parent = super.getParent(object);
-			return (parent == null ? Collections.EMPTY_SET
-				: Collections.singleton(parent)).toArray();
-		}
-
-		public boolean hasChildren(Object object) {
-			Object parent = super.getParent(object);
-			return parent != null;
-		}
-
-		public Object getParent(Object object) {
-			return null;
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setCurrentViewerPane(ViewerPane viewerPane) {
-		if (currentViewerPane != viewerPane) {
-			if (currentViewerPane != null) {
-				currentViewerPane.showFocus(false);
-			}
-			currentViewerPane = viewerPane;
-		}
-		setCurrentViewer(currentViewerPane.getViewer());
-	}
-
-	/**
-	 * This makes sure that one content viewer, either for the current page or
-	 * the outline view, if it has focus, is the current one. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setCurrentViewer(Viewer viewer) {
-		// If it is changing...
-		//
-		if (currentViewer != viewer) {
-			if (selectionChangedListener == null) {
-				// Create the listener on demand.
-				//
-				selectionChangedListener = new ISelectionChangedListener() {
-
-					// This just notifies those things that are affected by the
-					// section.
-					//
-					public void selectionChanged(
-							SelectionChangedEvent selectionChangedEvent) {
-						setSelection(selectionChangedEvent.getSelection());
-					}
-				};
-			}
-
-			// Stop listening to the old one.
-			//
-			if (currentViewer != null) {
-				currentViewer
-					.removeSelectionChangedListener(selectionChangedListener);
-			}
-
-			// Start listening to the new one.
-			//
-			if (viewer != null) {
-				viewer.addSelectionChangedListener(selectionChangedListener);
-			}
-
-			// Remember it.
-			//
-			currentViewer = viewer;
-
-			// Set the editors selection based on the current viewer's
-			// selection.
-			//
-			setSelection(currentViewer == null ? StructuredSelection.EMPTY
-				: currentViewer.getSelection());
-		}
-	}
-
-	/**
-	 * This returns the viewer as required by the {@link IViewerProvider}
-	 * interface. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public Viewer getViewer() {
-		return currentViewer;
-	}
-
-	/**
-	 * This creates a context menu for the viewer and adds a listener as well
-	 * registering the menu for extension. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void createContextMenuFor(StructuredViewer viewer) {
-		MenuManager contextMenu = new MenuManager("#PopUp");//$NON-NLS-1$
-		contextMenu.add(new Separator("additions"));//$NON-NLS-1$
-		contextMenu.setRemoveAllWhenShown(true);
-		contextMenu.addMenuListener(this);
-		Menu menu = contextMenu.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(contextMenu, viewer);
-
-		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] {LocalTransfer.getInstance()};
-		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(
-			viewer));
-		viewer.addDropSupport(dndOperations, transfers,
-			new EditingDomainViewerDropAdapter(editingDomain, viewer));
-	}
-
-	/**
-	 * This is the method used by the framework to install your own controls.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void createPages() {
-		// I assume that the input is a file object.
-		//
-		IFileEditorInput modelFile = (IFileEditorInput) getEditorInput();
-
-		try {
-			// Load the resource through the editing domain.
-			//
-			editingDomain.loadResource(URI.createPlatformResourceURI(
-				modelFile.getFile().getFullPath().toString()).toString());
-		} catch (Exception exception) {
-			exception.printStackTrace();
-		}
-
-		// Create a page for the selection tree view.
-		//
-		{
-			ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
-				HockeyleagueEditor.this) {
-
-				public Viewer createViewer(Composite composite) {
-					Tree tree = new Tree(composite, SWT.MULTI);
-					TreeViewer newTreeViewer = new TreeViewer(tree);
-					return newTreeViewer;
-				}
-
-				public void requestActivation() {
-					super.requestActivation();
-					setCurrentViewerPane(this);
-				}
-			};
-			viewerPane.createControl(getContainer());
-
-			treeViewer = (TreeViewer) viewerPane.getViewer();
-			treeViewer.setContentProvider(new AdapterFactoryContentProvider(
-				adapterFactory));
-
-			treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(
-				adapterFactory));
-			treeViewer.setInput(editingDomain.getResourceSet());
-			viewerPane.setTitle(editingDomain.getResourceSet());
-
-			new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
-
-			createContextMenuFor(treeViewer);
-			int pageIndex = addPage(viewerPane.getControl());
-			setPageText(pageIndex, "tree");//$NON-NLS-1$
-		}
-
-		setActivePage(0);
-
-		getContainer().addControlListener(new ControlAdapter() {
-
-			boolean guard = false;
-
-			public void controlResized(ControlEvent event) {
-				if (!guard) {
-					guard = true;
-					hideTabs();
-					guard = false;
-				}
-			}
-		});
-	}
-
-	/**
-	 * If there is just one page in the multi-page editor part, this hides the
-	 * single tab at the bottom. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void hideTabs() {
-		if (getPageCount() <= 1) {
-			setPageText(0, "");//$NON-NLS-1$
-			if (getContainer() instanceof CTabFolder) {
-				((CTabFolder) getContainer()).setTabHeight(1);
-				Point point = getContainer().getSize();
-				getContainer().setSize(point.x, point.y + 6);
-			}
-		}
-	}
-
-	/**
-	 * This is used to track the active viewer. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void pageChange(int pageIndex) {
-		super.pageChange(pageIndex);
-
-		// This is a temporary workaround... EATM
-		//
-		Control control = getControl(pageIndex);
-		if (control != null) {
-			control.setVisible(true);
-			control.setFocus();
-		}
-
-		if (contentOutlinePage != null) {
-			handleContentOutlineSelection(contentOutlinePage.getSelection());
-		}
-	}
-
-	/**
-	 * This is how the framework determines which interfaces we implement. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public Object getAdapter(Class key) {
-		if (key.equals(IContentOutlinePage.class)) {
-			return getContentOutlinePage();
-		} else if (key.equals(IPropertySheetPage.class)) {
-			return getPropertySheetPage();
-		} else {
-			return super.getAdapter(key);
-		}
-	}
-
-	/**
-	 * This accesses a cached version of the content outliner. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public IContentOutlinePage getContentOutlinePage() {
-		if (contentOutlinePage == null) {
-			// The content outline is just a tree.
-			//
-			class MyContentOutlinePage
-				extends ContentOutlinePage {
-
-				public void createControl(Composite parent) {
-					super.createControl(parent);
-					contentOutlineViewer = getTreeViewer();
-					contentOutlineViewer.addSelectionChangedListener(this);
-
-					// Set up the tree viewer.
-					//
-					contentOutlineViewer
-						.setContentProvider(new AdapterFactoryContentProvider(
-							adapterFactory));
-					contentOutlineViewer
-						.setLabelProvider(new AdapterFactoryLabelProvider(
-							adapterFactory));
-					contentOutlineViewer.setInput(editingDomain
-						.getResourceSet());
-
-					// Make sure our popups work.
-					//
-					createContextMenuFor(contentOutlineViewer);
-
-					if (!editingDomain.getResourceSet().getResources()
-						.isEmpty()) {
-						// Select the root object in the view.
-						//
-						ArrayList selection = new ArrayList();
-						selection.add(editingDomain.getResourceSet()
-							.getResources().get(0));
-						contentOutlineViewer.setSelection(
-							new StructuredSelection(selection), true);
-					}
-				}
-
-				public void makeContributions(IMenuManager menuManager,
-						IToolBarManager toolBarManager,
-						IStatusLineManager statusLineManager) {
-					super.makeContributions(menuManager, toolBarManager,
-						statusLineManager);
-					contentOutlineStatusLineManager = statusLineManager;
-				}
-
-				public void setActionBars(IActionBars actionBars) {
-					super.setActionBars(actionBars);
-					getActionBarContributor().shareGlobalActions(this,
-						actionBars);
-				}
-			}
-
-			contentOutlinePage = new MyContentOutlinePage();
-
-			// Listen to selection so that we can handle it is a special way.
-			//
-			contentOutlinePage
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-
-					// This ensures that we handle selections correctly.
-					//
-					public void selectionChanged(SelectionChangedEvent event) {
-						handleContentOutlineSelection(event.getSelection());
-					}
-				});
-		}
-
-		return contentOutlinePage;
-	}
-
-	/**
-	 * Get the new property sheet page for this editor. 
-	 * @return the new property sheet page.
-	 */
-	public TabbedPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null || propertySheetPage.getControl() == null) {
-			propertySheetPage = new HockeyleaguePropertySheetPage(this);
-		}
-
-		return propertySheetPage;
-	}
-
-	/**
-	 * This deals with how we want selection in the outliner to affect the other
-	 * views. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void handleContentOutlineSelection(ISelection selection) {
-		if (currentViewerPane != null && !selection.isEmpty()
-			&& selection instanceof IStructuredSelection) {
-			Iterator selectedElements = ((IStructuredSelection) selection)
-				.iterator();
-			if (selectedElements.hasNext()) {
-				// Get the first selected element.
-				//
-				Object selectedElement = selectedElements.next();
-
-				ArrayList selectionList = new ArrayList();
-				selectionList.add(selectedElement);
-				while (selectedElements.hasNext()) {
-					selectionList.add(selectedElements.next());
-				}
-
-				// Set the selection to the widget.
-				//
-				treeViewer.setSelection(new StructuredSelection(selectionList));
-			}
-		}
-	}
-
-	/**
-	 * This is for implementing {@link IEditorPart}and simply tests the command
-	 * stack. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public boolean isDirty() {
-		return ((BasicCommandStack) editingDomain.getCommandStack())
-			.isSaveNeeded();
-	}
-
-	/**
-	 * This is for implementing {@link IEditorPart}and simply saves the model
-	 * file. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void doSave(IProgressMonitor progressMonitor) {
-		// Do the work within an operation because this is a long running
-		// activity that modifies the workbench.
-		//
-		WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-
-			// This is the method that gets invoked when the operation runs.
-			//
-			protected void execute(IProgressMonitor monitor)
-				throws CoreException {
-				try {
-					// Save the resource to the file system.
-					//
-					Resource savedResource = (Resource) editingDomain
-						.getResourceSet().getResources().get(0);
-					savedResources.add(savedResource);
-					savedResource.save(Collections.EMPTY_MAP);
-				} catch (Exception exception) {
-					exception.printStackTrace();
-				}
-			}
-		};
-
-		try {
-			// This runs the options, and shows progress.
-			// (It appears to be a bad thing to fork this onto another thread.)
-			//
-			new ProgressMonitorDialog(getSite().getShell()).run(false, false,
-				operation);
-
-			// Refresh the necessary state.
-			//
-			((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
-			firePropertyChange(IEditorPart.PROP_DIRTY);
-		} catch (Exception exception) {
-			// Something went wrong that shouldn't.
-			//
-			exception.printStackTrace();
-		}
-	}
-
-	/**
-	 * This always returns true because it is not currently supported. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public boolean isSaveAsAllowed() {
-		return true;
-	}
-
-	/**
-	 * This also changes the editor's input. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void doSaveAs() {
-		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
-		saveAsDialog.open();
-		IPath path = saveAsDialog.getResult();
-		if (path != null) {
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-			if (file != null) {
-				((Resource) editingDomain.getResourceSet().getResources()
-					.get(0)).setURI(URI.createPlatformResourceURI(file
-					.getFullPath().toString()));
-				IFileEditorInput modelFile = new FileEditorInput(file);
-				setInput(modelFile);
-				doSave(getActionBars().getStatusLineManager()
-					.getProgressMonitor());
-			}
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void gotoMarker(IMarker marker) {
-		//
-	}
-
-	/**
-	 * This is called during startup. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	public void init(IEditorSite site, IEditorInput editorInput)
-		throws PartInitException {
-		if (editorInput instanceof IFileEditorInput) {
-			setSite(site);
-			setInput(editorInput);
-			site.setSelectionProvider(this);
-			site.getPage().addPartListener(partListener);
-			ResourcesPlugin.getWorkspace().addResourceChangeListener(
-				resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
-		} else {
-			throw new PartInitException(
-				"Invalid Input: Must be IFileEditorInput.");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setFocus() {
-		getControl(getActivePage()).setFocus();
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		selectionChangedListeners.add(listener);
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void removeSelectionChangedListener(
-			ISelectionChangedListener listener) {
-		selectionChangedListeners.remove(listener);
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}to
-	 * return this editor's overall selection. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ISelection getSelection() {
-		return editorSelection;
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}to
-	 * set this editor's overall selection. Calling this result will notify the
-	 * listeners. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setSelection(ISelection selection) {
-		editorSelection = selection;
-		for (Iterator listeners = selectionChangedListeners.iterator(); listeners
-			.hasNext();) {
-			ISelectionChangedListener listener = (ISelectionChangedListener) listeners
-				.next();
-			listener
-				.selectionChanged(new SelectionChangedEvent(this, selection));
-		}
-		setStatusLineManager(selection);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setStatusLineManager(ISelection selection) {
-		IStatusLineManager statusLineManager = getActionBars()
-			.getStatusLineManager();
-		if (currentViewer == contentOutlineViewer) {
-			statusLineManager = contentOutlineStatusLineManager;
-		}
-
-		if (selection instanceof IStructuredSelection) {
-			Collection collection = ((IStructuredSelection) selection).toList();
-			switch (collection.size()) {
-				case 0: {
-					statusLineManager.setMessage("No Object Selected");//$NON-NLS-1$
-					break;
-				}
-				case 1: {
-					String text = new AdapterFactoryItemDelegator(
-						adapterFactory).getText(collection.iterator().next());
-					statusLineManager.setMessage(MessageFormat.format(
-						"Selected Object: {0}", new Object[] {text}));//$NON-NLS-1$
-					break;
-				}
-				default: {
-					statusLineManager.setMessage(MessageFormat.format(
-						"Selected {0} Objects", new Object[] {Integer//$NON-NLS-1$
-							.toString(collection.size())}));
-					break;
-				}
-			}
-		} else {
-			statusLineManager.setMessage("");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.action.IMenuListener}to help
-	 * fill the context menus with contributions from the Edit menu. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void menuAboutToShow(IMenuManager menuManager) {
-		((IMenuListener) getEditorSite().getActionBarContributor())
-			.menuAboutToShow(menuManager);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EditingDomainActionBarContributor getActionBarContributor() {
-		return (EditingDomainActionBarContributor) getEditorSite()
-			.getActionBarContributor();
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public IActionBars getActionBars() {
-		return getActionBarContributor().getActionBars();
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public AdapterFactory getAdapterFactory() {
-		return adapterFactory;
-	}
-
-	/**
-	 * 
-	 */
-	public String getContributorId() {
-		return "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague";//$NON-NLS-1$
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void dispose() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-			resourceChangeListener);
-
-		getSite().getPage().removePartListener(partListener);
-
-		adapterFactory.dispose();
-
-		getActionBarContributor().setActiveEditor(null);
-
-		if (getPropertySheetPage() != null) {
-			getPropertySheetPage().dispose();
-		}
-
-		if (contentOutlinePage != null) {
-			contentOutlinePage.dispose();
-		}
-
-		super.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleagueLabelProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleagueLabelProvider.java
deleted file mode 100644
index ea0bb60..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleagueLabelProvider.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-
-/**
- * Label provider for the title bar for the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueLabelProvider
-	extends LabelProvider {
-
-	private AdapterFactoryLabelProvider adapterFactoryLabelProvider;
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		if (element == null || element.equals(StructuredSelection.EMPTY)) {
-			return null;
-		}
-		if (element instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection) element;
-			if (areDifferentTypes(structuredSelection)) {
-				return null;
-			}
-			element = structuredSelection.getFirstElement();
-		}
-		if (element instanceof EObject || element instanceof Resource) {
-			return getAdapterFactoryLabelProvider().getImage(element);
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if (element == null || element.equals(StructuredSelection.EMPTY)) {
-			return null;
-		}
-		int size = 1;
-		if (element instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection) element;
-			if (areDifferentTypes(structuredSelection)) {
-				return structuredSelection.size() + " items selected";//$NON-NLS-1$
-			}
-			element = structuredSelection.getFirstElement();
-			size = structuredSelection.size();
-		}
-		if (element instanceof EObject) {
-			String split[] = getAdapterFactoryLabelProvider().getText(element)
-				.split(" ");//$NON-NLS-1$
-			StringBuffer type = new StringBuffer();
-			StringBuffer name = new StringBuffer();
-			for (int i = 0; i < split.length; i++) {
-				if (i == 0) {
-					type.append('\u00AB');
-					type.append(split[i]);
-					if (!(element instanceof PlayerStats || element instanceof GoalieStats)) {
-						type.append('\u00BB');
-					}
-				} else if ((i == 1 && (element instanceof PlayerStats || element instanceof GoalieStats))) {
-					type.append(' ');
-					type.append(split[i]);
-					type.append('\u00BB');
-				} else {
-					name.append(split[i]);
-					name.append(' ');
-				}
-			}
-			if (size == 1) {
-				type.append(' ');
-				type.append(name);
-			} else {
-				type.append(' ');
-				type.append(Integer.toString(size));
-				type.append(" selected");//$NON-NLS-1$
-			}
-			return type.toString();
-		} else if (element instanceof Resource) {
-			return "\u00ABResource\u00BB";//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * @return
-	 */
-	private AdapterFactoryLabelProvider getAdapterFactoryLabelProvider() {
-		if (adapterFactoryLabelProvider == null) {
-			adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(
-				((HockeyleagueEditor) PlatformUI.getWorkbench()
-					.getActiveWorkbenchWindow().getActivePage()
-					.getActiveEditor()).getAdapterFactory());
-		}
-		return adapterFactoryLabelProvider;
-	}
-
-	/**
-	 * Determine there are objects in the structured selection of different
-	 * types.
-	 * 
-	 * @param structuredSelection
-	 *            the structured selection.
-	 * @return true if there are objects of different types in the selection.
-	 */
-	private boolean areDifferentTypes(IStructuredSelection structuredSelection) {
-		if (structuredSelection.size() == 1) {
-			return false;
-		}
-		Iterator i = structuredSelection.iterator();
-		Object element = i.next();
-		for (; i.hasNext();) {
-			if (i.next().getClass() != element.getClass()) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleaguePropertySheetPage.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleaguePropertySheetPage.java
deleted file mode 100644
index 306c543..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleaguePropertySheetPage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * This is the property sheet page for the Hockeyleague model editor.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleaguePropertySheetPage
-	extends TabbedPropertySheetPage {
-
-	/**
-	 * the hockey league model editor.
-	 */
-	protected HockeyleagueEditor editor;
-
-	/**
-	 * Contructor for this property sheet page.
-	 * 
-	 * @param tabbedPropertySheetPageContributor
-	 *            the editor contributor of the property sheet page.
-	 */
-	public HockeyleaguePropertySheetPage(HockeyleagueEditor editor) {
-		super(editor);
-		this.editor = editor;
-	}
-
-	/**
-	 * Get the EMF AdapterFactory for this editor.
-	 * 
-	 * @return the EMF AdapterFactory for this editor.
-	 */
-	public HockeyleagueEditor getEditor() {
-		return editor;
-	}
-
-	/**
-	 * Get the EMF AdapterFactory for this editor.
-	 * 
-	 * @return the EMF AdapterFactory for this editor.
-	 */
-	public AdapterFactory getAdapterFactory() {
-		return editor.getAdapterFactory();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/TextChangeHelper.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/TextChangeHelper.java
deleted file mode 100644
index 3718510..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/TextChangeHelper.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * TextChangeHelper notifies the listner of text lifecycle events 
- * on behalf of the widget(s) it listens to. 
- * 
- * @author Anthony Hunter 
- */
-public abstract class TextChangeHelper implements Listener {
-	
-	private boolean nonUserChange;
-
-	/**
-	 * Marks the start of a programmatic change to the widget contents.
-	 * Clients must call startNonUserChange() before directly setting 
-	 * the widget contents to avoid unwanted lifecycle events.
-	 * @throws IllegalArgumentException if a programmatic change is 
-	 * already in progress.
-	 */
-	public void startNonUserChange() {
-		if (nonUserChange)
-			throw new IllegalStateException("we already started a non user change");//$NON-NLS-1$
-		nonUserChange = true;
-	}
-
-	/**
-	 * Clients who call startNonUserChange() should call 
-	 * finishNonUserChange() as soon as possible after the change is done.
-	 * @throws IllegalArgumentException if no change is in progress.
-	 */
-	public void finishNonUserChange() {
-		if (!nonUserChange)
-			throw new IllegalStateException("we are not in a non user change");//$NON-NLS-1$
-		nonUserChange = false;
-	}
-
-	/**
-	 * Determine if a programmatic change is in progress.
-	 * @return <code>true</code> if a programmatic change is in progress.
-	 */
-	public boolean isNonUserChange() {
-		return nonUserChange;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		switch (event.type) {
-			case SWT.KeyDown :
-				if (event.character == SWT.CR)
-					textChanged((Control)event.widget);
-				break;
-			case SWT.FocusOut :
-				textChanged((Control)event.widget);
-				break;
-		}
-	}
-
-	/**
-	 * Abstract method notified when a text field has been changed.
-	 * @param control the given control.
-	 */
-	public abstract void textChanged(Control control);
-
-	/**
-	 * Registers this helper with the given control to listen for events
-	 * which indicate that a change is in progress (or done).
-	 * @param control the given control.
-	 */
-	public void startListeningTo(Control control) {
-		control.addListener(SWT.FocusOut, this);
-		control.addListener(SWT.Modify, this);
-	}
-
-	/**
-	 * Registers this helper with the given control to listen for the
-	 * Enter key.  When Enter is pressed, the change is considered done 
-	 * (this is only appropriate for single-line Text widgets).
-	 * @param control the given control.
-	 */
-	public void startListeningForEnter(Control control) {
-		// NOTE: KeyDown rather than KeyUp, because of similar usage in CCombo. 
-		control.addListener(SWT.KeyDown, this);
-	}
-
-	/**
-	 * Unregisters this helper from a control previously passed to
-	 * startListeningTo() and/or startListeningForEnter().
-	 * @param control the given control.
-	 */
-	public void stopListeningTo(Control control) {
-		if ((control != null) && !control.isDisposed()) {
-			control.removeListener(SWT.FocusOut, this);
-			control.removeListener(SWT.Modify, this);
-			control.removeListener(SWT.KeyDown, this);
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractEnumerationPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractEnumerationPropertySection.java
deleted file mode 100644
index 5a08f79..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractEnumerationPropertySection.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section with a enumeration field using a
- * combo box (pulldown).
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractEnumerationPropertySection
-	extends AbstractHockeyleaguePropertySection {
-
-	/**
-	 * the combo box control for the section.
-	 */
-	protected CCombo combo;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		super.createControls(parent, aTabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		combo = getWidgetFactory().createCCombo(composite); 
-		data = new FormData();
-		data.left = new FormAttachment(0, getStandardLabelWidth(composite,
-			new String[] {getLabelText()}));
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		combo.setLayoutData(data);
-
-		CLabel nameLabel = getWidgetFactory().createCLabel(composite,
-			getLabelText());
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(combo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(combo, 0, SWT.CENTER);
-		nameLabel.setLayoutData(data);
-
-		combo.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				handleComboModified();
-			}
-		});
-	}
-
-	/**
-	 * Handle the combo modified event.
-	 */
-	protected void handleComboModified() {
-
-		int index = combo.getSelectionIndex();
-		boolean equals = isEqual(index);
-		if (!equals) {
-			EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-				.getEditingDomain();
-			Object value = getFeatureValue(index);
-			if (eObjectList.size() == 1) {
-				/* apply the property change to single selected object */
-				editingDomain.getCommandStack().execute(
-					SetCommand.create(editingDomain, eObject, getFeature(),
-						value));
-			} else {
-				CompoundCommand compoundCommand = new CompoundCommand();
-				/* apply the property change to all selected elements */
-				for (Iterator i = eObjectList.iterator(); i.hasNext();) {
-					EObject nextObject = (EObject) i.next();
-					compoundCommand.append(SetCommand.create(editingDomain,
-						nextObject, getFeature(), value));
-				}
-				editingDomain.getCommandStack().execute(compoundCommand);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		combo.setItems(getEnumerationFeatureValues());
-		combo.setText(getFeatureAsText());
-	}
-
-	/**
-	 * Determine if the provided index of the enumeration is equal to the
-	 * current setting of the enumeration property.
-	 * 
-	 * @param index
-	 *            the new index in the enumeration.
-	 * @return <code>true</code> if the new index value is equal to the
-	 *         current property setting.
-	 */
-	protected abstract boolean isEqual(int index);
-
-	/**
-	 * Get the feature for the combo field for the section.
-	 * 
-	 * @return the feature for the text.
-	 */
-	protected abstract EAttribute getFeature();
-
-	/**
-	 * Get the enumeration values of the feature for the combo field for the
-	 * section.
-	 * 
-	 * @return the list of values of the feature as text.
-	 */
-	protected abstract String[] getEnumerationFeatureValues();
-
-	/**
-	 * Get the value of the feature as text for the combo field for the section.
-	 * 
-	 * @return the value of the feature as text.
-	 */
-	protected abstract String getFeatureAsText();
-
-	/**
-	 * Get the new value of the feature for the text field for the section.
-	 * 
-	 * @param index
-	 *            the new index in the enumeration.
-	 * @return the new value of the feature.
-	 */
-	protected abstract Object getFeatureValue(int index);
-
-	/**
-	 * Get the label for the combo field for the section.
-	 * 
-	 * @return the label for the text field.
-	 */
-	protected abstract String getLabelText();
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractHockeyleaguePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractHockeyleaguePropertySection.java
deleted file mode 100644
index 1d4e2dc..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractHockeyleaguePropertySection.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.HockeyleaguePropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section in a tab in the tabbed property sheet
- * page for the hockey league example.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractHockeyleaguePropertySection
-	extends AbstractPropertySection {
-
-	/**
-	 * the property sheet page for this section.
-	 */
-	protected HockeyleaguePropertySheetPage propertySheetPage;
-
-	/**
-	 * The current selected object or the first object in the selection when
-	 * multiple objects are selected.
-	 */
-	protected EObject eObject;
-
-	/**
-	 * The list of current selected objects.
-	 */
-	protected List eObjectList;
-
-	/**
-	 * Get the standard label width when labels for sections line up on the left
-	 * hand side of the composite. We line up to a fixed position, but if a
-	 * string is wider than the fixed position, then we use that widest string.
-	 * 
-	 * @param parent
-	 *            The parent composite used to create a GC.
-	 * @param labels
-	 *            The list of labels.
-	 * @return the standard label width.
-	 */
-	protected int getStandardLabelWidth(Composite parent, String[] labels) {
-		int standardLabelWidth = STANDARD_LABEL_WIDTH;
-		GC gc = new GC(parent);
-		int indent = gc.textExtent("XXX").x; //$NON-NLS-1$
-		for (int i = 0; i < labels.length; i++) {
-			int width = gc.textExtent(labels[i]).x;
-			if (width + indent > standardLabelWidth) {
-				standardLabelWidth = width + indent;
-			}
-		}
-		gc.dispose();
-		return standardLabelWidth;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		super.createControls(parent, aTabbedPropertySheetPage);
-		this.propertySheetPage = (HockeyleaguePropertySheetPage) aTabbedPropertySheetPage;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#setInput(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		super.setInput(part, selection);
-		if (!(selection instanceof IStructuredSelection)) {
-			return;
-		}
-		if (((IStructuredSelection) selection).getFirstElement() instanceof EObject) {
-			eObject = (EObject) ((IStructuredSelection) selection)
-				.getFirstElement();
-			eObjectList = ((IStructuredSelection) selection).toList();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractIntegerPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractIntegerPropertySection.java
deleted file mode 100644
index 86f6708..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractIntegerPropertySection.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-/**
- * An abstract implementation of a section for a field with a String property
- * value.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractIntegerPropertySection
-	extends AbstractTextPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#isEqual(java.lang.String)
-	 */
-	protected boolean isEqual(String newText) {
-		try {
-			Integer.parseInt(newText);
-		} catch (NumberFormatException e) {
-			refresh();
-			return true;
-		}
-		Integer integer = new Integer(Integer.parseInt(newText)); 
-		return getFeatureInteger().equals(integer);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		return getFeatureInteger().toString();
-	}
-
-	/**
-	 * Get the text value of the feature for the text field for the section.
-	 * 
-	 * @return the text value of the feature.
-	 */
-	protected abstract Integer getFeatureInteger();
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeatureValue(java.lang.String)
-	 */
-	protected Object getFeatureValue(String newText) {
-		return new Integer(Integer.parseInt(newText));
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractMeasurementPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractMeasurementPropertySection.java
deleted file mode 100644
index 056970b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractMeasurementPropertySection.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section for measurements. There is a text
- * field for the mesurement value and a radio box for the measurement units. For
- * example, weight in either pounds or kilograms.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractMeasurementPropertySection
-	extends AbstractIntegerPropertySection {
-
-	/**
-	 * the left radio button for the section.
-	 */
-	protected Button radioLeft;
-
-	/**
-	 * the right radio button for the section.
-	 */
-	protected Button radioRight;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		super.createControls(parent, aTabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-
-		String[] labels = getEnumerationLabels();
-
-		radioLeft = getWidgetFactory().createButton(composite, labels[0],
-			SWT.RADIO);
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		radioLeft.setLayoutData(data);
-
-		radioRight = getWidgetFactory().createButton(composite, labels[1],
-			SWT.RADIO);
-		data = new FormData();
-		data.left = new FormAttachment(radioLeft,
-			ITabbedPropertyConstants.HSPACE);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		radioRight.setLayoutData(data);
-
-		SelectionListener selectionListener = new SelectionListener() {
-
-			public void widgetSelected(SelectionEvent e) {
-				handleRadioModified(((Button) e.getSource()));
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-
-		};
-
-		radioLeft.addSelectionListener(selectionListener);
-		radioRight.addSelectionListener(selectionListener);
-	}
-
-	/**
-	 * Handle the radio box modified event.
-	 */
-	protected void handleRadioModified(Button button) {
-
-		int index;
-		if (button == radioLeft) {
-			index = 0;
-		} else {
-			index = 1;
-		}
-		boolean equals = isEnumerationEqual(index);
-		if (!equals) {
-			EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-				.getEditingDomain();
-			Object value = getEnumerationFeatureValue(index);
-			if (eObjectList.size() == 1) {
-				/* apply the property change to single selected object */
-				editingDomain.getCommandStack().execute(
-					SetCommand.create(editingDomain, eObject,
-						getEnumerationFeature(), value));
-			} else {
-				CompoundCommand compoundCommand = new CompoundCommand();
-				/* apply the property change to all selected elements */
-				for (Iterator i = eObjectList.iterator(); i.hasNext();) {
-					EObject nextObject = (EObject) i.next();
-					compoundCommand.append(SetCommand.create(editingDomain,
-						nextObject, getEnumerationFeature(), value));
-				}
-				editingDomain.getCommandStack().execute(compoundCommand);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		super.refresh();
-		if (getEnumerationIndex() == 0) {
-			radioLeft.setSelection(true);
-			radioRight.setSelection(false);
-		} else {
-			radioLeft.setSelection(false);
-			radioRight.setSelection(true);
-		}
-
-	}
-
-	/**
-	 * Determine if the provided index of the enumeration is equal to the
-	 * current setting of the enumeration property.
-	 * 
-	 * @param index
-	 *            the new index in the enumeration.
-	 * @return <code>true</code> if the new index value is equal to the
-	 *         current property setting.
-	 */
-	protected abstract boolean isEnumerationEqual(int index);
-
-	/**
-	 * Get the feature for the enumeration field for the section.
-	 * 
-	 * @return the feature for the text.
-	 */
-	protected abstract EAttribute getEnumerationFeature();
-
-	/**
-	 * Get the enumeration values of the feature for the radio field for the
-	 * section.
-	 * 
-	 * @return the list of values of the feature as text.
-	 */
-	protected abstract String[] getEnumerationLabels();
-
-	/**
-	 * Get the index value of the feature for the radio field for the section.
-	 * 
-	 * @return the index value of the feature.
-	 */
-	protected abstract int getEnumerationIndex();
-
-	/**
-	 * Get the new value of the feature for the text field for the section.
-	 * 
-	 * @param index
-	 *            the new index in the enumeration.
-	 * @return the new value of the feature.
-	 */
-	protected abstract Object getEnumerationFeatureValue(int index);
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractPlayersPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractPlayersPropertySection.java
deleted file mode 100644
index f977017..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractPlayersPropertySection.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-
-/**
- * The abstract implementation for a players table section.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractPlayersPropertySection
-	extends AbstractTablePropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getColumnLabelText()
-	 */
-	protected List getColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Name");//$NON-NLS-1$
-		ret.add("Jersey Number");//$NON-NLS-1$
-		ret.add("Shot");//$NON-NLS-1$
-		ret.addAll(getAdditionalColumnLabelText());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getKeyForRow(java.lang.Object)
-	 */
-	protected String getKeyForRow(Object object) {
-		return ((Player) object).getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getValuesForRow(java.lang.Object)
-	 */
-	protected List getValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((Player) object).getName());
-		ret.add(Integer.toString(((Player) object).getNumber()));
-		ret.add(((Player) object).getShot().getName());
-		ret.addAll(getAdditionalValuesForRow(object));
-		return ret;
-	}
-
-	/**
-	 * Get the labels for the additional columns for the table.
-	 * 
-	 * @return the labels for the columns.
-	 */
-	protected abstract List getAdditionalColumnLabelText();
-	
-	/**
-	 * Get the additional values for the row in the table.
-	 * 
-	 * @param object
-	 *            an object in the row of the table.
-	 * @return the list of string values for the row.
-	 */
-	protected abstract List getAdditionalValuesForRow(Object object);
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractStringPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractStringPropertySection.java
deleted file mode 100644
index 3185108..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractStringPropertySection.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-
-/**
- * An abstract implementation of a section for a field with a String property
- * value.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractStringPropertySection
-	extends AbstractTextPropertySection {
-	
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#isEqual(java.lang.String)
-	 */
-	protected boolean isEqual(String newText) {
-		return getFeatureAsText().equals(newText);
-	}
-	
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		String string = (String)eObject.eGet(getFeature());
-		if (string == null) {
-			return "";//$NON-NLS-1$
-		}
-		return string;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeatureValue(java.lang.String)
-	 */
-	protected Object getFeatureValue(String newText) {
-		return newText;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTablePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTablePropertySection.java
deleted file mode 100644
index 245b7e0..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTablePropertySection.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.dialogs.HockeyleagueSetDefaultsDialog;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section with a table field with add and
- * remove buttons.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractTablePropertySection
-	extends AbstractHockeyleaguePropertySection {
-
-	/**
-	 * the table control for the section.
-	 */
-	protected Table table;
-
-	/**
-	 * the title columns for the section.
-	 */
-	protected List columns;
-
-	/**
-	 * the add button for the section.
-	 */
-	protected Button addButton;
-
-	/**
-	 * the remove button for the section.
-	 */
-	protected Button removeButton;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		super.createControls(parent, aTabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		table = getWidgetFactory().createTable(composite,
-			SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-
-		List labels = getColumnLabelText();
-		columns = new ArrayList();
-
-		for (Iterator i = labels.iterator(); i.hasNext();) {
-			TableColumn column = new TableColumn(table, SWT.NONE);
-			column.setText((String) i.next());
-			columns.add(column);
-		}
-
-		Shell shell = new Shell();
-		GC gc = new GC(shell);
-		gc.setFont(shell.getFont());
-		Point point = gc.textExtent("");//$NON-NLS-1$
-		int buttonHeight = point.y + 11;
-		gc.dispose();
-		shell.dispose();
-
-		addButton = getWidgetFactory().createButton(composite,
-			MessageFormat.format("Add {0}...",//$NON-NLS-1$
-				new String[] {getButtonLabelText()}), SWT.PUSH);
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-		data.top = new FormAttachment(100, -buttonHeight);
-		addButton.setLayoutData(data);
-		addButton.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-					.getEditingDomain();
-				AddCommand addCommand = (AddCommand) AddCommand.create(
-					editingDomain, eObject, getFeature(), getNewChild());
-				HockeyleagueSetDefaultsDialog dialog = new HockeyleagueSetDefaultsDialog(
-					PlatformUI.getWorkbench().getActiveWorkbenchWindow()
-						.getShell(), addCommand);
-				dialog.open();
-				if (dialog.getReturnCode() == Window.CANCEL) {
-					return;
-				}
-				editingDomain.getCommandStack().execute(addCommand);
-			}
-		});
-
-		removeButton = getWidgetFactory().createButton(composite,
-			MessageFormat.format("Delete {0}",//$NON-NLS-1$
-				new String[] {getButtonLabelText()}), SWT.PUSH);
-		data = new FormData();
-		data.left = new FormAttachment(addButton,
-			ITabbedPropertyConstants.VSPACE, SWT.BOTTOM);
-		data.bottom = new FormAttachment(100, 0);
-		data.top = new FormAttachment(100, -buttonHeight);
-		removeButton.setLayoutData(data);
-		removeButton.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-					.getEditingDomain();
-				Object object = table.getSelection()[0].getData();
-				editingDomain.getCommandStack().execute(
-					RemoveCommand.create(editingDomain, object));
-			}
-		});
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		data.bottom = new FormAttachment(addButton,
-			-ITabbedPropertyConstants.VSPACE);
-		data.width = 400;
-		table.setLayoutData(data);
-
-		table.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				removeButton.setEnabled(true);
-			}
-		});
-		table.addMouseListener(new MouseAdapter() {
-
-			public void mouseDoubleClick(MouseEvent e) {
-				Object object = table.getSelection()[0].getData();
-				propertySheetPage.getEditor().getViewer().setSelection(
-					new StructuredSelection(object), true);
-				propertySheetPage.getEditor().setFocus();
-			}
-		});
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#shouldUseExtraSpace()
-	 */
-	public boolean shouldUseExtraSpace() {
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		table.removeAll();
-		removeButton.setEnabled(false);
-
-		for (Iterator i = getOwnedRows().iterator(); i.hasNext();) {
-			Object next = i.next();
-			String key = getKeyForRow(next);
-
-			// find index (for sorting purposes)
-			int k = 0;
-			int size = table.getItemCount();
-			while (k < size) {
-				String currentKey = table.getItem(k).getText();
-				if (key.compareToIgnoreCase(currentKey) < 0) {
-					break;
-				}
-				k++;
-			}
-
-			// create the table item
-			TableItem item = new TableItem(table, SWT.NONE, k);
-			String[] values = new String[columns.size()];
-			List valuesForRow = getValuesForRow(next);
-			for (int j = 0; j < columns.size(); j++) {
-				values[j] = (String) valuesForRow.get(j);
-			}
-			item.setText(values);
-			item.setData(next);
-		}
-
-		for (Iterator i = columns.iterator(); i.hasNext();) {
-			((TableColumn) i.next()).pack();
-		}
-	}
-
-	/**
-	 * Get the text for the labels that will be used for the Add and Remove
-	 * buttons.
-	 * 
-	 * @return the label text.
-	 */
-	protected abstract String getButtonLabelText();
-
-	/**
-	 * Get the row objects for the table.
-	 * 
-	 * @return the list of the row objects.
-	 */
-	protected abstract List getOwnedRows();
-
-	/**
-	 * Get the feature for the table field for the section.
-	 * 
-	 * @return the feature for the table.
-	 */
-	protected abstract EReference getFeature();
-
-	/**
-	 * Get the key for the table that is used for sorting. Usually the table is
-	 * sorted by Name or some key string..
-	 * 
-	 * @param object
-	 *            an object in the row of the table.
-	 * @return the string for the key.
-	 */
-	protected abstract String getKeyForRow(Object object);
-
-	/**
-	 * Get the values for the row in the table.
-	 * 
-	 * @param object
-	 *            an object in the row of the table.
-	 * @return the list of string values for the row.
-	 */
-	protected abstract List getValuesForRow(Object object);
-
-	/**
-	 * Get the labels for the columns for the table.
-	 * 
-	 * @return the labels for the columns.
-	 */
-	protected abstract List getColumnLabelText();
-
-	/**
-	 * Get a new child instance for the result of clicking the add button.
-	 * 
-	 * @return a new child instance.
-	 */
-	protected abstract Object getNewChild();
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTextPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTextPropertySection.java
deleted file mode 100644
index 5be7e85..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTextPropertySection.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.TextChangeHelper;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section with a text field.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractTextPropertySection
-	extends AbstractHockeyleaguePropertySection {
-
-	/**
-	 * the text control for the section.
-	 */
-	protected Text text;
-
-	/**
-	 * A helper to listen for events that indicate that a text field has been
-	 * changed.
-	 */
-	protected TextChangeHelper listener;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		text = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, getStandardLabelWidth(composite,
-			new String[] {getLabelText()}));
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		text.setLayoutData(data);
-
-		CLabel nameLabel = getWidgetFactory().createCLabel(composite,
-			getLabelText());
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(text, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(text, 0, SWT.CENTER);
-		nameLabel.setLayoutData(data);
-
-		listener = new TextChangeHelper() {
-
-			public void textChanged(Control control) {
-				handleTextModified();
-			}
-		};
-		listener.startListeningTo(text);
-		listener.startListeningForEnter(text);
-	}
-
-	/**
-	 * Handle the text modified event.
-	 */
-	protected void handleTextModified() {
-		String newText = text.getText();
-		boolean equals = isEqual(newText);
-		if (!equals) {
-			EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-				.getEditingDomain();
-			Object value = getFeatureValue(newText);
-			if (eObjectList.size() == 1) {
-				/* apply the property change to single selected object */
-				editingDomain.getCommandStack().execute(
-					SetCommand.create(editingDomain, eObject, getFeature(),
-						value));
-			} else {
-				CompoundCommand compoundCommand = new CompoundCommand();
-				/* apply the property change to all selected elements */
-				for (Iterator i = eObjectList.iterator(); i.hasNext();) {
-					EObject nextObject = (EObject) i.next();
-					compoundCommand.append(SetCommand.create(editingDomain,
-						nextObject, getFeature(), value));
-				}
-				editingDomain.getCommandStack().execute(compoundCommand);
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		text.setText(getFeatureAsText());
-	}
-
-	/**
-	 * Determine if the provided string value is an equal representation of the
-	 * current setting of the text property.
-	 * 
-	 * @param newText
-	 *            the new string value.
-	 * @return <code>true</code> if the new string value is equal to the
-	 *         current property setting.
-	 */
-	protected abstract boolean isEqual(String newText);
-
-	/**
-	 * Get the feature for the text field for the section.
-	 * 
-	 * @return the feature for the text.
-	 */
-	protected abstract EAttribute getFeature();
-
-	/**
-	 * Get the value of the feature as text for the text field for the section.
-	 * 
-	 * @return the value of the feature as text.
-	 */
-	protected abstract String getFeatureAsText();
-
-	/**
-	 * Get the new value of the feature for the text field for the section.
-	 * 
-	 * @param newText
-	 *            the new value of the feature as a string.
-	 * @return the new value of the feature.
-	 */
-	protected abstract Object getFeatureValue(String newText);
-
-	/**
-	 * Get the label for the text field for the section.
-	 * 
-	 * @return the label for the text field.
-	 */
-	protected abstract String getLabelText();
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AddressPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AddressPropertySection.java
deleted file mode 100644
index 7dc1eb1..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AddressPropertySection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the address property of a selected Arena Object.
- * 
- * @author Anthony Hunter
- */
-public class AddressPropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getArena_Address();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Address:"; //$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AdvancedPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AdvancedPropertySection.java
deleted file mode 100644
index 7d4b75d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AdvancedPropertySection.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.HockeyleaguePropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * Advanced property section.
- * 
- * @author Anthony Hunter
- */
-public class AdvancedPropertySection
-	extends org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		HockeyleaguePropertySheetPage hockeyleaguePropertySheetPage = (HockeyleaguePropertySheetPage) tabbedPropertySheetPage;
-		page.setPropertySourceProvider(new AdapterFactoryContentProvider(
-			hockeyleaguePropertySheetPage.getAdapterFactory()));
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthDatePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthDatePropertySection.java
deleted file mode 100644
index b5da321..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthDatePropertySection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the birth date property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class BirthDatePropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_Birthdate();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Birth Date:";//$NON-NLS-1$
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthPlacePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthPlacePropertySection.java
deleted file mode 100644
index 6234258..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthPlacePropertySection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the birth place property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class BirthPlacePropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_Birthplace();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Birth Place:";//$NON-NLS-1$
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/CapacityPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/CapacityPropertySection.java
deleted file mode 100644
index d58b543..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/CapacityPropertySection.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-
-/**
- * A section for the capacity property of a selected Arena Object.
- * 
- * @author Anthony Hunter
- */
-public class CapacityPropertySection
-	extends AbstractIntegerPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getArena_Capacity();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeatureText()
-	 */
-	protected Integer getFeatureInteger() {
-		Arena arena = (Arena) eObject;
-		return new Integer(arena.getCapacity());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Capacity:";//$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencePositionPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencePositionPropertySection.java
deleted file mode 100644
index eeeadf5..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencePositionPropertySection.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the position property of a selected defence player Object.
- * 
- * @author Anthony Hunter
- */
-public class DefencePositionPropertySection
-	extends AbstractEnumerationPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getDefence_Position();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		return ((Defence) eObject).getPosition().getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureValue(int)
-	 */
-	protected Object getFeatureValue(int index) {
-		return DefencePositionKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Position:";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#isEqual(int)
-	 */
-	protected boolean isEqual(int index) {
-		return DefencePositionKind.VALUES.get(index).equals(
-			((Defence) eObject).getPosition());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getEnumerationFeatureValues()
-	 */
-	protected String[] getEnumerationFeatureValues() {
-		List values = DefencePositionKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((DefencePositionKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencemenPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencemenPropertySection.java
deleted file mode 100644
index 9da352d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencemenPropertySection.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * The defencemen section.
- * 
- * @author Anthony Hunter
- */
-public class DefencemenPropertySection
-	extends AbstractPlayersPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Defenceman";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-		ArrayList ret = new ArrayList();
-		for (Iterator i = ((Team) eObject).getDefencemen().iterator(); i
-			.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalColumnLabelText()
-	 */
-	protected List getAdditionalColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Position");//$NON-NLS-1$
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalValuesForRow(java.lang.Object)
-	 */
-	protected List getAdditionalValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((Defence) object).getPosition().getName());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getTeam_Defencemen();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createDefence();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardPositionPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardPositionPropertySection.java
deleted file mode 100644
index 521f84e..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardPositionPropertySection.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the position property of a selected forward Object.
- * 
- * @author Anthony Hunter
- */
-public class ForwardPositionPropertySection
-	extends AbstractEnumerationPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getForward_Position();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		return ((Forward) eObject).getPosition().getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureValue(int)
-	 */
-	protected Object getFeatureValue(int index) {
-		return ForwardPositionKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Position:";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#isEqual(int)
-	 */
-	protected boolean isEqual(int index) {
-		return ForwardPositionKind.VALUES.get(index).equals(
-			((Forward) eObject).getPosition());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getEnumerationFeatureValues()
-	 */
-	protected String[] getEnumerationFeatureValues() {
-		List values = ForwardPositionKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((ForwardPositionKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardsPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardsPropertySection.java
deleted file mode 100644
index e8e0818..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardsPropertySection.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-
-/**
- * The forwards section.
- * 
- * @author Anthony Hunter
- */
-public class ForwardsPropertySection
-	extends AbstractPlayersPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Forward";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-		ArrayList ret = new ArrayList();
-		for (Iterator i = ((Team) eObject).getForwards().iterator(); i
-			.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalColumnLabelText()
-	 */
-	protected List getAdditionalColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Position");//$NON-NLS-1$
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalValuesForRow(java.lang.Object)
-	 */
-	protected List getAdditionalValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((Forward) object).getPosition().getName());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getTeam_Forwards();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createForward();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/GoaliesPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/GoaliesPropertySection.java
deleted file mode 100644
index d4baf2e..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/GoaliesPropertySection.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * The goalies section.
- * 
- * @author Anthony Hunter
- */
-public class GoaliesPropertySection
-	extends AbstractPlayersPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Goalie";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-		ArrayList ret = new ArrayList();
-		for (Iterator i = ((Team) eObject).getGoalies().iterator(); i.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalColumnLabelText()
-	 */
-	protected List getAdditionalColumnLabelText() {
-		return new ArrayList();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalValuesForRow(java.lang.Object)
-	 */
-	protected List getAdditionalValuesForRow(Object object) {
-		return new ArrayList();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getTeam_Goalies();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createGoalie();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeadOfficePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeadOfficePropertySection.java
deleted file mode 100644
index b0c6979..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeadOfficePropertySection.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-
-/**
- * A section for the head office property of a selected League Object.
- * 
- * @author Anthony Hunter
- */
-public class HeadOfficePropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getLeague_Headoffice();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Head Office:"; //$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeightPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeightPropertySection.java
deleted file mode 100644
index 769d032..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeightPropertySection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-
-/**
- * A section for the height property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class HeightPropertySection
-	extends AbstractMeasurementPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#isEnumerationEqual(int)
-	 */
-	protected boolean isEnumerationEqual(int index) {
-		return HeightKind.VALUES.get(index).equals(
-			((Player) eObject).getHeightMesurement());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationFeature()
-	 */
-	protected EAttribute getEnumerationFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_HeightMesurement();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationLabels()
-	 */
-	protected String[] getEnumerationLabels() {
-		List values = HeightKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((HeightKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationIndex()
-	 */
-	protected int getEnumerationIndex() {
-		return ((Player) eObject).getHeightMesurement().getValue();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationFeatureValue(int)
-	 */
-	protected Object getEnumerationFeatureValue(int index) {
-		return HeightKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractIntegerPropertySection#getFeatureInteger()
-	 */
-	protected Integer getFeatureInteger() {
-		return new Integer(((Player) eObject).getHeightValue());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_HeightValue();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Height:";//$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NamePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NamePropertySection.java
deleted file mode 100644
index 491e8c6..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NamePropertySection.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the name property of a selected HockeyleagueObject.
- * 
- * @author Anthony Hunter
- */
-public class NamePropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Name:"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getHockeyleagueObject_Name();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NumberPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NumberPropertySection.java
deleted file mode 100644
index 8a57364..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NumberPropertySection.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-
-/**
- * A section for the jersey number property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class NumberPropertySection
-	extends AbstractIntegerPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_Number();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeatureText()
-	 */
-	protected Integer getFeatureInteger() {
-		return new Integer(((Player) eObject).getNumber());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Jersey Number:";//$NON-NLS-1$
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/PlayerStatsPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/PlayerStatsPropertySection.java
deleted file mode 100644
index d5d3b4d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/PlayerStatsPropertySection.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-
-/**
- * The player stats section.
- * 
- * @author Anthony Hunter
- */
-public class PlayerStatsPropertySection
-	extends AbstractTablePropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getColumnLabelText()
-	 */
-	protected List getColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Year");//$NON-NLS-1$
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getKeyForRow(java.lang.Object)
-	 */
-	protected String getKeyForRow(Object object) {
-		return ((PlayerStats) object).getYear();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getValuesForRow(java.lang.Object)
-	 */
-	protected List getValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((PlayerStats) object).getYear());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Player Stats";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-
-		ArrayList ret = new ArrayList();
-		for (Iterator i = (eObject instanceof Defence) ? ((Defence) eObject)
-			.getPlayerStats().iterator()
-			: ((Forward) eObject).getPlayerStats().iterator(); i.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return (eObject instanceof Defence) ? HockeyleaguePackage.eINSTANCE
-			.getDefence_PlayerStats()
-			: HockeyleaguePackage.eINSTANCE.getForward_PlayerStats();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createPlayerStats();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ShotPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ShotPropertySection.java
deleted file mode 100644
index 156919f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ShotPropertySection.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-
-/**
- * A section for the shot property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class ShotPropertySection
-	extends AbstractEnumerationPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_Shot();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		return ((Player) eObject).getShot().getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureValue(int)
-	 */
-	protected Object getFeatureValue(int index) {
-		return ShotKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Shot:";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#isEqual(int)
-	 */
-	protected boolean isEqual(int index) {
-		return ShotKind.VALUES.get(index).equals(((Player) eObject).getShot());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getEnumerationFeatureValues()
-	 */
-	protected String[] getEnumerationFeatureValues() {
-		List values = ShotKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((ShotKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/TeamsPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/TeamsPropertySection.java
deleted file mode 100644
index b6b3303..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/TeamsPropertySection.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * The teams section in the teams tab for a league.
- * 
- * @author Anthony Hunter
- */
-public class TeamsPropertySection
-	extends AbstractTablePropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getColumnLabelText()
-	 */
-	protected List getColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Name");//$NON-NLS-1$
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getKeyForRow(java.lang.Object)
-	 */
-	protected String getKeyForRow(Object object) {
-		return ((Team) object).getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getValuesForRow(java.lang.Object)
-	 */
-	protected List getValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((Team) object).getName());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Team";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-		ArrayList ret = new ArrayList();
-		for (Iterator i = ((League) eObject).getTeams().iterator(); i.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getLeague_Teams();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createTeam();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/WeightPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/WeightPropertySection.java
deleted file mode 100644
index ee68e1a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/WeightPropertySection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-
-/**
- * A section for the weight property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class WeightPropertySection
-	extends AbstractMeasurementPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#isEnumerationEqual(int)
-	 */
-	protected boolean isEnumerationEqual(int index) {
-		return WeightKind.VALUES.get(index).equals(
-			((Player) eObject).getWeightMesurement());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationFeature()
-	 */
-	protected EAttribute getEnumerationFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_WeightMesurement();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationLabels()
-	 */
-	protected String[] getEnumerationLabels() {
-		List values = WeightKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((WeightKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationIndex()
-	 */
-	protected int getEnumerationIndex() {
-		return ((Player) eObject).getWeightMesurement().getValue();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationFeatureValue(int)
-	 */
-	protected Object getEnumerationFeatureValue(int index) {
-		return WeightKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractIntegerPropertySection#getFeatureInteger()
-	 */
-	protected Integer getFeatureInteger() {
-		return new Integer(((Player) eObject).getWeightValue());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_WeightValue();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Weight:";//$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizard.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizard.java
deleted file mode 100644
index db9038f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizard.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards;
-
-import java.util.Collections;
-
-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.runtime.IProgressMonitor;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-/**
- * This is the wizard to create a new Hockeyleague model file.
- * 
- * @author Anthony Hunter
- */
-public class NewHockeyleagueFileWizard
-	extends BasicNewResourceWizard {
-
-	private NewHockeyleagueFileWizardPage mainPage;
-
-	private IStructuredSelection selection;
-
-	private IWorkbench workbench;
-
-	/**
-	 * The framework calls this to create the contents of the wizard.
-	 */
-	public void addPages() {
-		// Create a page, set the title, and the initial model file name.
-		//
-		mainPage = new NewHockeyleagueFileWizardPage("Whatever", selection); //$NON-NLS-1$
-		mainPage.setTitle("Hockey League Example File"); //$NON-NLS-1$
-		mainPage.setDescription("Create a new Tabbed Properties View Hockey League Example File"); //$NON-NLS-1$
-		mainPage.setFileName("example.hockeyleague"); //$NON-NLS-1$
-		addPage(mainPage);
-
-		// Try and get the resource selection to determine a current directory
-		// for the file dialog.
-		//
-		if (selection != null && !selection.isEmpty()) {
-			// Get the resource...
-			//
-			Object selectedElement = selection.iterator().next();
-			if (selectedElement instanceof IResource) {
-				// Get the resource parent, if its a file.
-				//
-				IResource selectedResource = (IResource) selectedElement;
-				if (selectedResource.getType() == IResource.FILE) {
-					selectedResource = selectedResource.getParent();
-				}
-
-				// This gives us a directory...
-				//
-				if (selectedResource instanceof IFolder
-					|| selectedResource instanceof IProject) {
-					// Set this for the container.
-					//
-					mainPage.setContainerFullPath(selectedResource
-						.getFullPath());
-
-					// Make up a unique new name here.
-					//
-					String defaultFilename = "example"; //$NON-NLS-1$
-					String defaultExtension = "hockeyleague"; //$NON-NLS-1$
-					String modelFilename = defaultFilename + "." //$NON-NLS-1$
-						+ defaultExtension;
-					for (int i = 1; ((IContainer) selectedResource)
-						.findMember(modelFilename) != null; ++i) {
-						modelFilename = defaultFilename + i + "." //$NON-NLS-1$
-							+ defaultExtension;
-					}
-					mainPage.setFileName(modelFilename);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Method declared on IWorkbenchWizard.
-	 */
-	public void init(IWorkbench aWorkbench,
-			IStructuredSelection currentSelection) {
-		super.init(aWorkbench, currentSelection);
-		this.workbench = aWorkbench;
-		this.selection = currentSelection;
-		setWindowTitle("New Hockey League File"); //$NON-NLS-1$
-		setNeedsProgressMonitor(true);
-	}
-
-	/**
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		try {
-			// Remember the file.
-			//
-			final IFile hockeyleagueFile = getHockeyleagueFile();
-
-			// Do the work within an operation.
-			//
-			WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-
-				protected void execute(IProgressMonitor progressMonitor) {
-					try {
-						ResourceSet resourceSet = new ResourceSetImpl();
-
-						URI fileURI = URI
-							.createPlatformResourceURI(hockeyleagueFile
-								.getFullPath().toString());
-
-						Resource resource = resourceSet.createResource(fileURI);
-
-						// Add the initial model object to the contents.
-						//
-						EObject rootObject = createInitialModel();
-						if (rootObject != null) {
-							resource.getContents().add(rootObject);
-						}
-
-						// Save the contents of the resource to the file system.
-						//
-						resource.save(Collections.EMPTY_MAP);
-					} catch (Exception exception) {
-						exception.printStackTrace();
-					} finally {
-						progressMonitor.done();
-					}
-				}
-			};
-
-			getContainer().run(false, false, operation);
-
-			// Select the new file resource in the current view.
-			//
-			IWorkbenchWindow workbenchWindow = workbench
-				.getActiveWorkbenchWindow();
-			IWorkbenchPage page = workbenchWindow.getActivePage();
-			final IWorkbenchPart activePart = page.getActivePart();
-			if (activePart instanceof ISetSelectionTarget) {
-				final ISelection targetSelection = new StructuredSelection(
-					hockeyleagueFile);
-				getShell().getDisplay().asyncExec(new Runnable() {
-
-					public void run() {
-						((ISetSelectionTarget) activePart)
-							.selectReveal(targetSelection);
-					}
-				});
-			}
-
-			// Open an editor on the new file.
-			//
-			try {
-				IDE.openEditor(page, hockeyleagueFile, true);
-			} catch (PartInitException exception) {
-				MessageDialog.openError(workbenchWindow.getShell(),
-					"Open Editor", exception.getMessage()); //$NON-NLS-1$
-				return false;
-			}
-
-			return true;
-		} catch (Exception exception) {
-			exception.printStackTrace();
-			return false;
-		}
-	}
-
-	public IFile getHockeyleagueFile() {
-		return mainPage.getHockeyleagueFile();
-	}
-
-	private EObject createInitialModel() {
-		EClass eClass = HockeyleaguePackage.eINSTANCE.getLeague();
-		EObject rootObject = HockeyleagueFactory.eINSTANCE.create(eClass);
-		return rootObject;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizardPage.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizardPage.java
deleted file mode 100644
index f96d351..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizardPage.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-
-/**
- * This is the wizard page to create a new Hockeyleague model file.
- * 
- * @author Anthony Hunter
- */
-public class NewHockeyleagueFileWizardPage
-	extends WizardNewFileCreationPage {
-
-	/**
-	 * The Hockey league file.
-	 */
-	protected IFile hockeyleagueFile;
-
-	/**
-	 * @param pageName
-	 * @param selection
-	 */
-	public NewHockeyleagueFileWizardPage(String pageName,
-			IStructuredSelection selection) {
-		super(pageName, selection);
-	}
-
-	/**
-	 * The framework calls this to see if the file is correct.
-	 */
-	protected boolean validatePage() {
-		if (super.validatePage()) {
-			// Make sure the file ends in ".hockeyleague".
-			//
-			String requiredExtStatic = "hockeyleague"; //$NON-NLS-1$
-			String enteredExt = new Path(getFileName()).getFileExtension();
-			if (enteredExt == null
-				|| !(enteredExt.equals(requiredExtStatic))) {
-				setErrorMessage(MessageFormat.format(
-					"The filename must end in \".{0}\"",//$NON-NLS-1$
-					new Object[] {requiredExtStatic}));
-				return false;
-			} else {
-				return true;
-			}
-		} else {
-			return false;
-		}
-	}
-
-	/**
-	 * Store the dialog field settings upon completion.
-	 */
-	public boolean performFinish() {
-		hockeyleagueFile = getHockeyleagueFile();
-		return true;
-	}
-
-	/**
-	 */
-	public IFile getHockeyleagueFile() {
-		return hockeyleagueFile == null ? ResourcesPlugin.getWorkspace()
-			.getRoot().getFile(getContainerFullPath().append(getFileName()))
-			: hockeyleagueFile;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueProjectWizard.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueProjectWizard.java
deleted file mode 100644
index 2d35c9a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueProjectWizard.java
+++ /dev/null
@@ -1,512 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.Collections;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-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.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-/**
- * This is the wizard to create a new Hockeyleague example project.
- * 
- * @author Anthony Hunter
- */
-public class NewHockeyleagueProjectWizard
-	extends BasicNewResourceWizard {
-
-	private WizardNewProjectCreationPage mainPage;
-
-	private IWorkbench workbench;
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
-	 *      org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench aWorkbench,
-			IStructuredSelection currentSelection) {
-		super.init(workbench, currentSelection);
-		this.workbench = aWorkbench;
-		setWindowTitle("New Hockey League Project"); //$NON-NLS-1$
-		setNeedsProgressMonitor(true);
-	}
-
-	/**
-	 * @see org.eclipse.jface.wizard.IWizard#addPages()
-	 */
-	public void addPages() {
-		super.addPages();
-		mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");//$NON-NLS-1$
-		mainPage.setTitle("Hockey League Example Project"); //$NON-NLS-1$
-		mainPage.setDescription("Create a new Tabbed Properties View Hockey League Example Project"); //$NON-NLS-1$
-		this.addPage(mainPage);
-	}
-
-	/**
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		// get a project handle
-		final IProject newProjectHandle = mainPage.getProjectHandle();
-		IPath newPath = null;
-		if (!mainPage.useDefaults())
-			newPath = mainPage.getLocationPath();
-		final IPath newProjectPath = newPath;
-		final IFile[] newFile = new IFile[1];
-
-		// create the new project operation
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-
-			protected void execute(IProgressMonitor monitor)
-				throws CoreException {
-				try {
-					monitor.beginTask("Creating New Project", 3000);//$NON-NLS-1$
-
-					monitor.setTaskName("Create a project descriptor");//$NON-NLS-1$
-					monitor.worked(1000);
-					IWorkspace workspace = ResourcesPlugin.getWorkspace();
-					final IProjectDescription description = workspace
-						.newProjectDescription(newProjectHandle.getName());
-					description.setLocation(newProjectPath);
-
-					monitor.setTaskName("Create the new project");//$NON-NLS-1$
-					newProjectHandle.create(description,
-						new SubProgressMonitor(monitor, 1000));
-
-					if (monitor.isCanceled())
-						throw new OperationCanceledException();
-
-					monitor.setTaskName("Open the new project");//$NON-NLS-1$
-					newProjectHandle
-						.open(new SubProgressMonitor(monitor, 1000));
-
-					if (monitor.isCanceled())
-						throw new OperationCanceledException();
-
-					monitor.setTaskName("Create the new file");//$NON-NLS-1$
-					monitor.worked(1000);
-					newFile[0] = newProjectHandle
-						.getFile("example.hockeyleague");//$NON-NLS-1$
-					ResourceSet resourceSet = new ResourceSetImpl();
-
-					URI fileURI = URI.createPlatformResourceURI(newFile[0]
-						.getFullPath().toString());
-
-					Resource resource = resourceSet.createResource(fileURI);
-
-					// Add the initial model object to the contents.
-					//
-					createInitialModel(resource);
-
-					try {
-						// Save the contents of the resource to the file system.
-						//
-						resource.save(Collections.EMPTY_MAP);
-					} catch (IOException e) {
-						e.printStackTrace();
-					}
-
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-
-		// 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) {
-				ErrorDialog.openError(getShell(), "Creation Problems", //$NON-NLS-1$
-					null, // no special message
-					((CoreException) t).getStatus());
-			} else {
-				// CoreExceptions are handled above, but unexpected runtime
-				// exceptions and errors may still occur.
-				HockeyleaguePlugin.getPlugin().getLog().log(
-					new Status(IStatus.ERROR, "HockeyleaguePlugin", 0, t//$NON-NLS-1$
-						.toString(), t));
-				MessageDialog.openError(getShell(), "Creation Problems", //$NON-NLS-1$
-					MessageFormat.format("Internal error: {0}", //$NON-NLS-1$
-						new Object[] {t.getMessage()}));
-			}
-			return false;
-		}
-
-		// Select the new file resource in the current view.
-		//
-		IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-		IWorkbenchPage page = workbenchWindow.getActivePage();
-		final IWorkbenchPart activePart = page.getActivePart();
-		if (activePart instanceof ISetSelectionTarget) {
-			final ISelection targetSelection = new StructuredSelection(
-				newFile[0]);
-			getShell().getDisplay().asyncExec(new Runnable() {
-
-				public void run() {
-					((ISetSelectionTarget) activePart)
-						.selectReveal(targetSelection);
-				}
-			});
-		}
-
-		// Open an editor on the new file.
-		//
-		try {
-			IDE.openEditor(page, newFile[0], true);
-		} catch (PartInitException exception) {
-			MessageDialog.openError(workbenchWindow.getShell(), "Open Editor",//$NON-NLS-1$
-				exception.getMessage());
-			return false;
-		}
-
-		return true;
-	}
-
-	private EObject createInitialModel(Resource resource) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-
-		/* Global Hockey League */
-		League league = hockeyleagueFactory.createLeague();
-		league.setName("Global Hockey League");//$NON-NLS-1$
-		league
-			.setHeadoffice("99 Bee Street, Toronto, Ontario, Canada, M5J 1Y7");//$NON-NLS-1$
-		resource.getContents().add(league);
-
-		/* Toronto Storm */
-		Arena arena = hockeyleagueFactory.createArena();
-		arena.setAddress("40 Buy Street, Toronto, Ontario, Canada, M5J 1C3");//$NON-NLS-1$
-		arena.setCapacity(18918);
-		arena.setName("Storm Centre");//$NON-NLS-1$
-		resource.getContents().add(arena);
-
-		Team torontoStorm = hockeyleagueFactory.createTeam();
-		torontoStorm.setName("Toronto Storm");//$NON-NLS-1$
-		torontoStorm.setArena(arena);
-		createPlayers(torontoStorm);
-		resource.getContents().add(torontoStorm);
-
-		/* Montreal Eagles */
-		arena = hockeyleagueFactory.createArena();
-		arena
-			.setAddress("1010 de La Gauchetiere Street, Montreal, Quebec, Canada, H3B B7B");//$NON-NLS-1$
-		arena.setCapacity(22000);
-		arena.setName("Global Centre");//$NON-NLS-1$
-		resource.getContents().add(arena);
-
-		Team montrealEagles = hockeyleagueFactory.createTeam();
-		montrealEagles.setName("Montreal Eagles");//$NON-NLS-1$
-		montrealEagles.setArena(arena);
-		createPlayers(montrealEagles);
-		resource.getContents().add(montrealEagles);
-
-		/* Ottawa Lions */
-		arena = hockeyleagueFactory.createArena();
-		arena.setAddress("1001 Atlas Drive, Ottawa, Ontario, Canada, K2V 1L8");//$NON-NLS-1$
-		arena.setCapacity(19000);
-		arena.setName("Ottawa Memorial Arena");//$NON-NLS-1$
-		resource.getContents().add(arena);
-
-		Team ottawaLions = hockeyleagueFactory.createTeam();
-		ottawaLions.setName("Ottawa Lions");//$NON-NLS-1$
-		ottawaLions.setArena(arena);
-		createPlayers(ottawaLions);
-		resource.getContents().add(ottawaLions);
-
-		/* Vancouver Tigers */
-		arena = hockeyleagueFactory.createArena();
-		arena
-			.setAddress("200 Griffins Way, Vancouver, British Columbia, Canada, V6B 9M2");//$NON-NLS-1$
-		arena.setCapacity(18500);
-		arena.setName("Century Place");//$NON-NLS-1$
-		resource.getContents().add(arena);
-
-		Team vancouverTigers = hockeyleagueFactory.createTeam();
-		vancouverTigers.setName("Vancouver Tigers");//$NON-NLS-1$
-		vancouverTigers.setArena(arena);
-		createPlayers(vancouverTigers);
-		resource.getContents().add(vancouverTigers);
-
-		league.getTeams().add(torontoStorm);
-		league.getTeams().add(montrealEagles);
-		league.getTeams().add(ottawaLions);
-		league.getTeams().add(vancouverTigers);
-		return league;
-	}
-
-	/**
-	 */
-	private void createPlayers(Team team) {
-		createGoalie(team);
-		createLeftWing(team);
-		createCenter(team);
-		createRightWing(team);
-		createRightDefence(team);
-		createLeftDefence(team);
-	}
-
-	private void createRightDefence(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Defence defence = hockeyleagueFactory.createDefence();
-		defence.setName("Josef Kraft");//$NON-NLS-1$
-		defence.setBirthdate("September 2, 1980");//$NON-NLS-1$
-		defence.setBirthplace("Plzen, Czechoslovakia");//$NON-NLS-1$
-		defence.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		defence.setHeightValue(74);
-		defence.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		defence.setWeightValue(224);
-		defence.setNumber(15);
-		defence.setShot(ShotKind.RIGHT_LITERAL);
-		defence.setPosition(DefencePositionKind.RIGHT_DEFENCE_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(67);
-		playerStats.setGoals(28);
-		playerStats.setAssists(63);
-		playerStats.setPoints(91);
-		playerStats.setPlusMinus(-25);
-		playerStats.setPenaltyMinutes(43);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(0);
-		playerStats.setShots(235);
-		playerStats.setShotPercentage(11.9F);
-		playerStats.setGameWinningGoals(4);
-		defence.getPlayerStats().add(playerStats);
-
-		team.getDefencemen().add(defence);
-	}
-
-	private void createLeftDefence(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Defence defence = hockeyleagueFactory.createDefence();
-		defence.setName("Tom Orpik");//$NON-NLS-1$
-		defence.setBirthdate("March 20, 1975");//$NON-NLS-1$
-		defence.setBirthplace("Cayuga, Ontario, Canada");//$NON-NLS-1$
-		defence.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		defence.setHeightValue(74);
-		defence.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		defence.setWeightValue(224);
-		defence.setNumber(15);
-		defence.setShot(ShotKind.LEFT_LITERAL);
-		defence.setPosition(DefencePositionKind.LEFT_DEFENCE_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(67);
-		playerStats.setGoals(28);
-		playerStats.setAssists(63);
-		playerStats.setPoints(91);
-		playerStats.setPlusMinus(-25);
-		playerStats.setPenaltyMinutes(43);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(0);
-		playerStats.setShots(235);
-		playerStats.setShotPercentage(11.9F);
-		playerStats.setGameWinningGoals(4);
-		defence.getPlayerStats().add(playerStats);
-
-		team.getDefencemen().add(defence);
-	}
-
-	private void createCenter(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Forward forward = hockeyleagueFactory.createForward();
-		forward.setName("Tom Orpik");//$NON-NLS-1$
-		forward.setBirthdate("March 20, 1975");//$NON-NLS-1$
-		forward.setBirthplace("Cayuga, Ontario, Canada");//$NON-NLS-1$
-		forward.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		forward.setHeightValue(74);
-		forward.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		forward.setWeightValue(224);
-		forward.setNumber(15);
-		forward.setShot(ShotKind.RIGHT_LITERAL);
-		forward.setPosition(ForwardPositionKind.CENTER_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(67);
-		playerStats.setGoals(28);
-		playerStats.setAssists(63);
-		playerStats.setPoints(91);
-		playerStats.setPlusMinus(-25);
-		playerStats.setPenaltyMinutes(43);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(0);
-		playerStats.setShots(235);
-		playerStats.setShotPercentage(11.9F);
-		playerStats.setGameWinningGoals(4);
-		forward.getPlayerStats().add(playerStats);
-
-		team.getForwards().add(forward);
-	}
-
-	private void createLeftWing(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Forward forward = hockeyleagueFactory.createForward();
-		forward.setName("Chris Sargeant");//$NON-NLS-1$
-		forward.setBirthdate("February 16, 1973");//$NON-NLS-1$
-		forward.setBirthplace("Cayuga, Ontario, Canada");//$NON-NLS-1$
-		forward.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		forward.setHeightValue(75);
-		forward.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		forward.setWeightValue(198);
-		forward.setNumber(22);
-		forward.setShot(ShotKind.RIGHT_LITERAL);
-		forward.setPosition(ForwardPositionKind.RIGHT_WING_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(67);
-		playerStats.setGoals(28);
-		playerStats.setAssists(63);
-		playerStats.setPoints(91);
-		playerStats.setPlusMinus(-25);
-		playerStats.setPenaltyMinutes(43);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(0);
-		playerStats.setShots(235);
-		playerStats.setShotPercentage(11.9F);
-		playerStats.setGameWinningGoals(4);
-		forward.getPlayerStats().add(playerStats);
-
-		team.getForwards().add(forward);
-	}
-
-	private void createRightWing(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Forward forward = hockeyleagueFactory.createForward();
-		forward.setName("Martin Smyth");//$NON-NLS-1$
-		forward.setBirthdate("January 24, 1983");//$NON-NLS-1$
-		forward.setBirthplace("Calgary, Alberta, Canada");//$NON-NLS-1$
-		forward.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		forward.setHeightValue(71);
-		forward.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		forward.setWeightValue(192);
-		forward.setNumber(14);
-		forward.setShot(ShotKind.LEFT_LITERAL);
-		forward.setPosition(ForwardPositionKind.LEFT_WING_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(80);
-		playerStats.setGoals(45);
-		playerStats.setAssists(35);
-		playerStats.setPoints(80);
-		playerStats.setPlusMinus(8);
-		playerStats.setPenaltyMinutes(34);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(10);
-		playerStats.setShots(229);
-		playerStats.setShotPercentage(19.7F);
-		playerStats.setGameWinningGoals(10);
-		forward.getPlayerStats().add(playerStats);
-
-		team.getForwards().add(forward);
-	}
-
-	private void createGoalie(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Goalie goalie = hockeyleagueFactory.createGoalie();
-		goalie.setName("Jaugues Leblanc");//$NON-NLS-1$
-		goalie.setBirthdate("July 7, 1979");//$NON-NLS-1$
-		goalie.setBirthplace("Laval, Quebec, Canada");//$NON-NLS-1$
-		goalie.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		goalie.setHeightValue(71);
-		goalie.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		goalie.setWeightValue(192);
-		goalie.setNumber(29);
-		goalie.setShot(ShotKind.LEFT_LITERAL);
-
-		GoalieStats goalieStats = hockeyleagueFactory.createGoalieStats();
-		goalieStats.setYear("2004");//$NON-NLS-1$
-		goalieStats.setTeam(team);
-		goalieStats.setGamesPlayedIn(67);
-		goalieStats.setWins(39);
-		goalieStats.setLosses(20);
-		goalieStats.setTies(7);
-		goalieStats.setMinutesPlayedIn(3943);
-		goalieStats.setGoalsAgainst(142);
-		goalieStats.setSaves(1591);
-		goalieStats.setGoalsAgainstAverage(2.64F);
-		goalieStats.setShutouts(4);
-		goalieStats.setGoals(0);
-		goalieStats.setAssists(1);
-		goalieStats.setPoints(1);
-		goalieStats.setPenaltyMinutes(6);
-		goalieStats.setEmptyNetGoals(1);
-		goalie.getGoalieStats().add(goalieStats);
-
-		team.getGoalies().add(goalie);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueAdapterFactory.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueAdapterFactory.java
deleted file mode 100644
index e847d94..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueAdapterFactory.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.util;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage
- * @generated
- */
-public class HockeyleagueAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static HockeyleaguePackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = HockeyleaguePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch the delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected HockeyleagueSwitch modelSwitch =
-		new HockeyleagueSwitch() {
-			public Object caseArena(Arena object) {
-				return createArenaAdapter();
-			}
-			public Object caseDefence(Defence object) {
-				return createDefenceAdapter();
-			}
-			public Object caseForward(Forward object) {
-				return createForwardAdapter();
-			}
-			public Object caseGoalie(Goalie object) {
-				return createGoalieAdapter();
-			}
-			public Object caseGoalieStats(GoalieStats object) {
-				return createGoalieStatsAdapter();
-			}
-			public Object caseHockeyleagueObject(HockeyleagueObject object) {
-				return createHockeyleagueObjectAdapter();
-			}
-			public Object caseLeague(League object) {
-				return createLeagueAdapter();
-			}
-			public Object casePlayer(Player object) {
-				return createPlayerAdapter();
-			}
-			public Object casePlayerStats(PlayerStats object) {
-				return createPlayerStatsAdapter();
-			}
-			public Object caseTeam(Team object) {
-				return createTeamAdapter();
-			}
-			public Object defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	public Adapter createAdapter(Notifier target) {
-		return (Adapter)modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena <em>Arena</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena
-	 * @generated
-	 */
-	public Adapter createArenaAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence <em>Defence</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence
-	 * @generated
-	 */
-	public Adapter createDefenceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward <em>Forward</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward
-	 * @generated
-	 */
-	public Adapter createForwardAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie <em>Goalie</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie
-	 * @generated
-	 */
-	public Adapter createGoalieAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats <em>Goalie Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats
-	 * @generated
-	 */
-	public Adapter createGoalieStatsAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject <em>Object</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject
-	 * @generated
-	 */
-	public Adapter createHockeyleagueObjectAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League <em>League</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League
-	 * @generated
-	 */
-	public Adapter createLeagueAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player <em>Player</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player
-	 * @generated
-	 */
-	public Adapter createPlayerAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats <em>Player Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats
-	 * @generated
-	 */
-	public Adapter createPlayerStatsAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team <em>Team</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team
-	 * @generated
-	 */
-	public Adapter createTeamAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //HockeyleagueAdapterFactory
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueSwitch.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueSwitch.java
deleted file mode 100644
index b47a3cf..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueSwitch.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.util;
-
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage
- * @generated
- */
-public class HockeyleagueSwitch {
-	/**
-	 * The cached model package
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static HockeyleaguePackage modelPackage;
-
-	/**
-	 * Creates an instance of the switch.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueSwitch() {
-		if (modelPackage == null) {
-			modelPackage = HockeyleaguePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	public Object doSwitch(EObject theEObject) {
-		return doSwitch(theEObject.eClass(), theEObject);
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(EClass theEClass, EObject theEObject) {
-		if (theEClass.eContainer() == modelPackage) {
-			return doSwitch(theEClass.getClassifierID(), theEObject);
-		}
-		else {
-			List eSuperTypes = theEClass.getESuperTypes();
-			return
-				eSuperTypes.isEmpty() ?
-					defaultCase(theEObject) :
-					doSwitch((EClass)eSuperTypes.get(0), theEObject);
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(int classifierID, EObject theEObject) {
-		switch (classifierID) {
-			case HockeyleaguePackage.ARENA: {
-				Arena arena = (Arena)theEObject;
-				Object result = caseArena(arena);
-				if (result == null) result = caseHockeyleagueObject(arena);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.DEFENCE: {
-				Defence defence = (Defence)theEObject;
-				Object result = caseDefence(defence);
-				if (result == null) result = casePlayer(defence);
-				if (result == null) result = caseHockeyleagueObject(defence);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.FORWARD: {
-				Forward forward = (Forward)theEObject;
-				Object result = caseForward(forward);
-				if (result == null) result = casePlayer(forward);
-				if (result == null) result = caseHockeyleagueObject(forward);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.GOALIE: {
-				Goalie goalie = (Goalie)theEObject;
-				Object result = caseGoalie(goalie);
-				if (result == null) result = casePlayer(goalie);
-				if (result == null) result = caseHockeyleagueObject(goalie);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.GOALIE_STATS: {
-				GoalieStats goalieStats = (GoalieStats)theEObject;
-				Object result = caseGoalieStats(goalieStats);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT: {
-				HockeyleagueObject hockeyleagueObject = (HockeyleagueObject)theEObject;
-				Object result = caseHockeyleagueObject(hockeyleagueObject);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.LEAGUE: {
-				League league = (League)theEObject;
-				Object result = caseLeague(league);
-				if (result == null) result = caseHockeyleagueObject(league);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.PLAYER: {
-				Player player = (Player)theEObject;
-				Object result = casePlayer(player);
-				if (result == null) result = caseHockeyleagueObject(player);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.PLAYER_STATS: {
-				PlayerStats playerStats = (PlayerStats)theEObject;
-				Object result = casePlayerStats(playerStats);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.TEAM: {
-				Team team = (Team)theEObject;
-				Object result = caseTeam(team);
-				if (result == null) result = caseHockeyleagueObject(team);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			default: return defaultCase(theEObject);
-		}
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Arena</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Arena</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseArena(Arena object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Defence</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Defence</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseDefence(Defence object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Forward</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Forward</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseForward(Forward object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Goalie</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Goalie</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseGoalie(Goalie object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Goalie Stats</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Goalie Stats</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseGoalieStats(GoalieStats object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Object</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Object</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseHockeyleagueObject(HockeyleagueObject object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>League</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>League</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseLeague(League object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Player</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Player</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object casePlayer(Player object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Player Stats</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Player Stats</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object casePlayerStats(PlayerStats object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Team</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Team</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseTeam(Team object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch, but this is the last case anyway.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-	 * @generated
-	 */
-	public Object defaultCase(EObject object) {
-		return null;
-	}
-
-} //HockeyleagueSwitch
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.classpath b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.cvsignore b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.project b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.project
deleted file mode 100644
index 64e15f3..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.views.properties.tabbed.logic</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/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 662a6cc..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:18:30 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 0b94798..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:18:33 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 5b8aef4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-#Tue Jan 31 19:06:57 EST 2006
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/META-INF/MANIFEST.MF
deleted file mode 100644
index e8138af..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Logic Plug-in
-Bundle-SymbolicName: org.eclipse.ui.examples.views.properties.tabbed.logic;singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.examples.views.properties.tabbed.logic.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.gef.examples.logic,
- org.eclipse.ui.views.properties.tabbed,
- org.eclipse.gef,
- org.eclipse.core.resources,
- org.eclipse.ui.ide
-Eclipse-LazyStart: true
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/about.html b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/build.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/build.properties
deleted file mode 100644
index cd72b059..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               icons/,\
-               plugin.properties
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logic.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logic.gif
deleted file mode 100644
index ca05b78..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logic.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logicbanner.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logicbanner.gif
deleted file mode 100644
index 6a4deba..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logicbanner.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.properties
deleted file mode 100644
index 0df62c0..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.properties
+++ /dev/null
@@ -1,193 +0,0 @@
-Plugin.name = IBM Rational Common UI Properties Logic Example
-Plugin.providerName = IBM Rational
-
-Logic_example_graphical_editor_name = Logic Graphical Editor
-GEF_example_wizard_category_name = GEF (Graphical Editing Framework)
-Logic_example_wizard_name = Logic Diagram
-Logic_example_wizard_description=An example of a wizard that creates sample Logic file
-
-##############################################
-# PasteTemplateAction Class
-##############################################
-PasteAction.ActionToolTipText_UI_=Paste
-PasteAction.ActionLabelText_UI_=&Paste
-PasteAction.ActionDeleteCommandName_UI_=Paste
-
-##############################################
-# ZoomAction Class
-##############################################
-ZoomAction.ZoomIn.ActionToolTipText_UI_=Zoom In
-ZoomAction.ZoomIn.ActionLabelText_UI_=Zoom In
-ZoomAction.ZoomOut.ActionToolTipText_UI_=Zoom Out
-ZoomAction.ZoomOut.ActionLabelText_UI_=Zoom Out
-
-##############################################
-# View Menu
-##############################################
-ViewMenu.LabelText_UI_=&View
-
-##############################################
-# Property Source Cell Editor Validators
-##############################################
-CellEditorValidator.NotANumberMessage=Not a number
-
-##############################################
-# Palette Customizer
-##############################################
-PaletteCustomizer.InvalidCharMessage=Name contains invalid character: *
-
-##############################################
-# Model information
-##############################################
-Wire.LabelText=Wire
-LED.LabelText=LED
-LogicDiagram.LabelText=Logic Diagram
-Circuit.LabelText=Circuit
-AndGate.LabelText=And Gate
-OrGate.LabelText=Or Gate
-XORGate.LabelText=XOR Gate
-GroundOutput.LabelText=Ground
-LiveOutput.LabelText=Positive Voltage
-
-##############################################
-# PropertyDescriptors and PropertySources
-##############################################
-PropertyDescriptor.Label.Text=Text
-PropertyDescriptor.LogicSubPart.Size=Size
-PropertyDescriptor.LogicSubPart.Location=Location
-PropertyDescriptor.LED.Value=Value
-PropertyDescriptor.LogicDiagram.ConnectionRouter=Connection Router
-PropertyDescriptor.LogicDiagram.Manual=Manual
-PropertyDescriptor.LogicDiagram.Manhattan=Manhattan
-
-DimensionPropertySource.Property.Width.Label=Width
-DimensionPropertySource.Property.Height.Label=Height
-LocationPropertySource.Property.X.Label=X
-LocationPropertySource.Property.Y.Label=Y
-
-##############################################
-# Actions (IncrementDecrementAction)
-##############################################
-IncrementDecrementAction.Increment.ActionLabelText=Increment
-IncrementDecrementAction.Increment.ActionToolTipText=Increment LED
-IncrementDecrementAction.Decrement.ActionLabelText=Decrement
-IncrementDecrementAction.Decrement.ActionToolTipText=Decrement LED
-
-##############################################
-# Actions (AlignmentAction)
-##############################################
-AlignmentAction.AlignSubmenu.ActionLabelText=&Align
-
-##############################################
-# EditPolicies
-##############################################
-LogicXYLayoutEditPolicy.AddCommandLabelText=Reparenting LogicSubpart
-LogicXYLayoutEditPolicy.CreateCommandLabelText=Creating LogicSubpart
-LogicElementEditPolicy.OrphanCommandLabelText=Reparenting LogicSubpart
-IncrementDecrementCommand.LabelText=Logic Value Change
-LogicNullConstraintEditPolicy.OrphanCommandLabelText=Reparenting LogicSubpart
-LogicContainerEditPolicy.OrphanCommandLabelText=Orphan children
-
-##############################################
-# Wizard Page
-##############################################
-CreateLogicPage1.Title=Create Logic File
-CreateLogicPage1.Description=Create a new Logic file resource.
-CreateLogicPage1.ModelNames.GroupName=Logic Model Samples
-CreateLogicPage1.ModelNames.EmptyModelName=E&mpty Model
-CreateLogicPage1.ModelNames.HalfAdderModelName=Half-Adder Model
-CreateLogicPage1.ModelNames.FullAdderModelName=Full-Adder Model
-CreateLogicPage1.ModelNames.FourBitAdderModelName=F&our-bit Adder Model
-
-##############################################
-# LogicPlugin and Tools
-##############################################
-LogicPlugin.Category.ComplexParts.Label=Canned Parts
-LogicPlugin.Category.Components.Label=Components
-LogicPlugin.Category.ControlGroup.Label=Control Group
-LogicPlugin.Tool.CreationTool.LiveGroundStack.Label=Live & Ground Stack
-LogicPlugin.Tool.CreationTool.LiveGroundStack.Description=A stack containg the live output and ground parts
-LogicPlugin.Tool.CreationTool.LogicLabel=Label
-LogicPlugin.Tool.CreationTool.Label.Label=Label
-LogicPlugin.Tool.CreationTool.Label.Description=Creates labels (they support renaming, resizing, dragging, cut and paste, etc.)
-LogicPlugin.Tool.CreationTool.FlowContainer.Label=Flow Container
-LogicPlugin.Tool.CreationTool.FlowContainer.Description=Creates a container that can hold other circuit components
-LogicPlugin.Tool.CreationTool.HalfAdder.Label=HalfAdder
-LogicPlugin.Tool.CreationTool.HalfAdder.Description=Creates a circuit representing a half-adder
-LogicPlugin.Tool.CreationTool.FullAdder.Label=FullAdder
-LogicPlugin.Tool.CreationTool.FullAdder.Description=Creates a circuit representing a full-adder (uses two half-adders)
-LogicPlugin.Tool.CreationTool.LED.Label=LED
-LogicPlugin.Tool.CreationTool.LED.Description=Creates an LED which is used to read voltage input/output
-LogicPlugin.Tool.CreationTool.Circuit.Label=Circuit
-LogicPlugin.Tool.CreationTool.Circuit.Description=Create a circuit.  It can be connected to external circuits/parts, and can have an intricate design as well.
-LogicPlugin.Tool.CreationTool.ORGate.Label=Or Gate
-LogicPlugin.Tool.CreationTool.ORGate.Description=Create a gate that performs the logical OR operation
-LogicPlugin.Tool.CreationTool.XORGate.Label=XOR Gate
-LogicPlugin.Tool.CreationTool.XORGate.Description=Creates a gate that can perform the logical XOR operation
-LogicPlugin.Tool.CreationTool.ANDGate.Label=And Gate
-LogicPlugin.Tool.CreationTool.ANDGate.Description=Creates a gate that can perform the logical AND operation
-LogicPlugin.Tool.CreationTool.LiveOutput.Label=V+
-LogicPlugin.Tool.CreationTool.LiveOutput.Description=Creates a voltage positive node, which is an electrical equivalent of logical 'true'
-LogicPlugin.Tool.CreationTool.Ground.Label=Ground
-LogicPlugin.Tool.CreationTool.Ground.Description=Creates a ground node, which is an electrical equivalent of logical 'false'
-LogicPlugin.Tool.SelectionTool.SelectionTool.Label=Selection
-LogicPlugin.Tool.SelectionTool.SelectionTool.Description=Selection Tool can be used to select a figure in the editor.
-LogicPlugin.Tool.MarqueeSelectionTool.MarqueeSelectionTool.Label=Marquee
-LogicPlugin.Tool.MarqueeSelectionTool.MarqueeSelectionTool.Description=Marquee Selection Tool can be used to select multiple parts in the editor.
-LogicPlugin.Tool.ConnectionCreationTool.ConnectionCreationTool.Label=Connection
-LogicPlugin.Tool.ConnectionCreationTool.ConnectionCreationTool.Description=Connection tool can be used to connect the various circuit parts.
-
-##############################################
-# Commands
-##############################################
-AddChildCommand.Label=Add child to parent
-AddCommand.Label=Add command
-AddCommand.Description=Add
-
-ConnectionCommand.Label=wire connection
-ConnectionCommand.Description=Connection change
-
-CloneCommand.Label=Clone Object
-CloneCommand.Description=Clone
-
-CreateCommand.Label=Create Object
-CreateCommand.Description=Create
-
-OrphanChildCommand.Label=Orphan LogicSubpart
-
-ReorderPartCommand.Label=Reorder Subpart
-ReorderPartCommand.Description=Reorder
-
-SetLocationCommand.Description=Move Object
-SetLocationCommand.Label.Location=Move Object
-SetLocationCommand.Label.Resize=Resize Object
-SetMultipleLocationCommand.Description=Move Objects
-SetMultipleLocationCommand.Label.Location=Move Objects
-SetMultipleLocationCommand.Label.Resize=Resize Objects
-
-DeleteCommand.Label=Delete Object
-DeleteCommand.Description=Delete Object
-DeleteMultipleCommand.Label=Delete Objects
-DeleteMultipleCommand.Description=Delete Objects
-
-###############################################
-# Used by LogicEditor
-##############################################\
-GraphicalEditor.FILE_DELETED_TITLE_UI_ = File Deleted
-GraphicalEditor.FILE_DELETED_WITHOUT_SAVE_INFO_ = IWAG0001I The file has been deleted from the file system.  Do you want to save your changes or close the editor without saving?
-GraphicalEditor.SAVE_BUTTON_UI_ = Save
-GraphicalEditor.CLOSE_BUTTON_UI_ = Close
-
-###############################################
-# Exceptions
-###############################################
-LogicEditPart.CreateChild.Exception.Runtime_EXC_=This object has no children
-
-
-###############################################
-# Rulers and Guides
-###############################################
-CreateGuideCommand_Label=Create Guide
-DeleteGuideCommand_Label=Delete Guide
-MoveGuideCommand_Label=Move Guide
-
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.xml b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.xml
deleted file mode 100644
index 94d159f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-     <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            default="true"
-            name="Tabbed Properties View Example Logic Editor"
-            extensions="tabbedpropertieslogic"
-            icon="icons/logic.gif"
-            class="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor"
-            contributorClass="org.eclipse.gef.examples.logicdesigner.actions.LogicActionBarContributor"
-            id="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="Tabbed Properties View Examples"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.ui.views.properties.tabbed">
-      </category>
-      <wizard
-            name="Tabbed Properties View Logic Example File"
-            icon="icons/logic.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.ui.views.properties.tabbed"
-            class="org.eclipse.ui.examples.views.properties.tabbed.logic.LogicCreationWizard"
-            id="org.eclipse.ui.examples.views.properties.tabbed.logic.LogicCreationWizard">
-         <description>
-            Create a new Tabbed Properties View Logic Example file
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor
-            typeMapper="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.LogicElementTypeMapper"
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor"
-            labelProvider="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.LogicElementLabelProvider">
-         <propertyCategory
-               category="element">
-         </propertyCategory>
-         <propertyCategory
-               category="other">
-         </propertyCategory>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
-      <propertyTabs
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor">
-         <propertyTab
-               label="Advanced"
-               category="other"
-               afterTab="logic.tab.Size"
-               id="logic.tab.Advanced">
-         </propertyTab>
-         <propertyTab
-               label="Location"
-               category="other"
-               id="logic.tab.Location">
-         </propertyTab>
-         <propertyTab
-               label="Size"
-               category="other"
-               afterTab="logic.tab.Location"
-               id="logic.tab.Size">
-         </propertyTab>
-         <propertyTab
-               label="Element"
-               category="element"
-               id="logic.tab.Element">
-         </propertyTab>
-      </propertyTabs>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertySections">
-      <propertySections
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor">
-         <propertySection
-               tab="logic.tab.Element"
-               class="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.ValueSection"
-               afterSection="logic.section.Name"
-               id="logic.section.Value">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LED">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="logic.tab.Advanced"
-               class="org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection"
-               id="logic.section.Advanced">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LogicElement">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="logic.tab.Element"
-               class="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.NameSection"
-               id="logic.section.Name">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LogicElement">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="logic.tab.Location"
-               class="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.LocationSection"
-               id="logic.section.Location">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LogicSubpart">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="logic.tab.Size"
-               filter="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.LogicElementSizeFilter"
-               class="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.SizeSection"
-               id="logic.section.Size">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LogicSubpart">
-            </input>
-         </propertySection>
-      </propertySections>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/Activator.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/Activator.java
deleted file mode 100644
index 74a5914..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/Activator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class Activator
-	extends AbstractUIPlugin {
-
-	// The shared instance.
-	private static Activator plugin;
-
-	/**
-	 * The constructor.
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context)
-		throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context)
-		throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 * 
-	 * @return the shared instance.
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given plug-in
-	 * relative path.
-	 * 
-	 * @param path
-	 *            the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin(
-			"org.eclipse.ui.examples.views.properties.tabbed.logic", path);//$NON-NLS-1$
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicCreationWizard.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicCreationWizard.java
deleted file mode 100644
index cd13407..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicCreationWizard.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-public class LogicCreationWizard
-    extends Wizard
-    implements INewWizard {
-
-    private LogicWizardPage1 logicPage = null;
-
-    private IStructuredSelection selection;
-
-    private IWorkbench workbench;
-
-    public void addPages() {
-        logicPage = new LogicWizardPage1(workbench, selection);
-        addPage(logicPage);
-    }
-
-    public void init(IWorkbench aWorkbench,
-            IStructuredSelection currentSelection) {
-        workbench = aWorkbench;
-        selection = currentSelection;
-    }
-
-    public boolean performFinish() {
-        return logicPage.finish();
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicWizardPage1.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicWizardPage1.java
deleted file mode 100644
index 407d96f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicWizardPage1.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.ObjectOutputStream;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-
-import org.eclipse.core.resources.IFile;
-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.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-import org.eclipse.gef.examples.logicdesigner.model.LogicDiagram;
-import org.eclipse.gef.examples.logicdesigner.model.LogicDiagramFactory;
-
-public class LogicWizardPage1
-    extends WizardNewFileCreationPage
-    implements SelectionListener {
-
-    private IWorkbench workbench;
-
-    private static int exampleCount = 1;
-
-    private Button model1 = null;
-
-    private Button model2 = null;
-
-    private int modelSelected = 1;
-
-    public LogicWizardPage1(IWorkbench aWorkbench,
-            IStructuredSelection selection) {
-        super("sampleLogicPage1", selection); //$NON-NLS-1$
-        this.setTitle("Tabbed Properties View Logic Example");//$NON-NLS-1$
-        this
-            .setDescription("Create a new Tabbed Properties View Logic Example file");//$NON-NLS-1$
-        this.setImageDescriptor(ImageDescriptor.createFromFile(getClass(),
-            "icons/logicbanner.gif")); //$NON-NLS-1$
-        this.workbench = aWorkbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        this
-            .setFileName("emptyModel" + exampleCount + ".tabbedpropertieslogic"); //$NON-NLS-2$//$NON-NLS-1$
-
-        Composite composite = (Composite) getControl();
-
-        // sample section generation group
-        Group group = new Group(composite, SWT.NONE);
-        group.setLayout(new GridLayout());
-        group.setText("Logic Model Samples"); //$NON-NLS-1$
-        group.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-            | GridData.HORIZONTAL_ALIGN_FILL));
-
-        // sample section generation checkboxes
-        model1 = new Button(group, SWT.RADIO);
-        model1.setText("E&mpty Model");//$NON-NLS-1$
-        model1.addSelectionListener(this);
-        model1.setSelection(true);
-
-        model2 = new Button(group, SWT.RADIO);
-        model2.setText("F&our-bit Adder Model");//$NON-NLS-1$
-        model2.addSelectionListener(this);
-
-        new Label(composite, SWT.NONE);
-
-        setPageComplete(validatePage());
-    }
-
-    protected InputStream getInitialContents() {
-        LogicDiagram ld = new LogicDiagram();
-        if (modelSelected == 2)
-            ld = (LogicDiagram) LogicDiagramFactory.createLargeModel();
-        ByteArrayInputStream bais = null;
-        try {
-            ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            ObjectOutputStream oos = new ObjectOutputStream(baos);
-            oos.writeObject(ld);
-            oos.flush();
-            oos.close();
-            baos.close();
-            bais = new ByteArrayInputStream(baos.toByteArray());
-            bais.close();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return bais;
-    }
-
-    public boolean finish() {
-        IFile newFile = createNewFile();
-        if (newFile == null)
-            return false; // ie.- creation was unsuccessful
-
-        // Since the file resource was created fine, open it for editing
-        // iff requested by the user
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (org.eclipse.ui.PartInitException e) {
-            e.printStackTrace();
-            return false;
-        }
-        exampleCount++;
-        return true;
-    }
-
-    /**
-     * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
-     */
-    public void widgetSelected(SelectionEvent e) {
-        if (e.getSource() == model1) {
-            modelSelected = 1;
-            setFileName("emptyModel" + exampleCount + ".tabbedpropertieslogic"); //$NON-NLS-2$//$NON-NLS-1$
-        } else {
-            modelSelected = 2;
-            setFileName("fourBitAdder" + exampleCount + ".tabbedpropertieslogic"); //$NON-NLS-2$//$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Empty method
-     */
-    public void widgetDefaultSelected(SelectionEvent e) {
-        //
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/TabbedPropertiesLogicEditor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/TabbedPropertiesLogicEditor.java
deleted file mode 100644
index a789382..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/TabbedPropertiesLogicEditor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic;
-
-import org.eclipse.gef.examples.logicdesigner.LogicEditor;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-public class TabbedPropertiesLogicEditor
-    extends LogicEditor
-    implements ITabbedPropertySheetPageContributor {
-
-    private TabbedPropertySheetPage tabbedPropertySheetPage;
-
-    protected void initializeGraphicalViewer() {
-        super.initializeGraphicalViewer();
-        this.tabbedPropertySheetPage = new TabbedPropertySheetPage(this);
-    }
-
-    public String getContributorId() {
-        return getSite().getId();
-    }
-
-    public Object getAdapter(Class type) {
-        if (type == IPropertySheetPage.class)
-            return tabbedPropertySheetPage;
-        return super.getAdapter(type);
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/AbstractSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/AbstractSection.java
deleted file mode 100644
index eb0b72b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/AbstractSection.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.examples.logicdesigner.model.LogicElement;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-
-/**
- * Abstract class for a section in a tab in the properties view.
- * 
- * @author Anthony Hunter 
- */
-public abstract class AbstractSection
-	extends AbstractPropertySection implements PropertyChangeListener {
-
-	private LogicElement element;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#setInput(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		super.setInput(part, selection);
-		Assert.isTrue(selection instanceof IStructuredSelection);
-		Object input = ((IStructuredSelection)selection).getFirstElement();
-		Assert.isTrue(input instanceof EditPart);
-		Object model = ((EditPart) input).getModel();
-		Assert.isTrue(model instanceof LogicElement);
-		this.element = (LogicElement) model;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#aboutToBeShown()
-	 */
-	public void aboutToBeShown() {
-		getElement().addPropertyChangeListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#aboutToBeHidden()
-	 */
-	public void aboutToBeHidden() {
-		getElement().removePropertyChangeListener(this);
-	}
-
-	/**
-	 * Get the element.
-	 * @return the element.
-	 */
-	public LogicElement getElement() {
-		return element;
-	}
-
-	/**
-	 * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent evt) {
-		refresh();
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LocationSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LocationSection.java
deleted file mode 100644
index 3049fa2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LocationSection.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.examples.logicdesigner.model.LogicSubpart;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-
-/**
- * The location section on the location tab.
- * 
- * @author Anthony Hunter 
- */
-public class LocationSection extends AbstractSection {
-	private Text xText;
-	private Text yText;
-
-	/**
-	 * A helper to listen for events that indicate that a text
-	 * field has been changed.
-	 */
-	private TextChangeHelper listener = new TextChangeHelper() {
-		public void textChanged(Control control) {
-			Point point = new Point();
-			point.x = Integer.parseInt(xText.getText());
-			point.y = Integer.parseInt(yText.getText());
-			((LogicSubpart) getElement()).setLocation(point);
-		}
-	};
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite =
-			getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		xText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		xText.setLayoutData(data);
-
-		CLabel xLabel = getWidgetFactory().createCLabel(composite, "X:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right =
-			new FormAttachment(xText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(xText, 0, SWT.CENTER);
-		xLabel.setLayoutData(data);
-
-		yText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(xText, 0, SWT.LEFT);
-		data.right = new FormAttachment(xText, 0, SWT.RIGHT);
-		data.top =
-			new FormAttachment(
-				xText,
-				ITabbedPropertyConstants.VSPACE,
-				SWT.BOTTOM);
-		yText.setLayoutData(data);
-
-		CLabel yLabel = getWidgetFactory().createCLabel(composite, "Y:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right =
-			new FormAttachment(yText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(yText, 0, SWT.CENTER);
-		yLabel.setLayoutData(data);
-
-		listener.startListeningForEnter(xText);
-		listener.startListeningTo(xText);
-		listener.startListeningForEnter(yText);
-		listener.startListeningTo(yText);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		Assert.isTrue(getElement() instanceof LogicSubpart);
-		listener.startNonUserChange();
-		try {
-			Point point = ((LogicSubpart) getElement()).getLocation();
-			xText.setText(Integer.toString(point.x));
-			yText.setText(Integer.toString(point.y));
-		} finally {
-			listener.finishNonUserChange();
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementLabelProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementLabelProvider.java
deleted file mode 100644
index 57ea088..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementLabelProvider.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import java.util.Iterator;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.examples.logicdesigner.model.Circuit;
-import org.eclipse.gef.examples.logicdesigner.model.LogicElement;
-import org.eclipse.gef.examples.logicdesigner.model.LogicSubpart;
-import org.eclipse.gef.examples.logicdesigner.model.Wire;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-
-/**
- * Label provider for the title bar for the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class LogicElementLabelProvider
-	extends LabelProvider {
-
-	private ITypeMapper typeMapper;
-
-	/**
-	 * constructor.
-	 */
-	public LogicElementLabelProvider() {
-		super();
-		typeMapper = new LogicElementTypeMapper();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object objects) {
-		if (objects == null || objects.equals(StructuredSelection.EMPTY)) {
-			return null;
-		}
-		final boolean multiple[] = {false};
-		Object object = getObject(objects, multiple);
-		if (object == null) {
-			ImageDescriptor imageDescriptor = ImageDescriptor.createFromFile(
-				Circuit.class, "icons/comp.gif");//$NON-NLS-1$
-			return imageDescriptor.createImage();
-		} else {
-			if (!(object instanceof EditPart)) {
-				return null;
-			}
-			LogicElement element = (LogicElement) ((EditPart) object)
-				.getModel();
-			if (element instanceof Wire) {
-				ImageDescriptor imageDescriptor = ImageDescriptor
-					.createFromFile(Circuit.class, "icons/connection16.gif");//$NON-NLS-1$
-				return imageDescriptor.createImage();
-			}
-			return ((LogicSubpart) element).getIconImage();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object objects) {
-		if (objects == null || objects.equals(StructuredSelection.EMPTY)) {
-			return "No items selected";//$NON-NLS-1$
-		}
-		final boolean multiple[] = {false};
-		final Object object = getObject(objects, multiple);
-		if (object == null || ((IStructuredSelection) objects).size() > 1) {
-			return ((IStructuredSelection) objects).size() + " items selected";//$NON-NLS-1$
-		} else {
-			String name = typeMapper.mapType(object).getName();
-			return name.substring(name.lastIndexOf('.') + 1);
-		}
-	}
-
-	/**
-	 * Determine if a multiple object selection has been passed to the label
-	 * provider. If the objects is a IStructuredSelection, see if all the
-	 * objects in the selection are the same and if so, we want to provide
-	 * labels for the common selected element.
-	 * 
-	 * @param objects
-	 *            a single object or a IStructuredSelection.
-	 * @param multiple
-	 *            first element in the array is true if there is multiple
-	 *            unequal selected elements in a IStructuredSelection.
-	 * @return the object to get labels for.
-	 */
-	private Object getObject(Object objects, boolean multiple[]) {
-		Assert.isNotNull(objects);
-		Object object = null;
-		if (objects instanceof IStructuredSelection) {
-			IStructuredSelection selection = (IStructuredSelection) objects;
-			object = selection.getFirstElement();
-			if (selection.size() == 1) {
-				// one element selected
-				multiple[0] = false;
-				return object;
-			}
-			// multiple elements selected
-			multiple[0] = true;
-			Class firstClass = typeMapper.mapType(object);
-			// determine if all the objects in the selection are the same type
-			if (selection.size() > 1) {
-				for (Iterator i = selection.iterator(); i.hasNext();) {
-					Object next = i.next();
-					Class nextClass = typeMapper.mapType(next);
-					if (!nextClass.equals(firstClass)) {
-						// two elements not equal == multiple selected unequal
-						multiple[0] = false;
-						object = null;
-						break;
-					}
-				}
-			}
-		} else {
-			multiple[0] = false;
-			object = objects;
-		}
-		return object;
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementSizeFilter.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementSizeFilter.java
deleted file mode 100644
index 92390c6..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementSizeFilter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.examples.logicdesigner.model.LogicElement;
-import org.eclipse.gef.examples.logicdesigner.model.LogicSubpart;
-import org.eclipse.jface.viewers.IFilter;
-
-/**
- * Filter for the size section, do not display when the size cannot be modified.
- * 
- * @author Anthony Hunter
- */
-public class LogicElementSizeFilter
-	implements IFilter {
-
-	/**
-	 * @inheritDoc
-	 */
-	public boolean select(Object object) {
-		if (object instanceof EditPart) {
-			LogicElement element = (LogicElement) ((EditPart) object)
-				.getModel();
-			if (element instanceof LogicSubpart) {
-				Dimension dimension = ((LogicSubpart) element).getSize();
-				if (dimension.width != -1 && dimension.height != -1) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementTypeMapper.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementTypeMapper.java
deleted file mode 100644
index 5e2edcf..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementTypeMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-
-/**
- * Type mapper for the logic example. We want to get the GEF model
- * object from the selected element in the outline view and the diagram.
- * We can then filter on the model object type.
- * 
- * @author Anthony Hunter 
- */
-public class LogicElementTypeMapper
-	implements ITypeMapper {
-
-	/**
-	 * @inheritDoc 
-	 */
-	public Class mapType(Object object) {
-		Class type = object.getClass();
-		if (object instanceof EditPart) {
-			type = ((EditPart) object).getModel().getClass();
-		}
-		return type;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/NameSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/NameSection.java
deleted file mode 100644
index 8942956..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/NameSection.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * The name section on the element tab.
- * 
- * @author Anthony Hunter
- */
-public class NameSection
-	extends AbstractSection {
-
-	Text nameText;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		nameText.setEditable(false);
-		data = new FormData();
-		data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		nameText.setLayoutData(data);
-
-		CLabel nameLabel = getWidgetFactory().createCLabel(composite, "Name:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(nameText,
-			-ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(nameText, 0, SWT.CENTER);
-		nameLabel.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		nameText.setText((getElement()).toString());
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/SizeSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/SizeSection.java
deleted file mode 100644
index 6dd109a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/SizeSection.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.examples.logicdesigner.model.LogicSubpart;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * The size section on the size tab. TODO: Properties View for Aurora (Anthony
- * Hunter)
- * 
- * @author Anthony Hunter
- */
-public class SizeSection
-	extends AbstractSection {
-
-	Text widthText;
-
-	Text heightText;
-
-	/**
-	 * A helper to listen for events that indicate that a text field has been
-	 * changed.
-	 */
-	private TextChangeHelper listener = new TextChangeHelper() {
-
-		public void textChanged(Control control) {
-			Dimension dimension = new Dimension();
-			dimension.width = Integer.parseInt(widthText.getText());
-			dimension.height = Integer.parseInt(heightText.getText());
-			((LogicSubpart) getElement()).setSize(dimension);
-		}
-	};
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		widthText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		widthText.setLayoutData(data);
-
-		CLabel widthLabel = getWidgetFactory()
-			.createCLabel(composite, "Width:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(widthText,
-			-ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(widthText, 0, SWT.CENTER);
-		widthLabel.setLayoutData(data);
-
-		heightText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(widthText, 0, SWT.LEFT);
-		data.right = new FormAttachment(widthText, 0, SWT.RIGHT);
-		data.top = new FormAttachment(widthText,
-			ITabbedPropertyConstants.VSPACE, SWT.BOTTOM);
-		heightText.setLayoutData(data);
-
-		CLabel heightLabel = getWidgetFactory().createCLabel(composite,
-			"Height:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(heightText,
-			-ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(heightText, 0, SWT.CENTER);
-		heightLabel.setLayoutData(data);
-
-		listener.startListeningForEnter(heightText);
-		listener.startListeningTo(heightText);
-		listener.startListeningForEnter(widthText);
-		listener.startListeningTo(widthText);
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		Assert.isTrue(getElement() instanceof LogicSubpart);
-		listener.startNonUserChange();
-		try {
-			Dimension dimension = ((LogicSubpart) getElement()).getSize();
-			widthText.setText(Integer.toString(dimension.width));
-			heightText.setText(Integer.toString(dimension.height));
-		} finally {
-			listener.finishNonUserChange();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/TextChangeHelper.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/TextChangeHelper.java
deleted file mode 100644
index c9a566a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/TextChangeHelper.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * TextChangeHelper notifies the listner of text lifecycle events 
- * on behalf of the widget(s) it listens to. 
- * 
- * @author Anthony Hunter
- */
-public abstract class TextChangeHelper implements Listener {
-	
-	private boolean nonUserChange;
-
-	/**
-	 * Marks the start of a programmatic change to the widget contents.
-	 * Clients must call startNonUserChange() before directly setting 
-	 * the widget contents to avoid unwanted lifecycle events.
-	 * @throws IllegalArgumentException if a programmatic change is 
-	 * already in progress.
-	 */
-	public void startNonUserChange() {
-		if (nonUserChange)
-			throw new IllegalStateException("we already started a non user change");//$NON-NLS-1$
-		nonUserChange = true;
-	}
-
-	/**
-	 * Clients who call startNonUserChange() should call 
-	 * finishNonUserChange() as soon as possible after the change is done.
-	 * @throws IllegalArgumentException if no change is in progress.
-	 */
-	public void finishNonUserChange() {
-		if (!nonUserChange)
-			throw new IllegalStateException("we are not in a non user change");//$NON-NLS-1$
-		nonUserChange = false;
-	}
-
-	/**
-	 * Returns true if a programmatic change is in progress.
-	 */
-	public boolean isNonUserChange() {
-		return nonUserChange;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		switch (event.type) {
-			case SWT.KeyDown :
-				if (event.character == SWT.CR)
-					textChanged((Control)event.widget);
-				break;
-			case SWT.FocusOut :
-				textChanged((Control)event.widget);
-				break;
-		}
-	}
-
-	/**
-	 * Abstract method notified when a text field has been changed.
-	 * @param control
-	 */
-	public abstract void textChanged(Control control);
-
-	/**
-	 * Registers this helper with the given control to listen for events
-	 * which indicate that a change is in progress (or done).
-	 */
-	public void startListeningTo(Control control) {
-		control.addListener(SWT.FocusOut, this);
-		control.addListener(SWT.Modify, this);
-	}
-
-	/**
-	 * Registers this helper with the given control to listen for the
-	 * Enter key.  When Enter is pressed, the change is considered done 
-	 * (this is only appropriate for single-line Text widgets).
-	 */
-	public void startListeningForEnter(Control control) {
-		// NOTE: KeyDown rather than KeyUp, because of similar usage in CCombo. 
-		control.addListener(SWT.KeyDown, this);
-	}
-
-	/**
-	 * Unregisters this helper from a control previously passed to
-	 * startListeningTo() and/or startListeningForEnter().
-	 */
-	public void stopListeningTo(Control control) {
-		control.removeListener(SWT.FocusOut, this);
-		control.removeListener(SWT.Modify, this);
-		control.removeListener(SWT.KeyDown, this);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/ValueSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/ValueSection.java
deleted file mode 100644
index 0195d44..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/ValueSection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.gef.examples.logicdesigner.model.LED;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * The value section on the element tab.
- * 
- * @author Anthony Hunter
- */
-public class ValueSection extends AbstractSection {
-
-	Text valueText;
-
-	/**
-	 * A helper to listen for events that indicate that a text
-	 * field has been changed.
-	 */
-	private TextChangeHelper listener = new TextChangeHelper() {
-		public void textChanged(Control control) {
-			((LED) getElement()).setValue(
-				Integer.parseInt(valueText.getText()));
-		}
-	};
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(
-		Composite parent,
-		TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		
-		Composite composite =
-			getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		valueText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		valueText.setLayoutData(data);
-
-		CLabel valueLabel = getWidgetFactory().createCLabel(composite, "Value:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right =
-			new FormAttachment(valueText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(valueText, 0, SWT.CENTER);
-		valueLabel.setLayoutData(data);
-
-		listener.startListeningForEnter(valueText);
-		listener.startListeningTo(valueText);
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		Assert.isTrue(getElement() instanceof LED);
-		listener.startNonUserChange();
-		try {
-			valueText.setText(
-				Integer.toString(((LED) getElement()).getValue()));
-		} finally {
-			listener.finishNonUserChange();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/.classpath b/examples/org.eclipse.ui.forms.examples/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.ui.forms.examples/.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.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 0039091..0000000
--- a/examples/org.eclipse.ui.forms.examples/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.forms.examples</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5709915..0000000
--- a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,48 +0,0 @@
-#Mon May 16 16:39:49 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
diff --git a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 817d509..0000000
--- a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon May 16 16:39:49 EDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index b4438da..0000000
--- a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon May 16 16:39:49 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.forms.examples/about.html b/examples/org.eclipse.ui.forms.examples/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.ui.forms.examples/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ 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 f953a52..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/
-bin.includes = plugin.xml,\
-               *.jar,\
-               examples.jar,\
-               icons/,\
-               about.html
-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/progress.gif b/examples/org.eclipse.ui.forms.examples/icons/progress.gif
deleted file mode 100644
index f6a200f..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/progress.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 d27b615..0000000
--- a/examples/org.eclipse.ui.forms.examples/plugin.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.forms.examples"
-   name="%pluginName"
-   version="3.1.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.ide"/>
-   </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>
-   </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>
-      </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>
-</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 6526d76..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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));
-		createCompositeControl(rtext, toolkit);
-		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) {
-		TreeNode node = new TreeNode(ftext, SWT.NULL);
-		toolkit.adapt(node, true, true);
-		ftext.setControl("node", node);
-	}
-	private void createCompositeControl(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));
-		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/NewStylePage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NewStylePage.java
deleted file mode 100644
index 6017186..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NewStylePage.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.forms.examples.internal.rcp;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-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.Text;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class NewStylePage extends FormPage {
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public NewStylePage(FormEditor editor) {
-		super(editor, "newStyle", "New Style");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		toolkit.getHyperlinkGroup().setHyperlinkUnderlineMode(HyperlinkSettings.UNDERLINE_HOVER);
-		form.setText("New Style Form");
-		FormColors colors = toolkit.getColors();
-		colors.initializeSectionToolBarColors();
-		Color gbg = colors.getColor(FormColors.TB_GBG);
-		Color bg = colors.getBackground();
-		form.getForm().setTextBackground(new Color[]{bg, gbg}, new int [] {100}, true);
-		form.getForm().setSeparatorColor(colors.getColor(FormColors.TB_BORDER));
-		form.getForm().setSeparatorVisible(true);
-		ToolBarManager tbm = (ToolBarManager)form.getForm().getToolBarManager();
-		tbm.getControl().setBackground(colors.getColor(FormColors.TB_GBG));
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginBottom = 5;
-		layout.marginWidth = 10;
-		form.getBody().setLayout(layout);
-		
-		Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TWISTIE|ExpandableComposite.EXPANDED);
-		Composite client = toolkit.createComposite(section);
-		section.setClient(client);
-		section.setText("Details");
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		section.setLayoutData(gd);
-		
-		layout = new GridLayout();
-		layout.numColumns = 4;
-		client.setLayout(layout);
-
-		Button error = toolkit.createButton(client, "Error", SWT.PUSH);
-		error.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.getForm().setMessage("Test for an error message", IMessageProvider.ERROR);				
-				
-			}
-		});
-		Button warning = toolkit.createButton(client, "Warning", SWT.PUSH);
-		warning.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.getForm().setMessage("Test for a warning message", IMessageProvider.WARNING);
-			}
-		});		
-		Button info = toolkit.createButton(client, "Info", SWT.PUSH);
-		info.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.getForm().setMessage("Test for an info message", IMessageProvider.INFORMATION);
-			}
-		});		
-		Button cancel = toolkit.createButton(client, "Cancel", SWT.PUSH);
-		cancel.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.getForm().setMessage(null);
-			}
-		});		
-		
-		final Button busy = toolkit.createButton(client, "Start Progress", SWT.PUSH);
-		busy.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (form.getForm().isBusy()) {
-					form.getForm().setBusy(false);
-					busy.setText("Start Progress");
-				}
-				else {
-					form.getForm().setBusy(true);
-					busy.setText("Stop Progress");
-				}
-			}
-		});
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		busy.setLayoutData(gd);
-		
-		Composite right = toolkit.createComposite(form.getBody());
-		right.setLayoutData(new GridData(GridData.FILL_BOTH));
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 10;
-		layout.marginHeight = 0;
-		right.setLayout(layout);
-
-		section = toolkit.createSection(right, ExpandableComposite.TWISTIE|ExpandableComposite.EXPANDED);
-		Text desc = toolkit.createText(section, "Sample description", SWT.MULTI);
-		section.setClient(desc);
-		section.setText("Description");
-		gd = new GridData(GridData.FILL_BOTH);
-		section.setLayoutData(gd);
-		
-		section = toolkit.createSection(right, ExpandableComposite.TWISTIE|ExpandableComposite.SHORT_TITLE_BAR|ExpandableComposite.EXPANDED);
-		desc = toolkit.createText(section, "Lorem ipsum dolor sit amet.", SWT.MULTI);
-		section.setClient(desc);
-		section.setText("Discussion");
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.verticalSpan = 2;
-		section.setLayoutData(gd);
-		
-		Action haction = new Action("hor", Action.AS_RADIO_BUTTON) {
-			public void run() {
-			}
-		};
-		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() {
-			}
-		};
-		vaction.setChecked(false);
-		vaction.setToolTipText("Vertical orientation");
-		vaction.setImageDescriptor(ExamplesPlugin.getDefault()
-				.getImageRegistry().getDescriptor(ExamplesPlugin.IMG_VERTICAL));
-		form.getToolBarManager().add(haction);
-		form.getToolBarManager().add(vaction);
-		form.getToolBarManager().update(true);
-		form.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW));
-		Composite headClient = new Composite(form.getForm().getHead(), SWT.NULL);
-		GridLayout glayout = new GridLayout();
-		glayout.marginWidth = glayout.marginHeight = 0;
-		glayout.numColumns = 3;
-		headClient.setLayout(glayout);
-		Text t = new Text(headClient, SWT.BORDER);
-		t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		new Combo(headClient, SWT.NULL);
-		new Combo(headClient, SWT.NULL);
-		form.getForm().setHeadClient(headClient);
-	}
-}
\ 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 461dadb..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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.TITLE_BAR);
-		section.setActiveToggleColor(
-			toolkit.getHyperlinkGroup().getActiveForeground());
-		section.setToggleColor(
-			toolkit.getColors().getColor(FormColors.SEPARATOR));
-		//section.setTitleBarForeground(section.getDisplay().getSystemColor(SWT.COLOR_BLACK));
-		//section.setTitleBarGradientBackground(section.getDisplay().getSystemColor(SWT.COLOR_GREEN));
-
-		FormText description = toolkit.createFormText(section, false);
-		description.setText("<form><p>This description has <b>bold</b> text.</p></form>", true, false);
-		section.setDescriptionControl(description);
-		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("<form><p>This section has a <b>tree</b> and a button. It also has <a>a link</a> in the description.</p></form>");
-		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 97abf25..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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 NewStylePage(this));
-		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 7ecbb7e..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.SHORT_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 835ba77..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.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.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);
-		client.setBackground(client.getDisplay().getSystemColor(SWT.COLOR_CYAN));
-		
-		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, false);
-		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 0365146..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.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.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);
-		client.setBackground(client.getDisplay().getSystemColor(SWT.COLOR_MAGENTA));
-		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 5a10e22..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<form>
-<p><control href="node"/></p>
-<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 13843f1..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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);
-		
-		ImageHyperlink ih = toolkit.createImageHyperlink(form.getBody(), SWT.NULL);
-		ih.setText("Image link with no image");
-		ih = toolkit.createImageHyperlink(form.getBody(), SWT.NULL);
-		ih.setImage(ExamplesPlugin.getDefault().getImageRegistry().get(ExamplesPlugin.IMG_SAMPLE));
-		ih.setText("Link with image and text");
-		
-		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/><br/><br/> \n more <b>   bb   </b>  white  . </p>");
-		buf.append("</form>");
-		FormText rtext = toolkit.createFormText(form.getBody(), false);
-		//rtext.setWhitespaceNormalized(false);
-		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() {
-		Control focusControl = form.getDisplay().getFocusControl();
-		if (focusControl!=null) {
-			Composite parent = focusControl.getParent();
-			while (parent!=null) {
-				if (parent==form) {
-					// already have focus
-					return;
-				}
-				parent = parent.getParent();
-			}
-		}
-		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/tests/org.eclipse.jface.tests.databinding/.classpath b/tests/org.eclipse.jface.tests.databinding/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/tests/org.eclipse.jface.tests.databinding/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.jface.tests.databinding/.cvsignore b/tests/org.eclipse.jface.tests.databinding/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.jface.tests.databinding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.jface.tests.databinding/.project b/tests/org.eclipse.jface.tests.databinding/.project
deleted file mode 100644
index 815de41..0000000
--- a/tests/org.eclipse.jface.tests.databinding/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jface.tests.databinding</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/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 221d96e..0000000
--- a/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,324 +0,0 @@
-#Mon Feb 06 11:15:14 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=80
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6aebfbe..0000000
--- a/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Oct 27 11:49:17 EDT 2005
-eclipse.preferences.version=1
-formatter_settings_version=8
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<templates><template id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment" description\="Comment for getter method" context\="gettercomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * @return Returns the ${bare_field_name}.\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment" description\="Comment for setter method" context\="settercomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * @param ${param} The ${bare_field_name} to set.\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment" description\="Comment for created constructors" context\="constructorcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * ${tags}\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment" description\="Comment for created Java files" context\="filecomment_context" enabled\="true" deleted\="false" autoinsert\="true">/*******************************************************************************\r\n * Copyright (c) ${year} IBM Corporation and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *     IBM Corporation - initial API and implementation\r\n ******************************************************************************/\r\n</template><template id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment" description\="Comment for created types" context\="typecomment_context" enabled\="true" deleted\="false" autoinsert\="false">/**\r\n * @since 3.2\r\n *\r\n * ${tags}\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment" description\="Comment for fields" context\="fieldcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * \r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment" description\="Comment for non-overriding methods" context\="methodcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\r\n * ${tags}\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment" description\="Comment for overriding methods" context\="overridecomment_context" enabled\="true" deleted\="false" autoinsert\="true">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype" description\="Newly created files" context\="newtype_context" enabled\="true" deleted\="false" autoinsert\="true">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock" description\="Code in new catch blocks" context\="catchblock_context" enabled\="true" deleted\="false" autoinsert\="true">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody" description\="Code in created method stubs" context\="methodbody_context" enabled\="true" deleted\="false" autoinsert\="true">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody" description\="Code in created constructor stubs" context\="constructorbody_context" enabled\="true" deleted\="false" autoinsert\="true">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody" description\="Code in created getters" context\="getterbody_context" enabled\="true" deleted\="false" autoinsert\="true">return ${field};</template><template id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody" description\="Code in created setters" context\="setterbody_context" enabled\="true" deleted\="false" autoinsert\="true">${field} \= ${param};</template></templates>
diff --git a/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 630927b..0000000
--- a/tests/org.eclipse.jface.tests.databinding/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Oct 18 11:35:02 EDT 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/tests/org.eclipse.jface.tests.databinding/META-INF/MANIFEST.MF b/tests/org.eclipse.jface.tests.databinding/META-INF/MANIFEST.MF
deleted file mode 100644
index 74ddc12..0000000
--- a/tests/org.eclipse.jface.tests.databinding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jface.tests.databinding
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: jfacebindingtests.jar
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.jface.databinding,
- org.junit,
- org.eclipse.swt,
- org.eclipse.jface,
- org.eclipse.core.runtime,
- org.eclipse.jface.examples.databinding
-Export-Package: org.eclipse.jface.tests.databinding.util
diff --git a/tests/org.eclipse.jface.tests.databinding/about.html b/tests/org.eclipse.jface.tests.databinding/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/tests/org.eclipse.jface.tests.databinding/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.jface.tests.databinding/build.properties b/tests/org.eclipse.jface.tests.databinding/build.properties
deleted file mode 100644
index e671f5a..0000000
--- a/tests/org.eclipse.jface.tests.databinding/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.jfacebindingtests.jar = src/
-               
-src.includes = about.html
-output.jfacebindingtests.jar = bin/
-bin.includes = META-INF/,\
-               about.html,\
-               test.xml,\
-               *.html,\
-               jfacebindingtests.jar,\
-               plugin.properties
diff --git a/tests/org.eclipse.jface.tests.databinding/plugin.properties b/tests/org.eclipse.jface.tests.databinding/plugin.properties
deleted file mode 100644
index 6f8acfc..0000000
--- a/tests/org.eclipse.jface.tests.databinding/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = JFace Data Binding Tests
-providerName = Eclipse.org
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/databinding/SelectionAwareUpdatableCollectionTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/databinding/SelectionAwareUpdatableCollectionTest.java
deleted file mode 100644
index c4d5848..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/databinding/SelectionAwareUpdatableCollectionTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.jface.databinding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-public class SelectionAwareUpdatableCollectionTest extends TestCase {
-
-	public void testGetElementsAndSetElements() {
-		TestSelectionUpdatableCollection collection = new TestSelectionUpdatableCollection();
-		String string1 = "string1";
-		String string2 = "string2";
-		String string3 = "string3";
-		String string4 = "string4";
-		String string5 = "string5";
-		
-		collection.addElement(string1, 0);
-		collection.addElement(string2, 1);
-		collection.setSelectedObject(string1);
-		
-		List elementsToUpdate = new ArrayList();
-		elementsToUpdate.add(string3);
-		elementsToUpdate.add(string4);
-		elementsToUpdate.add(string5);
-		
-		collection.setElements(elementsToUpdate);
-		
-		assertEquals("The collection was not updated to the right size.", 3, collection.getSize());
-		assertEquals("The wrong element was found in position 0", string3, collection.getElement(0));
-		assertEquals("The wrong element was found in position 1", string4, collection.getElement(1));
-		assertEquals("The wrong element was found in position 2", string5, collection.getElement(2));
-		assertNull("The selected object was not reset as expected", collection.getSelectedObject());
-		
-		assertNotSame("The all elements list instance should not be the one provided in the set.", elementsToUpdate, collection.getElements());
-		
-		List returnedList = collection.getElements();
-		assertEquals("The wrong element was found in position 0 of the returned list", string3, returnedList.get(0));
-		assertEquals("The wrong element was found in position 1 of the returned list", string4, returnedList.get(1));
-		assertEquals("The wrong element was found in position 2 of the returned list", string5, returnedList.get(2));
-		
-		collection.setSelectedObject(string3);
-		
-		elementsToUpdate = new ArrayList();
-		elementsToUpdate.add(string1);
-		elementsToUpdate.add(string2);
-		elementsToUpdate.add(string3);
-		
-		collection.setElements(elementsToUpdate);
-		
-		assertSame("The selected element was not retained.", string3, collection.getSelectedObject());
-	}
-
-	private class TestSelectionUpdatableCollection extends SelectionAwareUpdatableCollection {
-		private List elements = new ArrayList();
-		private Object selected;
-		
-		public int addElement(Object value, int index) {
-			elements.add(index, value);
-			return index;
-		}
-
-		public Object computeElement(int index) {
-			return elements.get(index);
-		}
-
-		public Class getElementType() {
-			return Object.class;
-		}
-
-		public int computeSize() {
-			return elements.size();
-		}
-
-		public void removeElement(int index) {
-			elements.remove(index);
-		}
-
-		public void setElement(int index, Object value) {
-			elements.set(index, value);
-		}
-
-		public Object getSelectedObject() {
-			return selected;
-		}
-
-		public void setSelectedObject(Object object) {
-			this.selected = object;
-		}
-		
-		
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/databinding/UpdatableCollectionTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/databinding/UpdatableCollectionTest.java
deleted file mode 100644
index 32ed3a9..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/databinding/UpdatableCollectionTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jface.databinding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-public class UpdatableCollectionTest extends TestCase {
-
-	/*
-	 * Test method for 'org.eclipse.jface.databinding.UpdatableCollection.getElements()'
-	 */
-	public void testGetElementsAndSetElements() {
-		TestUpdatableCollection collection = new TestUpdatableCollection();
-		String string1 = "string1";
-		String string2 = "string2";
-		String string3 = "string3";
-		String string4 = "string4";
-		String string5 = "string5";
-		
-		collection.addElement(string1, 0);
-		collection.addElement(string2, 1);
-		
-		List elementsToUpdate = new ArrayList();
-		elementsToUpdate.add(string3);
-		elementsToUpdate.add(string4);
-		elementsToUpdate.add(string5);
-		
-		collection.setElements(elementsToUpdate);
-		
-		assertEquals("The collection was not updated to the right size.", 3, collection.getSize());
-		assertEquals("The wrong element was found in position 0", string3, collection.getElement(0));
-		assertEquals("The wrong element was found in position 1", string4, collection.getElement(1));
-		assertEquals("The wrong element was found in position 2", string5, collection.getElement(2));
-		
-		assertNotSame("The all elements list instance should not be the one provided in the set.", elementsToUpdate, collection.getElements());
-		
-		List returnedList = collection.getElements();
-		assertEquals("The wrong element was found in position 0 of the returned list", string3, returnedList.get(0));
-		assertEquals("The wrong element was found in position 1 of the returned list", string4, returnedList.get(1));
-		assertEquals("The wrong element was found in position 2 of the returned list", string5, returnedList.get(2));
-	}
-
-	private class TestUpdatableCollection extends UpdatableCollection {
-		private List elements = new ArrayList();
-		
-		public int addElement(Object value, int index) {
-			elements.add(index, value);
-			return index;
-		}
-
-		public Object computeElement(int index) {
-			return elements.get(index);
-		}
-
-		public Class getElementType() {
-			return Object.class;
-		}
-
-		public int computeSize() {
-			return elements.size();
-		}
-
-		public void removeElement(int index) {
-			elements.remove(index);
-		}
-
-		public void setElement(int index, Object value) {
-			elements.set(index, value);
-		}
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AbstractGetAndSetSelectionUpdatableCollectionTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AbstractGetAndSetSelectionUpdatableCollectionTest.java
deleted file mode 100644
index 1607ff8..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AbstractGetAndSetSelectionUpdatableCollectionTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-
-/**
- * @since 3.2
- *
- */
-public abstract class AbstractGetAndSetSelectionUpdatableCollectionTest extends TestCase {
-
-	public void testGetSelectedObject() {		
-		SelectionAwareUpdatableCollection updatable = getSelectionAwareUpdatable(new String[] {"foo", "bar"}); 
-		assertEquals("No initial selection should be found.", null, updatable.getSelectedObject());
-		setSelectedValueOfControl("bar");
-		assertEquals("bar", updatable.getSelectedObject());	
-	}
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.setSelectedObject(Object)'
-	 */
-	public void testSetSelectedObject() {
-		SelectionAwareUpdatableCollection updatable = getSelectionAwareUpdatable(new String[] {"foo", "bar"}); 
-		updatable.setSelectedObject("bar");
-		assertEquals("bar", getSelectedObjectOfControl());
-		updatable.setSelectedObject("bar1");
-		assertEquals("bar", getSelectedObjectOfControl());
-		updatable.setSelectedObject("foo");
-		assertEquals("foo", getSelectedObjectOfControl());
-		updatable.setSelectedObject(null);
-		assertEquals(null, getSelectedObjectOfControl());		
-	}
-	
-	protected abstract SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values);
-	
-	protected abstract Object getSelectedObjectOfControl();
-	
-	protected abstract void setSelectedValueOfControl(String value);
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AutoSelectTableViewerCollectionExtendedTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AutoSelectTableViewerCollectionExtendedTest.java
deleted file mode 100644
index 4f2a369..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AutoSelectTableViewerCollectionExtendedTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import java.util.Arrays;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-import org.eclipse.jface.databinding.viewers.AutoSelectTableViewerFactory;
-import org.eclipse.jface.databinding.viewers.TableViewerDescription;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.2
- *
- */
-public class AutoSelectTableViewerCollectionExtendedTest extends TestCase {
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.getSelectedObject()'
-	 */
-	private TableViewer viewer;
-	
-	protected SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values) {
-		Shell shell = BindingScenariosTestSuite.getShell();
-		this.viewer = new TableViewer(shell, SWT.NONE);
-		TableViewerDescription description = new TableViewerDescription(viewer);
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new AutoSelectTableViewerFactory()});
-		SelectionAwareUpdatableCollection  updatableCollection = (SelectionAwareUpdatableCollection) ctx.createUpdatable(description);
-		updatableCollection.setElements(Arrays.asList(values));
-		return updatableCollection;
-	}
-	
-	protected Object getSelectedObjectOfControl() {
-		StructuredSelection selection = (StructuredSelection) this.viewer.getSelection();
-		if (selection.isEmpty()) {
-			return null;
-		}
-		return selection.getFirstElement();
-	}
-	
-	protected void setSelectedValueOfControl(String value) {
-		this.viewer.setSelection(new StructuredSelection(new String[]{value}));
-	}
-	
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.setSelectedObject(Object)'
-	 */
-	public void testAutoSelect() {
-		SelectionAwareUpdatableCollection updatable = getSelectionAwareUpdatable(new String[] {"foo", "bar"}); 
-		assertEquals("foo", getSelectedObjectOfControl());
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AutoSelectTableViewerCollectionTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AutoSelectTableViewerCollectionTest.java
deleted file mode 100644
index 0a68ae5..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/AutoSelectTableViewerCollectionTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import java.util.Arrays;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-import org.eclipse.jface.databinding.viewers.AutoSelectTableViewerFactory;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.2
- *
- */
-public class AutoSelectTableViewerCollectionTest extends TestCase {
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.getSelectedObject()'
-	 */
-	private TableViewer viewer;
-	
-	protected SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values) {
-		Shell shell = BindingScenariosTestSuite.getShell();
-		this.viewer = new TableViewer(shell, SWT.NONE);
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new AutoSelectTableViewerFactory()});
-		SelectionAwareUpdatableCollection  updatableCollection = (SelectionAwareUpdatableCollection) ctx.createUpdatable(new Property(viewer, ViewersProperties.CONTENT, String.class, new Boolean(true)));
-		updatableCollection.setElements(Arrays.asList(values));
-		return updatableCollection;
-	}
-	
-	protected Object getSelectedObjectOfControl() {
-		StructuredSelection selection = (StructuredSelection) this.viewer.getSelection();
-		if (selection.isEmpty()) {
-			return null;
-		}
-		return selection.getFirstElement();
-	}
-	
-	protected void setSelectedValueOfControl(String value) {
-		this.viewer.setSelection(new StructuredSelection(new String[]{value}));
-	}
-	
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.setSelectedObject(Object)'
-	 */
-	public void testAutoSelect() {
-		SelectionAwareUpdatableCollection updatable = getSelectionAwareUpdatable(new String[] {"foo", "bar"}); 
-		assertEquals("foo", getSelectedObjectOfControl());
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/CComboUpdatableCollectionTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/CComboUpdatableCollectionTest.java
deleted file mode 100644
index 12d1fe9..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/CComboUpdatableCollectionTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-import org.eclipse.jface.databinding.swt.SWTProperties;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.2
- *
- */
-public class CComboUpdatableCollectionTest extends AbstractGetAndSetSelectionUpdatableCollectionTest {
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.getSelectedObject()'
-	 */
-	private CCombo ccombo;
-	
-	protected SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values) {
-		Shell shell = BindingScenariosTestSuite.getShell();
-		this.ccombo = new CCombo(shell, SWT.NONE);
-		for (int i = 0; i < values.length; i++) {
-			this.ccombo.add(values[i]);
-		}
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new SWTUpdatableFactory()});
-		return (SelectionAwareUpdatableCollection) ctx.createUpdatable(new Property(ccombo, SWTProperties.ITEMS, String.class, new Boolean(true)));
-	}
-	
-	protected Object getSelectedObjectOfControl() {
-		int selectionIndex = this.ccombo.getSelectionIndex();
-		if (selectionIndex != -1) {
-			return this.ccombo.getItem(selectionIndex);
-		} 
-		return null;
-	}
-	
-	protected void setSelectedValueOfControl(String value) {
-		this.ccombo.setText(value);
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/ComboUpdatableCollectionTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/ComboUpdatableCollectionTest.java
deleted file mode 100644
index f7ba55f..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/ComboUpdatableCollectionTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-import org.eclipse.jface.databinding.swt.SWTProperties;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.2
- *
- */
-public class ComboUpdatableCollectionTest extends AbstractGetAndSetSelectionUpdatableCollectionTest {
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.getSelectedObject()'
-	 */
-	private Combo combo;
-	
-	protected SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values) {
-		Shell shell = BindingScenariosTestSuite.getShell();
-		this.combo = new Combo(shell, SWT.NONE);
-		for (int i = 0; i < values.length; i++) {
-			this.combo.add(values[i]);
-		}
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new SWTUpdatableFactory()});
-		return (SelectionAwareUpdatableCollection) ctx.createUpdatable(new Property(combo, SWTProperties.ITEMS, String.class, new Boolean(true)));
-	}
-	
-	protected Object getSelectedObjectOfControl() {
-		int selectionIndex = this.combo.getSelectionIndex();
-		if (selectionIndex != -1) {
-			return this.combo.getItem(selectionIndex);
-		} 
-		return null;
-	}
-	
-	protected void setSelectedValueOfControl(String value) {
-		this.combo.select(this.combo.indexOf(value));
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/CopyOfAutoSelectTableViewerCollectionExtendedTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/CopyOfAutoSelectTableViewerCollectionExtendedTest.java
deleted file mode 100644
index 6a16dcc..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/CopyOfAutoSelectTableViewerCollectionExtendedTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import java.util.Arrays;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-import org.eclipse.jface.databinding.viewers.AutoSelectTableViewerFactory;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.2
- *
- */
-public class CopyOfAutoSelectTableViewerCollectionExtendedTest extends TestCase {
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.getSelectedObject()'
-	 */
-	private TableViewer viewer;
-	
-	protected SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values) {
-		Shell shell = BindingScenariosTestSuite.getShell();
-		this.viewer = new TableViewer(shell, SWT.NONE);
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new AutoSelectTableViewerFactory()});
-		SelectionAwareUpdatableCollection  updatableCollection = (SelectionAwareUpdatableCollection) ctx.createUpdatable(new Property(viewer, ViewersProperties.CONTENT, String.class, new Boolean(true)));
-		updatableCollection.setElements(Arrays.asList(values));
-		return updatableCollection;
-	}
-	
-	protected Object getSelectedObjectOfControl() {
-		StructuredSelection selection = (StructuredSelection) this.viewer.getSelection();
-		if (selection.isEmpty()) {
-			return null;
-		}
-		return selection.getFirstElement();
-	}
-	
-	protected void setSelectedValueOfControl(String value) {
-		this.viewer.setSelection(new StructuredSelection(new String[]{value}));
-	}
-	
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.setSelectedObject(Object)'
-	 */
-	public void testAutoSelect() {
-		SelectionAwareUpdatableCollection updatable = getSelectionAwareUpdatable(new String[] {"foo", "bar"}); 
-		assertEquals("foo", getSelectedObjectOfControl());
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/ListUpdatableCollectionTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/ListUpdatableCollectionTest.java
deleted file mode 100644
index c5e95cc..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/ListUpdatableCollectionTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-import org.eclipse.jface.databinding.swt.SWTProperties;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.2
- *
- */
-public class ListUpdatableCollectionTest extends AbstractGetAndSetSelectionUpdatableCollectionTest {
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.getSelectedObject()'
-	 */
-	private List listControl;
-	
-	protected SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values) {
-		Shell shell = BindingScenariosTestSuite.getShell();
-		this.listControl = new List(shell, SWT.NONE);
-		for (int i = 0; i < values.length; i++) {
-			this.listControl.add(values[i]);
-		}
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new SWTUpdatableFactory()});
-		return (SelectionAwareUpdatableCollection) ctx.createUpdatable(new Property(listControl, SWTProperties.ITEMS, String.class, new Boolean(true)));
-	}
-	
-	protected Object getSelectedObjectOfControl() {
-		int selectionIndex = this.listControl.getSelectionIndex();
-		if (selectionIndex != -1) {
-			return this.listControl.getItem(selectionIndex);
-		} 
-		return null;
-	}
-	
-	protected void setSelectedValueOfControl(String value) {
-		this.listControl.setSelection(new String[] {value});
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/TableViewerUpdatableCollectionTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/TableViewerUpdatableCollectionTest.java
deleted file mode 100644
index a809ac4..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/TableViewerUpdatableCollectionTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import java.util.Arrays;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.2
- *
- */
-public class TableViewerUpdatableCollectionTest extends AbstractGetAndSetSelectionUpdatableCollectionTest {
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.getSelectedObject()'
-	 */
-	private TableViewer viewer;
-	
-	protected SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values) {
-		Shell shell = BindingScenariosTestSuite.getShell();
-		this.viewer = new TableViewer(shell, SWT.NONE);
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new SWTUpdatableFactory()});
-		SelectionAwareUpdatableCollection  updatableCollection = (SelectionAwareUpdatableCollection) ctx.createUpdatable(new Property(viewer, ViewersProperties.CONTENT, String.class, new Boolean(true)));
-		updatableCollection.setElements(Arrays.asList(values));
-		return updatableCollection;
-	}
-	
-	protected Object getSelectedObjectOfControl() {
-		StructuredSelection selection = (StructuredSelection) this.viewer.getSelection();
-		if (selection.isEmpty()) {
-			return null;
-		}
-		return selection.getFirstElement();
-	}
-	
-	protected void setSelectedValueOfControl(String value) {
-		this.viewer.setSelection(new StructuredSelection(new String[]{value}));
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/UpdatableCollectionViewerTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/UpdatableCollectionViewerTest.java
deleted file mode 100644
index 2d9b44c..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/internal/databinding/swt/UpdatableCollectionViewerTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.internal.databinding.swt;
-
-import java.util.Arrays;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollection;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-import org.eclipse.jface.viewers.AbstractListViewer;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.2
- *
- */
-public class UpdatableCollectionViewerTest extends AbstractGetAndSetSelectionUpdatableCollectionTest {
-
-	/*
-	 * Test method for 'org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollection.getSelectedObject()'
-	 */
-	private AbstractListViewer viewer;
-	
-	protected SelectionAwareUpdatableCollection getSelectionAwareUpdatable(String[] values) {
-		Shell shell = BindingScenariosTestSuite.getShell();
-		this.viewer = new ListViewer(shell, SWT.NONE);
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new SWTUpdatableFactory()});		
-		SelectionAwareUpdatableCollection  updatableCollection = (SelectionAwareUpdatableCollection) ctx.createUpdatable(new Property(viewer, ViewersProperties.CONTENT, String.class, new Boolean(true)));
-		updatableCollection.setElements(Arrays.asList(values));
-		return updatableCollection;
-	}
-	
-	protected Object getSelectedObjectOfControl() {
-		StructuredSelection selection = (StructuredSelection) this.viewer.getSelection();
-		if (selection.isEmpty()) {
-			return null;
-		}
-		return selection.getFirstElement();
-	}
-	
-	protected void setSelectedValueOfControl(String value) {
-		this.viewer.setSelection(new StructuredSelection(new String[]{value}));
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/BindingTestSuite.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/BindingTestSuite.java
deleted file mode 100644
index 7afd5a0..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/BindingTestSuite.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jface.databinding.SelectionAwareUpdatableCollectionTest;
-import org.eclipse.jface.databinding.UpdatableCollectionTest;
-import org.eclipse.jface.tests.databinding.scenarios.BindingScenariosTestSuite;
-
-public class BindingTestSuite extends TestSuite {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(suite());
-	}
-
-	public static Test suite() {
-		return new BindingTestSuite();
-	}
-
-	public BindingTestSuite() {
-		addTestSuite(UpdatableTest.class);
-		addTestSuite(JavaBeansScalarUpdatableValueFactoryTest.class);
-		addTestSuite(DatabindingContextTest.class);
-		addTestSuite(UpdatableCollectionTest.class);
-		addTestSuite(SelectionAwareUpdatableCollectionTest.class);
-		addTest(BindingScenariosTestSuite.suite());
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/CalculatedValueTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/CalculatedValueTest.java
deleted file mode 100644
index f9e81ce..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/CalculatedValueTest.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.tests.databinding;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.ChangeEvent;
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.IUpdatableValue;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.beans.BeanUpdatableFactory;
-import org.eclipse.jface.databinding.updatables.CalculatedValue;
-import org.eclipse.jface.databinding.updatables.SettableValue;
-import org.eclipse.jface.examples.databinding.model.ModelObject;
-
-/**
- * @since 3.2
- *
- */
-public class CalculatedValueTest extends TestCase {
-	public void test_ctor() throws Exception {
-		CalculatedValue cv = new CalculatedValue(Integer.TYPE) {
-			protected Object calculate() {
-				return new Integer(42);
-			}
-		};
-		assertEquals("value type should be Integer.TYPE", Integer.TYPE, cv.getValueType());
-	}
-	
-	public void test_getValue() throws Exception {
-		CalculatedValue cv = new CalculatedValue(Integer.TYPE) {
-			protected Object calculate() {
-				return new Integer(42);
-			}
-		};
-		assertEquals("Calculated value should be 42", new Integer(42), cv.getValue());
-	}
-	
-	public void test_handleChange() throws Exception {
-		final int[] seed = new int[] {42};
-		CalculatedValue cv = new CalculatedValue(Integer.TYPE) {
-			protected Object calculate() {
-				return calcNewValue(seed);
-			}
-		};
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-		seed[0]++;
-		cv.getUpdatableChangeListener().handleChange(new ChangeEvent(this, ChangeEvent.CHANGE, null, null));
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-	}
-
-	private Object calcNewValue(int[] seed) {
-		return new Integer(seed[0] + 2);
-	}
-	
-	public void test_hookAndUnhookDependantUpdatableValues() throws Exception {
-		final int[] seed = new int[] {42};
-		CalculatedValue cv = new CalculatedValue(Integer.TYPE) {
-			protected Object calculate() {
-				return calcNewValue(seed);
-			}
-		};
-		SettableValue test1 = new SettableValue(Integer.TYPE);
-		SettableValue test2 = new SettableValue(Integer.TYPE);
-		
-		// Hook updatables...
-		cv.setDependencies(new IUpdatableValue[] {test1, test2});
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-		
-		seed[0]++;
-		test1.setValue(new Integer(0));
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-
-		seed[0]++;
-		test2.setValue(new Integer(0));
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-		
-		// Unhook updatables...
-		SettableValue test3 = new SettableValue(Integer.TYPE);
-		SettableValue test4 = new SettableValue(Integer.TYPE);
-		cv.setDependencies(new IUpdatableValue[] {test3, test4});
-		
-		Integer oldValue = (Integer) cv.getValue();
-
-		seed[0]++;	// Calculation has changed
-		test2.setValue(new Integer(0));	// should not update yet
-		assertEquals("CalculatedValue should be " + oldValue, oldValue, cv.getValue());
-		test3.setValue(new Integer(0)); // This should update
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-
-		seed[0]++;
-		test4.setValue(new Integer(0));
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-	}
-	
-	private static class TestModel extends ModelObject {
-		private int a = 0;
-
-		/**
-		 * @return Returns the a.
-		 */
-		public int getA() {
-			return a;
-		}
-
-		/**
-		 * @param a The a to set.
-		 */
-		public void setA(int a) {
-			int oldValue = this.a;
-			this.a = a;
-			firePropertyChange("a", oldValue, a);
-		}
-	}
-
-	public void test_convertToUpdatables() throws Exception {
-		final int[] seed = new int[] {42};
-		CalculatedValue cv = new CalculatedValue(Integer.TYPE) {
-			protected Object calculate() {
-				return calcNewValue(seed);
-			}
-		};
-		TestModel test1 = new TestModel();
-		TestModel test2 = new TestModel();
-		
-		// Hook beans...
-		IDataBindingContext dbc = DataBinding.createContext(new IUpdatableFactory[] {
-				new BeanUpdatableFactory()
-				});
-
-		cv.setDependencies(dbc, new Object[] {new Property(test1, "a"), new Property(test2, "a")});
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-		
-		seed[0]++;
-		test1.setA(1);
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-		
-		seed[0]++;
-		test2.setA(2);
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-		
-		// Unhook beans...
-		TestModel test3 = new TestModel();
-		TestModel test4 = new TestModel();
-		cv.setDependencies(dbc, new Object[] {new Property(test3, "a"), new Property(test4, "a")});
-		
-		Integer oldValue = (Integer) cv.getValue();
-		
-		seed[0]++;
-		test2.setA(3);
-		assertEquals("CalculatedValue should be " + oldValue, oldValue, cv.getValue());
-		test3.setA(4);
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-		
-		seed[0]++;
-		test4.setA(5);
-		assertEquals("CalculatedValue should be " + calcNewValue(seed), calcNewValue(seed), cv.getValue());
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/DatabindingContextTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/DatabindingContextTest.java
deleted file mode 100644
index 68fc243..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/DatabindingContextTest.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding;
-
-import java.util.LinkedList;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.BindSpec;
-import org.eclipse.jface.databinding.BindingAdapter;
-import org.eclipse.jface.databinding.BindingEvent;
-import org.eclipse.jface.databinding.BindingException;
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.INestedUpdatableValue;
-import org.eclipse.jface.databinding.IUpdatable;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.IUpdatableValue;
-import org.eclipse.jface.databinding.NestedProperty;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.UpdatableValue;
-import org.eclipse.jface.databinding.beans.NestedUpdatableFactory;
-import org.eclipse.jface.databinding.converter.IConverter;
-import org.eclipse.jface.databinding.converters.IdentityConverter;
-import org.eclipse.jface.databinding.updatables.SettableList;
-import org.eclipse.jface.databinding.updatables.SettableValue;
-import org.eclipse.jface.databinding.validator.IValidator;
-import org.eclipse.jface.tests.databinding.util.Mocks;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public class DatabindingContextTest extends TestCase {
-
-	boolean failed = false;
-
-	IDataBindingContext dbc;
-
-	IUpdatableValue updatableValueRMock;
-
-	IValidator validatorMock;
-
-	SettableValue settableValue1;
-
-	SettableValue settableValue2;
-
-	Object o1 = new Object();
-
-	Object o2 = new Object();
-
-	private static IConverter identityConverter = new IdentityConverter(Object.class);
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		dbc = DataBinding.createContext(new IUpdatableFactory[0]);
-		updatableValueRMock = (IUpdatableValue) Mocks
-				.createRelaxedMock(IUpdatableValue.class);
-		validatorMock = (IValidator) Mocks.createMock(IValidator.class);
-		settableValue1 = new SettableValue(Object.class);
-		settableValue2 = new SettableValue(Object.class);
-	}
-
-	protected void tearDown() throws Exception {
-		if (!failed) {
-			Mocks.verify(updatableValueRMock);
-			Mocks.verify(validatorMock);
-		}
-		super.tearDown();
-	}
-
-	protected void runTest() throws Throwable {
-		try {
-			super.runTest();
-		} catch (Throwable th) {
-			failed = true;
-			throw th;
-		}
-	}
-
-	public void testRegisterForDispose() {
-		final boolean[] disposeCalled = new boolean[] {false};
-		IUpdatableValue target = new SettableValue(Integer.TYPE) {
-			public void dispose() {
-				super.dispose();
-				disposeCalled[0] = true;
-			}
-		};
-		SettableValue model = new SettableValue(Integer.TYPE);
-		model.setValue(new Integer(12));
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		IDataBindingContext dbc = DataBinding.createContext(shell, 
-				new IUpdatableFactory[] {});
-		dbc.registerForDispose(target);
-		dbc.registerForDispose(model);
-		dbc.bind(target, model, null);
-		assertEquals("target should now have model's value", 12, ((Integer)target.getValue()).intValue());
-		target.setValue(new Integer(9));
-		assertEquals("model should now have target's value", 9, ((Integer)model.getValue()).intValue());
-		shell.dispose();
-		display.dispose();
-		assertTrue("dispose should have been called", disposeCalled[0]);
-	}
-	
-	private class DisposableUpdatable extends UpdatableValue {
-		protected Object computeValue() {
-			return null;
-		}
-		public void setValue(Object value) {
-		}
-		public Class getValueType() {
-			return Object.class;
-		}
-	}
-	
-	private class DisposableUpdatableFactory implements IUpdatableFactory {
-		public IUpdatable createUpdatable(Map properties, Object description, IDataBindingContext bindingContext) {
-			return new DisposableUpdatable();
-		}
-	}
-	
-	public void testDisposeCalled() {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		IDataBindingContext dbc = DataBinding.createContext(shell, 
-				new IUpdatableFactory[] {new DisposableUpdatableFactory()});
-		IUpdatable u = dbc.createUpdatable(null);
-		assertFalse("is not disposed", u.isDisposed());
-		shell.dispose();
-		display.dispose();
-		assertTrue("is disposed", u.isDisposed());
-	}
-	
-	public void testBindValueModel() {
-		Mocks.reset(updatableValueRMock);
-		updatableValueRMock.addChangeListener(null);
-		updatableValueRMock.getValue();
-		updatableValueRMock.getValueType();
-		Mocks.setLastReturnValue(updatableValueRMock, Object.class);
-		validatorMock.isValid(null);
-		Mocks.startChecking(updatableValueRMock);
-		Mocks.startChecking(validatorMock);
-		dbc.bind(settableValue1, updatableValueRMock, new BindSpec(
-				identityConverter, validatorMock));
-		Mocks.verify(updatableValueRMock);
-	}
-
-	public void testBindValueTarget() {
-		updatableValueRMock.addChangeListener(null);
-		updatableValueRMock.setValue(null);
-		updatableValueRMock.getValue();
-		updatableValueRMock.getValueType();
-		Mocks.setLastReturnValue(updatableValueRMock, Object.class);
-		validatorMock.isValid(null);
-		Mocks.startChecking(updatableValueRMock);
-		Mocks.startChecking(validatorMock);
-		dbc.bind(updatableValueRMock, settableValue2, new BindSpec(
-				identityConverter, validatorMock));
-	}
-
-	public void testBindValuePropagation() {
-		settableValue1.setValue(o1);
-		settableValue2.setValue(o2);
-		dbc.bind(settableValue1, settableValue2, null);
-		assertEquals(o2, settableValue1.getValue());
-		settableValue1.setValue(o1);
-		assertEquals(o1, settableValue2.getValue());
-		settableValue2.setValue(o2);
-		assertEquals(o2, settableValue1.getValue());
-	}
-	
-	public void testBindingListeners() {
-		final int[] calls = new int[] {0, 0};
-		// this exact sequence of positions are not API and may change from release to release.
-		// This is just here to check that we got a sane sequence of pipeline positions
-		// and to catch when the sequence changes when we don't expect it to change.
-		//
-		// See BindingEvent#pipelinePosition for details.
-		final int[] pipelinePositions = new int[] {0, 1, 2, 3, 4, 0, 2, 4, 1, 0, 1, 2, 0, 2, 4, 1};
-		settableValue1.setValue(o1);
-		settableValue2.setValue(o2);
-		IBinding binding = dbc.bind(settableValue1, settableValue2, null);
-		binding.addBindingEventListener(new BindingAdapter() {
-			public String bindingEvent(BindingEvent e) {
-				// Make sure we get the right sequence of pipeline positions
-				assertEquals("Unexpected pipeline position at call #" + calls[0], pipelinePositions[calls[0]], e.pipelinePosition);
-				calls[0]++;
-				return null;
-			}
-		});
-		binding.addBindingEventListener(new BindingAdapter() {
-			public String bindingEvent(BindingEvent e) {
-				calls[1]++;
-				return null;
-			}
-		});
-		assertEquals(o2, settableValue1.getValue());
-		assertEquals("Both binding events should be called the same number of times", calls[0], calls[1]);
-		settableValue1.setValue(o1);
-		assertEquals(o1, settableValue2.getValue());
-		assertEquals("Both binding events should be called the same number of times", calls[0], calls[1]);
-		settableValue2.setValue(o2);
-		assertEquals("Both binding events should be called the same number of times", calls[0], calls[1]);
-		assertEquals(o2, settableValue1.getValue());
-		
-		// Now test forcing an error from the event handler...
-		binding.addBindingEventListener(new BindingAdapter() {
-			public String bindingEvent(BindingEvent e) {
-				if (e.pipelinePosition == BindingEvent.PIPELINE_AFTER_CONVERT) {
-					return "error";
-				}
-				return null;
-			}
-		});
-		settableValue1.setValue(o1);
-		settableValue2.setValue(o2);
-		assertEquals("Both binding events should be called the same number of times", calls[0], calls[1]);
-		assertEquals("binding events should be called at least once", true, calls[0] > 0);
-	}
-	
-	public void testCollectionBindingListeners() {
-		LinkedList l1 = new LinkedList();
-		LinkedList l2 = new LinkedList();
-		SettableList v1 = new SettableList(l1, String.class);
-		SettableList v2 = new SettableList(l2, String.class);
-		
-		IBinding binding = dbc.bind(v1, v2, null);
-		final int[] calls = new int[] {0};
-		binding.addBindingEventListener(new BindingAdapter() {
-			public String bindingEvent(BindingEvent e) {
-				calls[0]++;
-				return null;
-			}
-		});
-		
-		v2.addElement("test", 0);
-		assertBindingCalls(calls);
-		v2.removeElement(0);
-		assertBindingCalls(calls);
-		v2.addElement("test2", 0);
-		assertBindingCalls(calls);
-		v2.setElement(0, "test3");
-		assertBindingCalls(calls);
-	}
-
-	private void assertBindingCalls(final int[] calls) {
-		assertTrue("Should have seen some binding event calls", calls[0] > 0);
-		calls[0] = 0;
-	}
-	
-	public void testCreateNestedUpdatableWithArrays() {
-		String parentObject = "";
-		NestedProperty nestedProperty = new NestedProperty(parentObject, new String[] {"nestedChild1", "nestedChild2", "foo"}, new Class[] {Integer.class, String.class, Float.class});
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new MockUpdatableFactory(), new NestedUpdatableFactory()});
-		INestedUpdatableValue updatableValue = (INestedUpdatableValue) ctx.createUpdatable(nestedProperty);
-		assertEquals("The child IUpdatable does not have the right type.", Float.class, updatableValue.getValueType());
-
-		updatableValue = ((INestedUpdatableValue) updatableValue.getOuterUpdatableValue());
-		assertEquals("The child IUpdatable does not have the right type.", String.class, updatableValue.getValueType());
-	
-		MockUpdatableValue v = ((MockUpdatableValue) updatableValue.getOuterUpdatableValue());
-		assertEquals("The child IUpdatable does not have the right getter.", "nestedChild1", v.getDescription());
-		assertSame("The child IUpdatable does not have a correct parent target object.", parentObject, v.getOuterUpdatableValue());
-		assertEquals("The child IUpdatable does not have the right type.", Integer.class, v.getType());
-	}
-	
-	public void testCreateNestedUpdatableWithPrototypeClass() {
-		String parentObject = "";
-		NestedProperty nestedProperty = new NestedProperty(parentObject, "nestedChild1.nestedChild2.foo", NestedParent.class);
-		IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new MockUpdatableFactory(), new NestedUpdatableFactory()});
-		INestedUpdatableValue updatableValue = (INestedUpdatableValue) ctx.createUpdatable(nestedProperty);
-		assertEquals("The child IUpdatable does not have the right type.", String.class, updatableValue.getValueType());
-
-		updatableValue = ((INestedUpdatableValue) updatableValue.getOuterUpdatableValue());
-		assertEquals("The child IUpdatable does not have the right type.", NestedChild2.class, updatableValue.getValueType());
-	
-		MockUpdatableValue v = ((MockUpdatableValue) updatableValue.getOuterUpdatableValue());
-		assertEquals("The child IUpdatable does not have the right getter.", "nestedChild1", v.getDescription());
-		assertSame("The child IUpdatable does not have a correct parent target object.", parentObject, v.getOuterUpdatableValue());
-		assertEquals("The child IUpdatable does not have the right type.", NestedChild1.class, v.getType());
-	}
-	
-	public void testCreateNestedUpdatableWithPrototypeClassAndInvalidPath() {
-		String parentObject = "";
-		NestedProperty nestedProperty = new NestedProperty(parentObject, "nestedChild1.nestedChild3.foo", NestedParent.class);
-		try {
-			IDataBindingContext ctx = DataBinding.createContext(new IUpdatableFactory[] {new MockUpdatableFactory(), new NestedUpdatableFactory()});
-			MockUpdatableValue updatableValue = (MockUpdatableValue) ctx.createUpdatable(nestedProperty);
-			fail("Expected binding exception.");
-		} catch (BindingException be) {			
-		}
-	}
-
-	public class MockUpdatableFactory implements IUpdatableFactory {
-
-		public IUpdatable createUpdatable(Map properties, Object description, IDataBindingContext bindingContext) {
-			Property property = (Property) description;
-			return new MockUpdatableValue(property.getObject(), property.getPropertyID(), property.getPropertyType());
-		}
-	}
-	
-	public class MockUpdatableValue extends UpdatableValue {
-		public Object targetObject;
-		public Object description;
-		private Class type;
-		
-		public MockUpdatableValue(Object targetObject, Object description, Class type) {
-			super();
-			this.targetObject = targetObject;
-			this.description = description;
-			this.type = type;
-		}
-		
-		public Object getDescription() {
-			return description;
-		}
-
-		public Class getType() {
-			return type;
-		}
-
-		public Object getOuterUpdatableValue() {
-			return targetObject;
-		}
-
-
-
-		public Object computeValue() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public Class getValueType() {
-			return null;
-		}
-
-		public void setValue(Object value) {
-		}
-		
-	}
-	
-	private class NestedParent {
-		public NestedChild1 getNestedChild1() {
-			return new NestedChild1();
-		}
-	}
-
-	private class NestedChild1 {
-		public NestedChild2 getNestedChild2() {
-			return new NestedChild2();
-		}
-	}
-
-	private class NestedChild2 {
-		public String getFoo() {
-			return "foo";
-		}
-	}	
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/JavaBeansScalarUpdatableValueFactoryTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/JavaBeansScalarUpdatableValueFactoryTest.java
deleted file mode 100644
index 77a26ab..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/JavaBeansScalarUpdatableValueFactoryTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jface.tests.databinding;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.DataBinding;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-import org.eclipse.jface.databinding.IUpdatableValue;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.beans.JavaBeansScalarUpdatableValueFactory;
-
-public class JavaBeansScalarUpdatableValueFactoryTest extends TestCase {
-   
-   public static class TestBean {
-      private String field = "Hello, world";
-
-      public String getField() {
-         return field;
-      }
-
-      public void setField(String field) {
-         this.field = field;
-      }
-   }
-   
-   public void test_getUpdatableValue() throws Exception {
-      TestBean test = new TestBean();
-      
-      IDataBindingContext dbc = DataBinding.createContext(new IUpdatableFactory[] {
-              new JavaBeansScalarUpdatableValueFactory()
-        });
-      IUpdatableValue updatable = (IUpdatableValue) dbc.createUpdatable(new Property(test, "field"));
-      assertEquals("Hello, world", updatable.getValue());
-   }
-   
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/UpdatableTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/UpdatableTest.java
deleted file mode 100644
index 7558db2..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/UpdatableTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.*;
-import org.eclipse.jface.tests.databinding.util.Mocks;
-
-public class UpdatableTest extends TestCase {
-
-	private static class MyUpdatable extends WritableUpdatable {
-		public void fireChange(int changeType, Object oldValue,
-				Object newValue, int position) {
-			fireChangeEvent(changeType, oldValue, newValue, position);
-		}
-
-		public void fireChange(int changeType, Object oldValue, Object newValue) {
-			fireChangeEvent(changeType, oldValue, newValue);
-		}
-	}
-
-	private MyUpdatable updatable;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		updatable = new MyUpdatable();
-	}
-
-	protected void tearDown() throws Exception {
-		if (updatable != null) {
-			try {
-				updatable.dispose();
-			} catch (Exception ex) {
-				// ignore
-			}
-		}
-		updatable = null;
-		super.tearDown();
-	}
-
-	/*
-	 * Test method for
-	 * 'org.eclipse.jface.databinding.Updatable.addChangeListener(IChangeListener)'
-	 */
-	public void testAddChangeListener() {
-		IChangeListener changeListenerMock = (IChangeListener) Mocks
-				.createOrderedMock(IChangeListener.class);
-
-		// testing that no methods on the updatable are called when adding the
-		// change listener
-		Mocks.startChecking(changeListenerMock);
-		updatable.addChangeListener(changeListenerMock);
-
-		// testing that handleChange is actually called
-		Mocks.reset(changeListenerMock);
-		changeListenerMock.handleChange(null);
-		changeListenerMock.handleChange(null);
-		Mocks.startChecking(changeListenerMock);
-		updatable.fireChange(0, null, null, 0);
-		updatable.fireChange(0, null, null, 0);
-		Mocks.verify(changeListenerMock);
-
-		// testing that handleChange is called just once
-		Mocks.reset(changeListenerMock);
-		changeListenerMock.handleChange(null);
-		Mocks.startChecking(changeListenerMock);
-		updatable.addChangeListener(changeListenerMock);
-		updatable.fireChange(0, null, null, 0);
-		Mocks.verify(changeListenerMock);
-		
-		// dispose() will call another handleChange.  Prevent this from causing a test failure
-		Mocks.reset(changeListenerMock);
-		changeListenerMock.handleChange(null);
-		Mocks.startChecking(changeListenerMock);
-	}
-
-	/*
-	 * Test method for
-	 * 'org.eclipse.jface.databinding.Updatable.removeChangeListener(IChangeListener)'
-	 */
-	public void testRemoveChangeListener() {
-		IChangeListener changeListenerMock = (IChangeListener) Mocks
-				.createOrderedMock(IChangeListener.class);
-
-		// testing that no methods on the updatable are called when removing the
-		// change listener
-		Mocks.startChecking(changeListenerMock);
-		updatable.removeChangeListener(changeListenerMock);
-
-		// testing that no methods on the updatable are called after adding and
-		// removing the change listener
-		updatable.addChangeListener(changeListenerMock);
-		updatable.removeChangeListener(changeListenerMock);
-
-		updatable.fireChange(0, null, null, 0);
-	}
-
-	/*
-	 * Test method for 'org.eclipse.jface.databinding.Updatable.fireChangeEvent(int,
-	 * Object, Object)'
-	 */
-	public void testFireChangeEvent() {
-		IChangeListener changeListenerMock = (IChangeListener) Mocks
-				.createMock(IChangeListener.class,
-						new Mocks.EqualityComparator() {
-							public boolean equals(Object o1, Object o2) {
-								ChangeEvent changeEvent1 = (ChangeEvent) o1;
-								ChangeEvent changeEvent2 = (ChangeEvent) o2;
-								return changeEvent1.getChangeType() == changeEvent2
-										.getChangeType()
-										&& changeEvent1.getPosition() == changeEvent2
-												.getPosition()
-										&& changeEvent1.getOldValue() == changeEvent2
-												.getOldValue()
-										&& changeEvent1.getNewValue() == changeEvent2
-												.getNewValue();
-							}
-						});
-		updatable.addChangeListener(changeListenerMock);
-
-		Object o1 = new Object();
-		Object o2 = new Object();
-
-		changeListenerMock.handleChange(new ChangeEvent(updatable, 0, null,
-				null, ChangeEvent.POSITION_UNKNOWN));
-		changeListenerMock.handleChange(new ChangeEvent(updatable, 0, null,
-				null, 1));
-		changeListenerMock.handleChange(new ChangeEvent(updatable,
-				ChangeEvent.CHANGE, o1, o2, ChangeEvent.POSITION_UNKNOWN));
-		changeListenerMock.handleChange(new ChangeEvent(updatable,
-				ChangeEvent.CHANGE, o1, o2, 42));
-		Mocks.startChecking(changeListenerMock);
-		updatable.fireChange(0, null, null);
-		updatable.fireChange(0, null, null, 1);
-		updatable.fireChange(ChangeEvent.CHANGE, o1, o2);
-		updatable.fireChange(ChangeEvent.CHANGE, o1, o2, 42);
-		Mocks.verify(changeListenerMock);
-
-		// dispose() will call another handleChange.  Prevent this from causing a test failure
-		Mocks.reset(changeListenerMock);
-		changeListenerMock.handleChange(null);
-		Mocks.startChecking(changeListenerMock);
-	}
-
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/AutomationUtil.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/AutomationUtil.java
deleted file mode 100644
index 3158790..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/AutomationUtil.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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * COPIED FROM org.eclipse.ui.tests
- * <code>AutomationUtil</code> contains utility methods to mimic key events.
- * Mouse event methods can be added if needed to complete this class.
- */
-
-public class AutomationUtil {
-
-	/**
-	 * Method to mimic a key code event on a display.
-	 * 
-	 * @param display
-	 *            The display.
-	 * @param eventType
-	 *            The event type.
-	 * @param keyCode
-	 *            The key code.
-	 */
-	public static void performKeyCodeEvent(Display display, int eventType,
-			int keyCode) {
-		Event event = new Event();
-		event.type = eventType;
-		event.keyCode = keyCode;
-		display.post(event);
-	}
-
-	/**
-	 * Method to mimic a character event on a display.
-	 * 
-	 * @param display
-	 *            The display.
-	 * @param eventType
-	 *            The event type.
-	 * @param character
-	 *            The character to mimic.
-	 */
-	public static void performCharacterEvent(Display display, int eventType,
-			char character) {
-		Event event = new Event();
-		event.type = eventType;
-		event.character = character;
-		display.post(event);
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/BindingScenariosTestSuite.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/BindingScenariosTestSuite.java
deleted file mode 100644
index b4a3a4f..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/BindingScenariosTestSuite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jface.internal.databinding.swt.AutoSelectTableViewerCollectionExtendedTest;
-import org.eclipse.jface.internal.databinding.swt.AutoSelectTableViewerCollectionTest;
-import org.eclipse.jface.internal.databinding.swt.CComboUpdatableCollectionTest;
-import org.eclipse.jface.internal.databinding.swt.ComboUpdatableCollectionTest;
-import org.eclipse.jface.internal.databinding.swt.ListUpdatableCollectionTest;
-import org.eclipse.jface.internal.databinding.swt.TableViewerUpdatableCollectionTest;
-import org.eclipse.jface.internal.databinding.swt.UpdatableCollectionViewerTest;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * To run this test suite, right-click and select "Run As JUnit Plug-in Test".
- * This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run. You can also run this class as an SWT
- * application.
- */
-public class BindingScenariosTestSuite extends TestSuite {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(suite());
-	}
-
-	private static Display display;
-
-	private static Shell shell;
-
-	public static Test suite() {
-		return new TestSetup(new BindingScenariosTestSuite()) {
-			protected void setUp() throws Exception {
-				Display d = Display.getDefault();
-				if (d == null) {
-					display = new Display();
-					d = display;
-				}
-				shell = new Shell(d, SWT.SHELL_TRIM);
-				shell.setLayout(new FillLayout());
-			}
-
-			protected void tearDown() throws Exception {
-				shell.close();
-				shell.dispose();
-				if (display != null) {
-					display.dispose();
-				}
-			}
-		};
-	}
-
-	public BindingScenariosTestSuite() {
-		addTestSuite(UpdatableFactoriesTest.class);
-		addTestSuite(PropertyScenarios.class);
-		addTestSuite(CustomScenarios.class);
-		addTestSuite(CustomConverterScenarios.class);
-		addTestSuite(MasterDetailScenarios.class);
-		addTestSuite(ComboScenarios.class);
-		addTestSuite(TableScenarios.class);
-		addTestSuite(NewTableScenarios.class);
-		addTestSuite(TreeScenarios.class);
-		// Test each of the basic SWT controls
-		addTestSuite(TextControlScenario.class);
-		addTestSuite(SpinnerControlScenario.class);	
-		addTestSuite(ButtonControlScenario.class);		
-		// Test each of the basic JFace controls
-		addTestSuite(ComboViewerScenario.class);		
-		addTestSuite(ListViewerScenario.class);	
-		addTestSuite(CComboUpdatableCollectionTest.class);
-		addTestSuite(ComboUpdatableCollectionTest.class);
-		addTestSuite(TableViewerUpdatableCollectionTest.class);
-		addTestSuite(ListUpdatableCollectionTest.class);
-		addTestSuite(UpdatableCollectionViewerTest.class);
-		addTestSuite(AutoSelectTableViewerCollectionTest.class);
-		addTestSuite(AutoSelectTableViewerCollectionExtendedTest.class);
-	}
-
-	public static Shell getShell() {
-		return shell;
-	}
-
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ButtonControlScenario.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ButtonControlScenario.java
deleted file mode 100644
index 37e3b77..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ButtonControlScenario.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class ButtonControlScenario extends ScenariosTestCase {
-
-	private Adventure adventure;
-	private Button button;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-		button = new Button(getComposite(), SWT.CHECK);		
-		adventure = SampleData.WINTER_HOLIDAY;
-	}
-
-	protected void tearDown() throws Exception {
-		button.dispose();
-		super.tearDown();
-	}
-
-	public void testScenario01() {
-		// Bind the button's selection to the adventure "isPetsAllowed"
-		getDbc().bind(button, new Property(adventure, "petsAllowed"),null);
-		// Check the model and GUI are in the same state
-		assertEquals(button.getSelection(),adventure.isPetsAllowed());
-		// Change the model and check the GUI is updated
-		boolean newBoolean = !adventure.isPetsAllowed();
-		adventure.setPetsAllowed(newBoolean);
-		assertEquals(newBoolean,adventure.isPetsAllowed());
-		assertEquals(button.getSelection(),newBoolean);
-		// Change the GUI and check the model
-		newBoolean = !newBoolean;
-		button.setSelection(newBoolean);
-		button.notifyListeners(SWT.Selection,null);
-		assertEquals(newBoolean,adventure.isPetsAllowed());
-		// Verify that changes to the model can occur in a non UI thread
-		newBoolean = !newBoolean;
-		final boolean finalNewBoolean = newBoolean;
-		invokeNonUI(new Runnable(){
-			public void run(){
-				adventure.setPetsAllowed(finalNewBoolean);
-			}
-		});
-		spinEventLoop(0);
-		assertEquals(newBoolean,button.getSelection());
-		
-	}
-	
-	public void testScenario02() {
-		// Test with an SWT.Toggle button
-		button.dispose();
-		button = new Button(getComposite(), SWT.TOGGLE);			
-		// Bind the button's selection to the adventure "isPetsAllowed"
-		getDbc().bind(button, new Property(adventure, "petsAllowed"),null);
-		// Check the model and GUI are in the same state
-		assertEquals(button.getSelection(),adventure.isPetsAllowed());
-		// Change the model and check the GUI is updated
-		boolean newBoolean = !adventure.isPetsAllowed();
-		adventure.setPetsAllowed(newBoolean);
-		assertEquals(newBoolean,adventure.isPetsAllowed());
-		assertEquals(button.getSelection(),newBoolean);
-		// Change the GUI and check the model
-		newBoolean = !newBoolean;
-		button.setSelection(newBoolean);
-		button.notifyListeners(SWT.Selection,null);
-		assertEquals(newBoolean,adventure.isPetsAllowed());
-	}
-	
-	public void testScenario03() {
-		// Test with an SWT.Radio button
-		button.dispose();
-		button = new Button(getComposite(), SWT.RADIO);
-		// Bind the button's selection to the adventure "isPetsAllowed"
-		getDbc().bind(button, new Property(adventure, "petsAllowed"),null);
-		// Check the model and GUI are in the same state
-		assertEquals(button.getSelection(),adventure.isPetsAllowed());
-		// Change the model and check the GUI is updated
-		boolean newBoolean = !adventure.isPetsAllowed();
-		adventure.setPetsAllowed(newBoolean);
-		assertEquals(newBoolean,adventure.isPetsAllowed());
-		assertEquals(button.getSelection(),newBoolean);
-		// Change the GUI and check the model
-		newBoolean = !newBoolean;
-		button.setSelection(newBoolean);
-		button.notifyListeners(SWT.Selection,null);
-		assertEquals(newBoolean,adventure.isPetsAllowed());
-	}		
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ComboScenarios.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ComboScenarios.java
deleted file mode 100644
index 2ab037b..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ComboScenarios.java
+++ /dev/null
@@ -1,532 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.swt.SWTProperties;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.examples.databinding.model.Account;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.Catalog;
-import org.eclipse.jface.examples.databinding.model.Lodging;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Combo;
-
-public class ComboScenarios extends ScenariosTestCase {
-
-	protected ComboViewer cviewer = null;
-
-	protected Combo combo = null;
-
-	protected Catalog catalog = null;
-
-	ILabelProvider lodgingLabelProvider = new LabelProvider() {
-		public String getText(Object element) {
-			return ((Lodging) element).getName();
-		}
-	};
-
-	ILabelProvider accountLabelProvider = new LabelProvider() {
-		public String getText(Object element) {
-			return ((Account) element).getCountry();
-		}
-	};
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		getComposite().setLayout(new FillLayout());
-
-		combo = new Combo(getComposite(), SWT.READ_ONLY | SWT.DROP_DOWN);
-		cviewer = new ComboViewer(combo);
-
-		catalog = SampleData.CATALOG_2005; // Lodging source
-
-	}
-
-	protected void tearDown() throws Exception {
-		combo.dispose();
-		combo = null;
-		cviewer = null;
-		super.tearDown();
-	}
-
-	protected Object getViewerSelection() {
-		return ((IStructuredSelection) cviewer.getSelection())
-				.getFirstElement();
-	}
-
-	/**
-	 * @return the ComboViewer's domain object list
-	 */
-	protected List getViewerContent(ComboViewer cviewer) {
-		Object[] elements = ((IStructuredContentProvider) cviewer
-				.getContentProvider()).getElements(null);
-		if (elements != null)
-			return Arrays.asList(elements);
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return the combo's items (String[]), which is the same thing as the
-	 *         Viewer's labels
-	 * 
-	 */
-	protected List getComboContent() {
-		String[] elements = combo.getItems();
-		if (elements != null)
-			return Arrays.asList(elements);
-		return null;
-	}
-
-	protected List getColumn(Object[] list, String feature) {
-		List result = new ArrayList();
-		if (list == null || list.length == 0)
-			return result;
-		String getterName = "get"
-				+ feature.substring(0, 1).toUpperCase(Locale.ENGLISH)
-				+ feature.substring(1);
-		try {
-			Method getter = list[0].getClass().getMethod(getterName,
-					new Class[0]);
-			try {
-				for (int i = 0; i < list.length; i++) {
-					result.add(getter.invoke(list[i], new Object[0]));
-				}
-			} catch (IllegalArgumentException e) {
-			} catch (IllegalAccessException e) {
-			} catch (InvocationTargetException e) {
-			}
-		} catch (SecurityException e) {
-		} catch (NoSuchMethodException e) {
-		}
-		return result;
-	}
-
-	/**
-	 * This test case deal with the 3rd scenario, using vanilla bindings: Ensure
-	 * a valid content and selection are bounded correctly Bind a collection of
-	 * Lodgings to a ComboViewer Bind the ComboViewer's selection to the
-	 * defaultLodging of an Adventure
-	 * 
-	 * This test does not deal with null values, empty content, changed content,
-	 * property change of content elements, etc.
-	 * 
-	 */
-	public void test_ROCombo_Scenario03_vanilla() {
-
-		Adventure skiAdventure = SampleData.WINTER_HOLIDAY; // selection will
-		// change its defaultLodging
-
-		cviewer.setLabelProvider(lodgingLabelProvider);
-		// Bind the ComboViewer's content to the available lodging
-		getDbc().bind(cviewer, new Property(catalog, "lodgings"),
-				null);
-
-		// Ensure that cv's content now has the catalog's lodgings
-		assertArrayEquals(catalog.getLodgings(), getViewerContent(cviewer)
-				.toArray());
-
-		// Ensure that the cv's labels are the same as the lodging descriptions
-		assertEquals(getColumn(catalog.getLodgings(), "name"),
-				getComboContent());
-
-		// Bind the ComboViewer's selection to the Adventure's default lodging.
-		getDbc()
-				.bind(
-						new Property(cviewer,
-								ViewersProperties.SINGLE_SELECTION),
-						new Property(skiAdventure, "defaultLodging"),
-						null);
-
-		// Check to see that the initial selection is the currentDefault Lodging
-		assertEquals(getViewerSelection(), skiAdventure.getDefaultLodging());
-
-		// Change the selection of the ComboViewer to all possible lodgings, and
-		// verify that skiAdventure's default lodging was changed accordingly
-		for (int i = 0; i < catalog.getLodgings().length; i++) {
-			Object selection = catalog.getLodgings()[i];
-			cviewer.setSelection(new StructuredSelection(selection));
-			assertEquals(selection, skiAdventure.getDefaultLodging());
-			assertEquals(getViewerSelection(), skiAdventure.getDefaultLodging());
-		}
-
-	}
-
-	/**
-	 * This test case deal with the 3rd scenario, and focuses on the collection
-	 * binding to the combo. It will bind a collection, add/remove/change
-	 * elements in the collection, and change element's properties to ensure
-	 * that the combo's labels were updated appropriatly.
-	 * 
-	 * it also induce null values in properties, and elments.
-	 * 
-	 * This test does not deal with the combo's selection.
-	 */
-	public void test_ROCombo_Scenario03_collectionBindings() {
-
-		cviewer.setLabelProvider(lodgingLabelProvider); // TODO: need to resolve
-		// column binding
-		// Bind the ComboViewer's content to the available lodging
-		getDbc().bind(cviewer, new Property(catalog, "lodgings"),
-				null);
-
-		// Ensure that cv's content now has the catalog's lodgings
-		assertArrayEquals(catalog.getLodgings(), getViewerContent(cviewer)
-				.toArray());
-
-		// Ensure that the cv's labels are the same as the lodging descriptions
-		assertEquals(getColumn(catalog.getLodgings(), "name"),
-				getComboContent());
-
-		// Add a lodging in the middle (not supported by the model right now)
-		// Lodging lodging = SampleData.FACTORY.createLodging();
-		// lodging.setName("Middle Lodging");
-		// catalog.addLodging(lodging);
-		// assertEquals(getViewerContent(cviewer).get(2), lodging);
-
-		// Add a lodging at the end
-		Lodging lodging = SampleData.FACTORY.createLodging();
-		lodging.setName("End Lodging");
-		catalog.addLodging(lodging);
-		int index = getComboContent().size() - 1;
-		assertEquals(getViewerContent(cviewer).get(index), lodging);
-
-		// Delete the first Lodging
-		catalog.removeLodging(catalog.getLodgings()[0]);
-		// Ensure that the cv's labels are the same as the lodging descriptions
-		assertEquals(getColumn(catalog.getLodgings(), "name"),
-				getComboContent());
-
-		// Delete middle Lodging
-		catalog.removeLodging(catalog.getLodgings()[2]);
-		// Ensure that the cv's labels are the same as the lodging descriptions
-		assertEquals(getColumn(catalog.getLodgings(), "name"),
-				getComboContent());
-
-		// Change the names of all Lodging
-		for (int i = 0; i < catalog.getLodgings().length; i++) {
-			Lodging l = catalog.getLodgings()[i];
-			l.setName("Changed: " + l.getName());
-		}
-		spinEventLoop(0); // force Async. efforts
-		assertEquals(getColumn(catalog.getLodgings(), "name"),
-				getComboContent());
-
-		// Set to null value
-		Lodging l = catalog.getLodgings()[0];
-		l.setName(null);
-		assertEquals(combo.getItem(0), "");
-
-		// set to empty list
-		while (catalog.getLodgings().length > 0)
-			catalog.removeLodging(catalog.getLodgings()[0]);
-		assertEquals(getColumn(catalog.getLodgings(), "name"),
-				getComboContent());
-
-	}
-
-	/**
-	 * This scenario tests a simple SWT combo with a set item list where the
-	 * selection is bouded to a String property
-	 */
-	public void test_ROCombo_Scenario01() {
-
-		// Read-Only Combo will not change its text property on a call to
-		// setText()
-
-		String[] items = new String[] { "FairyLand", "TuneLand", "NoWereLand",
-				"TinkerLand", "DreamLand" };
-		combo.setItems(items);
-		Account account = (Account) catalog.getAccounts()[0];
-
-		// simple Combo's selection bound to the Account's country property
-		getDbc().bind(
-				new Property(combo, SWTProperties.SELECTION),
-				new Property(account, "country"), null);
-
-		// Drive the combo selection
-		int index = 3;
-		combo.setText(items[index]); // this should drive the selection
-		assertEquals(account.getCountry(), items[index]);
-
-		// Set the country, and ensure selection is set property
-		index = 1;
-		account.setCountry(items[index]);
-		assertEquals(index, combo.getSelectionIndex());
-		assertEquals(combo.getText(), items[index]);
-
-		index = combo.getSelectionIndex();
-		String txt = combo.getText();
-		// Set the country to something that is not in the Combo's list
-		account.setCountry("FooBar");
-		// Combo's selection will not Change
-		assertEquals(combo.getSelectionIndex(), index);
-		assertEquals(combo.getText(), txt);
-
-	}
-
-	/**
-	 * This scenario tests a simple SWT combo that is bound to a list of Country
-	 * objects. The Country object's name property is listed in the Combo.
-	 * 
-	 * The Combo's selection is bounded to the Country property of an Account.
-	 */
-	public void test_ROCombo_Scenario02_SWTCombo() {
-
-		// Create a list of Strings for the countries
-		List list = new ArrayList();
-		for (int i = 0; i < catalog.getAccounts().length; i++)
-			list.add(catalog.getAccounts()[i].getCountry());
-
-		// Bind the combo's content to that of the String based list
-		getDbc().bind(combo, new Property(list, null), null);
-		assertEquals(Arrays.asList(combo.getItems()), list);
-
-		Account account = catalog.getAccounts()[0];
-
-		// simple Combo's selection bound to the Account's country property
-		getDbc().bind(
-				new Property(combo, SWTProperties.SELECTION),
-				new Property(account, "country"), null);
-
-		// Drive the combo selection
-		String selection = (String) list.get(2);
-		combo.setText(selection); // this should drive the selection
-		assertEquals(account.getCountry(), selection);
-
-	}
-
-	/**
-	 * This scenario tests a simple SWT combo that is bound to a list of Country
-	 * objects. The Country object's name property is listed in the Combo.
-	 * 
-	 * The Combo's selection is bounded to the Country property of an Account.
-	 */
-	public void test_ROCombo_Scenario02_ComboViewer() {
-
-		// Account label provider will fill the combo with the country
-		cviewer.setLabelProvider(accountLabelProvider);
-		// Bind the ComboViewer's content to the available accounts
-		getDbc().bind(cviewer, new Property(catalog, "accounts"),
-				null);
-
-		// Ensure that cv's content now has the catalog's accounts
-		assertArrayEquals(catalog.getAccounts(), getViewerContent(cviewer).toArray());
-		// Ensure that the cv's labels are the same as the account countries
-		assertEquals(getColumn(catalog.getAccounts(), "country"),
-				getComboContent());
-
-		Account account = SampleData.FACTORY.createAccount();
-
-		// Use the Viewers visual Combo (Strings) to set the account's country
-		getDbc().bind(
-				new Property(combo, SWTProperties.SELECTION),
-				new Property(account, "country"), null);
-
-		// Change the selection of the ComboViewer to all possible accounts, and
-		// verify that the account's Country is being changed correctly.
-		for (int i = 0; i < catalog.getAccounts().length; i++) {
-			Account selection = catalog.getAccounts()[i];
-			cviewer.setSelection(new StructuredSelection(selection));
-			assertEquals(selection.getCountry(), account.getCountry());
-		}
-
-	}
-
-	/**
-	 * This test ensure that multiple combos can be bound to the same deomain
-	 * model
-	 */
-	public void test_ROCombo_multipleBindings() {
-
-		Adventure skiAdventure = SampleData.WINTER_HOLIDAY; // for selection
-
-		cviewer.setLabelProvider(lodgingLabelProvider); // TODO: need to resolve
-		// column binding
-		// Bind the ComboViewer's content to the available lodging
-		getDbc().bind(cviewer, new Property(catalog, "lodgings"),
-				null);
-
-		// Ensure that cv's content now has the catalog's lodgings
-		assertArrayEquals(catalog.getLodgings(), getViewerContent(cviewer).toArray());
-
-		// Ensure that the cv's labels are the same as the lodging descriptions
-		assertEquals(getColumn(catalog.getLodgings(), "name"),
-				getComboContent());
-
-		ComboViewer otherViewer = new ComboViewer(getComposite(), SWT.NONE);
-		otherViewer.setLabelProvider(lodgingLabelProvider);
-		getDbc().bind(otherViewer,
-				new Property(catalog, "lodgings"), null);
-		// Ensure that cv's content now has the catalog's lodgings
-		assertArrayEquals(catalog.getLodgings(), getViewerContent(otherViewer).toArray());
-
-		// Bind both selections to the same thing
-		getDbc()
-				.bind(
-						new Property(cviewer,
-								ViewersProperties.SINGLE_SELECTION),
-						new Property(skiAdventure, "defaultLodging"),
-						null);
-		getDbc().bind(
-				new Property(otherViewer,
-						ViewersProperties.SINGLE_SELECTION),
-				new Property(skiAdventure, "defaultLodging"), null);
-
-		Lodging lodging = (Lodging) catalog.getLodgings()[0];
-
-		// Ensure that setting the selection is driven forward to the other
-		// combo
-		cviewer.setSelection(new StructuredSelection(lodging));
-		assertEquals(((IStructuredSelection) cviewer.getSelection())
-				.getFirstElement(), ((IStructuredSelection) otherViewer
-				.getSelection()).getFirstElement());
-
-		// Change the list of one combo, and ensure it updates the other combo
-		catalog.removeLodging(lodging);
-		assertEquals(getViewerContent(cviewer), getViewerContent(otherViewer));
-
-	}
-
-	/**
-	 * This scenario tests a simple SWT CCombo that is bound to a list of
-	 * Country objects. The Country object's name property is listed in the
-	 * Combo.
-	 * 
-	 * The Combo's selection is bounded to the Country property of an Account.
-	 */
-	public void test_ROCombo_SWTCCombo() {
-
-		// Create a list of Strings for the countries
-		List list = new ArrayList();
-		for (int i = 0; i < catalog.getAccounts().length; i++)
-			list.add(catalog.getAccounts()[i].getCountry());
-
-		CCombo ccombo = new CCombo(getComposite(), SWT.READ_ONLY
-				| SWT.DROP_DOWN);
-
-		// Bind the combo's content to that of the String based list
-		getDbc().bind(ccombo, new Property(list, null), null);
-		assertEquals(Arrays.asList(ccombo.getItems()), list);
-
-		Account account = (Account) catalog.getAccounts()[0];
-
-		// simple Combo's selection bound to the Account's country property
-		getDbc().bind(
-				new Property(ccombo, SWTProperties.SELECTION),
-				new Property(account, "country"), null);
-
-		// Drive the combo selection
-		String selection = (String) list.get(2);
-		ccombo.setText(selection); // this should drive the selection
-		assertEquals(account.getCountry(), selection);
-
-	}
-
-	/**
-	 * This scenario tests a simple SWT CCombo that is bound to a list of
-	 * Country objects. The Country object's name property is listed in the
-	 * Combo.
-	 * 
-	 * The Combo's selection is bounded to the Country property of an Account.
-	 */
-	public void test_WCombo_SWTCCombo() {
-
-		// Create a list of Strings for the countries
-		List list = new ArrayList();
-		for (int i = 0; i < catalog.getAccounts().length; i++)
-			list.add(catalog.getAccounts()[i].getCountry());
-
-		CCombo ccombo = new CCombo(getComposite(), SWT.READ_ONLY
-				| SWT.DROP_DOWN);
-
-		// Bind the combo's content to that of the String based list
-		getDbc().bind(ccombo, new Property(list, null), null);
-		assertEquals(Arrays.asList(ccombo.getItems()), list);
-
-		Account account = (Account) catalog.getAccounts()[0];
-
-		// simple Combo's selection bound to the Account's country property
-		getDbc().bind(
-				new Property(ccombo, SWTProperties.SELECTION),
-				new Property(account, "country"), null);
-
-		// Drive the combo selection
-		String selection = (String) list.get(2);
-		ccombo.setText(selection); // this should drive the selection
-		assertEquals(account.getCountry(), selection);
-		
-		selection = (String) list.get(1);
-		account.setCountry(selection);
-		assertEquals(selection, ccombo.getItem(ccombo.getSelectionIndex()));
-		assertEquals(selection, ccombo.getText());
-		
-		selection = "country not in list";
-		account.setCountry(selection);
-		assertEquals(-1, ccombo.getSelectionIndex());
-		assertEquals(selection, ccombo.getText());
-	}
-	
-	/**
-	 * This scenario tests a simple SWT CCombo that is bound to a list of
-	 * Country objects. The Country object's name property is listed in the
-	 * Combo.
-	 * 
-	 * The Combo's selection is bounded to the Country property of an Account.
-	 */
-	public void test_ROCombo_SWTList() {
-
-		// Create a list of Strings for the countries
-		List list = new ArrayList();
-		for (int i = 0; i < catalog.getAccounts().length; i++)
-			list.add(catalog.getAccounts()[i].getCountry());
-
-		org.eclipse.swt.widgets.List swtlist = new org.eclipse.swt.widgets.List(
-				getComposite(), SWT.READ_ONLY | SWT.SINGLE);
-
-		// Bind the combo's content to that of the String based list
-		getDbc().bind(swtlist, new Property(list, null), null);
-		assertEquals(Arrays.asList(swtlist.getItems()), list);
-
-		Account account = (Account) catalog.getAccounts()[0];
-
-		// simple Combo's selection bound to the Account's country property
-		getDbc()
-				.bind(
-						new Property(swtlist,
-								SWTProperties.SELECTION),
-						new Property(account, "country"), null);
-
-		String selection = (String) list.get(2);
-		swtlist.select(2); // this should drive the selection
-		swtlist.notifyListeners(SWT.Selection, null); // Force notification
-		assertEquals(account.getCountry(), selection);
-
-	}
-
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ComboViewerScenario.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ComboViewerScenario.java
deleted file mode 100644
index d51213d..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ComboViewerScenario.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.Catalog;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class ComboViewerScenario extends ScenariosTestCase {
-
-	private Catalog catalog;
-	private Combo combo;
-	private ComboViewer comboViewer;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-		combo = new Combo(getComposite(), SWT.READ_ONLY | SWT.DROP_DOWN);
-		comboViewer = new ComboViewer(combo);		
-		catalog = SampleData.CATALOG_2005; // Lodging source		
-	}
-
-	protected void tearDown() throws Exception {
-		combo.dispose();
-		combo = null;
-		comboViewer = null;
-		super.tearDown();
-	}
-
-	public void testScenario01() {
-		// Bind the catalog's lodgings to the combo
-		getDbc().bind(
-				comboViewer, 
-				new Property(catalog, "lodgings"),null);
-		// Verify that the combo's items are the lodgings
-		for (int i = 0; i < catalog.getLodgings().length; i++) {
-			assertEquals(catalog.getLodgings()[i],comboViewer.getElementAt(i));
-		}
-		// Verify that the String being shown in the combo viewer is the "toString" of the combo viewer
-		String[] lodgingStrings = new String[catalog.getLodgings().length];		
-		for (int i = 0; i < catalog.getLodgings().length; i++) {
-			lodgingStrings[i] = catalog.getLodgings()[i].toString();
-		}
-		assertArrayEquals(lodgingStrings,combo.getItems());
-		
-		// Verify that the combo has no selected item
-		assertEquals(null,((IStructuredSelection)comboViewer.getSelection()).getFirstElement());
-		
-		// Now bind the selection of the combo to the "defaultLodging" property of an adventure
-		final Adventure adventure = SampleData.WINTER_HOLIDAY;
-		getDbc().bind(
-				new Property(comboViewer,ViewersProperties.SINGLE_SELECTION),
-				new Property(adventure, "defaultLodging"),
-				null);
-		
-		// Verify that the combo selection is the default lodging
-		assertEquals(((IStructuredSelection)comboViewer.getSelection()).getFirstElement(),adventure.getDefaultLodging());
-		
-		// Change the model and verify that the combo selection changes 
-		adventure.setDefaultLodging(SampleData.CAMP_GROUND);
-		assertEquals(adventure.getDefaultLodging(),SampleData.CAMP_GROUND);
-		assertEquals(((IStructuredSelection)comboViewer.getSelection()).getFirstElement(),adventure.getDefaultLodging());		
-		
-		// Change the combo selection and verify that the model changes
-		comboViewer.getCombo().select(3);
-		assertEquals(((IStructuredSelection)comboViewer.getSelection()).getFirstElement(),adventure.getDefaultLodging());
-		
-		// Change the model on a non-UI thread and verify that the combo selection changes
-		invokeNonUI(new Runnable(){
-			public void run(){
-				adventure.setDefaultLodging(SampleData.YOUTH_HOSTEL);
-			}
-		});
-		spinEventLoop(0);
-		assertEquals(((IStructuredSelection)comboViewer.getSelection()).getFirstElement(),adventure.getDefaultLodging());		
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/CustomConverterScenarios.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/CustomConverterScenarios.java
deleted file mode 100644
index bb60dd2..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/CustomConverterScenarios.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.swt.SWTProperties;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.PriceModelObject;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Spinner;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class CustomConverterScenarios extends ScenariosTestCase {
-
-	private Adventure skiTrip;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		skiTrip = SampleData.WINTER_HOLIDAY;
-	}
-
-	protected void tearDown() throws Exception {
-		// do any teardown work here
-		super.tearDown();
-	}
-
-	public void testScenario01() {
-
-		Spinner spinner_dollars = new Spinner(getComposite(), SWT.NONE);
-		spinner_dollars.setMaximum(10000);
-		Spinner spinner_cents = new Spinner(getComposite(), SWT.NONE);
-		
-		// The price object is a double which contains both the dollars and cents
-		// To allow this to be worked on with two separate spinner controls (which get and set int values)
-		// an intermediate object is used
-		PriceModelObject priceModel = new PriceModelObject();
-		getDbc().bind(
-				new Property(priceModel,"price"),
-				new Property(skiTrip,"price"),null);
-
-		getDbc().bind(
-				new Property(spinner_dollars,
-						SWTProperties.SELECTION),
-				new Property(priceModel, "dollars"),null);
-
-		getDbc().bind(
-				new Property(spinner_cents,
-						SWTProperties.SELECTION),
-				new Property(priceModel, "cents"),null);
-		// spinEventLoop(1);
-		// Make sure that the selection on the spinner_dollars matches the
-		// dollars of the price
-		assertEquals(spinner_dollars.getSelection(), new Double(skiTrip
-				.getPrice()).intValue());
-		// Make sure that the selection on the spinner_cents matches the dollars
-		// of the price
-		Double doublePrice = new Double(skiTrip.getPrice());
-		double cents = 100*doublePrice.doubleValue() - 100*doublePrice
-				.intValue();
-		assertEquals(spinner_cents.getSelection(), (int) cents);
-
-		// Change the selection on the spinner_dollars to be $50 and make sure
-		// the model is updated with the cents included
-		spinner_dollars.setSelection(50);
-		double expectedPrice = 50 + cents / 100;
-		assertEquals(expectedPrice, skiTrip.getPrice(),0.01);
-
-		// Change the selection on the spinner_cents to be 27 and make sure the
-		// model is updated with the dollars included
-		spinner_cents.setSelection(27);
-		assertEquals(50.27, skiTrip.getPrice(),0.01);
-
-		// Change the model to be $60.99 dollars and make sure the
-		// spinner_dollars is 60 and spinner_cents is 99
-		skiTrip.setPrice(60.99);
-		assertEquals(60, spinner_dollars.getSelection());
-		assertEquals(99, spinner_cents.getSelection());
-
-	}
-
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/CustomScenarios.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/CustomScenarios.java
deleted file mode 100644
index a0bec83..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/CustomScenarios.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.jface.databinding.IUpdatableValue;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.AggregateUpdatableValue;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class CustomScenarios extends ScenariosTestCase {
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-	}
-
-	protected void tearDown() throws Exception {
-		// do any teardown work here
-		super.tearDown();
-	}
-
-	public void testScenario01() {
-		// Binding the name property of an Adventure object to the contents of
-		// Text controls, no conversion, no validation.
-
-		Adventure adventure = SampleData.WINTER_HOLIDAY;
-		Text text = new Text(getComposite(), SWT.BORDER);
-
-		IUpdatableValue descriptionUpdatable = (IUpdatableValue) getDbc()
-				.createUpdatable(new Property(adventure, "description"));
-		IUpdatableValue nameUpdatable = (IUpdatableValue) getDbc()
-				.createUpdatable(new Property(adventure, "name"));
-
-		AggregateUpdatableValue customUpdatable_comma = new AggregateUpdatableValue(
-				new IUpdatableValue[] { descriptionUpdatable, nameUpdatable },
-				",");
-
-		getDbc().bind(getDbc().createUpdatable(new Property(text, "text")),
-								customUpdatable_comma, null);
-		// spinEventLoop(1);
-		// Make sure that the description on the model match the widget
-		assertEquals(adventure.getDescription() + "," + adventure.getName(),
-				text.getText());
-
-		// Change the widget to newDescription,newName and ensure the model is
-		// updated
-		text.setText("newDescription,newName");
-		assertEquals("newDescription", adventure.getDescription());
-		assertEquals("newName", adventure.getName());
-
-		// Change the model to newDescription_0 and newName_0 and ensure the GUI
-		// is updated
-		adventure.setDescription("newDescription_0");
-		adventure.setName("newName_0");
-		assertEquals("newDescription_0,newName_0", text.getText());
-
-		// Change text to newDescription_1 with no comma and ensure the model is
-		// updated correctly with no name
-		text.setText("newDescription_1");
-		assertEquals("newDescription_1", adventure.getDescription());
-		assertEquals(null, adventure.getName());
-
-		// Change text to newName with a preceeding comma and ensure the model
-		// is updated correctly with no description
-		// TODO - Get this test working + Add the one where we have two aggregates and update one and 
-		// check that the other is updated - currently this fails on the GUI - JRW
-//		text.setText(",newName_1");
-//		assertEquals(null, adventure.getDescription());
-//		assertEquals("newName_1", adventure.getName());
-
-	}
-
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/LabelControlScenario.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/LabelControlScenario.java
deleted file mode 100644
index 2f65d1a..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/LabelControlScenario.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class LabelControlScenario extends ScenariosTestCase {
-
-	private Adventure adventure;	
-	private Label label;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-		label = new Label(getComposite(), SWT.NONE);		
-		adventure = SampleData.WINTER_HOLIDAY;
-	}
-
-	protected void tearDown() throws Exception {
-		// do any teardown work here
-		super.tearDown();
-		label.dispose();
-		label = null;
-	}
-
-	public void testScenario01() {
-		// Bind the adventure "name" property to a label control
-		// Change the UI and verify the model and UI are the same value
-		// Change the model and verify the UI changes
-		getDbc().bind(label, new Property(adventure, "name"), null);
-		assertEquals(adventure.getName(), label.getText());
-		adventure.setName("France");
-		assertEquals("France", label.getText());
-		// Verify that the model can be changed in a non-UI thread and the SWT Label still gets updated OK
-		invokeNonUI(new Runnable(){
-			public void run(){
-				adventure.setName("Climb Everest");
-			}
-		});		
-		spinEventLoop(0);
-		assertEquals("Climb Everest",label.getText());		
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ListViewerScenario.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ListViewerScenario.java
deleted file mode 100644
index 560b3b5..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ListViewerScenario.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.Catalog;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.List;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class ListViewerScenario extends ScenariosTestCase {
-
-	private Catalog catalog;
-	private List list;
-	private ListViewer listViewer;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-		list = new List(getComposite(), SWT.READ_ONLY | SWT.SINGLE);
-		listViewer = new ListViewer(list);		
-		catalog = SampleData.CATALOG_2005; // Lodging source		
-	}
-
-	protected void tearDown() throws Exception {
-		list.dispose();
-		list = null;
-		listViewer = null;
-		super.tearDown();
-	}
-
-	public void testScenario01() {
-		// Bind the catalog's lodgings to the combo
-		getDbc().bind(
-				listViewer, 
-				new Property(catalog, "lodgings"),null);
-		// Verify that the combo's items are the lodgings
-		for (int i = 0; i < catalog.getLodgings().length; i++) {
-			assertEquals(catalog.getLodgings()[i],listViewer.getElementAt(i));
-		}
-		// Verify that the String being shown in the list viewer is the "toString" of the combo viewer
-		String[] lodgingStrings = new String[catalog.getLodgings().length];		
-		for (int i = 0; i < catalog.getLodgings().length; i++) {
-			lodgingStrings[i] = catalog.getLodgings()[i].toString();
-		}
-		assertArrayEquals(lodgingStrings,list.getItems());
-		
-		// Verify that the list has no selected item
-		assertEquals(null,((IStructuredSelection)listViewer.getSelection()).getFirstElement());
-		
-		// Now bind the selection of the combo to the "defaultLodging" property of an adventure
-		final Adventure adventure = SampleData.WINTER_HOLIDAY;
-		getDbc().bind(
-				new Property(listViewer,ViewersProperties.SINGLE_SELECTION),
-				new Property(adventure, "defaultLodging"),
-				null);
-		
-		// Verify that the list selection is the default lodging
-		assertEquals(((IStructuredSelection)listViewer.getSelection()).getFirstElement(),adventure.getDefaultLodging());
-		
-		// Change the model and verify that the list selection changes 
-		adventure.setDefaultLodging(SampleData.CAMP_GROUND);
-		assertEquals(adventure.getDefaultLodging(),SampleData.CAMP_GROUND);
-		assertEquals(((IStructuredSelection)listViewer.getSelection()).getFirstElement(),adventure.getDefaultLodging());		
-		
-		// Change the list selection and verify that the model changes
-		listViewer.getList().select(3);
-		assertEquals(((IStructuredSelection)listViewer.getSelection()).getFirstElement(),adventure.getDefaultLodging());
-		
-		// Change the model on a non-UI thread and verify that the combo selection changes
-		invokeNonUI(new Runnable(){
-			public void run(){
-				adventure.setDefaultLodging(SampleData.YOUTH_HOSTEL);
-			}
-		});
-		spinEventLoop(0);
-		assertEquals(((IStructuredSelection)listViewer.getSelection()).getFirstElement(),adventure.getDefaultLodging()); 
-		
-	}
-	
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/MasterDetailScenarios.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/MasterDetailScenarios.java
deleted file mode 100644
index bad5a51..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/MasterDetailScenarios.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.databinding.IUpdatableValue;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.swt.SWTProperties;
-import org.eclipse.jface.databinding.updatables.ConditionalUpdatableValue;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.Catalog;
-import org.eclipse.jface.examples.databinding.model.Category;
-import org.eclipse.jface.examples.databinding.model.Lodging;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.jface.viewers.ContentViewer;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class MasterDetailScenarios extends ScenariosTestCase {
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-	}
-
-	protected void tearDown() throws Exception {
-		// do any teardown work here
-		super.tearDown();
-	}
-
-	protected Object getViewerSelection(ContentViewer contentViewer) {
-		return ((IStructuredSelection) contentViewer.getSelection())
-				.getFirstElement();
-	}
-
-	/**
-	 * @return the ComboViewer's domain object list
-	 */
-	protected List getViewerContent(ContentViewer contentViewer) {
-		Object[] elements = ((IStructuredContentProvider) contentViewer
-				.getContentProvider()).getElements(null);
-		if (elements != null)
-			return Arrays.asList(elements);
-		return null;
-	}
-
-	public void testScenario01() {
-		// Displaying the catalog's list of Lodging objects in a list viewer,
-		// using their names. The name of the currently selected Lodging can
-		// be edited in a text widget. There is always a selected Lodging
-		// object.
-		ListViewer listViewer = new ListViewer(getComposite(), SWT.BORDER);
-		listViewer.getList().setLayoutData(
-				new GridData(SWT.FILL, SWT.FILL, false, false));
-		Catalog catalog = SampleData.CATALOG_2005;
-
-		listViewer.setLabelProvider(new LabelProvider() {
-			public String getText(Object element) {
-				return ((Lodging) element).getName();
-			}
-		});
-		getDbc().bind(listViewer,
-				new Property(catalog, "lodgings"), null);
-
-		assertArrayEquals(catalog.getLodgings(), getViewerContent(listViewer).toArray());
-
-		IUpdatableValue selectedLodging = (IUpdatableValue) getDbc()
-				.createUpdatable(
-						new Property(listViewer,
-								ViewersProperties.SINGLE_SELECTION));
-
-		selectedLodging.setValue(SampleData.CAMP_GROUND);
-
-		assertEquals(SampleData.CAMP_GROUND, getViewerSelection(listViewer));
-		Text txtName = new Text(getComposite(), SWT.BORDER);
-
-		getDbc().bind(
-				txtName,
-				new Property(selectedLodging, "name", String.class,
-						Boolean.FALSE), null);
-
-		assertEquals(txtName.getText(), SampleData.CAMP_GROUND.getName());
-		enterText(txtName, "foobar");
-		assertEquals("foobar", SampleData.CAMP_GROUND.getName());
-		listViewer.setSelection(new StructuredSelection(
-				SampleData.FIVE_STAR_HOTEL));
-		assertEquals(SampleData.FIVE_STAR_HOTEL, selectedLodging.getValue());
-		assertEquals(SampleData.FIVE_STAR_HOTEL.getName(), txtName.getText());
-		SampleData.FIVE_STAR_HOTEL.setName("barfoo");
-		assertEquals("barfoo", txtName.getText());
-		
-		// Now make sure that the event listeners get removed on dispose()
-		// Values should no longer be updated
-//		selectedLodging.dispose();
-//		
-//		selectedLodging.setValue(SampleData.CAMP_GROUND);
-//		assertNotSame(SampleData.CAMP_GROUND, getViewerSelection(listViewer));
-//		assertNotSame(txtName.getText(), SampleData.CAMP_GROUND.getName());
-//		enterText(txtName, "foobar");
-//		assertNotSame("foobar", SampleData.CAMP_GROUND.getName());
-//		listViewer.setSelection(new StructuredSelection(
-//				SampleData.FIVE_STAR_HOTEL));
-//		assertNotSame(SampleData.FIVE_STAR_HOTEL, selectedLodging.getValue());
-//		assertNotSame(SampleData.FIVE_STAR_HOTEL.getName(), txtName.getText());
-//		SampleData.FIVE_STAR_HOTEL.setName("barfoo");
-//		assertNotSame("barfoo", txtName.getText());
-	}
-
-	public void testScenario02() {
-		// Selecting from the list of lodgings for an adventure and editing the
-		// properties of the selected lodging in text widgets. If no lodging is
-		// selected the input controls for name and adventure are disabled.
-		// There are two buttons "Add" and "Remove"; clicking on "Add" creates a
-		// new lodging and selects it so it can be edited, clicking on "Remove"
-		// removes the currently selected lodging from the list.
-		final ListViewer listViewer = new ListViewer(getComposite(), SWT.BORDER);
-		listViewer.getList().setLayoutData(
-				new GridData(SWT.FILL, SWT.FILL, false, false));
-		final Catalog catalog = SampleData.CATALOG_2005;
-
-		listViewer.setLabelProvider(new LabelProvider() {
-			public String getText(Object element) {
-				return ((Lodging) element).getName();
-			}
-		});
-		getDbc().bind(listViewer,
-				new Property(catalog, "lodgings"), null);
-
-		assertArrayEquals(catalog.getLodgings(), getViewerContent(listViewer).toArray());
-
-		final IUpdatableValue selectedLodgingUpdatable = (IUpdatableValue) getDbc()
-				.createUpdatable(
-						new Property(listViewer,
-								ViewersProperties.SINGLE_SELECTION));
-
-		selectedLodgingUpdatable.setValue(null);
-		assertTrue(listViewer.getSelection().isEmpty());
-
-		ConditionalUpdatableValue selectionExistsUpdatable = new ConditionalUpdatableValue(
-				selectedLodgingUpdatable) {
-			protected boolean compute(Object currentValue) {
-				return currentValue != null;
-			}
-		};
-
-		assertFalse(((Boolean) selectionExistsUpdatable.computeValue())
-				.booleanValue());
-
-		final Text txtName = new Text(getComposite(), SWT.BORDER);
-
-		getDbc().bind(
-				new Property(txtName, SWTProperties.ENABLED),
-				selectionExistsUpdatable, null);
-		getDbc().bind(
-				new Property(txtName, SWTProperties.TEXT),
-				new Property(selectedLodgingUpdatable, "name",
-						String.class, Boolean.FALSE), null);
-
-		assertEquals(txtName.getText(), "");
-		assertFalse(txtName.getEnabled());
-
-		final Text txtDescription = new Text(getComposite(), SWT.BORDER);
-
-		getDbc().bind(
-				new Property(txtDescription,
-						SWTProperties.ENABLED), selectionExistsUpdatable,
-				null);
-		getDbc().bind(
-				new Property(txtDescription,
-						SWTProperties.TEXT),
-				new Property(selectedLodgingUpdatable,
-						"description", String.class, Boolean.FALSE), null);
-
-		assertEquals(txtDescription.getText(), "");
-		assertFalse(txtDescription.getEnabled());
-
-		Button addButton = new Button(getComposite(), SWT.PUSH);
-		addButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				Lodging selectedLodging = (Lodging) selectedLodgingUpdatable
-						.getValue();
-				int insertionIndex = 0;
-				if (selectedLodging != null) {
-					insertionIndex = Arrays.asList(catalog.getLodgings())
-							.indexOf(selectedLodging);
-					assertTrue(insertionIndex >= 0);
-				}
-				Lodging newLodging = SampleData.FACTORY.createLodging();
-				int itemCount = listViewer.getList().getItemCount();
-				newLodging.setName("new lodging name " + itemCount);
-				newLodging.setDescription("new lodging description "
-						+ itemCount);
-				catalog.addLodging(newLodging);
-				assertEquals(itemCount + 1, listViewer.getList().getItemCount());
-				listViewer.setSelection(new StructuredSelection(newLodging));
-				assertSame(newLodging, selectedLodgingUpdatable.getValue());
-				assertTrue(txtName.getEnabled());
-				assertTrue(txtDescription.getEnabled());
-				assertEquals(newLodging.getName(), txtName.getText());
-				assertEquals(newLodging.getDescription(), txtDescription
-						.getText());
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-
-		Button removeButton = new Button(getComposite(), SWT.PUSH);
-		removeButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				Lodging selectedLodging = (Lodging) selectedLodgingUpdatable
-						.getValue();
-				assertNotNull(selectedLodging);
-				int deletionIndex = Arrays.asList(catalog.getLodgings())
-						.indexOf(selectedLodging);
-				assertTrue(deletionIndex >= 0);
-				int itemCount = listViewer.getList().getItemCount();
-				catalog.removeLodging(selectedLodging);
-				assertEquals(itemCount - 1, listViewer.getList().getItemCount());
-				assertNull(selectedLodgingUpdatable.getValue());
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-
-		pushButtonWithEvents(addButton);
-		pushButtonWithEvents(removeButton);
-		pushButtonWithEvents(addButton);
-		pushButtonWithEvents(addButton);
-		pushButtonWithEvents(removeButton);
-	}
-
-	public void testScenario03() {
-		// List adventures and for the selected adventure allow its default
-		// lodging�s name and description to be changed in text controls. If
-		// there is no selected adventure or the default lodging is null the
-		// text controls are disabled. This is a nested property. The default
-		// lodging can be changed elsewhere, and the list
-		final Catalog catalog = SampleData.CATALOG_2005;
-
-		final ListViewer categoryListViewer = new ListViewer(getComposite(),
-				SWT.BORDER);
-		categoryListViewer.getList().setLayoutData(
-				new GridData(SWT.FILL, SWT.FILL, false, false));
-		categoryListViewer.setLabelProvider(new LabelProvider() {
-			public String getText(Object element) {
-				return ((Category) element).getName();
-			}
-		});
-		getDbc().bind(categoryListViewer,
-				new Property(catalog, "categories"), null);
-
-		assertArrayEquals(catalog.getCategories(),
-				getViewerContent(categoryListViewer).toArray());
-
-		final IUpdatableValue selectedCategoryUpdatable = (IUpdatableValue) getDbc()
-				.createUpdatable(
-						new Property(categoryListViewer,
-								ViewersProperties.SINGLE_SELECTION));
-
-		final ListViewer adventureListViewer = new ListViewer(getComposite(),
-				SWT.BORDER);
-		adventureListViewer.getList().setLayoutData(
-				new GridData(SWT.FILL, SWT.FILL, false, false));
-		adventureListViewer.setLabelProvider(new LabelProvider() {
-			public String getText(Object element) {
-				return ((Adventure) element).getName();
-			}
-		});
-
-		getDbc().bind(
-				adventureListViewer,
-				new Property(selectedCategoryUpdatable,
-						"adventures", Adventure.class, Boolean.TRUE), null);
-
-		ConditionalUpdatableValue categorySelectionExistsUpdatable = new ConditionalUpdatableValue(
-				selectedCategoryUpdatable) {
-			protected boolean compute(Object currentValue) {
-				return currentValue != null;
-			}
-		};
-
-		getDbc().bind(
-				new Property(adventureListViewer.getList(),
-						SWTProperties.ENABLED),
-				categorySelectionExistsUpdatable, null);
-
-		final IUpdatableValue selectedAdventureUpdatable = (IUpdatableValue) getDbc()
-				.createUpdatable(
-						new Property(adventureListViewer,
-								ViewersProperties.SINGLE_SELECTION));
-
-		ConditionalUpdatableValue adventureSelectionExistsUpdatable = new ConditionalUpdatableValue(
-				selectedAdventureUpdatable) {
-			protected boolean compute(Object currentValue) {
-				return currentValue != null;
-			}
-		};
-
-		final Text txtName = new Text(getComposite(), SWT.BORDER);
-
-		getDbc().bind(
-				new Property(txtName, SWTProperties.ENABLED),
-				adventureSelectionExistsUpdatable, null);
-		getDbc().bind(
-				new Property(txtName, SWTProperties.TEXT),
-				new Property(selectedAdventureUpdatable, "name",
-						String.class, Boolean.FALSE), null);
-
-		assertEquals(txtName.getText(), "");
-		assertFalse(txtName.getEnabled());
-
-		final Text txtDescription = new Text(getComposite(), SWT.BORDER);
-
-		getDbc().bind(
-				new Property(txtDescription,
-						SWTProperties.ENABLED),
-				adventureSelectionExistsUpdatable, null);
-		getDbc().bind(
-				new Property(txtDescription,
-						SWTProperties.TEXT),
-				new Property(selectedAdventureUpdatable,
-						"description", String.class, Boolean.FALSE), null);
-
-		assertFalse(adventureListViewer.getList().isEnabled());
-		categoryListViewer.setSelection(new StructuredSelection(
-				SampleData.SUMMER_CATEGORY));
-		assertTrue(adventureListViewer.getList().isEnabled());
-		assertFalse(txtName.getEnabled());
-		adventureListViewer.setSelection(new StructuredSelection(
-				SampleData.RAFTING_HOLIDAY));
-		assertTrue(txtName.getEnabled());
-		assertEquals(SampleData.RAFTING_HOLIDAY.getName(), txtName.getText());
-		categoryListViewer.setSelection(new StructuredSelection(
-				SampleData.WINTER_CATEGORY));
-		assertTrue(adventureListViewer.getList().isEnabled());
-		assertFalse(txtName.getEnabled());
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/NewTableScenarios.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/NewTableScenarios.java
deleted file mode 100644
index d264401..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/NewTableScenarios.java
+++ /dev/null
@@ -1,467 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import java.beans.IntrospectionException;
-import java.beans.PropertyDescriptor;
-import java.util.Random;
-
-import org.eclipse.jface.databinding.IReadableSet;
-import org.eclipse.jface.databinding.IUpdatableCellProvider;
-import org.eclipse.jface.databinding.IUpdatableTable;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.beans.JavaBeans;
-import org.eclipse.jface.databinding.converter.IConverter;
-import org.eclipse.jface.databinding.viewers.TableViewerDescription;
-import org.eclipse.jface.databinding.viewers.TableViewerUpdatableTable;
-import org.eclipse.jface.examples.databinding.model.Account;
-import org.eclipse.jface.examples.databinding.model.Catalog;
-import org.eclipse.jface.examples.databinding.model.Category;
-import org.eclipse.jface.examples.databinding.model.PhoneConverter;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.jface.examples.databinding.model.Signon;
-import org.eclipse.jface.examples.databinding.model.StateConverter;
-import org.eclipse.jface.examples.databinding.model.Transportation;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.ViewerLabel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class NewTableScenarios extends ScenariosTestCase {
-
-	private TableViewer tableViewer;
-
-	private Catalog catalog;
-
-	private Category category;
-
-	private TableColumn firstNameColumn;
-
-	private TableColumn lastNameColumn;
-
-	private TableColumn stateColumn;
-
-	private Image[] images;
-
-	private TableColumn fancyColumn;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		getComposite().setLayout(new FillLayout());
-		tableViewer = new TableViewer(getComposite());
-		tableViewer.getTable().setLinesVisible(true);
-		tableViewer.getTable().setHeaderVisible(true);
-		firstNameColumn = new TableColumn(tableViewer.getTable(), SWT.NONE);
-		firstNameColumn.setWidth(50);
-		lastNameColumn = new TableColumn(tableViewer.getTable(), SWT.NONE);
-		lastNameColumn.setWidth(50);
-		stateColumn = new TableColumn(tableViewer.getTable(), SWT.NONE);
-		stateColumn.setWidth(50);
-		fancyColumn = new TableColumn(tableViewer.getTable(), SWT.NONE);
-		fancyColumn.setWidth(250);
-
-		catalog = SampleData.CATALOG_2005; // Lodging source
-		category = SampleData.WINTER_CATEGORY;
-
-		images = new Image[] {
-				getShell().getDisplay().getSystemImage(SWT.ICON_ERROR),
-				getShell().getDisplay().getSystemImage(SWT.ICON_WARNING),
-				getShell().getDisplay().getSystemImage(SWT.ICON_INFORMATION), };
-	}
-
-	protected void tearDown() throws Exception {
-		// do any teardown work here
-		super.tearDown();
-		tableViewer.getTable().dispose();
-		tableViewer = null;
-		firstNameColumn = null;
-		lastNameColumn = null;
-		stateColumn = null;
-	}
-
-	private String getValue(String text) {
-		if (text == null)
-			return "";
-		return text;
-	}
-
-	public void testScenario01() throws IntrospectionException {
-		// Factory for directly creating IUpdatables for beans
-		JavaBeans javaBeans = new JavaBeans();
-		
-		// Wrap the TableViewer in an IUpdatableTable
-		IUpdatableTable accountTable = new TableViewerUpdatableTable(
-				tableViewer);
-
-		// Create a readable set to track the catalog's accounts
-		IReadableSet accountSet = javaBeans.createReadableSet(catalog,
-				new PropertyDescriptor("accounts", Catalog.class, "getAccounts", null),
-				Account.class);
-		
-		// Create an updatable cell provider to track the given accounts' properties.
-		IUpdatableCellProvider accountCellProvider = javaBeans.createUpdatableCellProvider(
-				accountSet, new String[] { "firstName", "lastName", "state" });
-
-		// bind
-		getDbc().bind(accountTable, accountCellProvider, null);
-		
-		// uncomment next line to see result interactively
-		// interact();
-
-		// Verify the data in the table columns matches the accounts
-		Account[] accounts = catalog.getAccounts();
-		for (int i = 0; i < accounts.length; i++) {
-			Account account = accounts[i];
-			String col_0 = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 0);
-			assertEquals(getValue(account.getFirstName()), col_0);
-			String col_1 = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 1);
-			assertEquals(getValue(account.getLastName()), col_1);
-			String col_2 = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 2);
-			assertEquals(getValue(account.getState()), col_2);
-
-		}
-	}
-
-	public void testScenario02() throws SecurityException,
-			IllegalArgumentException {
-		// Show that a TableViewer with three columns can be used to update
-		// columns
-		Account[] accounts = catalog.getAccounts();
-
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("firstName");
-		tableViewerDescription.addEditableColumn("lastName", null, null,
-				new PhoneConverter());
-		tableViewerDescription.addEditableColumn("state", null, null,
-				new StateConverter());
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-
-		Account account = accounts[0];
-		// Select the first item in the table
-		tableViewer.editElement(account, 0);
-		// Set the text property of the cell editor which is now active over the
-		// "firstName" column
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor firstNameEditor = (TextCellEditor) cellEditors[0];
-		// Change the firstName and test it goes to the model
-		enterText((Text) firstNameEditor.getControl(), "Bill");
-		// Check whether the model has changed
-		assertEquals("Bill", account.getFirstName());
-	}
-
-	public void testScenario04() {
-		// Show that when an item is added to a collection the table gets an
-		// extra item
-		Account[] accounts = catalog.getAccounts();
-
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addColumn("firstName");
-		tableViewerDescription.addColumn("lastName");
-		tableViewerDescription.addColumn("state");
-		tableViewerDescription.addColumn(null, new IConverter() {
-
-			public Class getModelType() {
-				return Account.class;
-			}
-
-			public Class getTargetType() {
-				return ViewerLabel.class;
-			}
-
-			public Object convertTargetToModel(Object targetObject) {
-				return null;
-			}
-
-			public Object convertModelToTarget(Object modelObject) {
-				Account account = (Account) modelObject;
-				return new ViewerLabel(account.toString(), images[new Random()
-						.nextInt(images.length)]);
-			}
-		});
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-
-		// interact();
-
-		// Verify the number of accounts matches the number of items in the
-		// table
-		assertEquals(tableViewer.getTable().getItemCount(), accounts.length);
-		// Add a new account and verify that the number of items in the table
-		// increases
-		Account newAccount = new Account();
-		newAccount.setFirstName("Finbar");
-		newAccount.setLastName("McGoo");
-		newAccount.setLastName("NC");
-		catalog.addAccount(newAccount);
-		// The number of items should have gone up by one
-		assertEquals(tableViewer.getTable().getItemCount(), accounts.length + 1);
-		// The number of items should still match the number of accounts (i.e.
-		// test the model)
-		assertEquals(tableViewer.getTable().getItemCount(), catalog
-				.getAccounts().length);
-		// Remove the account that was just added
-		catalog.removeAccount(newAccount);
-		// The number of items should match the original
-		assertEquals(tableViewer.getTable().getItemCount(), accounts.length);
-		// The number of items should still match the number of accounts (i.e.
-		// test the model is reset)
-		assertEquals(tableViewer.getTable().getItemCount(), catalog
-				.getAccounts().length);
-
-		// Test adding and removing to the model on a non UI thread
-		int numberOfAccounts = catalog.getAccounts().length;
-		final Account barney = new Account();
-		barney.setFirstName("Barney");
-		barney.setLastName("Smith");
-		barney.setLastName("CA");
-		invokeNonUI(new Runnable() {
-			public void run() {
-				catalog.addAccount(barney);
-			}
-		});
-		spinEventLoop(0);
-		// The number of items should have gone up by one
-		assertEquals(tableViewer.getTable().getItemCount(),
-				numberOfAccounts + 1);
-
-		invokeNonUI(new Runnable() {
-			public void run() {
-				catalog.removeAccount(barney);
-			}
-		});
-		spinEventLoop(0);
-		// The number of items should have reverted to the original number
-		// before barney was added and removed
-		assertEquals(tableViewer.getTable().getItemCount(), numberOfAccounts);
-
-	}
-
-	public void testScenario03() {
-		// Show that converters work for table columns
-		Account[] accounts = catalog.getAccounts();
-
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("lastName");
-		tableViewerDescription.addEditableColumn("phone", null, null,
-				new PhoneConverter());
-		tableViewerDescription.addEditableColumn("state", null, null,
-				new StateConverter());
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-
-		// Verify that the data in the the table columns matches the expected
-		// What we are looking for is that the phone numbers are converterted to
-		// nnn-nnn-nnnn and that
-		// the state letters are converted to state names
-		// Verify the data in the table columns matches the accounts
-		PhoneConverter phoneConverter = new PhoneConverter();
-		StateConverter stateConverter = new StateConverter();
-		for (int i = 0; i < accounts.length; i++) {
-			Account account = catalog.getAccounts()[i];
-			// Check the phone number
-			String col_phone = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 1);
-			assertEquals(getValue((String) phoneConverter
-					.convertModelToTarget(account.getPhone())), col_phone);
-			String col_state = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 2);
-			assertEquals(getValue((String) stateConverter
-					.convertModelToTarget(account.getState())), col_state);
-		}
-	}
-
-	public void testScenario05() {
-		// Show that when the model changes then the UI refreshes to reflect
-		// this
-
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addColumn("lastName");
-		tableViewerDescription.addColumn("phone", new PhoneConverter());
-		tableViewerDescription.addColumn("state", new StateConverter());
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-
-		final Account account = catalog.getAccounts()[0];
-		String lastName = tableViewer.getTable().getItem(0).getText(0);
-		// Check the firstName in the TableItem is the same as the model
-		assertEquals(lastName, account.getLastName());
-		// Now change the model and check again
-		account.setLastName("Gershwin");
-		lastName = tableViewer.getTable().getItem(0).getText(0);
-		assertEquals(lastName, account.getLastName());
-
-		// Test the model update on a non UI thread
-		invokeNonUI(new Runnable() {
-			public void run() {
-				account.setLastName("Mozart");
-			}
-		});
-		spinEventLoop(0);
-		lastName = tableViewer.getTable().getItem(0).getText(0);
-		assertEquals(lastName, account.getLastName());
-
-	}
-
-	public void testScenario06() {
-		// Check that explicit type means that defaulting of converters works
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("price");
-		tableViewerDescription.getColumn(0).setPropertyType(Double.TYPE);
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "transporations"), null);
-		Transportation transporation = catalog.getTransporations()[0];
-		tableViewer.editElement(transporation, 0);
-		// Set the text property of the cell editor which is now active over the
-		// "firstName" column
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor priceEditor = (TextCellEditor) cellEditors[0];
-		// Change the firstName and test it goes to the model
-		enterText((Text) priceEditor.getControl(), "123.45");
-		// Verify the model is updated
-		assertEquals(transporation.getPrice(), 123.45, 0);
-
-	}
-
-	public void testScenario07() {
-		// Verify that even when a column's property type is not set, that it is
-		// worked out lazily from the target type
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("price");
-		// The column's type is not set to be Double.TYPE. This will be inferred
-		// once the first Transportation object is set
-		// into the UpdatableCollection
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "transporations"), null);
-		Transportation transporation = catalog.getTransporations()[0];
-		tableViewer.editElement(transporation, 0);
-		// Set the text property of the cell editor which is now active over the
-		// "firstName" column
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor priceEditor = (TextCellEditor) cellEditors[0];
-		// Change the firstName and test it goes to the model
-		enterText((Text) priceEditor.getControl(), "123.45");
-		// Verify the model is updated
-		assertEquals(transporation.getPrice(), 123.45, 0);
-
-	}
-
-	public void testScenario08_00() {
-		// Verify that binding to a Collection property (rather than an array)
-		// works when specifying data type
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("userId");
-		tableViewerDescription.addEditableColumn("password");
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "signons", Signon.class, null), null);
-		Signon firstSignon = (Signon) catalog.getSignons().get(0);
-		// Verify the UI matches the model
-		TableItem firstTableItem = tableViewer.getTable().getItem(0);
-		assertEquals(firstTableItem.getText(1), firstSignon.getPassword());
-		// Change the model and ensure the UI refreshes
-		firstSignon.setPassword("Eclipse123Rocks");
-		assertEquals("Eclipse123Rocks", firstSignon.getPassword());
-		assertEquals(firstTableItem.getText(1), firstSignon.getPassword());
-		// Change the GUI and ensure the model refreshes
-		tableViewer.editElement(firstSignon, 1);
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor passwordEditor = (TextCellEditor) cellEditors[1];
-		enterText((Text) passwordEditor.getControl(), "Cricket11Players");
-		assertEquals("Cricket11Players", firstSignon.getPassword());
-
-	}
-
-	public void testScenario08_01() {
-		// Verify that binding to a Collection property (rather than an array)
-		// works without specifying data type
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("userId");
-		tableViewerDescription.addEditableColumn("password");
-		getDbc().bind(tableViewerDescription, new Property(catalog, "signons"),
-				null);
-		Signon firstSignon = (Signon) catalog.getSignons().get(0);
-		// Verify the UI matches the model
-		TableItem firstTableItem = tableViewer.getTable().getItem(0);
-		assertEquals(firstTableItem.getText(1), firstSignon.getPassword());
-		// Change the model and ensure the UI refreshes
-		firstSignon.setPassword("Eclipse123Rocks");
-		assertEquals("Eclipse123Rocks", firstSignon.getPassword());
-		assertEquals(firstTableItem.getText(1), firstSignon.getPassword());
-		// Change the GUI and ensure the model refreshes
-		tableViewer.editElement(firstSignon, 1);
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor passwordEditor = (TextCellEditor) cellEditors[1];
-		enterText((Text) passwordEditor.getControl(), "Cricket11Players");
-		assertEquals("Cricket11Players", firstSignon.getPassword());
-
-	}
-
-	public void testScenario09() {
-		// Verify that nested properties work. Catalog has adventures. Adventure
-		// has defaultLodging. Loding has name.
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addColumn("name");
-		tableViewerDescription.addColumn("defaultLodging.name");
-		getDbc().bind(tableViewerDescription,
-				new Property(category, "adventures"), null);
-
-	}
-	/**
-	 * public void testScenario10(){ // Verify that for TIME_EARLY updating
-	 * occurs on a per key basic for a TextCellEditor // Show that converters
-	 * work for table columns Account[] accounts = catalog.getAccounts();
-	 * Account firstAccount = accounts[0];
-	 * SampleData.getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_EARLY);
-	 * TableViewerDescription tableViewerDescription = new
-	 * TableViewerDescription(tableViewer);
-	 * tableViewerDescription.addEditableColumn("lastName");
-	 * tableViewerDescription.addColumn("lastName");
-	 * getDbc().bind(tableViewerDescription,new Property(catalog, "accounts"),
-	 * null); // Verify that the first account is shown in the first row with
-	 * the last name correctly
-	 * assertEquals(tableViewer.getTable().getItem(0).getData(),firstAccount);
-	 * assertEquals(tableViewer.getTable().getItem(0).getText(0),firstAccount.getLastName());
-	 * assertEquals(tableViewer.getTable().getItem(0).getText(1),firstAccount.getLastName()); //
-	 * Create a cell editor over the first column
-	 * tableViewer.editElement(firstAccount, 0); // Set the text property of the
-	 * cell editor which is now active over the "firstName" column CellEditor[]
-	 * cellEditors = tableViewer.getCellEditors(); TextCellEditor
-	 * lastNameCellEditor = (TextCellEditor) cellEditors[0];
-	 * ((Text)lastNameCellEditor.getControl()).setText("E"); // Verify that the
-	 * key press goes to the model assertEquals(firstAccount.getLastName(),"E"); }
-	 */
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/PropertyScenarios.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/PropertyScenarios.java
deleted file mode 100644
index c866a55..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/PropertyScenarios.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import java.text.NumberFormat;
-import java.text.ParseException;
-import java.util.Locale;
-
-import org.eclipse.jface.databinding.BindSpec;
-import org.eclipse.jface.databinding.ChangeEvent;
-import org.eclipse.jface.databinding.IChangeListener;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatableValue;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.converter.Converter;
-import org.eclipse.jface.databinding.converter.IConverter;
-import org.eclipse.jface.databinding.converters.IdentityConverter;
-import org.eclipse.jface.databinding.swt.SWTProperties;
-import org.eclipse.jface.databinding.validator.IValidator;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.Cart;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Spinner;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class PropertyScenarios extends ScenariosTestCase {
-
-	private Adventure adventure;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-		adventure = SampleData.WINTER_HOLIDAY;
-	}
-
-	protected void tearDown() throws Exception {
-		// do any teardown work here
-		super.tearDown();
-	}
-
-	public void testEnterText() {
-		// just to make sure enterText() generates a FocusOut event.
-		Text text = new Text(getComposite(), SWT.BORDER);
-		final boolean[] focusLostHolder = { false };
-		text.addFocusListener(new FocusListener() {
-
-			public void focusGained(FocusEvent e) {
-				// only interested in focus lost events
-			}
-
-			public void focusLost(FocusEvent e) {
-				focusLostHolder[0] = true;
-			}
-		});
-		enterText(text, "hallo");
-		assertTrue(focusLostHolder[0]);
-	}
-
-	public void testScenario01() {
-		Text text = new Text(getComposite(), SWT.BORDER);
-		getDbc().bind(text, new Property(adventure, "name"), null);
-		// uncomment the following line to see what's happening
-		// happening
-		// spinEventLoop(1);
-		assertEquals(adventure.getName(), text.getText());
-		enterText(text, "foobar");
-		// uncomment the following line to see what's happening
-		// spinEventLoop(1);
-		assertEquals("foobar", adventure.getName());
-		adventure.setName("barfoo");
-		// uncomment the following line to see what's happening
-		// spinEventLoop(1);
-		assertEquals("barfoo", text.getText());
-	}
-
-	public void testScenario02() {
-		// Binding the name property of an Adventure object to the contents of
-		// Text controls, no conversion, no validation. The Text widget editable
-		// is set to false.by the developer (can not change the name)
-		Text text = new Text(getComposite(), SWT.READ_ONLY);
-		getDbc().bind(text, new Property(adventure, "name"), null);
-		assertEquals(adventure.getName(), text.getText());
-	}
-
-	public void testScenario03() {
-		// Binding of a read-only property of an Adventure object to the
-		// contents of Text controls, no conversion, no validation. Text control
-		// is not editable as a side effect of binding to a read-only property..
-		Cart cart = SampleData.CART;
-		cart.setAdventureDays(42);
-		// bind to the lodgingDays feature, which is read-only and always one
-		// less than the number of adventure days.
-		Text text = new Text(getComposite(), SWT.BORDER);
-		getDbc().bind(text, new Property(cart, "lodgingDays"),
-				new BindSpec(new IConverter() {
-					public Class getModelType() {
-						return int.class;
-					}
-
-					public Class getTargetType() {
-						return String.class;
-					}
-
-					public Object convertTargetToModel(Object object) {
-						return new Integer((String) object);
-					}
-
-					public Object convertModelToTarget(Object object) {
-						return object.toString();
-					}
-				}, null));
-		assertEquals(new Integer(cart.getLodgingDays()).toString(), text
-				.getText());
-		// TODO API extension needed: getChangeable() and setChangeable() on
-		// IUpdatableValue or IUpdatable
-		// assertEquals(
-		// "Needs API extension: getChangeable() and setChangeable() on
-		// IUpdatableValue or IUpdatable.",
-		// false, text.getEditable());
-	}
-
-	public void testScenario04() {
-		// Binding a nested property of an Adventure object to the content of a
-		// Text control, no conversion, no validation.
-		Text text = new Text(getComposite(), SWT.BORDER);
-		// TODO Scenario needs to be more specific - I'm binding to the default
-		// lodging's description of an adventure. What do we expect to happen
-		// when the default lodging changes? If we expect no change, then this
-		// scenario does not introduce anything new. If we expect the binding to
-		// be to the new default lodging's description, shouldn't we move this
-		// scenario to the master/detail section? I'm assuming the latter for
-		// now.
-		IUpdatableValue defaultLodging = (IUpdatableValue) getDbc()
-				.createUpdatable(
-						new Property(adventure, "defaultLodging"));
-		getDbc().bind(
-				text,
-				new Property(defaultLodging, "description",
-						String.class, Boolean.FALSE), null);
-
-		// test changing the description
-		assertEquals(adventure.getDefaultLodging().getDescription(), text
-				.getText());
-		enterText(text, "foobar");
-		assertEquals("foobar", adventure.getDefaultLodging().getDescription());
-		adventure.getDefaultLodging().setDescription("barfoo");
-		assertEquals(adventure.getDefaultLodging().getDescription(), text
-				.getText());
-
-		// test changing the default lodging
-		adventure.setDefaultLodging(SampleData.CAMP_GROUND);
-		assertEquals(adventure.getDefaultLodging().getDescription(), text
-				.getText());
-		adventure.getDefaultLodging().setDescription("barfo");
-		assertEquals(adventure.getDefaultLodging().getDescription(), text
-				.getText());
-
-		adventure.setDefaultLodging(null);
-		assertEquals("", text.getText());
-
-		adventure.setDefaultLodging(SampleData.FIVE_STAR_HOTEL);
-		assertEquals(adventure.getDefaultLodging().getDescription(), text
-				.getText());
-		adventure.getDefaultLodging().setDescription("barf");
-		assertEquals(adventure.getDefaultLodging().getDescription(), text
-				.getText());
-
-	}
-
-	public void testScenario05() {
-		// Binding the name property of an Adventure object to the contents of
-		// Text controls where conversion occurs � the model data is held all
-		// in
-		// uppercase and displayed in lowercase with the first letter
-		// capitalized.
-		Text text = new Text(getComposite(), SWT.BORDER);
-		adventure.setName("UPPERCASE");
-		getDbc().bind(text, new Property(adventure, "name"),
-				new BindSpec(new IConverter() {
-					public Class getModelType() {
-						return String.class;
-					}
-
-					public Class getTargetType() {
-						return String.class;
-					}
-
-					public Object convertTargetToModel(Object fromObject) {
-						return ((String) fromObject).toUpperCase();
-					}
-
-					public Object convertModelToTarget(Object toObject) {
-						String modelValue = (String) toObject;
-						if (modelValue == null || modelValue.equals("")) {
-							return modelValue;
-						}
-						String firstChar = modelValue.substring(0, 1);
-						String remainingChars = modelValue.substring(1);
-						return firstChar.toUpperCase()
-								+ remainingChars.toLowerCase();
-					}
-				}, null));
-		// spinEventLoop(1);
-		assertEquals("Uppercase", text.getText());
-		enterText(text, "lowercase");
-		// spinEventLoop(1);
-		// TODO If we wanted to "canonicalize" the value in the text field, how
-		// could we do that?
-		assertEquals("LOWERCASE", adventure.getName());
-	}
-
-	public void testScenario06() {
-		// Binding the name property of an Adventure object to the contents of
-		// Text controls where validation occurs and the name cannot be longer
-		// than 15 characters and cannot contain spaces
-		Text text = new Text(getComposite(), SWT.BORDER);
-		final String noSpacesMessage = "Name must not contain spaces.";
-		final String max15CharactersMessage = "Maximum length for name is 15 characters.";
-		adventure.setName("ValidValue");
-		getDbc().bind(
-				text,
-				new Property(adventure, "name"),
-				new BindSpec(new IdentityConverter(String.class),
-						new IValidator() {
-							public String isPartiallyValid(Object value) {
-								return isValid(value);
-							}
-
-							public String isValid(Object value) {
-								String stringValue = (String) value;
-								if (stringValue.length() > 15) {
-									return max15CharactersMessage;
-								} else if (stringValue.indexOf(' ') != -1) {
-									return noSpacesMessage;
-								} else {
-									return null;
-								}
-							}
-						}));
-		// no validation message
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-		text.setText("Invalid Value");
-		assertEquals(noSpacesMessage, getDbc().getCombinedValidationMessage()
-				.getValue());
-		assertEquals("ValidValue", text.getText());
-		text.setText("InvalidValueBecauseTooLong");
-		assertEquals(max15CharactersMessage, getDbc()
-				.getCombinedValidationMessage().getValue());
-		assertEquals("ValidValue", text.getText());
-		enterText(text, "anothervalid");
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-		assertEquals("anothervalid", text.getText());
-		assertEquals("anothervalid", adventure.getName());
-	}
-
-	public void testScenario07() {
-		// Binding the price property of an Adventure to a Text control. Price
-		// is a double and Text accepts String so conversion will have to occur.
-		// Validation ensure that the value is positive
-		Text text = new Text(getComposite(), SWT.BORDER);
-		adventure.setPrice(5.0);
-		final String cannotBeNegativeMessage = "Price cannot be negative.";
-		final String mustBeCurrencyMessage = "Price must be a currency.";
-		getDbc().bind(text, new Property(adventure, "price"),
-				new BindSpec(new Converter(String.class, double.class) {
-
-					public Object convertTargetToModel(Object fromObject) {
-						return new Double((String) fromObject);
-					}
-
-					public Object convertModelToTarget(Object toObject) {
-						return ((Double) toObject).toString();
-					}
-				}, new IValidator() {
-					public String isPartiallyValid(Object value) {
-						return null;
-					}
-
-					public String isValid(Object value) {
-						String stringValue = (String) value;
-						try {
-							double doubleValue = new Double(stringValue)
-									.doubleValue();
-							if (doubleValue < 0.0) {
-								return cannotBeNegativeMessage;
-							}
-							return null;
-						} catch (NumberFormatException ex) {
-							return mustBeCurrencyMessage;
-						}
-					}
-				}));
-		assertEquals("5.0", text.getText());
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-		enterText(text, "0.65");
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-		assertEquals(0.65, adventure.getPrice(), 0.0001);
-		adventure.setPrice(42.24);
-		assertEquals("42.24", text.getText());
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-		enterText(text, "jygt");
-		assertEquals(mustBeCurrencyMessage, getDbc()
-				.getCombinedValidationMessage().getValue());
-		enterText(text, "-23.9");
-		assertEquals(cannotBeNegativeMessage, getDbc()
-				.getCombinedValidationMessage().getValue());
-		assertEquals(42.24, adventure.getPrice(), 0.0001);
-		adventure.setPrice(0.0);
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-	}
-
-	public void testScenario08() {
-		// Binding the price property of an Adventure to a Text control but with
-		// custom conversion � the double will be validated to only have two
-		// decimal places and displayed with a leading currency symbol, and can
-		// be entered with or without the currency symbol.
-		Text text = new Text(getComposite(), SWT.BORDER);
-		adventure.setPrice(5.0);
-		final String cannotBeNegativeMessage = "Price cannot be negative.";
-		final String mustBeCurrencyMessage = "Price must be a currency.";
-		final NumberFormat currencyFormat = NumberFormat
-				.getCurrencyInstance(Locale.CANADA);
-		getDbc().bind(text, new Property(adventure, "price"),
-				new BindSpec(new Converter(String.class, double.class) {
-
-					public Object convertTargetToModel(Object fromObject) {
-						try {
-							return currencyFormat.parse((String) fromObject);
-						} catch (ParseException e) {
-							// TODO throw something like
-							// IllegalConversionException?
-							return new Double(0);
-						}
-					}
-
-					public Object convertModelToTarget(Object toObject) {
-						return currencyFormat.format(((Double) toObject)
-								.doubleValue());
-					}
-				}, new IValidator() {
-					public String isPartiallyValid(Object value) {
-						return null;
-					}
-
-					public String isValid(Object value) {
-						String stringValue = (String) value;
-						try {
-							double doubleValue = currencyFormat.parse(
-									stringValue).doubleValue();
-							if (doubleValue < 0.0) {
-								return cannotBeNegativeMessage;
-							}
-							return null;
-						} catch (ParseException e) {
-							return mustBeCurrencyMessage;
-						}
-					}
-				}));
-		assertEquals("$5.00", text.getText());
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-		enterText(text, "$0.65");
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-		assertEquals(0.65, adventure.getPrice(), 0.0001);
-		adventure.setPrice(42.24);
-		assertEquals("$42.24", text.getText());
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-		enterText(text, "jygt");
-		assertEquals(mustBeCurrencyMessage, getDbc()
-				.getCombinedValidationMessage().getValue());
-		enterText(text, "-$23.9");
-		assertEquals(cannotBeNegativeMessage, getDbc()
-				.getCombinedValidationMessage().getValue());
-		assertEquals(42.24, adventure.getPrice(), 0.0001);
-		adventure.setPrice(0.0);
-		assertEquals("", getDbc().getCombinedValidationMessage().getValue());
-	}
-
-	public void testScenario09() {
-		// Binding a boolean property to a CheckBox. Adventure will have a
-		// Boolean property �petsAllowed�
-		Button checkbox = new Button(getComposite(), SWT.CHECK);
-		// checkbox.setText("Pets allowed");
-		// checkbox.setLayoutData(new GridData(SWT.LEFT,SWT.TOP, false,false));
-		adventure.setPetsAllowed(true);
-		getDbc().bind(checkbox,
-				new Property(adventure, "petsAllowed"), null);
-		assertEquals(true, checkbox.getSelection());
-		setButtonSelectionWithEvents(checkbox, false);
-		assertEquals(false, adventure.isPetsAllowed());
-		adventure.setPetsAllowed(true);
-		assertEquals(true, checkbox.getSelection());
-	}
-
-	public void testScenario10() {
-		// Binding a Transportation departure time to a Text control that
-		// formats and validates the time to and from a String. There are
-		// property bindings that bind elements of the GUI to elements to GUI
-		// and also elements of the domain to elements of the domain
-		// TODO fail("not implemented");
-	}
-
-	public void testScenario11() {
-		// Binding the max value of a spinner to another spinner.
-		Spinner spinner1 = new Spinner(getComposite(), SWT.NONE);
-		spinner1.setSelection(10);
-		spinner1.setMinimum(1);
-		spinner1.setMaximum(100);
-		Spinner spinner2 = new Spinner(getComposite(), SWT.NONE);
-		spinner2.setMaximum(1);
-		getDbc().bind(spinner1,
-				new Property(spinner2, SWTProperties.MAX), null);
-		assertEquals(1, spinner1.getSelection());
-		spinner1.setSelection(10);
-		spinner1.notifyListeners(SWT.Modify, new Event());
-		assertEquals(10, spinner2.getMaximum());
-	}
-
-	public void testScenario12() {
-		// Binding the enabled state of several Text controls to a check box.
-		// There will be two check boxes, so as each is enabled/disabled the
-		// other one follows as do the states of the Text controls.
-		Button checkbox1 = new Button(getComposite(), SWT.CHECK);
-		checkbox1.setSelection(false);
-		Button checkbox2 = new Button(getComposite(), SWT.CHECK);
-		checkbox2.setSelection(false);
-		Text text1 = new Text(getComposite(), SWT.NONE);
-		Text text2 = new Text(getComposite(), SWT.NONE);
-		IUpdatableValue checkbox1Selected = (IUpdatableValue) getDbc()
-				.createUpdatable(checkbox1);
-		IUpdatableValue checkbox2Selected = (IUpdatableValue) getDbc()
-				.createUpdatable(checkbox2);
-		// bind the two checkboxes so that if one is checked, the other is not
-		// and vice versa.
-		getDbc().bind(checkbox1Selected, checkbox2Selected,
-				new BindSpec(new IConverter() {
-					public Class getModelType() {
-						return boolean.class;
-					}
-
-					public Class getTargetType() {
-						return boolean.class;
-					}
-
-					private Boolean negated(Boolean booleanObject) {
-						return new Boolean(!booleanObject.booleanValue());
-					}
-
-					public Object convertTargetToModel(Object targetObject) {
-						return negated((Boolean) targetObject);
-					}
-
-					public Object convertModelToTarget(Object modelObject) {
-						return negated((Boolean) modelObject);
-					}
-				}, null));
-		// bind the enabled state of the two text widgets to one of the
-		// checkboxes each.
-		getDbc().bind(new Property(text1, SWTProperties.ENABLED),
-				checkbox1Selected, null);
-		getDbc().bind(new Property(text2, SWTProperties.ENABLED),
-				checkbox2Selected, null);
-		assertEquals(true, text1.getEnabled());
-		assertEquals(false, text2.getEnabled());
-		assertEquals(true, checkbox1.getSelection());
-		setButtonSelectionWithEvents(checkbox1, false);
-		assertEquals(false, text1.getEnabled());
-		assertEquals(true, text2.getEnabled());
-		assertEquals(true, checkbox2.getSelection());
-		setButtonSelectionWithEvents(checkbox2, false);
-		assertEquals(true, text1.getEnabled());
-		assertEquals(false, text2.getEnabled());
-		assertEquals(true, checkbox1.getSelection());
-	}
-
-	public void testScenario13() {
-		// Changing the update policy to be not automatic, but on explicit
-		// method call (e.g. triggered by a button click).
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_LATE);
-		Text text = new Text(getComposite(), SWT.BORDER);
-		getDbc().bind(text, new Property(adventure, "name"), null);
-		// uncomment the following line to see what's happening
-		// happening
-		// spinEventLoop(1);
-		String adventureName = adventure.getName();
-		assertEquals(adventureName, text.getText());
-		enterText(text, "foobar");
-		// uncomment the following line to see what's happening
-		// spinEventLoop(1);
-		assertEquals("foobar", adventure.getName());
-		adventure.setName("barfoo");
-		// uncomment the following line to see what's happening
-		// spinEventLoop(1);
-		assertEquals("barfoo", text.getText());
-	}
-
-	public void testScenario14() {
-		Text t1 = new Text(getComposite(), SWT.BORDER);
-		Text t2 = new Text(getComposite(), SWT.BORDER);
-
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_EARLY);
-		getDbc().bind(t1, new Property(adventure, "name"), null);
-		getDbc().bind(t2, new Property(adventure, "name"), null);
-
-		final int[] counter = { 0 };
-		IUpdatableValue uv = (IUpdatableValue) getDbc().createUpdatable(
-				new Property(adventure, "name"));
-		uv.addChangeListener(new IChangeListener() {
-			public void handleChange(ChangeEvent changeEvent) {
-				// Count how many times adventure has changed
-				counter[0]++;
-			}
-		});
-
-		String name = adventure.getName() + "Foo";
-		enterText(t1, name);
-		assertEquals(name, adventure.getName());
-		assertEquals(name, t2.getText());
-		assertTrue(counter[0] == 1);
-
-		name = name + "Bar";
-		uv.setValue(name);
-		assertEquals(t1.getText(), adventure.getName());
-		assertEquals(2, counter[0]);
-
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ScenariosTestCase.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ScenariosTestCase.java
deleted file mode 100644
index e50ca03..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/ScenariosTestCase.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import java.util.Arrays;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Abstract base class of the JFace binding scenario test classes.
- */
-
-abstract public class ScenariosTestCase extends TestCase {
-
-	private Composite composite;
-
-	private IDataBindingContext dbc;
-
-	private Display display;
-
-	private boolean disposeDisplay = false;
-
-	private Shell shell;
-
-	protected Text dummyText;
-
-	private SWTUpdatableFactory swtUpdatableFactory;
-
-	protected Composite getComposite() {
-		return composite;
-	}
-
-	protected IDataBindingContext getDbc() {
-		return dbc;
-	}
-	
-	protected SWTUpdatableFactory getSWTUpdatableFactory() {
-		return swtUpdatableFactory;
-	}
-
-	public Shell getShell() {
-		if (shell != null) {
-			return shell;
-		}
-		Shell result = BindingScenariosTestSuite.getShell();
-		if (result == null) {
-			display = Display.getDefault();
-			if (Display.getDefault() == null) {
-				display = new Display();
-				disposeDisplay = true;
-			}
-			shell = new Shell(display, SWT.SHELL_TRIM);
-			shell.setLayout(new FillLayout());
-			result = shell;
-		}
-		result.setText(getName()); // In the case that the shell() becomes
-		// visible.
-		return result;
-	}
-
-	protected void spinEventLoop(int secondsToWaitWithNoEvents) {
-		if (!composite.isVisible() && secondsToWaitWithNoEvents > 0) {
-			composite.getShell().open();
-		}
-		while (composite.getDisplay().readAndDispatch()) {
-			// do nothing, just process events
-		}
-		try {
-			Thread.sleep(secondsToWaitWithNoEvents * 1000);
-		} catch (InterruptedException e) {
-			Thread.currentThread().interrupt();
-		}
-	}
-	
-	protected void interact() {
-		if (!getShell().isVisible()) {
-			getShell().open();
-		}
-		while (!getShell().isDisposed()) {
-			if (!getShell().getDisplay().readAndDispatch()) {
-				getShell().getDisplay().sleep();
-			}
-		}
-	}
-
-	protected void setButtonSelectionWithEvents(Button button, boolean value) {
-		if (button.getSelection() == value) {
-			return;
-		}
-		button.setSelection(value);
-		pushButtonWithEvents(button);
-	}
-
-	protected void pushButtonWithEvents(Button button) {
-		button.notifyListeners(SWT.Selection, null);
-	}
-
-	protected void setUp() throws Exception {
-		composite = new Composite(getShell(), SWT.NONE);
-		composite.setLayout(new FillLayout());
-		SampleData.initializeData(); // test may manipulate the data... let
-		// all start from fresh
-		dbc = SampleData.getDatabindingContext(composite);
-		swtUpdatableFactory = SampleData.getSWTUpdatableFactory();
-		dummyText = new Text(getComposite(), SWT.NONE);
-		dummyText.setText("dummy");
-	}
-
-	protected void tearDown() throws Exception {
-		getShell().setVisible(false); // same Shell may be reUsed across tests
-		composite.dispose();
-		composite = null;
-		if (shell != null) {
-			shell.close();
-			shell.dispose();
-		} else
-			dbc.dispose();
-		if (display != null && disposeDisplay) {
-			display.dispose();
-		}
-	}
-
-	protected void enterText(Text text, String string) {
-		text.notifyListeners(SWT.FocusIn, null);
-		text.setText(string);
-		text.notifyListeners(SWT.FocusOut, null);
-	}
-
-	protected void assertArrayEquals(Object[] expected, Object[] actual) {
-		assertEquals(Arrays.asList(expected), Arrays.asList(actual));
-	}
-		
-	public static void invokeNonUI(final Runnable aRunnable){
-		
-		final RuntimeException[] nonUIException = new RuntimeException[1];
-		Thread t = new Thread(aRunnable){
-			public void run(){
-				try{
-					super.run();
-				} catch (Exception exc){
-					RuntimeException runtimeException = new RuntimeException(exc);
-					runtimeException.fillInStackTrace();
-					nonUIException[0] = runtimeException; 
-					exc.printStackTrace();
-				}
-			}
-		};
-		t.start();
-		while(t.isAlive()) {
-			while(Display.getCurrent().readAndDispatch());
-			try {
-				t.join(100);
-			} catch (InterruptedException e) {
-				e.printStackTrace();
-			}
-		}
-		if(nonUIException[0] != null){
-			throw nonUIException[0];
-		}
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/SpinnerControlScenario.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/SpinnerControlScenario.java
deleted file mode 100644
index 6832f5b..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/SpinnerControlScenario.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Spinner;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class SpinnerControlScenario extends ScenariosTestCase {
-
-	private Adventure adventure;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-		adventure = SampleData.WINTER_HOLIDAY;
-	}
-
-	protected void tearDown() throws Exception {
-		// do any teardown work here
-		super.tearDown();
-	}
-
-	public void testScenario01() {
-		// Bind the adventure "maxNumberOfPeople" property to a spinner
-		// Change the UI and verify the model changes
-		// Change the model and verify the UI changes
-		Spinner spinner = new Spinner(getComposite(), SWT.BORDER);
-		getDbc().bind(spinner, new Property(adventure, "maxNumberOfPeople"), null);
-		assertEquals(adventure.getMaxNumberOfPeople(), spinner.getSelection());
-		// Verify the model is updated when the GUI is changed		
-		spinner.setSelection(5);	
-		assertEquals(5,adventure.getMaxNumberOfPeople());
-		// Verify the GUI is updated when the model changes
-		adventure.setMaxNumberOfPeople(7);
-		assertEquals(7,spinner.getSelection());
-		// Verify that updates can occured to the model on a non UI thread
-		invokeNonUI(new Runnable(){
-			public void run(){
-				adventure.setMaxNumberOfPeople(11);
-			}
-		});
-		spinEventLoop(0);
-		assertEquals(11,spinner.getSelection());
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TableScenarios.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TableScenarios.java
deleted file mode 100644
index dabacb3..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TableScenarios.java
+++ /dev/null
@@ -1,429 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import java.util.Random;
-
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.converter.IConverter;
-import org.eclipse.jface.databinding.viewers.TableViewerDescription;
-import org.eclipse.jface.examples.databinding.model.Account;
-import org.eclipse.jface.examples.databinding.model.Catalog;
-import org.eclipse.jface.examples.databinding.model.Category;
-import org.eclipse.jface.examples.databinding.model.PhoneConverter;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.jface.examples.databinding.model.Signon;
-import org.eclipse.jface.examples.databinding.model.StateConverter;
-import org.eclipse.jface.examples.databinding.model.Transportation;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.ViewerLabel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class TableScenarios extends ScenariosTestCase {
-
-	private TableViewer tableViewer;
-
-	private Catalog catalog;
-	
-	private Category category;
-
-	private TableColumn firstNameColumn;
-
-	private TableColumn lastNameColumn;
-
-	private TableColumn stateColumn;
-
-	private Image[] images;
-
-	private TableColumn fancyColumn;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		getComposite().setLayout(new FillLayout());
-		tableViewer = new TableViewer(getComposite());
-		tableViewer.getTable().setLinesVisible(true);
-		tableViewer.getTable().setHeaderVisible(true);
-		firstNameColumn = new TableColumn(tableViewer.getTable(), SWT.NONE);
-		firstNameColumn.setWidth(50);
-		lastNameColumn = new TableColumn(tableViewer.getTable(), SWT.NONE);
-		lastNameColumn.setWidth(50);		
-		stateColumn = new TableColumn(tableViewer.getTable(), SWT.NONE);
-		stateColumn.setWidth(50);		
-		fancyColumn = new TableColumn(tableViewer.getTable(), SWT.NONE);
-		fancyColumn.setWidth(250);		
-
-		catalog = SampleData.CATALOG_2005; // Lodging source
-		category = SampleData.WINTER_CATEGORY; 
-
-		images = new Image[] {
-				getShell().getDisplay().getSystemImage(SWT.ICON_ERROR),
-				getShell().getDisplay().getSystemImage(SWT.ICON_WARNING),
-				getShell().getDisplay().getSystemImage(SWT.ICON_INFORMATION), };
-	}
-
-	protected void tearDown() throws Exception {
-		// do any teardown work here
-		super.tearDown();
-		tableViewer.getTable().dispose();
-		tableViewer = null;
-		firstNameColumn = null;
-		lastNameColumn = null;
-		stateColumn = null;
-	}
-
-	private String getValue(String text) {
-		if (text==null)
-			return "";
-		return text;
-	}
-	
-	public void testScenario01() {
-		// Show that a TableViewer with three columns renders the accounts
-		Account[] accounts = catalog.getAccounts();
-
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addColumn(0, "firstName");
-		tableViewerDescription.addColumn(1, "lastName");
-		tableViewerDescription.addColumn(2, "state");
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-
-		// Verify the data in the table columns matches the accounts
-		for (int i = 0; i < accounts.length; i++) {
-			Account account = catalog.getAccounts()[i];
-			String col_0 = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 0); 
-			assertEquals(getValue(account.getFirstName()), col_0);
-			String col_1 = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 1);
-			assertEquals(getValue(account.getLastName()), col_1);
-			String col_2 = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 2);
-			assertEquals(getValue(account.getState()), col_2);
-
-		}
-	}
-
-	public void testScenario02() throws SecurityException, IllegalArgumentException {
-		// Show that a TableViewer with three columns can be used to update
-		// columns
-		Account[] accounts = catalog.getAccounts();
-
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("firstName");
-		tableViewerDescription.addEditableColumn("lastName", null, null, new PhoneConverter());
-		tableViewerDescription.addEditableColumn("state", null, null, new StateConverter());
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-
-		Account account = accounts[0];
-		// Select the first item in the table
-		tableViewer.editElement(account, 0);
-		// Set the text property of the cell editor which is now active over the "firstName" column
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor firstNameEditor = (TextCellEditor) cellEditors[0];
-		// Change the firstName and test it goes to the model
-		enterText((Text) firstNameEditor.getControl(), "Bill");
-		// Check whether the model has changed
-		assertEquals("Bill",account.getFirstName());
-	}
-	
-	public void testScenario04() {
-		// Show that when an item is added to a collection the table gets an extra item
-		Account[] accounts = catalog.getAccounts();	
-		
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addColumn("firstName");
-		tableViewerDescription.addColumn("lastName");
-		tableViewerDescription.addColumn("state");
-		tableViewerDescription.addColumn(null,new IConverter(){
-			
-			public Class getModelType() {
-				return Account.class;
-			}
-			
-			public Class getTargetType() {
-				return ViewerLabel.class;
-			}
-			
-			public Object convertTargetToModel(Object targetObject) {
-				return null;
-			}
-			
-			public Object convertModelToTarget(Object modelObject) {
-				Account account = (Account) modelObject;
-				return new ViewerLabel(account.toString(), images[new Random().nextInt(images.length)]);
-			}});
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-
-		//interact();
-		
-		// Verify the number of accounts matches the number of items in the table
-		assertEquals(tableViewer.getTable().getItemCount(),accounts.length);
-		// Add a new account and verify that the number of items in the table increases
-		Account newAccount = new Account();
-		newAccount.setFirstName("Finbar");
-		newAccount.setLastName("McGoo");
-		newAccount.setLastName("NC");
-		catalog.addAccount(newAccount);
-		// The number of items should have gone up by one
-		assertEquals(tableViewer.getTable().getItemCount(),accounts.length + 1);
-		// The number of items should still match the number of accounts (i.e. test the model)
-		assertEquals(tableViewer.getTable().getItemCount(),catalog.getAccounts().length);
-		// Remove the account that was just added
-		catalog.removeAccount(newAccount);
-		// The number of items should match the original
-		assertEquals(tableViewer.getTable().getItemCount(),accounts.length);
-		// The number of items should still match the number of accounts (i.e. test the model is reset)
-		assertEquals(tableViewer.getTable().getItemCount(),catalog.getAccounts().length);		
-		
-		// Test adding and removing to the model on a non UI thread
-		int numberOfAccounts = catalog.getAccounts().length;
-		final Account barney = new Account();
-		barney.setFirstName("Barney");
-		barney.setLastName("Smith");
-		barney.setLastName("CA");
-		invokeNonUI(new Runnable(){
-			public void run(){
-				catalog.addAccount(barney);
-			}
-		});
-		spinEventLoop(0);
-		// The number of items should have gone up by one		
-		assertEquals(tableViewer.getTable().getItemCount(),numberOfAccounts + 1);
-		
-		invokeNonUI(new Runnable(){
-			public void run(){
-				catalog.removeAccount(barney);
-			}
-		});
-		spinEventLoop(0);
-		// The number of items should have reverted to the original number before barney was added and removed		
-		assertEquals(tableViewer.getTable().getItemCount(),numberOfAccounts);
-		
-	}
-		
-	public void testScenario03() {
-		// Show that converters work for table columns
-		Account[] accounts = catalog.getAccounts();
-
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("lastName");
-		tableViewerDescription.addEditableColumn("phone", null, null ,
-				new PhoneConverter());
-		tableViewerDescription.addEditableColumn("state", null, null ,
-				new StateConverter());
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-
-		// Verify that the data in the the table columns matches the expected
-		// What we are looking for is that the phone numbers are converterted to
-		// nnn-nnn-nnnn and that
-		// the state letters are converted to state names
-		// Verify the data in the table columns matches the accounts
-		PhoneConverter phoneConverter = new PhoneConverter();
-		StateConverter stateConverter = new StateConverter();
-		for (int i = 0; i < accounts.length; i++) {
-			Account account = catalog.getAccounts()[i];
-			// Check the phone number
-			String col_phone = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 1);
-			assertEquals(getValue((String)phoneConverter
-					.convertModelToTarget(account.getPhone())), col_phone);
-			String col_state = ((ITableLabelProvider) tableViewer
-					.getLabelProvider()).getColumnText(account, 2);
-			assertEquals(getValue((String)stateConverter
-					.convertModelToTarget(account.getState())), col_state);
-		}
-	}
-	
-	public void testScenario05() {
-		// Show that when the model changes then the UI refreshes to reflect this
-
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addColumn("lastName");
-		tableViewerDescription.addColumn("phone",
-				new PhoneConverter());
-		tableViewerDescription.addColumn("state",
-				new StateConverter());
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "accounts"), null);
-		
-		final Account account = catalog.getAccounts()[0];
-		String lastName = tableViewer.getTable().getItem(0).getText(0);
-		// Check the firstName in the TableItem is the same as the model
-		assertEquals(lastName,account.getLastName());
-		// Now change the model and check again
-		account.setLastName("Gershwin");
-		lastName = tableViewer.getTable().getItem(0).getText(0);	
-		assertEquals(lastName,account.getLastName());	
-		
-		// Test the model update on a non UI thread
-		invokeNonUI(new Runnable(){
-			public void run(){
-				account.setLastName("Mozart");				
-			}
-		});
-		spinEventLoop(0);
-		lastName = tableViewer.getTable().getItem(0).getText(0);		
-		assertEquals(lastName,account.getLastName());
-		
-	}
-	
-	public void testScenario06(){
-		// Check that explicit type means that defaulting of converters works
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("price");
-		tableViewerDescription.getColumn(0).setPropertyType(Double.TYPE);
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "transporations"), null);
-		Transportation transporation = catalog.getTransporations()[0];
-		tableViewer.editElement(transporation, 0);
-		// Set the text property of the cell editor which is now active over the "firstName" column
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor priceEditor = (TextCellEditor) cellEditors[0];
-		// Change the firstName and test it goes to the model
-		enterText((Text) priceEditor.getControl(), "123.45");
-		// Verify the model is updated
-		assertEquals(transporation.getPrice(),123.45,0);
-		
-	}
-	
-	public void testScenario07(){
-		// Verify that even when a column's property type is not set, that it is worked out lazily from the target type 
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("price");
-		// The column's type is not set to be Double.TYPE.  This will be inferred once the first Transportation object is set
-		// into the UpdatableCollection
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "transporations"), null);
-		Transportation transporation = catalog.getTransporations()[0];
-		tableViewer.editElement(transporation, 0);
-		// Set the text property of the cell editor which is now active over the "firstName" column
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor priceEditor = (TextCellEditor) cellEditors[0];
-		// Change the firstName and test it goes to the model
-		enterText((Text) priceEditor.getControl(), "123.45");
-		// Verify the model is updated
-		assertEquals(transporation.getPrice(),123.45,0);
-		
-	}
-	
-	public void testScenario08_00(){
-		// Verify that binding to a Collection property (rather than an array) works when specifying data type
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("userId");
-		tableViewerDescription.addEditableColumn("password");	
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "signons", Signon.class, null), null);	
-		Signon firstSignon = (Signon) catalog.getSignons().get(0);	
-		// Verify the UI matches the model
-		TableItem firstTableItem = tableViewer.getTable().getItem(0);
-		assertEquals(firstTableItem.getText(1),firstSignon.getPassword());
-		// Change the model and ensure the UI refreshes
-		firstSignon.setPassword("Eclipse123Rocks");
-		assertEquals("Eclipse123Rocks",firstSignon.getPassword());		
-		assertEquals(firstTableItem.getText(1),firstSignon.getPassword());
-		// Change the GUI and ensure the model refreshes
-		tableViewer.editElement(firstSignon, 1);
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor passwordEditor = (TextCellEditor) cellEditors[1];
-		enterText((Text) passwordEditor.getControl(), "Cricket11Players");
-		assertEquals("Cricket11Players",firstSignon.getPassword());
-		
-	}
-	
-	public void testScenario08_01(){
-		// Verify that binding to a Collection property (rather than an array) works without specifying data type
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(
-				tableViewer);
-		tableViewerDescription.addEditableColumn("userId");
-		tableViewerDescription.addEditableColumn("password");	
-		getDbc().bind(tableViewerDescription,
-				new Property(catalog, "signons"), null);	
-		Signon firstSignon = (Signon) catalog.getSignons().get(0);	
-		// Verify the UI matches the model
-		TableItem firstTableItem = tableViewer.getTable().getItem(0);
-		assertEquals(firstTableItem.getText(1),firstSignon.getPassword());
-		// Change the model and ensure the UI refreshes
-		firstSignon.setPassword("Eclipse123Rocks");
-		assertEquals("Eclipse123Rocks",firstSignon.getPassword());		
-		assertEquals(firstTableItem.getText(1),firstSignon.getPassword());
-		// Change the GUI and ensure the model refreshes
-		tableViewer.editElement(firstSignon, 1);
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor passwordEditor = (TextCellEditor) cellEditors[1];
-		enterText((Text) passwordEditor.getControl(), "Cricket11Players");
-		assertEquals("Cricket11Players",firstSignon.getPassword());
-		
-	}
-	
-	public void testScenario09(){
-		// Verify that nested properties work.  Catalog has adventures.  Adventure has defaultLodging.  Loding has name.
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(tableViewer);
-		tableViewerDescription.addColumn("name");
-		tableViewerDescription.addColumn("defaultLodging.name");
-		getDbc().bind(tableViewerDescription,new Property(category, "adventures"),null);
-		
-	}
-/**	
-	public void testScenario10(){
-		// Verify that for TIME_EARLY updating occurs on a per key basic for a TextCellEditor
-		// Show that converters work for table columns
-		Account[] accounts = catalog.getAccounts();
-		Account firstAccount = accounts[0];
-		SampleData.getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_EARLY);
-		TableViewerDescription tableViewerDescription = new TableViewerDescription(tableViewer);
-		tableViewerDescription.addEditableColumn("lastName");
-		tableViewerDescription.addColumn("lastName");
-		getDbc().bind(tableViewerDescription,new Property(catalog, "accounts"), null);
-		
-		// Verify that the first account is shown in the first row with the last name correctly
-		assertEquals(tableViewer.getTable().getItem(0).getData(),firstAccount);
-		assertEquals(tableViewer.getTable().getItem(0).getText(0),firstAccount.getLastName());
-		assertEquals(tableViewer.getTable().getItem(0).getText(1),firstAccount.getLastName());
-		// Create a cell editor over the first column
-		tableViewer.editElement(firstAccount, 0);
-		// Set the text property of the cell editor which is now active over the "firstName" column
-		CellEditor[] cellEditors = tableViewer.getCellEditors();
-		TextCellEditor lastNameCellEditor = (TextCellEditor) cellEditors[0];
-		((Text)lastNameCellEditor.getControl()).setText("E");
-		// Verify that the key press goes to the model
-		assertEquals(firstAccount.getLastName(),"E");
-		
-	}
- **/	
-}
-
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TextControlScenario.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TextControlScenario.java
deleted file mode 100644
index 983e06a..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TextControlScenario.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import org.eclipse.jface.databinding.BindSpec;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.beans.BeanBindSupportFactory;
-import org.eclipse.jface.examples.databinding.model.Account;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.PhoneConverter;
-import org.eclipse.jface.examples.databinding.model.PhoneValidator;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.jface.examples.databinding.model.Transportation;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * To run the tests in this class, right-click and select "Run As JUnit Plug-in
- * Test". This will also start an Eclipse instance. To clean up the launch
- * configuration, open up its "Main" tab and select "[No Application] - Headless
- * Mode" as the application to run.
- */
-
-public class TextControlScenario extends ScenariosTestCase {
-
-	private Text text;
-	private Adventure adventure;
-	private Transportation transportation;
-	private Account account;	
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// do any setup work here
-		adventure = SampleData.WINTER_HOLIDAY;
-		transportation = SampleData.EXECUTIVE_JET;
-		account = SampleData.PRESIDENT;		
-		text = new Text(getComposite(), SWT.BORDER);		
-	}
-
-	protected void tearDown() throws Exception {
-		text.dispose();
-		text = null;
-		super.tearDown();
-	}
-
-	public void testScenario01() {
-		// Bind the adventure "name" property to a text field
-		// Change the UI and verify the model changes
-		// Change the model and verify the UI changes
-		getDbc().bind(text, new Property(adventure, "name"), null);
-		assertEquals(adventure.getName(), text.getText());
-		text.setText("England");
-		text.notifyListeners(SWT.FocusOut, null);		
-		assertEquals("England", adventure.getName());
-		adventure.setName("France");
-		assertEquals("France", text.getText());
-		invokeNonUI(new Runnable(){
-			public void run(){
-				adventure.setName("Germany");			
-			}
-		});
-		spinEventLoop(0);
-		assertEquals("Germany",text.getText());
-	}
-	
-	public void testScenario02() {
-		// Bind the transportation "price" property to a text field
-		// This is a Double.TYPE so we check that conversion and validation occurs
-		// Change the UI and verify the model changes
-		// Change the model and verify the UI changes
-		getDbc().bind(text, new Property(transportation, "price"), null);
-		assertEquals(Double.toString(transportation.getPrice()), text.getText());
-		text.setText("9876.54");
-		text.notifyListeners(SWT.FocusOut, null);		
-		assertEquals(9876.54, transportation.getPrice(),0);
-		transportation.setPrice(1234.56);
-		assertEquals("1234.56", text.getText());
-	}	
-	
-	public void testScenario03(){
-		// Show that the Escape key can be pressed in the middle of editing and the value will revert
-		// the updatePolicy for this test is TIME_LATE so it occurs when focus is lost from the Text control 
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_LATE);		
-		getDbc().bind(text, new Property(adventure, "name"), null);
-		String currentText = text.getText();
-		text.setText("Switzerland");
-		// We do not notify FocusOut
-		// Verify that the model hasn't changed
-		assertEquals(currentText,adventure.getName());
-		Event event = new Event();
-		event.character = SWT.ESC;
-		event.keyCode = 27;
-		text.notifyListeners(SWT.KeyDown,event);
-		// Verify that the text has reverted
-		assertEquals(currentText,text.getText());
-		// And that the model didn't change
-		assertEquals(adventure.getName(),currentText);
-		// Now change the GUI and commit this change
-		currentText = "Austria";
-		text.setText(currentText);
-		text.notifyListeners(SWT.FocusOut,null);
-		assertEquals(text.getText(),adventure.getName());
-		// Now change the text again and press escape a second time
-		text.setText("Turkey");
-		// Send escape
-		text.notifyListeners(SWT.KeyDown,event);
-		// Verify it has reverted to "Austria" and not any other value, i.e. the last value it displayed
-		assertEquals(currentText,text.getText());
-		
-	}
-
-	public void testScenario04(){
-		// Show that the Escape key can be pressed in the middle of editing and the value will revert
-		// the updatePolicy for this test is TIME_EARLY so it occurs when each keystroke occurs 
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_EARLY);	
-		getDbc().bind(text, new Property(adventure, "name"), null);
-		String originalName = adventure.getName();
-		// Change the text field character by character and ensure that the model changes
-		String newName = "Switzerland";
-		for (int i = 0; i < newName.length(); i++) {
-			text.setText(newName.substring(0,i+1));
-			// Verify the model has changed			
-			assertEquals(newName.substring(0,i+1),adventure.getName());
-		}
-		// Now send an escape key and verify that the model reverts
-		Event event = new Event();
-		event.character = SWT.ESC;
-		event.keyCode = 27;
-		text.notifyListeners(SWT.KeyDown,event);
-		assertEquals(adventure.getName(),originalName);
-		// Now send "Austria" key by key
-		newName = "Austria";
-		for (int i = 0; i < newName.length(); i++) {
-			text.setText(newName.substring(0,i+1));
-			// Verify the model has changed			
-			assertEquals(newName.substring(0,i+1),adventure.getName());
-		}
-		// Send a focus lost event to commit the change
-		text.notifyListeners(SWT.FocusOut,null);
-		// Send an escape key	
-		text.notifyListeners(SWT.KeyDown,event);		
-		// Verify that the model has changed and has not reverted
-		assertEquals(newName,adventure.getName());		
-	}
-/**		
-	public void testScenario05(){
-		// Show that nesting of properties works.  Adventure has defaultLodging and Lodging has name
-		getDbc().bind(text,new Property(adventure,"defaultLodging.name"),null);
-		// Verify the GUI is showing the model value
-		assertEquals(text.getText(),adventure.getDefaultLodging().getName());
-		
-	}
-**/
-	public void testScenario06(){
-		// Show that partial validation works for TIME_EARLY
-		// We are using TIME_EARLY to verify that invalid states are not sent to the model		
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_EARLY);		
-		getDbc().bind(text, new Property(account, "phone"), new BindSpec(new PhoneConverter(),new PhoneValidator()));
-		// Verify we have no error message for partial validation or full validation yet
-		assertTrue(((String)getDbc().getPartialValidationMessage().getValue()).length() == 0);
-		assertTrue(((String)getDbc().getValidationMessage().getValue()).length() == 0);
-		// Update some of the phone number		
-		String originalPhoneNumber = account.getPhone();
-		text.setText("999");
-		// Verify that the phone number is partially invalid and there is no validation message
-		assertTrue(((String)getDbc().getPartialValidationMessage().getValue()).length() > 0);
-		assertTrue(((String)getDbc().getValidationMessage().getValue()).length() == 0);
-		// And that the model has not changed
-		assertEquals(account.getPhone(),originalPhoneNumber);
-		// Verify that fixing the phone removes the error and the model is updated too
-		text.setText("999-888-7777");		
-		assertTrue(((String)getDbc().getPartialValidationMessage().getValue()).length() == 0);
-		assertEquals(account.getPhone(),"9998887777");
-		
-	}
-	
-	public void testScenario07(){
-		// Show that partial validation works for TIME_LATE
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_LATE);
-		getDbc().bind(text, new Property(account, "phone"), new BindSpec(new PhoneConverter(),new PhoneValidator()));		
-		// Update some of the phone number		
-		String originalPhoneNumber = account.getPhone();
-		text.setText("222");
-		// Verify that we have no completion validation message and a partial one
-		assertTrue(((String)getDbc().getPartialValidationMessage().getValue()).length() > 0);
-		assertTrue(((String)getDbc().getValidationMessage().getValue()).length() == 0);
-		// Fix the error
-		text.setText("222-333-4444");
-		// Verify that the errors are both fixed
-		assertTrue(((String)getDbc().getPartialValidationMessage().getValue()).length() == 0);
-		assertTrue(((String)getDbc().getValidationMessage().getValue()).length() == 0);
-		// The model should not be changed
-		assertEquals(originalPhoneNumber,account.getPhone());
-		// Lose focus and verify that the complete validation message is fixed
-		text.notifyListeners(SWT.FocusOut,null);
-		assertTrue(((String)getDbc().getValidationMessage().getValue()).length() == 0);
-		// The model should be changed
-		assertEquals("2223334444",account.getPhone());
-	}
-	
-	public void testScenario08() {
-		// Show that the BeanBindSupportFactory will automatically pick up the
-		// validator on the MaxNumberOfPeople property
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_EARLY);	
-		getDbc().addBindSupportFactory(new BeanBindSupportFactory());
-		getDbc().bind(text, new Property(adventure, "maxNumberOfPeople"), null);
-		// make sure we can set a value inside the validator's range
-		text.setText("4");
-		assertEquals(4, adventure.getMaxNumberOfPeople());
-		// Now try to set a value outside the validator's range
-		text.setText("999");
-		assertEquals(4, adventure.getMaxNumberOfPeople());
-	}
-	
-	public void testScenario09(){
-		
-		// Verify direct binding between a Text and Label following bugzilla 118696
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_LATE);
-		Label label = new Label(getComposite(),SWT.NONE);
-		getDbc().bind(text,label,null);
-		// Change the text
-		text.setText("Frog");
-		// Verify the label does not change
-		assertTrue(label.getText().length() == 0);
-		// Lose focus from the text field
-		text.notifyListeners(SWT.FocusOut,null);
-		assertEquals(label.getText(),"Frog");
- 	
-	}
-	
-	public void testScenario10(){
-		
-		// Verify direct binding between a Text and Label following bugzilla 118696 with TIME_EARLY
-		getSWTUpdatableFactory().setUpdateTime(IDataBindingContext.TIME_EARLY);
-		Label label = new Label(getComposite(),SWT.NONE);
-		getDbc().bind(text,label,null);
-		// Change the text
-		String newTextValue = "Frog";
-		for (int i = 0; i < newTextValue.length(); i++) {
-			text.setText(newTextValue.substring(0,i+1));
-			// Verify the label has changed key by key			
-			assertEquals(text.getText(),label.getText());
-		}
-		// Lose focus
-		text.notifyListeners(SWT.FocusOut,null);
-		// Verify the text and label are the same following a lose focus
-		assertEquals(text.getText(),label.getText());
-	}
-	
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TreeScenarios.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TreeScenarios.java
deleted file mode 100644
index 80282ac..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/TreeScenarios.java
+++ /dev/null
@@ -1,501 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collections;
-
-import org.eclipse.jface.databinding.ChangeEvent;
-import org.eclipse.jface.databinding.IChangeListener;
-import org.eclipse.jface.databinding.ITree;
-import org.eclipse.jface.databinding.Property;
-import org.eclipse.jface.databinding.TreeModelDescription;
-import org.eclipse.jface.databinding.viewers.TreeViewerDescription;
-import org.eclipse.jface.databinding.viewers.ViewersProperties;
-import org.eclipse.jface.examples.databinding.model.Account;
-import org.eclipse.jface.examples.databinding.model.Adventure;
-import org.eclipse.jface.examples.databinding.model.Catalog;
-import org.eclipse.jface.examples.databinding.model.Category;
-import org.eclipse.jface.examples.databinding.model.Lodging;
-import org.eclipse.jface.examples.databinding.model.SampleData;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
- 
-
-public class TreeScenarios extends ScenariosTestCase {
-	
-	Tree tree=null;
-	TreeViewer tviewer = null;
-	TreeColumn firstCol = null;
-	TreeColumn secondCol = null;
-	
-	// model
-	Catalog catalog = null;	
-	ITree   catalogModelTree = null;
-	ITree   directoryModelTree = null;	
-	
-	
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		getComposite().setLayout(new FillLayout());
-
-		tree = new Tree(getComposite(), SWT.NONE);
-		firstCol = new TreeColumn(tree, SWT.NONE);
-		firstCol.setWidth(100);
-		secondCol = new TreeColumn(tree, SWT.NONE);
-		secondCol.setWidth(100);
-		tviewer = new TreeViewer(tree);
-		
-		catalog = SampleData.CATALOG_2005; // Lodging source
-			
-		catalogModelTree = SampleData.CATALOG_TREE;
-		
-		// Create a read only ITree wrapper for disk
-		// File system.  A call to setChildren will just fire
-		// a change event.
-		directoryModelTree = new ITree() {					
-			private ITree.ChangeSupport changeSupport = null;			
-			private Object[] rootObjects = Collections.EMPTY_LIST.toArray();
-
-			public Class[] getTypes() {
-				return new Class[] { File.class } ;
-			}
-		
-			public boolean hasChildren(Object element) {
-				return ((File)element).isDirectory();
-			}
-		
-			public void setChildren(Object parentElement, Object[] children) {
-				// Only allow to change change the root directory/ies
-				Object old;
-				if (parentElement==null) {
-					old = rootObjects;
-					rootObjects = children==null?Collections.EMPTY_LIST.toArray():children;
-				}
-				else {
-					old = getChildren(parentElement);
-					// this tree does not really create files
-					// This "set" is just to ring the door bell
-					// for the test
-				}
-				if (changeSupport!=null) {
-					ChangeEvent event = new ChangeEvent(this, ChangeEvent.REPLACE, old, children, parentElement, -1);								
-					changeSupport.fireTreeChange(event);
-				}				
-			}
-					
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement==null)
-					return rootObjects;
-				
-				File[] children = ((File)parentElement).listFiles();
-				if (children==null) return Collections.EMPTY_LIST.toArray();
-				
-				return children;
-			}
-
-			public void addTreeChangeListener(IChangeListener listener) {
-				if (changeSupport==null)
-					changeSupport = new ITree.ChangeSupport(this);
-				changeSupport.addTreeChangeListener(listener);
-			}
-
-			public void removeTreeChangeListener(IChangeListener listener) {
-				if (changeSupport!=null)
-					changeSupport.removeTreeChangeListener(listener);
-			}
-
-			public void dispose() {
-				changeSupport=null;
-			}		
-		};
-				
-		// Find a temp directory
-		File temp = File.createTempFile("TreeScenario","jUnit");
-		File root = new File (temp.getParent(),"TreeScenarioDir");
-		temp.delete();
-		
-		if (root.exists()) 
-			deleteFile(root);
-		// Create a tempopary directory
-		root.mkdirs();
-		
-		// prime the ITree 
-		directoryModelTree.setChildren(null, new Object[] {root});
-
-	}
-
-	private void deleteFile (File f) {
-		if (f.isDirectory()) {
-			File[] list = f.listFiles();
-			for (int i = 0; i < list.length; i++) 
-				deleteFile(list[i]);							
-		}
-		f.delete();
-	}
-	
-	protected void tearDown() throws Exception {
-		tree.dispose();
-		tree = null;
-		tviewer = null;
-		File root = (File) directoryModelTree.getChildren(null)[0];
-		deleteFile(root);
-		super.tearDown();
-	}
-	
-
-	/*
-	 * Recursively travere tree levels, and asserts that elements (objects, not col.) 
-	 * in a given level are the equal.
-	 * 
-	 * viewer/model Nodes are the current traverse level.
-	 * model, is the model tree.  The viewer is always assumed for the target.
-	 * 
-	 * Note: a call to this assertion will pull the complete tree to the viewer.
-	 */
-	private void assertEqualsTreeNode (Object viewerNode, Object modelNode, ITree model) {
-		
-		assertEquals(viewerNode, modelNode);
-		Object[] viewerChildren = ((ITreeContentProvider)tviewer.getContentProvider()).getChildren(viewerNode);
-		if (viewerChildren.length==0)
-			viewerChildren=null;
-		Object[] modelChildren = model.getChildren(modelNode);
-		if (modelChildren!=null && modelChildren.length==0)
-			modelChildren=null;
-		
-		if (viewerChildren==null || modelChildren==null) {
-			assertEquals(viewerChildren, modelChildren);
-			return;
-		}
-		assertEquals(viewerChildren.length, modelChildren.length);
-		
-		for (int i = 0; i < modelChildren.length; i++) 
-			assertEqualsTreeNode(viewerChildren[i], modelChildren[i], model);		
-	}
-	
-	/**
-	 * Raw TreeViewer binding.  No TreeViewerDescription.  I in this case
-	 * it is assumed that a user will provide label provider and cell editors/modifier.
-	 * 
-	 * Ensure that tree model is propagated virtualy. 
-	 * to the target, and that changes in one, update the other 
-	 */
-	public void test_Trees_Scenario01() {
-		
-		getDbc().bind(new Property(tviewer, ViewersProperties.CONTENT), catalogModelTree, null);
-						
-		// Ensure that the catalog tree is fully propagated to the viewer
-		assertEqualsTreeNode(null, null, catalogModelTree);
-	
-	}
-	
-	private void assertLabelProvider(TreeItem item) {
-		
-//		This is the way the SAMPLE tree is adding children to the catalog (first level)
-//		Follow this order
-//		
-//		list.addAll(Arrays.asList(((Catalog)parentElement).getCategories()));
-//		list.addAll(Arrays.asList(((Catalog)parentElement).getLodgings()));
-//		list.addAll(Arrays.asList(((Catalog)parentElement).getAccounts()));
-//
-//      Also, make sure to maitained this order when using a  TreeModelDescription.
-//		
-//		modelDescription.addChildrenProperty(Catalog.class, "categories");
-//		modelDescription.addChildrenProperty(Catalog.class, "lodgings");
-//		modelDescription.addChildrenProperty(Catalog.class, "accounts");
-//				
-//		modelDescription.addChildrenProperty(Category.class, "adventures");		
-		
-
-		Account[] accounts = catalog.getAccounts();
-		Category[] categories = catalog.getCategories();
-		Lodging[] lodgings = catalog.getLodgings();
-		
-		tviewer.expandAll();
-		spinEventLoop(0);
-		// Ensure that the label provider follows the TableViewerDescription map
-		TreeItem[] firstLevel = item.getItems();		
-		int index = 0;		
-		for (int i = 0; i < categories.length; i++, index++) { 
-			// Categories
-			assertEquals(categories[i].getName(), firstLevel[index].getText());
-			
-			// Adventures
-			TreeItem[] secondLevel = firstLevel[index].getItems();
-			Adventure[] adventures = categories[i].getAdventures();
-			for (int j = 0; j < secondLevel.length; j++) {
-				assertEquals(adventures[j].getName(), secondLevel[j].getText(0));
-				assertEquals(Double.toString(adventures[j].getPrice()), secondLevel[j].getText(1));				
-			}
-		}
-		// Lodging
-		for (int i = 0; i < lodgings.length; i++, index++) {
-			assertEquals(lodgings[i].getName(), firstLevel[index].getText(0));
-			assertEquals(lodgings[i].getDescription(), firstLevel[index].getText(1));
-		}
-		// Account
-		for (int i = 0; i < accounts.length; i++, index++) {
-			assertEquals(accounts[i].getFirstName(), firstLevel[index].getText(0));
-			assertEquals(accounts[i].getLastName(), firstLevel[index].getText(1));
-		}		
-	}
-	
-	/**
-	 * Use a TreeViewerDescription to bind a TreeViewer to a ITree model.
-	 */
-	public void test_Trees_Scenario02() {
-		
-		//	Describe the Viewer
-		TreeViewerDescription treeDescription = new TreeViewerDescription(tviewer);
-		// catalog has no "name" property... so use getClass.getName()
-		treeDescription.addColumn(Catalog.class, "class.name");
-		// Lodging will have two colums
-		treeDescription.addColumn(Lodging.class, "name");
-		treeDescription.addColumn(Lodging.class, "description");		
-		// Adventures will have two columns
-		treeDescription.addColumn(Adventure.class, "name");
-		treeDescription.addColumn(Adventure.class, "price");
-//		treeDescription.getColumn(Adventure.class, 1).setPropertyType(Double.TYPE);					
-		// Category will have one column
-		treeDescription.addColumn(Category.class, "name");
-		// Account will have two columns
-		treeDescription.addColumn(Account.class, "firstName");
-		treeDescription.addColumn(Account.class, "lastName");
-		
-		getDbc().bind(treeDescription, catalogModelTree, null);
-		// Make sure that the catalog model has been propagated to the viewer
-		assertEqualsTreeNode(null, null, catalogModelTree);				
-		
-		TreeItem item = tviewer.getTree().getItem(0);		
-		assertEquals(item.getText(), catalog.getClass().getName());
-		
-		assertLabelProvider(item);
-
-	}
-	
-	/**
-	 * Simple binding of a TreeViewer to a Tree Model Description
-	 */
-	public void test_Trees_Scenario03() {
-		
-		// Describe the Viewer
-		TreeViewerDescription treeDescription = new TreeViewerDescription(tviewer);
-		treeDescription.addColumn(Catalog.class, "class.name");
-		
-		treeDescription.addColumn(Lodging.class, "name");
-		treeDescription.addColumn(Lodging.class, "description");
-		
-		treeDescription.addColumn(Adventure.class, "name");
-		treeDescription.addColumn(Adventure.class, "price");
-					
-		treeDescription.addColumn(Category.class, "name");
-		
-		treeDescription.addColumn(Account.class, "firstName");
-		treeDescription.addColumn(Account.class, "lastName");
-		
-		// Describe the model
-		TreeModelDescription modelDescription = new TreeModelDescription(new Object[] {catalog});
-		// The order properties are added, determine the order that the tree will list
-		// children that come from different properties
-		modelDescription.addChildrenProperty(Catalog.class, "categories");
-		modelDescription.addChildrenProperty(Catalog.class, "lodgings");
-		modelDescription.addChildrenProperty(Catalog.class, "accounts");
-				
-		modelDescription.addChildrenProperty(Category.class, "adventures");
-				
-		
-		getDbc().bind(treeDescription, modelDescription, null);
-		//	Make sure that the catalog model has been propagated to the viewer
-		assertEqualsTreeNode(null, null, catalogModelTree);
-		
-				
-		TreeItem item = tviewer.getTree().getItem(0);		
-		assertEquals(item.getText(), catalog.getClass().getName());
-		
-		assertLabelProvider(item);
-
-		// Test the JavaBean event model of a TreeModelDescription based tree.
-		//
-		// Simple property changes ...  test that viewer got all of them,
-		Account[] accounts = catalog.getAccounts();
-		for (int i = 0; i < accounts.length; i++) 
-			accounts[i].setFirstName("Changed: "+accounts[i].getFirstName());
-		Category[] categories = catalog.getCategories();
-		for (int i = 0; i < categories.length; i++) { 
-			categories[i].setName("Changed: "+categories[i].getName());
-			Adventure[] adventures = categories[i].getAdventures();
-			for (int j = 0; j < adventures.length; j++) 
-				adventures[j].setName("Changed: "+adventures[i].getName());
-		}
-		// compare TreeItems, and Model
-		assertLabelProvider(item);
-		
-		//
-		// Test for adding and removing elements from the Tree Model
-		Account newAccount = new Account();
-		newAccount.setFirstName("NewBee");
-		newAccount.setLastName("Appended");
-		
-		//add to the end
-		catalog.addAccount(newAccount);
-		assertLabelProvider(item);
-		
-		// remove the first one
-		catalog.removeAccount(catalog.getAccounts()[0]);
-		assertLabelProvider(item);
-		
-		//	add to the end
-		Adventure newAdventure = new Adventure();
-		newAdventure.setName("Marriage");
-		newAdventure.setPrice(9999999999999L);
-		catalog.getCategories()[0].addAdventure(newAdventure);			
-		assertLabelProvider(item);
-	}
-
-	/**
-	 * Simple binding of a TreeViewer to a Tree Model Description, using a nested TreeUpdatable
-	 */
-	public void test_Trees_Scenario04() {
-		
-		// Describe the Viewer
-		TreeViewerDescription treeDescription = new TreeViewerDescription(tviewer);	
-		
-		treeDescription.addColumn(Adventure.class, "name");
-		treeDescription.addColumn(Adventure.class, "price");
-					
-		treeDescription.addColumn(Category.class, "name");
-		
-		// Describe the model with a Property Root object.  This will be translated to a Nested Updatable Tree
-		TreeModelDescription modelDescription = new TreeModelDescription(new Property(catalog, "categories"));
-		modelDescription.addChildrenProperty(Category.class, "adventures");
-				
-		
-		getDbc().bind(treeDescription, modelDescription, null);
-		//	Make sure that the catalog's categories have been propagated to the viewer
-		assertEqualsTreeNode(null, null, SampleData.CATEGORY_TREE);
-		
-		
-		// Make a change, make sure that it is propagated
-		Adventure newAdventure = new Adventure();
-		newAdventure.setName("new Adventure");
-		catalog.getCategories()[0].addAdventure(newAdventure);
-		
-		assertEqualsTreeNode(null, null, SampleData.CATEGORY_TREE);
-		
-		// Adding a new category, will change the root of the tree
-		// Ensure that the nested Tree drives this
-		Category newCategory = new Category();				
-		newCategory.setName("new Empty Category");
-		catalog.addCategory(newCategory);
-		
-		assertEqualsTreeNode(null, null, SampleData.CATEGORY_TREE);		
-	}	
-	
-	private File createFile(File directory, String name) {
-		File f = new File(directory, name);
-		try {
-			f.createNewFile();
-		} catch (IOException e) {
-			fail(e.getMessage());
-		}
-		return f;
-	}
-	
-	private File createDir(File directory, String name) {
-		File f = new File(directory, name);
-		f.mkdir();
-		return f;
-	}
-	
-	/**
-	 * Test a simple file system, using an explicit ITree facade for the FS.
-	 */
-	public void test_Trees_Scenario05() {
-		
-		// Describe the Viewer
-		TreeViewerDescription treeDescription = new TreeViewerDescription(tviewer);
-		treeDescription.addColumn(File.class, "name");
-		
-		// Build  a file system.
-		File root = (File) directoryModelTree.getChildren(null)[0];
-		
-		createFile(root, "rootfile1");
-		createFile(root, "rootfile2");
-		createFile(root, "rootfile3");
-		
-		root = createDir(root, "secondLevel");
-		createFile(root, "secondfile1");
-		File file2 = createFile(root, "secondfile2");
-		createFile(root, "secondfile3");
-		
-		
-		
-		getDbc().bind(treeDescription, directoryModelTree, null);
-						
-		// Test that all is there 
-		assertEqualsTreeNode(null, null, directoryModelTree);
-		
-		File file4 = createFile(root, "secondLevel4");
-		directoryModelTree.setChildren(root, root.listFiles()); // This model does not listen to the file system.
-																// this call will induce it to fires the change event.
-		assertEqualsTreeNode(null, null, directoryModelTree);
-		
-		file2.delete();
-		directoryModelTree.setChildren(root, root.listFiles());
-		assertEqualsTreeNode(null, null, directoryModelTree);
-		
-		file4.delete();
-		directoryModelTree.setChildren(root, root.listFiles());
-		assertEqualsTreeNode(null, null, directoryModelTree);
-	}
-	
-	/**
-	 * Test a simple file system, using a TreeModelDescription.
-	 */
-	public void test_Trees_Scenario06() {
-
-		
-		// Build  a file system.
-		File root = (File) directoryModelTree.getChildren(null)[0];
-		
-		createFile(root, "rootfile1");
-		createFile(root, "rootfile2");
-		createFile(root, "rootfile3");
-		
-		File secondLevel = createDir(root, "secondLevel");
-		createFile(secondLevel, "secondfile1");
-		createFile(secondLevel, "secondfile2");
-		createFile(secondLevel, "secondfile3");
-		
-		
-		// Describe the Viewer
-		TreeViewerDescription treeDescription = new TreeViewerDescription(tviewer);
-		treeDescription.addColumn(File.class, "name");
-		
-		// Describe the Model
-		TreeModelDescription modelDescription = new TreeModelDescription(new Object[] {root} );
-		modelDescription.addChildrenProperty(File.class, "listFiles");
-				
-		getDbc().bind(treeDescription, modelDescription, null);
-						
-		// Test that all is there 
-		assertEqualsTreeNode(null, null, directoryModelTree);
-		
-	}
-
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/UpdatableFactoriesTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/UpdatableFactoriesTest.java
deleted file mode 100644
index 264351a..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/UpdatableFactoriesTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  Created Oct 21, 2005 by Gili Mendel
- * 
- *  $RCSfile: UpdatableFactoriesTest.java,v $
- *  $Revision: 1.5 $  $Date: 2005/11/21 16:07:44 $ 
- */
-package org.eclipse.jface.tests.databinding.scenarios;
-
-import java.util.Map;
-import org.eclipse.jface.databinding.IChangeListener;
-import org.eclipse.jface.databinding.IDataBindingContext;
-import org.eclipse.jface.databinding.IUpdatable;
-import org.eclipse.jface.databinding.IUpdatableFactory;
-
-public class UpdatableFactoriesTest extends ScenariosTestCase {
-
-	interface Root {
-	};
-
-	interface None extends Root {
-	};
-
-	interface Middle extends None {
-	};
-
-	interface StandAlone {
-	};
-
-	class RootClass implements Root {
-	};
-
-	class NoneClass implements None {
-	};
-
-	class MiddleClass implements Middle {
-	};
-
-	class AllClass implements StandAlone, Middle, Root {
-	};
-
-	class MiddleChild extends MiddleClass {
-	};
-
-	interface TestIUpdatable extends IUpdatable {
-		public Class getType();
-	}
-
-	class Factory implements IUpdatableFactory {
-		Class c;
-
-		public Factory(Class c) {
-			this.c = c;
-		}
-
-		public IUpdatable createUpdatable(Map properties, Object description,
-				IDataBindingContext bindingContext) {
-			if (c.isInstance(description)) {
-				return new TestIUpdatable() {
-					public void dispose() {
-					}
- 
-					public boolean isDisposed() {
-						return false;
-					}
-					
-					public boolean isStale() {
-						return false;
-					}
-					
-					public void removeChangeListener(
-							IChangeListener changeListener) {
-					}
-
-					public void addChangeListener(IChangeListener changeListener) {
-					}
-
-					public Class getType() {
-						return c;
-					}
-				};
-			}
-			return null;
-		}
-	}
-
-	IUpdatableFactory root = new Factory(Root.class);
-
-	IUpdatableFactory middle = new Factory(Middle.class);
-
-	IUpdatableFactory sa = new Factory(StandAlone.class);
-
-	IUpdatableFactory factory = new Factory(Object.class);
-
-	protected Class getFactoryType(Object src) {
-		TestIUpdatable u = (TestIUpdatable) getDbc().createUpdatable(src);
-		return u.getType();
-	}
-
-	public void test_factoryRegistration() {
-
-		getDbc().addUpdatableFactory(root);
-		getDbc().addUpdatableFactory(middle);
-
-		// Direct mapping
-		assertEquals(Root.class, getFactoryType(new RootClass()));
-		assertEquals(Middle.class, getFactoryType(new MiddleClass()));
-
-		// Inherent interface
-		assertEquals(Root.class, getFactoryType(new NoneClass()));
-
-		// AllClass inherent interface
-		assertEquals(Middle.class, getFactoryType(new AllClass()));
-
-		// class inheretence
-		assertEquals(Middle.class, getFactoryType(new MiddleChild()));
-
-		// Direct, first interface
-		getDbc().addUpdatableFactory(sa);
-		assertEquals(StandAlone.class, getFactoryType(new AllClass()));
-
-		// Class based contribution.
-		getDbc().addUpdatableFactory(factory);
-		assertEquals(Object.class, getFactoryType(new AllClass()));
-
-	}
-
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/smoketest/swt.xswt b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/smoketest/swt.xswt
deleted file mode 100644
index 0097d63..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/smoketest/swt.xswt
+++ /dev/null
@@ -1,301 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<xswt xmlns:x="http://sweet_swt.sf.net/xswt">

-	<import xmlns="http://sweet_swt.sf.net/xswt">

-		<package name="java.lang"/>

-		<package name="org.eclipse.swt.widgets"/>

-		<package name="org.eclipse.swt.custom"/>

-		<package name="org.eclipse.swt.layout"/>

-	</import>

-

-	<!-- An XSWT example that uses nearly every SWT control and uses the new

-	     syntax wherever possible. 

-	     

-	     Get XSWT at:

-	     

-	     http://xswt.sourceforge.net/updates 

-	     

-	     then choose Window | Show View | Other... | XSWT Views | XSWT Preview -->

-

-	<layout x:class="gridLayout"/>

-	

-	<label text="SWT Controls:"/>

-	<tabFolder>

-		<layoutData x:class="gridData" grabExcessHorizontalSpace="true" grabExcessVerticalSpace="true" horizontalAlignment="GridData.FILL" verticalAlignment="GridData.FILL"/>

-

-		<composite x:id="Text">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="2"/>

-

-			<composite x:style="BORDER">

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" verticalAlignment="GridData.FILL" horizontalAlignment="GridData.FILL"/>

-				<layout x:class="gridLayout" numColumns="2"/>

-

-				<label text="Integer:"/><text x:style="BORDER" x:id="intText" text="1"/>

-				<label text="Float:"/><text x:style="BORDER" x:id="floatText" text="1.0"/>

-				<label text="String:"/><text x:style="BORDER" x:id="stringText" text="The quick brown fox jumped over the lazy dog."/>

-				<label text="RegexValidated String:"/><text x:style="BORDER" x:id="regexStringText" text="The quick brown fox jumped over the lazy dog."/>

-				<label text="Masked String:"/><text x:style="BORDER" x:id="maskedStringText" background="208 128 128"/>

-			</composite>

-			<slider x:style="VERTICAL" x:id="buttonScroller">

-				<layoutData x:class="gridData" verticalAlignment="GridData.FILL"/>

-			</slider>

-		</composite>

-		<tabItem text="Text" control="Text"/>

-

-		<composite x:id="Labels">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="2"/>

-

-			<composite x:style="BORDER">

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" verticalAlignment="GridData.FILL" horizontalAlignment="GridData.FILL"/>

-				<layout x:class="gridLayout" numColumns="1"/>

-

-				<label text="Label with text"/>

-				<label text="Label with image"/>

-				<label text="Label with text and image"/>

-				<label x:style="SEPARATOR | HORIZONTAL"><layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/></label>

-				<cLabel text="CLabel with text"/>

-				<cLabel text="CLabel with image"/>

-				<cLabel text="CLabel with text and image"/>

-			</composite>

-			<slider x:style="VERTICAL" x:id="textScroller"/>

-		</composite>

-		<tabItem text="Label / CLabel" control="Labels"/>

-	

-		<composite x:id="Button">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="2"/>

-

-			<composite x:style="BORDER">

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" verticalAlignment="GridData.FILL" horizontalAlignment="GridData.FILL"/>

-				<layout x:class="gridLayout" numColumns="2"/>

-

-				<label text="Push:"/><button x:id="pushButton" text="PushButton"/>

-				<label text="Arrow:"/><button x:id="arrowButton" x:style="ARROW" text="ArrowButton"/>

-				<label text="Toggle:"/><button x:id="toggleButton" x:style="TOGGLE" text="ToggleButton"/>

-				<label text="Check:"/><button x:style="CHECK" x:id="checkButton" text="CheckBox"/>

-				<label text="Radio Group 1:"/>

-				<composite x:style="BORDER" x:id="radioGroup1">

-					<layoutData x:class="gridData" horizontalAlignment="GridData.FILL"/>

-					<layout x:class="gridLayout" numColumns="1"/>

-

-					<button x:style="RADIO" x:id="radioButton0.1" text="Radio"/>

-					<button x:style="RADIO" x:id="radioButton0.2" text="Radio2" selection="true"/>

-					<button x:style="RADIO" x:id="radioButton0.3" text="Radio3"/>

-				</composite>

-				<label text="Radio Group 2:"/>

-				<composite x:style="BORDER" x:id="radioGroup2">

-					<layoutData x:class="gridData" horizontalAlignment="GridData.FILL"/>

-					<layout x:class="gridLayout" numColumns="1"/>

-

-					<button x:style="RADIO" x:id="radioButton1.1" text="Radio"/>

-					<button x:style="RADIO" x:id="radioButton1.2" text="Radio2"/>

-					<button x:style="RADIO" x:id="radioButton1.3" text="Radio3"/>

-				</composite>

-			</composite>

-			<slider x:style="VERTICAL" x:id="1buttonScroller">

-				<layoutData x:class="gridData" verticalAlignment="GridData.FILL"/>

-			</slider>

-		</composite>

-		<tabItem text="Button" control="Button"/>

-

-		<composite x:id="List">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="1"/>

-

-			<composite>

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL" grabExcessVerticalSpace="true" verticalAlignment="GridData.FILL"/>

-	            <layout x:class="fillLayout" type="VERTICAL"/>

-

-				<list x:style="BORDER | V_SCROLL | MULTI"/>

-				<list x:style="BORDER | V_SCROLL"/>

-			</composite>

-		</composite>

-		<tabItem text="List" control="List"/>

-

-		<composite x:id="Combos">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="2"/>

-

-			<composite x:style="BORDER">

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" verticalAlignment="GridData.FILL" horizontalAlignment="GridData.FILL"/>

-				<layout x:class="gridLayout" numColumns="1"/>

-

-				<combo>

-					<add x:p0="item1"/>

-					<add x:p0="item2"/>

-					<add x:p0="item3"/>

-				</combo>

-				<combo x:style="SIMPLE">

-					<add x:p0="item1"/>

-					<add x:p0="item2"/>

-					<add x:p0="item3"/>

-				</combo>

-				<combo x:style="READ_ONLY">

-					<add x:p0="item1"/>

-					<add x:p0="item2"/>

-					<add x:p0="item3"/>

-				</combo>

-				<label x:style="SEPARATOR | HORIZONTAL"><layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/></label>

-				<cCombo>

-					<add x:p0="item1"/>

-					<add x:p0="item2"/>

-					<add x:p0="item3"/>

-				</cCombo>

-				<cCombo x:style="READ_ONLY" background="255 255 255">

-					<add x:p0="item1"/>

-					<add x:p0="item2"/>

-					<add x:p0="item3"/>

-				</cCombo>

-			</composite>

-			<slider x:style="VERTICAL" x:id="2buttonScroller">

-				<layoutData x:class="gridData" verticalAlignment="GridData.FILL"/>

-			</slider>

-		</composite>

-		<tabItem text="Combo / CCombo" control="Combos"/>

-

-		<composite x:id="Table">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="1"/>

-

-			<composite x:style="BORDER">

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" grabExcessVerticalSpace="true" horizontalAlignment="GridData.FILL" verticalAlignment="GridData.FILL"/>

-				<layout x:class="gridLayout" numColumns="2"/>

-

-				<table x:style="BORDER" linesVisible="true" headerVisible="true">

-					<layoutData x:class="gridData" grabExcessHorizontalSpace="true" grabExcessVerticalSpace="true" horizontalAlignment="GridData.FILL" verticalAlignment="GridData.FILL"/>

-

-					<tableColumn width="50" text="Done"/>

-					<tableColumn width="200" text="Description"/>

-					<tableColumn width="60" text="Planned"/>

-					<tableColumn width="60" text="Revised"/>

-					<tableColumn width="60" text="Actual"/>

-					<!--<tableItem/>-->

-				</table>

-			</composite>

-		</composite>

-		<tabItem text="Table" control="Table"/>

-

-		<composite x:id="Tree">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="1"/>

-

-			<composite x:style="BORDER">

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" grabExcessVerticalSpace="true" horizontalAlignment="GridData.FILL" verticalAlignment="GridData.FILL"/>

-				<layout x:class="gridLayout" numColumns="2"/>

-

-				<tree x:style="BORDER">

-					<layoutData x:class="gridData" grabExcessHorizontalSpace="true" grabExcessVerticalSpace="true" horizontalAlignment="GridData.FILL" verticalAlignment="GridData.FILL"/>

-

-					<treeItem text="item">

-						<x:children>

-							<treeItem text="item"/>

-							<treeItem text="item"/>

-							<treeItem text="item">

-								<x:children>

-									<treeItem text="item"/>

-									<treeItem text="item"/>

-									<treeItem text="item"/>

-									<treeItem text="item"/>

-									<treeItem text="item"/>

-								</x:children>

-							</treeItem>

-							<treeItem text="item"/>

-						</x:children>

-					</treeItem>

-					<treeItem text="item with Image (or at least needs one)">

-						<x:children>

-							<treeItem text="item"/>

-							<treeItem text="item"/>

-						</x:children>

-					</treeItem>

-					<treeItem text="Another item">

-						<x:children>

-							<treeItem text="item"/>

-							<treeItem text="item"/>

-							<treeItem text="item"/>

-							<treeItem text="item"/>

-							<treeItem text="item"/>

-						</x:children>

-					</treeItem>

-				</tree>

-			</composite>

-		</composite>

-		<tabItem text="Tree" control="Tree"/>

-

-		<composite x:id="TableTree">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="1"/>

-

-			<composite x:style="BORDER">

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" grabExcessVerticalSpace="true" horizontalAlignment="GridData.FILL" verticalAlignment="GridData.FILL"/>

-				<layout x:class="gridLayout" numColumns="2"/>

-

-				<tableTree x:style="BORDER">

-					<layoutData x:class="gridData" grabExcessHorizontalSpace="true" grabExcessVerticalSpace="true" horizontalAlignment="GridData.FILL" verticalAlignment="GridData.FILL"/>

-

-					<tableTreeItem text="item">

-						<x:children>

-							<tableTreeItem text="subitem"/>

-							<tableTreeItem text="subitem"/>

-						</x:children>

-					</tableTreeItem>

-					<tableTreeItem text="item">

-						<x:children>

-							<tableTreeItem text="subitem"/>

-							<tableTreeItem text="subitem"/>

-							<tableTreeItem text="subitem"/>

-							<tableTreeItem text="subitem"/>

-							<tableTreeItem text="subitem"/>

-						</x:children>

-					</tableTreeItem>

-					<tableTreeItem text="item">

-						<x:children>

-							<tableTreeItem text="item">

-								<x:children>

-									<tableTreeItem text="subitem"/>

-								</x:children>

-							</tableTreeItem>

-							<tableTreeItem text="item">

-								<x:children>

-									<tableTreeItem text="subitem"/>

-									<tableTreeItem text="subitem"/>

-									<tableTreeItem text="subitem"/>

-									<tableTreeItem text="subitem"/>

-									<tableTreeItem text="subitem"/>

-								</x:children>

-							</tableTreeItem>

-							<tableTreeItem text="item">

-								<x:children>

-									<tableTreeItem text="subitem"/>

-									<tableTreeItem text="subitem"/>

-									<tableTreeItem text="subitem"/>

-								</x:children>

-							</tableTreeItem>

-						</x:children>

-					</tableTreeItem>

-				</tableTree>

-			</composite>

-		</composite>

-		<tabItem text="TableTree" control="TableTree"/>

-

-		<composite x:id="Progress">

-			<layoutData x:class="gridData" grabExcessHorizontalSpace="true" horizontalAlignment="GridData.FILL"/>

-			<layout x:class="gridLayout" numColumns="2"/>

-

-			<composite x:style="BORDER">

-				<layoutData x:class="gridData" grabExcessHorizontalSpace="true" verticalAlignment="GridData.FILL" horizontalAlignment="GridData.FILL"/>

-				<layout x:class="gridLayout" numColumns="1"/>

-

-				<progressBar x:style="INDETERMINATE"/>

-				<progressBar x:style="INDETERMINATE | SMOOTH"/>

-				<progressBar x:style="SMOOTH" minimum="0" maximum="100" selection="40"/>

-				<progressBar minimum="0" maximum="100" selection="60"/>

-			</composite>

-			<slider x:style="VERTICAL" x:id="3textScroller"/>

-		</composite>

-		<tabItem text="ProgressBar" control="Progress"/>

-

-	</tabFolder>

-</xswt>

-

diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/util/Mocks.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/util/Mocks.java
deleted file mode 100644
index 324d946..0000000
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/util/Mocks.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.databinding.util;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.AssertionFailedError;
-
-public class Mocks {
-
-	public static interface EqualityComparator {
-		public boolean equals(Object o1, Object o2);
-	}
-
-	private static EqualityComparator defaultEqualityComparator = new EqualityComparator() {
-		public boolean equals(Object o1, Object o2) {
-			return o1 == null ? o2 == null : o1.equals(o2);
-		}
-	};
-
-	private static EqualityComparator indifferentEqualityComparator = new EqualityComparator() {
-		public boolean equals(Object o1, Object o2) {
-			return true;
-		}
-	};
-
-	private static interface Mock {
-		public MockInvocationHandler getMockInvocationHandler();
-	}
-
-	private static Method getMockInvocationHandlerMethod;
-
-	private static Method equalsMethod;
-
-	static {
-		try {
-			getMockInvocationHandlerMethod = Mock.class.getMethod(
-					"getMockInvocationHandler", new Class[0]);
-			equalsMethod = Object.class.getMethod("equals",
-					new Class[] { Object.class });
-		} catch (Exception e) {
-			// ignore, will lead to NullPointerExceptions later on
-		}
-	}
-
-	private static final class MockInvocationHandler implements
-			InvocationHandler {
-
-		private class MethodCall {
-			private final Method method;
-
-			private final Object[] args;
-
-			private Object returnValue = null;
-
-			public MethodCall(Method method, Object[] args) {
-				this.method = method;
-				this.args = args;
-			}
-
-			public boolean equals(Object obj) {
-				if (!(obj instanceof MethodCall)) {
-					return false;
-				}
-				MethodCall other = (MethodCall) obj;
-				if (other.method != method
-						|| (other.args == null && args != null)
-						|| (other.args != null && args == null)
-						|| (args != null && other.args.length != args.length)) {
-					return false;
-				}
-				if (args != null) {
-					for (int i = 0; i < args.length; i++) {
-						if (!equalityComparator.equals(args[i], other.args[i])) {
-							return false;
-						}
-					}
-				}
-				return true;
-			}
-
-			public void setReturnValue(Object object) {
-				returnValue = object;
-			}
-
-			public Object getReturnValue() {
-				return returnValue;
-			}
-		}
-
-		List previousCallHistory = null;
-
-		List currentCallHistory = new ArrayList();
-
-		private final boolean ordered;
-
-		private final EqualityComparator equalityComparator;
-
-		public MockInvocationHandler(boolean ordered,
-				EqualityComparator equalityComparator) {
-			this.ordered = ordered;
-			this.equalityComparator = equalityComparator;
-		}
-
-		public Object invoke(Object proxy, Method method, Object[] args)
-				throws Throwable {
-			if (getMockInvocationHandlerMethod.equals(method)) {
-				return this;
-			}
-			if (equalsMethod.equals(method)) {
-				return new Boolean(proxy == args[0]);
-			}
-			MethodCall methodCall = new MethodCall(method, args);
-			if (previousCallHistory != null) {
-				// we are in replay mode
-				int indexOfMethodCall = previousCallHistory.indexOf(methodCall);
-				if (indexOfMethodCall != -1) {
-					// copy return value over to this method call
-					methodCall.setReturnValue(((MethodCall) previousCallHistory
-							.get(indexOfMethodCall)).getReturnValue());
-				} else {
-					throw new AssertionFailedError("unexpected method call: "
-							+ method.getName());
-				}
-				if (ordered) {
-					if (previousCallHistory.size() <= currentCallHistory.size()) {
-						throw new AssertionFailedError("extra method call: "
-								+ method.getName());
-					}
-					MethodCall previousCall = (MethodCall) previousCallHistory
-							.get(currentCallHistory.size());
-					if (!methodCall.equals(previousCall)) {
-						throw new AssertionFailedError(
-								"different method call (expected:"
-										+ previousCall.method.getName()
-										+ ", actual:" + method.getName() + ")");
-					}
-				}
-			}
-			currentCallHistory.add(methodCall);
-			Class returnType = method.getReturnType();
-			if (returnType.isPrimitive() && void.class != returnType) {
-				return returnType.newInstance();
-			}
-			return methodCall.getReturnValue();
-		}
-
-		public void replay() {
-			previousCallHistory = currentCallHistory;
-			currentCallHistory = new ArrayList();
-		}
-
-		public void verify() {
-			if (previousCallHistory == null) {
-				if (currentCallHistory.size() == 0) {
-					// mock object was not used at all
-					return;
-				}
-				throw new AssertionFailedError("unexpected");
-			}
-			if (ordered) {
-				int numMissingCalls = previousCallHistory.size()
-						- currentCallHistory.size();
-				if (numMissingCalls > 0) {
-					throw new AssertionFailedError("missing method calls ("
-							+ numMissingCalls + ")");
-				}
-				for (int i = 0; i < previousCallHistory.size(); i++) {
-					if (!previousCallHistory.get(i).equals(
-							currentCallHistory.get(i))) {
-						throw new AssertionFailedError(
-								"method call did not match (" + i + " of "
-										+ currentCallHistory.size() + ")");
-					}
-				}
-			} else {
-				for (Iterator it = previousCallHistory.iterator(); it.hasNext();) {
-					MethodCall methodCall = (MethodCall) it.next();
-					if (!currentCallHistory.contains(methodCall)) {
-						throw new AssertionFailedError("missing method call:"
-								+ methodCall.method.getName());
-					}
-				}
-			}
-		}
-
-		public void reset() {
-			previousCallHistory = null;
-			currentCallHistory = new ArrayList();
-		}
-
-		public void setLastReturnValue(Object object) {
-			MethodCall methodCall = (MethodCall) currentCallHistory
-					.get(currentCallHistory.size() - 1);
-			methodCall.setReturnValue(object);
-		}
-	}
-
-	/**
-	 * Creates a mock object that neither looks at the order of method calls nor
-	 * at the arguments.
-	 * 
-	 * @param interfaceType
-	 * @return a mock object that checks for the order of method invocations but
-	 *         not for equality of method arguments
-	 */
-	public static Object createRelaxedMock(Class interfaceType) {
-		return createMock(interfaceType, false, indifferentEqualityComparator);
-	}
-
-	/**
-	 * Creates a mock object that does not look at the arguments, but checks
-	 * that the order of calls is as expected.
-	 * 
-	 * @param interfaceType
-	 * @return a mock object that checks for the order of method invocations but
-	 *         not for equality of method arguments
-	 */
-	public static Object createOrderedMock(Class interfaceType) {
-		return createMock(interfaceType, true, indifferentEqualityComparator);
-	}
-
-	/**
-	 * creates a fussy mock object
-	 * 
-	 * @param interfaceType
-	 * @return a mock object that checks for the order of method invocations and
-	 *         for equality of method arguments
-	 */
-	public static Object createMock(Class interfaceType) {
-		return createMock(interfaceType, true, defaultEqualityComparator);
-	}
-
-	/**
-	 * creates a fussy mock object with a comparator
-	 * 
-	 * @param interfaceType
-	 * @return a mock object that checks for the order of method invocations and
-	 *         uses the given comparator to compare method arguments
-	 */
-	public static Object createMock(Class interfaceType,
-			EqualityComparator equalityComparator) {
-		return createMock(interfaceType, true, equalityComparator);
-	}
-
-	private static Object createMock(Class interfaceType, boolean ordered,
-			EqualityComparator equalityComparator) {
-		if (!interfaceType.isInterface()) {
-			throw new IllegalArgumentException();
-		}
-		MockInvocationHandler mockInvocationHandler = new MockInvocationHandler(
-				ordered, equalityComparator);
-		Object newProxyInstance = Proxy.newProxyInstance(Mocks.class
-				.getClassLoader(), new Class[] { interfaceType, Mock.class },
-				mockInvocationHandler);
-		return newProxyInstance;
-	}
-
-	public static void startChecking(Object mock) {
-		getMockInvocationHandler(mock).replay();
-	}
-
-	public static void verify(Object mock) {
-		getMockInvocationHandler(mock).verify();
-	}
-
-	public static void reset(Object mock) {
-		getMockInvocationHandler(mock).reset();
-	}
-
-	private static MockInvocationHandler getMockInvocationHandler(Object mock) {
-		return ((Mock) mock).getMockInvocationHandler();
-	}
-
-	public static void setLastReturnValue(Object mock, Object object) {
-		getMockInvocationHandler(mock).setLastReturnValue(object);
-	}
-}
diff --git a/tests/org.eclipse.jface.tests.databinding/test.xml b/tests/org.eclipse.jface.tests.databinding/test.xml
deleted file mode 100644
index 73284d5..0000000
--- a/tests/org.eclipse.jface.tests.databinding/test.xml
+++ /dev/null
@@ -1,50 +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 eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.jface.tests.databinding"/>
-  <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="sniff-folder"
-              value="${eclipse-home}/databinding_sniff_folder"/>
-    <delete dir="${sniff-folder}" quiet="true"/>
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${sniff-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname"
-                value="org.eclipse.jface.tests.databinding.BindingTestSuite"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-</project>
diff --git a/tests/org.eclipse.ui.tests.browser/.classpath b/tests/org.eclipse.ui.tests.browser/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/tests/org.eclipse.ui.tests.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/tests/org.eclipse.ui.tests.browser/.cvsignore b/tests/org.eclipse.ui.tests.browser/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/tests/org.eclipse.ui.tests.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/.options b/tests/org.eclipse.ui.tests.browser/.options
deleted file mode 100644
index 3481178..0000000
--- a/tests/org.eclipse.ui.tests.browser/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.ui.browser plugin.
-
-# Turn on debugging for the org.eclipse.ui.browser plugin.
-org.eclipse.ui.browser/debug=false
diff --git a/tests/org.eclipse.ui.tests.browser/.project b/tests/org.eclipse.ui.tests.browser/.project
deleted file mode 100644
index 8a25b7f..0000000
--- a/tests/org.eclipse.ui.tests.browser/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests.browser</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.ui.tests.browser/about.html b/tests/org.eclipse.ui.tests.browser/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/tests/org.eclipse.ui.tests.browser/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/build.properties b/tests/org.eclipse.ui.tests.browser/build.properties
deleted file mode 100644
index 642090b..0000000
--- a/tests/org.eclipse.ui.tests.browser/build.properties
+++ /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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               .,\
-               browser.jar,\
-               test.xml
-src.includes = about.html
-jars.compile.order = browser.jar
-source.browser.jar = src/
-output.browser.jar = bin/
diff --git a/tests/org.eclipse.ui.tests.browser/plugin.xml b/tests/org.eclipse.ui.tests.browser/plugin.xml
deleted file mode 100644
index d59b7ae..0000000
--- a/tests/org.eclipse.ui.tests.browser/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tests.browser"
-   name="%Plugin.name"
-   version="3.1.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.tests.browser.internal.WebBrowserTestsPlugin">
-
-   <runtime>
-      <library name="browser.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.browser"/>
-   </requires>
-
-</plugin>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/AllTests.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/AllTests.java
deleted file mode 100644
index 87abaf7..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Tests for org.eclipse.ui.browser.tests");
-		//$JUnit-BEGIN$
-		suite.addTestSuite(ExistenceTestCase.class);
-		suite.addTestSuite(InternalBrowserViewTestCase.class);
-		suite.addTestSuite(InternalBrowserEditorTestCase.class);
-		//suite.addTestSuite(ExternalBrowserTestCase.class);
-		
-		suite.addTestSuite(DialogsTestCase.class);
-		suite.addTestSuite(PreferencesTestCase.class);
-		suite.addTestSuite(ToolbarBrowserTestCase.class);
-		//$JUnit-END$
-		return suite;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/DialogsTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/DialogsTestCase.java
deleted file mode 100644
index 27bf329..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/DialogsTestCase.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.browser.BrowserDescriptorDialog;
-
-import junit.framework.TestCase;
-
-public class DialogsTestCase extends TestCase {
-	private Shell getShell() {
-		return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-	}
-
-	public void testExternalBrowserDialog() {
-		BrowserDescriptorDialog bdd = new BrowserDescriptorDialog(getShell());
-		UITestHelper.assertDialog(bdd);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExistenceTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExistenceTestCase.java
deleted file mode 100644
index c385ad5..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExistenceTestCase.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-
-import junit.framework.TestCase;
-
-public class ExistenceTestCase extends TestCase {
-	public void testPluginExists() {
-		assertNotNull(WebBrowserUIPlugin.getInstance());
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExternalBrowserTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExternalBrowserTestCase.java
deleted file mode 100644
index 64df756..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExternalBrowserTestCase.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.net.URL;
-
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.internal.browser.WebBrowserPreference;
-
-import junit.framework.TestCase;
-
-public class ExternalBrowserTestCase extends TestCase {
-	public void testBrowser() throws Exception {
-		WebBrowserPreference.setBrowserChoice(WebBrowserPreference.EXTERNAL);
-		IWorkbenchBrowserSupport wbs = WebBrowserTestsPlugin.getInstance().getWorkbench().getBrowserSupport();
-		IWebBrowser wb = wbs.createBrowser("test2");
-		
-		wb.openURL(new URL("http://www.ibm.com"));
-		
-		try {
-			Thread.sleep(2000);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		wb.openURL(new URL("http://www.eclipse.org"));
-		
-		try {
-			Thread.sleep(2000);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		wb.close();
-		
-		try {
-			Thread.sleep(2000);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserEditorTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserEditorTestCase.java
deleted file mode 100644
index e6a7db1..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserEditorTestCase.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.net.URL;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.internal.browser.WebBrowserPreference;
-
-import junit.framework.TestCase;
-
-public class InternalBrowserEditorTestCase extends TestCase {
-	protected Shell shell;
-
-	public void testBrowser() throws Exception {
-		shell = WebBrowserTestsPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		WebBrowserPreference.setBrowserChoice(WebBrowserPreference.INTERNAL);
-		IWorkbenchBrowserSupport wbs = WebBrowserTestsPlugin.getInstance().getWorkbench().getBrowserSupport();
-		IWebBrowser wb = wbs.createBrowser(IWorkbenchBrowserSupport.AS_EDITOR, "test", "MyBrowser", "A tooltip");
-		
-		wb.openURL(new URL("http://www.ibm.com"));
-		runLoopTimer(2);
-		
-		wb.openURL(new URL("http://www.eclipse.org"));
-		runLoopTimer(2);
-		
-		wb.close();
-		runLoopTimer(2);
-	}
-	
-	void runLoopTimer(final int seconds) {
-		final boolean[] exit = {false};
-		new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(seconds * 1000);
-				} catch (Exception e) {
-					// ignore
-				}
-				exit[0] = true;
-				// wake up the event loop
-				Display display = Display.getDefault();
-				if (!display.isDisposed()) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							if (!shell.isDisposed()) shell.redraw();						
-						}
-					});
-				}
-			}
-		}.start();
-		shell.open();
-		Display display = Display.getCurrent();
-		while (!exit[0] && !shell.isDisposed()) if (!display.readAndDispatch()) display.sleep();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserViewTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserViewTestCase.java
deleted file mode 100644
index 5a90c56..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserViewTestCase.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.net.URL;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.internal.browser.WebBrowserPreference;
-
-import junit.framework.TestCase;
-
-public class InternalBrowserViewTestCase extends TestCase {
-	protected Shell shell;
-
-	public void testBrowser() throws Exception {
-		shell = WebBrowserTestsPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		WebBrowserPreference.setBrowserChoice(WebBrowserPreference.INTERNAL);
-		IWorkbenchBrowserSupport wbs = WebBrowserTestsPlugin.getInstance().getWorkbench().getBrowserSupport();
-		IWebBrowser wb = wbs.createBrowser(IWorkbenchBrowserSupport.AS_VIEW, "test3", "MyBrowser", "A tooltip");
-		
-		wb.openURL(new URL("http://www.ibm.com"));
-		runLoopTimer(2);
-		
-		wb.openURL(new URL("http://www.eclipse.org"));
-		runLoopTimer(2);
-		
-		wb.close();
-		runLoopTimer(2);
-	}
-	
-	void runLoopTimer(final int seconds) {
-		final boolean[] exit = {false};
-		new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(seconds * 1000);
-				} catch (Exception e) {
-					// ignore
-				}
-				exit[0] = true;
-				// wake up the event loop
-				Display display = Display.getDefault();
-				if (!display.isDisposed()) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							if (!shell.isDisposed()) shell.redraw();						
-						}
-					});
-				}
-			}
-		}.start();
-		shell.open();
-		Display display = Display.getCurrent();
-		while (!exit[0] && !shell.isDisposed()) if (!display.readAndDispatch()) display.sleep();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/OrderedTestSuite.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/OrderedTestSuite.java
deleted file mode 100644
index 491d8fe..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/OrderedTestSuite.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Vector;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-class OrderedTestSuite extends TestSuite{
-	public OrderedTestSuite(Class theClass, String name) {
-		this(theClass);
-		setName(name);
-	}
-
-	public OrderedTestSuite(final Class theClass) {
-		super();
-		setName(theClass.getName());
-		try {
-			getTestConstructor(theClass); // Avoid generating multiple error messages
-		} catch (NoSuchMethodException e) {
-			addTest(warning("Class " + theClass.getName()
-					+ " has no public constructor TestCase(String name) or TestCase()"));
-			return;
-		}
-		if (!Modifier.isPublic(theClass.getModifiers())) {
-			addTest(warning("Class " + theClass.getName() + " is not public"));
-			return;
-		}
-		Class superClass = theClass;
-		Vector names = new Vector();
-		while (Test.class.isAssignableFrom(superClass)) {
-			Method[] methods = superClass.getDeclaredMethods();
-			int size = methods.length;
-			for (int i = 0; i < size - 1; i++) {
-				for (int j = i + 1; j < size; j++) {
-					if (methods[i].getName().compareTo(methods[j].getName()) > 0) {
-						Method m = methods[i];
-						methods[i] = methods[j];
-						methods[j] = m;
-					}
-				}
-			}
-			for (int i = 0; i < size; i++) {
-				addTestMethod(methods[i], names, theClass);
-			}
-			superClass = superClass.getSuperclass();
-		}
-		if (!tests().hasMoreElements())
-			addTest(warning("No tests found in " + theClass.getName()));
-	}
-
-	private void addTestMethod(Method m, Vector names, Class theClass) {
-		String name = m.getName();
-		if (names.contains(name))
-			return;
-		if (!isPublicTestMethod(m)) {
-			if (isTestMethod(m))
-				addTest(warning("Test method isn't public: " + m.getName()));
-			return;
-		}
-		names.addElement(name);
-		addTest(createTest(theClass, name));
-	}
-
-	private boolean isPublicTestMethod(Method m) {
-		return isTestMethod(m) && Modifier.isPublic(m.getModifiers());
-	}
-
-	private boolean isTestMethod(Method m) {
-		String name = m.getName();
-		Class[] parameters = m.getParameterTypes();
-		Class returnType = m.getReturnType();
-		return parameters.length == 0 && name.startsWith("test") && returnType.equals(Void.TYPE);
-	}
-
-	private Test warning(final String message) {
-		return new TestCase("warning") {
-			protected void runTest() {
-				fail(message);
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/PreferencesTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/PreferencesTestCase.java
deleted file mode 100644
index 262d273..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/PreferencesTestCase.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jface.dialogs.Dialog;
-
-public class PreferencesTestCase extends TestCase {
-	public static Test suite() {
-		return new TestSuite(PreferencesTestCase.class);
-	}
-
-	public PreferencesTestCase(String name) {
-		super(name);
-	}
-
-	public void testInternetPreferencePage() {
-		Dialog dialog = UITestHelper.getPreferenceDialog("org.eclipse.internet");
-		UITestHelper.assertDialog(dialog);
-	}
-
-	public void testWebBrowserPreferencePage() {
-		Dialog dialog = UITestHelper.getPreferenceDialog("org.eclipse.wst.internet.webbrowser.preferencePage");
-		UITestHelper.assertDialog(dialog);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ToolbarBrowserTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ToolbarBrowserTestCase.java
deleted file mode 100644
index 5eb9f1f..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ToolbarBrowserTestCase.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.browser.BrowserViewer;
-
-public class ToolbarBrowserTestCase extends TestCase {
-	protected static Dialog dialog;
-	protected static Shell shell;
-	protected static BrowserViewer browser;
-	
-	class TestToolbarBrowser extends BrowserViewer {
-
-		public TestToolbarBrowser(Composite parent, int style) {
-			super(parent, style);
-		}
-		
-		public void testProtectedMethods() {
-			super.addToHistory("www.eclispe.org");
-			super.updateBackNextBusy();
-			super.updateHistory();
-			super.updateLocation();
-		}
-	}
-	
-	public static Test suite() {
-		return new OrderedTestSuite(ToolbarBrowserTestCase.class, "ToolbarBrowserTestCase");
-	}
-
-	public void test00Open() throws Exception {
-		shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		dialog = new Dialog(shell) {
-			protected Control createDialogArea(Composite parent) {
-				Composite composite = (Composite) super.createDialogArea(parent);
-				
-				browser = new BrowserViewer(composite, BrowserViewer.LOCATION_BAR | BrowserViewer.BUTTON_BAR);
-				GridData data = new GridData(GridData.FILL_BOTH);
-				data.widthHint = 400;
-				data.heightHint = 400;
-				browser.setLayoutData(data);
-				
-				return composite;
-			}
-		};
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		
-		boolean b = Display.getCurrent().readAndDispatch();
-		while (b)
-			b = Display.getCurrent().readAndDispatch();
-	}
-	
-	public void test01SetURL() throws Exception {
-		runLoopTimer(5);
-		browser.setURL("http://www.eclipse.org");
-		runLoopTimer(10);
-	}
-
-	public void test02Home() throws Exception {
-		browser.home();
-		runLoopTimer(2);
-	}
-
-	public void test03SetURL() throws Exception {
-		browser.setURL("http://www.eclipse.org/webtools/index.html");
-		runLoopTimer(10);
-	}
-
-	public void test04IsBackEnabled() throws Exception {
-		assertTrue(browser.isBackEnabled());
-	}
-
-	public void test05Back() throws Exception {
-		assertTrue(browser.back());
-		runLoopTimer(5);
-	}
-	
-	public void test06IsForwardEnabled() throws Exception {
-		assertTrue(browser.isForwardEnabled());
-	}
-
-	public void test07Forward() throws Exception {
-		assertTrue(browser.forward());
-		runLoopTimer(5);
-	}
-	
-	public void test08Refresh() throws Exception {
-		browser.refresh();
-	}
-	
-	public void test09GetBrowser() throws Exception {
-		assertNotNull(browser.getBrowser());
-	}
-	
-	public void test10Stop() throws Exception {
-		browser.stop();
-	}
-
-	public void test11GetURL() throws Exception {
-		assertNotNull(browser.getURL());
-	}
-
-	public void test12SetFocus() throws Exception {
-		browser.setFocus();
-	}
-
-	public void test13Close() throws Exception {
-		dialog.close();
-	}
-	
-	TestToolbarBrowser ttb = null;
-	
-	public void test14ProtectedMethods() {
-		shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		dialog = new Dialog(shell) {
-			protected Control createDialogArea(Composite parent) {
-				Composite composite = (Composite) super.createDialogArea(parent);
-				
-				ttb = new TestToolbarBrowser(composite, BrowserViewer.LOCATION_BAR | BrowserViewer.BUTTON_BAR);
-				GridData data = new GridData(GridData.FILL_BOTH);
-				data.widthHint = 400;
-				data.heightHint = 400;
-				ttb.setLayoutData(data);
-				
-				return composite;
-			}
-		};
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		
-		ttb.testProtectedMethods();
-		dialog.close();
-	}
-	
-	public void test15Listeners() {
-		BrowserViewer.IBackNextListener listener = new BrowserViewer.IBackNextListener() {
-			public void updateBackNextBusy() {
-				// ignore
-			}
-		};
-		
-		listener.updateBackNextBusy();
-	}
-	
-	public void test16Listeners() {
-		BrowserViewer.ILocationListener listener = new BrowserViewer.ILocationListener() {
-			public void locationChanged(String url) {
-				// ignore
-			}
-
-			public void historyChanged(String[] history2) {
-				// ignore
-			}
-		};
-		
-		listener.locationChanged(null);
-		listener.historyChanged(null);
-	}
-
-	void runLoopTimer(final int seconds) {
-		final boolean[] exit = {false};
-		new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(seconds * 1000);
-				} catch (Exception e) {
-					// ignore
-				}
-				exit[0] = true;
-				// wake up the event loop
-				Display display = Display.getDefault();
-				if (!display.isDisposed()) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							if (!shell.isDisposed()) shell.redraw();						
-						}
-					});
-				}
-			}
-		}.start();
-		shell.open();
-		Display display = Display.getCurrent();
-		while (!exit[0] && !shell.isDisposed()) if (!display.readAndDispatch()) display.sleep();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/UITestHelper.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/UITestHelper.java
deleted file mode 100644
index 3966b1e..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/UITestHelper.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.PropertyDialog;
-import org.eclipse.ui.internal.dialogs.PropertyPageContributorManager;
-import org.eclipse.ui.internal.dialogs.PropertyPageManager;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class UITestHelper {
-	private static class PreferenceDialogWrapper extends PreferenceDialog {
-		public PreferenceDialogWrapper(Shell parentShell, PreferenceManager manager) {
-			super(parentShell, manager);
-		}
-		protected boolean showPage(IPreferenceNode node) {
-			return super.showPage(node);
-		}
-	}
-	
-	private static class PropertyDialogWrapper extends PropertyDialog {
-		public PropertyDialogWrapper(Shell parentShell, PreferenceManager manager, ISelection selection) {
-			super(parentShell, manager, selection);
-		}
-		protected boolean showPage(IPreferenceNode node) {
-			return super.showPage(node);
-		}
-	}
-
-	protected static Shell getShell() {
-		return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-	}
-
-	public static PreferenceDialog getPreferenceDialog(String id) {
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager = WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();	
-
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-			     iterator.hasNext();)
-			{
-				IPreferenceNode node = (IPreferenceNode)iterator.next();
-				if ( node.getId().equals(id) ) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	
-	public static PropertyDialog getPropertyDialog(String id, IAdaptable element) {
-		PropertyDialogWrapper dialog = null;
-
-		PropertyPageManager manager = new PropertyPageManager();
-		String title = "";
-		String name  = "";
-
-		// load pages for the selection
-		// fill the manager with contributions from the matching contributors
-		PropertyPageContributorManager.getManager().contribute(manager, element);
-		
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter)element.getAdapter(IWorkbenchAdapter.class);
-		if (adapter != null) {
-			name = adapter.getLabel(element);
-		}
-		
-		// testing if there are pages in the manager
-		Iterator pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();		
-		if (!pages.hasNext())
-			return null;
-		
-		title = MessageFormat.format("PropertyDialog.propertyMessage", new Object[] {name});
-		dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element)); 
-		dialog.create();
-		dialog.getShell().setText(title);
-		for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-		     iterator.hasNext();) {
-			IPreferenceNode node = (IPreferenceNode)iterator.next();
-			if ( node.getId().equals(id) ) {
-				dialog.showPage(node);
-				break;
-			}
-		}
-		return dialog;
-	}
-	
-	/**
-	 * Automated test that checks all the labels and buttons of a dialog
-	 * to make sure there is enough room to display all the text.  Any
-	 * text that wraps is only approximated and is currently not accurate.
-	 * 
-	 * @param dialog the test dialog to be verified.
-	 */
-	public static void assertDialog(Dialog dialog) {
-		Assert.assertNotNull(dialog);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		Shell shell = dialog.getShell();
-		verifyCompositeText(shell);
-		dialog.close();
-	}
-
-	/*
-	 * Looks at all the child widgets of a given composite and
-	 * verifies the text on all labels and widgets.
-	 * @param composite The composite to look through
-	 */
-	private static void verifyCompositeText(Composite composite) {
-		Control children[] = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			try {
-				//verify the text if the child is a button
-				verifyButtonText((Button) children[i]);
-			} catch (ClassCastException exNotButton) {
-				try {
-					//child is not a button, maybe a label
-					verifyLabelText((Label) children[i]);
-				} catch (ClassCastException exNotLabel) {
-					try {
-						//child is not a label, make a recursive call if it is a composite
-						verifyCompositeText((Composite) children[i]);
-					} catch (ClassCastException exNotComposite) {
-						//the child is not a button, label, or composite - ignore it.
-					}
-				}
-			}
-		}
-	}
-	
-	/*
-	 * Verifies that a given button is large enough to display its text.
-	 * @param button The button to verify,
-	 */
-	private static void verifyButtonText(Button button) {
-		String widget = button.toString();
-		Point size = button.getSize();
-
-		// compute the size with no line wrapping
-		Point preferred = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		//if (size.y/preferred.y) == X, then label spans X lines, so divide
-		//the calculated value of preferred.x by X
-		if (preferred.y * size.y > 0) {
-			preferred.y /= countLines(button.getText()); //check for '\n\'
-			if (size.y / preferred.y > 1) {
-				preferred.x /= (size.y / preferred.y);
-			}
-		}
-
-		String message =
-			new StringBuffer("Warning: ")
-				.append(widget)
-				.append("\n\tActual Width -> ")
-				.append(size.x)
-				.append("\n\tRecommended Width -> ")
-				.append(preferred.x)
-				.toString();
-		if (preferred.x > size.x) {
-			//close the dialog
-			button.getShell().dispose();
-			Assert.assertTrue(message.toString(), false);
-		}
-	}
-	
-	/*
-	 * Verifies that a given label is large enough to display its text.
-	 * @param label The label to verify,
-	 */
-	private static void verifyLabelText(Label label) {
-		String widget = label.toString();
-		Point size = label.getSize();
-
-		// compute the size with no line wrapping
-		Point preferred = label.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		//if (size.y/preferred.y) == X, then label spans X lines, so divide
-		//the calculated value of preferred.x by X
-		if (preferred.y * size.y > 0) {
-			preferred.y /= countLines(label.getText());
-			if (size.y / preferred.y > 1) {
-				preferred.x /= (size.y / preferred.y);
-			}
-		}
-		String message = new StringBuffer("Warning: ").append(widget)
-			.append("\n\tActual Width -> ").append(size.x)
-			.append("\n\tRecommended Width -> ").append(preferred.x).toString();
-		if (preferred.x > size.x) {
-			//close the dialog
-			label.getShell().dispose();
-			Assert.assertTrue(message.toString(), false);
-		}
-	}
-	
-	/*
-	 * Counts the number of lines in a given String.
-	 * For example, if a string contains one (1) newline character,
-	 * a value of two (2) would be returned.
-	 * @param text The string to look through.
-	 * @return int the number of lines in text.
-	 */
-	private static int countLines(String text) {
-		int newLines = 1;
-		for (int i = 0; i < text.length(); i++) {
-			if (text.charAt(i) == '\n') {
-				newLines++;
-			}
-		}
-		return newLines;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/WebBrowserTestsPlugin.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/WebBrowserTestsPlugin.java
deleted file mode 100644
index e566b7c..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/WebBrowserTestsPlugin.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * The web browser tests plugin class.
- */
-public class WebBrowserTestsPlugin extends AbstractUIPlugin {
-	// Web browser plugin id
-	public static final String PLUGIN_ID = "org.eclipse.ui.browser.tests";
-
-	// singleton instance of this class
-	private static WebBrowserTestsPlugin singleton;
-
-	/**
-	 * Create the WebBrowserTestsPlugin
-	 */
-	public WebBrowserTestsPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.ui.internal.browser.WebBrowserPlugin
-	 */
-	public static WebBrowserTestsPlugin getInstance() {
-		return singleton;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/test.xml b/tests/org.eclipse.ui.tests.browser/test.xml
deleted file mode 100644
index a48251d..0000000
--- a/tests/org.eclipse.ui.tests.browser/test.xml
+++ /dev/null
@@ -1,49 +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}\..\.."/> -->
-	<echo message="basedir ${basedir}" />
-	<echo message="eclipse place ${eclipse-home}" />
-  <!-- sets the properties plugin-name, and library-file -->
-  <property name="plugin-name" value="org.eclipse.wst.internet.webbrowser.tests"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/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="wst-folder" value="${eclipse-home}/wst_folder"/>
-    <delete dir="${wst-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${wst-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.wst.internet.webbrowser.tests.AllTests" />
-   	<property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.harness/.classpath b/tests/org.eclipse.ui.tests.harness/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/tests/org.eclipse.ui.tests.harness/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.ui.tests.harness/.cvsignore b/tests/org.eclipse.ui.tests.harness/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.ui.tests.harness/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.ui.tests.harness/.project b/tests/org.eclipse.ui.tests.harness/.project
deleted file mode 100644
index d1441f8..0000000
--- a/tests/org.eclipse.ui.tests.harness/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests.harness</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/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100755
index eb65d69..0000000
--- a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:19:46 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100755
index 5ef3924..0000000
--- a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:19:46 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.pde.prefs
deleted file mode 100755
index 883666b..0000000
--- a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Mon Feb 21 14:17:36 EST 2005
-compilers.p.deprecated=2
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=1
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF b/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
deleted file mode 100644
index cad2ab6..0000000
--- a/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Harness Plug-in
-Bundle-SymbolicName: org.eclipse.ui.tests.harness;singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.ui.tests.harness.UITestHarnessPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.tests.harness,
- org.junit,
- org.eclipse.core.resources,
- org.eclipse.ui.ide
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.ui.tests.harness.util
diff --git a/tests/org.eclipse.ui.tests.harness/build.properties b/tests/org.eclipse.ui.tests.harness/build.properties
deleted file mode 100644
index e9863e2..0000000
--- a/tests/org.eclipse.ui.tests.harness/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
diff --git a/tests/org.eclipse.ui.tests.harness/icons/anything.gif b/tests/org.eclipse.ui.tests.harness/icons/anything.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests.harness/icons/anything.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.harness/plugin.xml b/tests/org.eclipse.ui.tests.harness/plugin.xml
deleted file mode 100644
index 482a837..0000000
--- a/tests/org.eclipse.ui.tests.harness/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
- <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="Performance Empty Perspective"
-            class="org.eclipse.ui.tests.harness.util.EmptyPerspective"
-            id="org.eclipse.ui.tests.harness.util.EmptyPerspective">
-      </perspective>
-      <perspective
-            name="Performance Empty Perspective 2"
-            class="org.eclipse.ui.tests.harness.util.EmptyPerspective"
-            id="org.eclipse.ui.tests.harness.util.EmptyPerspective2">
-      </perspective>
-	</extension>
-</plugin>
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/UITestHarnessPlugin.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/UITestHarnessPlugin.java
deleted file mode 100644
index a0a87de..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/UITestHarnessPlugin.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.ui.tests.harness;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UITestHarnessPlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static UITestHarnessPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public UITestHarnessPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 *
-	 * @return the shared instance.
-	 */
-	public static UITestHarnessPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.tests.harness", path);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ActionUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ActionUtil.java
deleted file mode 100644
index df8e7fc..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ActionUtil.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.harness.util;
-
-import java.lang.reflect.Method;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.SubContributionItem;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.WorkbenchWindow;
-
-/**
- * <code>ActionUtil</code> contains methods to run actions
- * in the workbench.
- */
-public class ActionUtil {
-
-    /**
-     * Runs an action contribution.
-     * 
-     * @param test the current test case
-     * @param item an action contribution item
-     */
-    public static void runAction(TestCase test, IContributionItem item) {
-        TestCase.assertTrue(item instanceof ActionContributionItem);
-        ((ActionContributionItem) item).getAction().run();
-    }
-
-    /**
-     * Runs the first action found in a menu manager with a
-     * particular label. 
-     *
-     * @param test the current test case
-     * @param mgr the containing menu manager
-     * @param label the action label
-     */
-    public static void runActionWithLabel(TestCase test, IMenuManager mgr,
-            String label) {
-        IContributionItem[] items = mgr.getItems();
-        for (int nX = 0; nX < items.length; nX++) {
-            IContributionItem item = items[nX];
-            if (item instanceof SubContributionItem)
-                item = ((SubContributionItem) item).getInnerItem();
-            if (item instanceof ActionContributionItem) {
-                IAction action = ((ActionContributionItem) item).getAction();
-                if (label.equals(action.getText())) {
-                    action.run();
-                    return;
-                }
-            }
-        }
-        TestCase.fail("Unable to find action: " + label);
-    }
-
-    /**
-     * Runs the first action found in a window with a
-     * particular label. 
-     * 
-     * @param test the current test case
-     * @param win the containing window
-     * @param label the action label
-     */
-    public static void runActionWithLabel(TestCase test, IWorkbenchWindow win,
-            String label) {
-        WorkbenchWindow realWin = (WorkbenchWindow) win;
-        IMenuManager mgr = realWin.getMenuManager();
-        runActionWithLabel(test, mgr, label);
-    }
-
-    /**
-     * Runs an action identified by an id path in a 
-     * menu manager.
-     * 
-     * @param test the current test case
-     * @param mgr the containing menu manager
-     * @param label the action label
-     */
-    public static void runActionUsingPath(TestCase test, IMenuManager mgr,
-            String idPath) {
-        IContributionItem item = mgr.findUsingPath(idPath);
-        TestCase.assertNotNull(item);
-        runAction(test, item);
-    }
-
-    /**
-     * Runs an action identified by an id path in a 
-     * window.
-     * 
-     * @param test the current test case
-     * @param win the containing window
-     * @param label the action label
-     */
-    public static void runActionUsingPath(TestCase test, IWorkbenchWindow win,
-            String idPath) {
-        WorkbenchWindow realWin = (WorkbenchWindow) win;
-        IMenuManager mgr = realWin.getMenuManager();
-        runActionUsingPath(test, mgr, idPath);
-    }
-
-    /**
-     * Returns the first action found in a menu manager with a
-     * particular label. 
-     *
-     * @param mgr the containing menu manager
-     * @param label the action label
-     * @return the first action with the label, or <code>null</code>
-     * 		if it is not found.
-     */
-    public static IAction getActionWithLabel(IMenuManager mgr, String label) {
-        IContributionItem[] items = mgr.getItems();
-        for (int nX = 0; nX < items.length; nX++) {
-            IContributionItem item = items[nX];
-            if (item instanceof SubContributionItem)
-                item = ((SubContributionItem) item).getInnerItem();
-            if (item instanceof ActionContributionItem) {
-                IAction action = ((ActionContributionItem) item).getAction();
-                if (label.equals(action.getText())) {
-                    return action;
-                }
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Fire the "handleAboutToShow" method in a menu manager.
-     * This triggers the same behavior as when a user opens a menu.
-     * The menu to be populated with actions and those 
-     * actions to be enacted in SWT widgets.
-     * 
-     * @param mgr the menu manager to open
-     */
-    public static void fireAboutToShow(MenuManager mgr) throws Throwable {
-        Class clazz = mgr.getClass();
-        Method method = clazz.getDeclaredMethod("handleAboutToShow",
-                new Class[0]);
-        method.setAccessible(true);
-        method.invoke(mgr, new Object[0]);
-    }
-}
-
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ArrayUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ArrayUtil.java
deleted file mode 100644
index 8dcb82b..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ArrayUtil.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.harness.util;
-
-import java.util.Random;
-
-/**
- * <code>ArrayUtil</code> contains methods for array 
- * examination.  
- */
-public class ArrayUtil {
-    private static Random randomBox = new Random();
-
-    /**
-     * Returns a random object chosen from an array.
-     * 
-     * @param array the input array
-     * @return a random object in the array
-     */
-    public static Object pickRandom(Object[] array) {
-        int num = randomBox.nextInt(array.length);
-        return array[num];
-    }
-
-    /**
-     * Returns whether an array is not null and
-     * each object in the array is not null.
-     *
-     * @param array the input array
-     * @return <code>true or false</code>
-     */
-    public static boolean checkNotNull(Object[] array) {
-        if (array == null)
-            return false;
-        else {
-            for (int i = 0; i < array.length; i++)
-                if (array[i] == null)
-                    return false;
-            return true;
-        }
-    }
-
-    /**
-     * Returns whether an array contains a given object.
-     *
-     * @param array the input array
-     * @param element the test object
-     * @return <code>true</code> if the array contains the object,
-     * 		<code>false</code> otherwise.
-     */
-    public static boolean contains(Object[] array, Object element) {
-        if (array == null || element == null)
-            return false;
-        else {
-            for (int i = 0; i < array.length; i++)
-                if (array[i] == element)
-                    return true;
-            return false;
-        }
-    }
-
-    /**
-     * Returns whether two arrays are equal.  They must
-     * have the same size and the same contents.
-     *
-     * @param one the first array
-     * @param two the second array
-     * @return <code>true</code> if the array are equal,
-     * 		<code>false</code> otherwise.
-     */
-    public static boolean equals(Object[] one, Object[] two) {
-        if (one.length != two.length)
-            return false;
-        else {
-            for (int i = 0; i < one.length; i++)
-                if (one[i] != two[i])
-                    return false;
-            return true;
-        }
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/AutomationUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/AutomationUtil.java
deleted file mode 100644
index ef34b3b..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/AutomationUtil.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 Eclipse Public License v1.0
- * which accompanies 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.tests.harness.util;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * <code>AutomationUtil</code> contains utility methods to mimic key events.
- * Mouse event methods can be added if needed to complete this class.
- */
-public class AutomationUtil {
-
-	/**
-	 * Method to mimic a key code event on a display.
-	 * 
-	 * @param display
-	 *            The display.
-	 * @param eventType
-	 *            The event type.
-	 * @param keyCode
-	 *            The key code.
-	 */
-	public static void performKeyCodeEvent(Display display, int eventType,
-			int keyCode) {
-		Event event = new Event();
-		event.type = eventType;
-		event.keyCode = keyCode;
-		display.post(event);
-	}
-
-	/**
-	 * Method to mimic a character event on a display.
-	 * 
-	 * @param display
-	 *            The display.
-	 * @param eventType
-	 *            The event type.
-	 * @param character
-	 *            The character to mimic.
-	 */
-	public static void performCharacterEvent(Display display, int eventType,
-			char character) {
-		Event event = new Event();
-		event.type = eventType;
-		event.character = character;
-		display.post(event);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/CallHistory.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/CallHistory.java
deleted file mode 100644
index b735a57..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/CallHistory.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.tests.harness.util;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-
-/**
- * <code>CallHistory</code> is used to record the invocation
- * of methods within a target object.  This is useful during
- * lifecycle testing for an object.
- * <p>
- * To use <code>CallHistory</code> ..
- * <ol>
- * <li>Create a CallHistory in the target or pass one in.</li>
- * <li>Invoke some test scenario.  </li>
- * <li>If a method is called on the target record the invocation
- * 	in the call history</li>
- * <li>Verify the call history after the test scenario is
- * 	complete.</li>
- * </ol>
- * </p><p>
- * Each <code>CallHistory</code> has a target which is used to 
- * verify the method names passed to the history.  If an invalid 
- * name is passed an <code>IllegalArgumentException</code> will 
- * be thrown.
- * </p>
- */
-public class CallHistory {
-    private ArrayList methodList;
-
-    private Class classType;
-
-    /**
-     * Creates a new call history for an object.  
-     * 
-     * @param target the call history target. 
-     */
-    public CallHistory(Object target) {
-        methodList = new ArrayList();
-        classType = target.getClass();
-    }
-
-    /**
-     * Throws an exception if the method name is invalid
-     * for the given target class.
-     */
-    private void testMethodName(String methodName) {
-        Method[] methods = classType.getMethods();
-        for (int i = 0; i < methods.length; i++)
-            if (methods[i].getName().equals(methodName))
-                return;
-        throw new IllegalArgumentException("Target class ("
-                + classType.getName() + ") does not contain method: "
-                + methodName);
-    }
-
-    /**
-     * Adds a method name to the call history.  
-     * 
-     * @param methodName the name of a method
-     */
-    public void add(String methodName) {
-        testMethodName(methodName);
-        methodList.add(methodName);
-    }
-
-    /**
-     * Clears the call history.
-     */
-    public void clear() {
-        methodList.clear();
-    }
-
-    /**
-     * Returns whether a list of methods have been called in
-     * order.  
-     * 
-     * @param testNames an array of the method names in the order they are expected
-     * @return <code>true</code> if the methods were called in order
-     */
-    public boolean verifyOrder(String[] testNames)
-            throws IllegalArgumentException {
-        int testIndex = 0;
-        int testLength = testNames.length;
-        if (testLength == 0)
-            return true;
-        for (int nX = 0; nX < methodList.size(); nX++) {
-            String methodName = (String) methodList.get(nX);
-            String testName = testNames[testIndex];
-            testMethodName(testName);
-            if (testName.equals(methodName))
-                ++testIndex;
-            if (testIndex >= testLength)
-                return true;
-        }
-        return false;
-    }
-
-    /**
-     * Returns whether a method has been called.
-     * 
-     * @param methodName a method name
-     * @return <code>true</code> if the method was called
-     */
-    public boolean contains(String methodName) {
-        testMethodName(methodName);
-        return methodList.contains(methodName);
-    }
-
-    /**
-     * Returns whether a list of methods were called.
-     * 
-     * @param methodNames a list of methods
-     * @return <code>true</code> if the methods were called
-     */
-    public boolean contains(String[] methodNames) {
-        for (int i = 0; i < methodNames.length; i++) {
-            testMethodName(methodNames[i]);
-            if (!methodList.contains(methodNames[i]))
-                return false;
-        }
-        return true;
-    }
-
-    /**
-     * Returns whether the list of methods called is empty.
-     * 
-     * @return <code>true</code> iff the list of methods is empty
-     */
-    public boolean isEmpty() {
-        return methodList.isEmpty();
-    }
-
-    /**
-     * Prints the call history to the console.
-     */
-    public void printToConsole() {
-        for (int i = 0; i < methodList.size(); i++)
-            System.out.println(methodList.get(i));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/DialogCheck.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/DialogCheck.java
deleted file mode 100644
index edb9eb6..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/DialogCheck.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import junit.framework.Assert;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.tests.internal.util.VerifyDialog;
-
-/**
- * A <code>DialogCheck</code> is used test a dialog in
- * various ways. 
- * <p>
- * For interactive tests use <code>assertDialog</code>.
- * For automated tests use <code>assert DialogTexts</code>.
- * </p> 
- */
-public class DialogCheck {
-    private DialogCheck() {
-    }
-
-    private static VerifyDialog _verifyDialog;
-
-    /**
-     * Asserts that a given dialog is not null and that it passes
-     * certain visual tests.  These tests will be verified manually
-     * by the tester using an input dialog.  Use this assert method
-     * to verify a dialog's sizing, initial focus, or accessiblity.
-     * To ensure that both the input dialog and the test dialog are
-     * accessible by the tester, the getShell() method should be used
-     * when creating the test dialog.
-     * 
-     * Example usage:
-     * <code>Dialog dialog = new AboutDialog( DialogCheck.getShell() );
-     * DialogCheck.assertDialog(dialog, this);</code>
-     * 
-     * @param dialog the test dialog to be verified.
-     * @param assert this is the test case object, assertions will be
-     * executed on this object.
-     */
-    public static void assertDialog(Dialog dialog, Assert assertion) {
-        Assert.assertNotNull(dialog);
-        if (_verifyDialog.getShell() == null) {
-            //force the creation of the verify dialog
-            getShell();
-        }
-        if (_verifyDialog.open(dialog) == IDialogConstants.NO_ID) {
-            Assert.assertTrue(_verifyDialog.getFailureText(), false);
-        }
-    }
-
-    /**
-     * Automated test that checks all the labels and buttons of a dialog
-     * to make sure there is enough room to display all the text.  Any
-     * text that wraps is only approximated and is currently not accurate.
-     * 
-     * @param dialog the test dialog to be verified.
-     * @param assert this is the test case object, assertions will be
-     * executed on this object.
-     */
-    public static void assertDialogTexts(Dialog dialog, Assert assertion) {
-        Assert.assertNotNull(dialog);
-        dialog.setBlockOnOpen(false);
-        dialog.open();
-        Shell shell = dialog.getShell();
-        verifyCompositeText(shell, assertion);
-        dialog.close();
-    }
-
-    /**
-     * This method should be called when creating dialogs to test.  This
-     * ensures that the dialog's parent shell will be that of the
-     * verification dialog.
-     * 
-     * @return Shell The shell of the verification dialog to be used as
-     * the parent shell of the test dialog.
-     */
-    public static Shell getShell() {
-        Shell shell = WorkbenchPlugin.getDefault().getWorkbench()
-                .getActiveWorkbenchWindow().getShell();
-        _verifyDialog = new VerifyDialog(shell);
-        _verifyDialog.create();
-        return _verifyDialog.getShell();
-    }
-
-    /*
-     * Looks at all the child widgets of a given composite and
-     * verifies the text on all labels and widgets.
-     * @param composite The composite to look through
-     * @param assert The object to invoke assertions on.
-     */
-    private static void verifyCompositeText(Composite composite,
-            Assert assertion) {
-        Control children[] = composite.getChildren();
-        for (int i = 0; i < children.length; i++) {
-        	Control child = children[i];
-            if (child instanceof TabFolder) {
-                TabFolder folder = (TabFolder) child;
-                int numPages = folder.getItemCount();
-                for (int j = 0; j < numPages; j++) {
-                    folder.setSelection(j);
-                }
-            }
-            else if (child instanceof Button) {
-                //verify the text if the child is a button
-                verifyButtonText((Button) child, assertion);
-            }
-            else if (child instanceof Label) {
-                //child is not a button, maybe a label
-                verifyLabelText((Label) child, assertion);
-            }
-            else if (child instanceof Composite) {
-                //child is not a label, make a recursive call if it is a composite
-                verifyCompositeText((Composite) child, assertion);
-            }
-        }
-    }
-
-    /*
-     * Verifies that a given button is large enough to display its text.
-     * @param button The button to verify,
-     * @param assert The object to invoke assertions on.
-     */
-    private static void verifyButtonText(Button button, Assert assertion) {
-        String widget = button.toString();
-        Point size = button.getSize();
-
-        //compute the size with no line wrapping
-        Point preferred = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        //if (size.y/preferred.y) == X, then label spans X lines, so divide
-        //the calculated value of preferred.x by X
-        if (preferred.y * size.y > 0) {
-            preferred.y /= countLines(button.getText()); //check for '\n\'
-            if (size.y / preferred.y > 1) {
-                preferred.x /= (size.y / preferred.y);
-            }
-        }
-
-        String message = new StringBuffer("Warning: ").append(widget).append(
-                "\n\tActual Width -> ").append(size.x).append(
-                "\n\tRecommended Width -> ").append(preferred.x).toString();
-        if (preferred.x > size.x) {
-            //close the dialog
-            button.getShell().dispose();
-            Assert.assertTrue(message.toString(), false);
-        }
-    }
-
-    /*
-     * Verifies that a given label is large enough to display its text.
-     * @param label The label to verify,
-     * @param assert The object to invoke assertions on.
-     */
-    private static void verifyLabelText(Label label, Assert assertion) {
-        String widget = label.toString();
-        Point size = label.getSize();
-
-        //compute the size with no line wrapping
-        Point preferred = label.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        //if (size.y/preferred.y) == X, then label spans X lines, so divide
-        //the calculated value of preferred.x by X
-        if (preferred.y * size.y > 0) {
-            preferred.y /= countLines(label.getText());
-            if (size.y / preferred.y > 1) {
-                preferred.x /= (size.y / preferred.y);
-            }
-        }
-        String message = new StringBuffer("Warning: ").append(widget).append(
-                "\n\tActual Width -> ").append(size.x).append(
-                "\n\tRecommended Width -> ").append(preferred.x).toString();
-        if (preferred.x > size.x) {
-            //close the dialog
-            label.getShell().dispose();
-            Assert.assertTrue(message.toString(), false);
-        }
-    }
-
-    /*
-     * Counts the number of lines in a given String.
-     * For example, if a string contains one (1) newline character,
-     * a value of two (2) would be returned.
-     * @param text The string to look through.
-     * @return int the number of lines in text.
-     */
-    private static int countLines(String text) {
-        int newLines = 1;
-        for (int i = 0; i < text.length(); i++) {
-            if (text.charAt(i) == '\n') {
-                newLines++;
-            }
-        }
-        return newLines;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/EmptyPerspective.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/EmptyPerspective.java
deleted file mode 100644
index f27b499..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/EmptyPerspective.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.harness.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.harness.util.EmptyPerspective";
-
-    /**
-     * The perspective id for the second empty perspective.
-     */
-    public static final String PERSP_ID2 = "org.eclipse.ui.tests.harness.util.EmptyPerspective2";
-
-    private static String LastPerspective;
-    
-    /**
-     * Returns the descriptor for the perspective last opened using this factory.
-     * 
-     * @return the descriptor for the perspective last opened using this factory, or <code>null</code>
-     */
-	public static String getLastPerspective() {
-		return LastPerspective;
-	}
-
-    /**
-     * Sets the descriptor for the perspective last opened using this factory.
-     * 
-     * @param persp the descriptor for the perspective last opened using this factory, or <code>null</code>
-     */
-	public static void setLastPerspective(String perspId) {
-		LastPerspective = perspId;
-	}
-    
-    /**
-     * 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) {
-    	setLastPerspective(layout.getDescriptor().getId());
-        // do no layout, this is the empty perspective
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileTool.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileTool.java
deleted file mode 100644
index 56fc41b..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileTool.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.tests.harness.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-
-
-public class FileTool {
-	
-	/**
-	 * A buffer.
-	 */
-	private static byte[] buffer = new byte[8192];
-	/**
-	 * Unzips the given zip file to the given destination directory
-	 * extracting only those entries the pass through the given
-	 * filter.
-	 * 
-	 * @param filter filters out unwanted zip entries
-	 * @param zipFile the zip file to unzip
-	 * @param dstDir the destination directory
-	 */
-	public static void unzip(ZipFile zipFile, File dstDir) throws IOException {
-		unzip(zipFile, dstDir, dstDir, 0);
-	}
-	
-	private static void unzip(ZipFile zipFile, File rootDstDir, File dstDir, int depth) throws IOException {
-	
-		Enumeration entries = zipFile.entries();
-	
-		try {
-			while(entries.hasMoreElements()){
-				ZipEntry entry = (ZipEntry)entries.nextElement();
-				if(entry.isDirectory()){
-					continue;
-				}
-				String entryName = entry.getName();
-				File file = new File(dstDir, changeSeparator(entryName, '/', File.separatorChar));
-				file.getParentFile().mkdirs();
-				InputStream src = null;
-				OutputStream dst = null;
-				try {
-					src = zipFile.getInputStream(entry);
-					dst = new FileOutputStream(file);
-					transferData(src, dst);
-				} finally {
-					if(dst != null){
-						try {
-							dst.close();
-						} catch(IOException e){
-						}
-					}
-					if(src != null){
-						try {
-							src.close();
-						} catch(IOException e){
-						}
-					}
-				}
-			}
-		} finally {
-			try {
-				zipFile.close();
-			} catch(IOException e){
-			}
-		}
-	}
-	/**
-	 * Returns the given file path with its separator
-	 * character changed from the given old separator to the
-	 * given new separator.
-	 * 
-	 * @param path a file path
-	 * @param oldSeparator a path separator character
-	 * @param newSeparator a path separator character
-	 * @return the file path with its separator character
-	 * changed from the given old separator to the given new
-	 * separator
-	 */
-	public static String changeSeparator(String path, char oldSeparator, char newSeparator){
-		return path.replace(oldSeparator, newSeparator);
-	}
-	/**
-	 * Copies all bytes in the given source file to
-	 * the given destination file.
-	 * 
-	 * @param source the given source file
-	 * @param destination the given destination file
-	 */
-	public static void transferData(File source, File destination) throws IOException {
-		destination.getParentFile().mkdirs();
-		InputStream is = null;
-		OutputStream os = null;
-		try {
-			is = new FileInputStream(source);
-			os = new FileOutputStream(destination);
-			transferData(is, os);
-		} finally {
-			if(os != null){
-				try {
-					os.close();
-				} catch(IOException e){
-				}
-			}
-			if(is != null){
-				try {
-					is.close();
-				} catch(IOException e){
-				}
-			}
-		}
-	}
-	/**
-	 * Copies all bytes in the given source stream to
-	 * the given destination stream. Neither streams
-	 * are closed.
-	 * 
-	 * @param source the given source stream
-	 * @param destination the given destination stream
-	 */
-	public static void transferData(InputStream source, OutputStream destination) throws IOException {
-		int bytesRead = 0;
-		while(bytesRead != -1){
-			bytesRead = source.read(buffer, 0, buffer.length);
-			if(bytesRead != -1){
-				destination.write(buffer, 0, bytesRead);
-			}
-		}
-	}
-
-	/**
-	 * Copies the given source file to the given destination file.
-	 * 
-	 * @param src the given source file
-	 * @param dst the given destination file
-	 */
-	public static void copy(File src, File dst) throws IOException {
-		if(src.isDirectory()){
-			String[] srcChildren = src.list();
-			for(int i = 0; i < srcChildren.length; ++i){
-				File srcChild= new File(src, srcChildren[i]);
-				File dstChild= new File(dst, srcChildren[i]);
-				copy(srcChild, dstChild);
-			}
-		} else
-			transferData(src, dst);
-	}
-
-	public static File getFileInPlugin(Plugin plugin, IPath path) {
-		try {
-			URL installURL= plugin.getBundle().getEntry(path.toString());
-			URL localURL= Platform.asLocalURL(installURL);
-			return new File(localURL.getFile());
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	public static StringBuffer read(String fileName) throws IOException {
-		return read(new FileReader(fileName));
-	}
-
-	public static StringBuffer read(Reader reader) throws IOException {
-		StringBuffer s= new StringBuffer();
-		try {
-			char[] buffer= new char[8196];
-			int chars= reader.read(buffer);
-			while (chars != -1) {
-				s.append(buffer, 0, chars);
-				chars= reader.read(buffer);
-			}
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-			}
-		}
-		return s;
-	}
-
-	public static void write(String fileName, StringBuffer content) throws IOException {
-		Writer writer= new FileWriter(fileName);
-		try {
-			writer.write(content.toString());
-		} finally {
-			try {
-				writer.close();
-			} catch (IOException e) {
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileUtil.java
deleted file mode 100644
index 1b9d10f..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileUtil.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.harness.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * <code>FileUtil</code> contains methods to create and
- * delete files and projects.
- */
-public class FileUtil {
-
-    /**
-     * Creates a new project.
-     * 
-     * @param name the project name
-     */
-    public static IProject createProject(String name) throws CoreException {
-        IWorkspace ws = ResourcesPlugin.getWorkspace();
-        IWorkspaceRoot root = ws.getRoot();
-        IProject proj = root.getProject(name);
-        if (!proj.exists())
-            proj.create(null);
-        if (!proj.isOpen())
-            proj.open(null);
-        return proj;
-    }
-
-    /**
-     * Deletes a project.
-     * 
-     * @param proj the project
-     */
-    public static void deleteProject(IProject proj) throws CoreException {
-        proj.delete(true, null);
-    }
-
-    /**
-     * Creates a new file in a project.
-     * 
-     * @param name the new file name
-     * @param proj the existing project
-     * @return the new file
-     */
-    public static IFile createFile(String name, IProject proj)
-            throws CoreException {
-        IFile file = proj.getFile(name);
-        if (!file.exists()) {
-            String str = " ";
-            InputStream in = new ByteArrayInputStream(str.getBytes());
-            file.create(in, true, null);
-        }
-        return file;
-    }
-
-}
-
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ImageTests.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ImageTests.java
deleted file mode 100644
index 6bbd595..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ImageTests.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import java.util.Arrays;
-
-import junit.framework.Assert;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-
-/**
- * @since 3.1
- */
-public final class ImageTests {
-
-	/**
-	 * 
-	 */
-	private ImageTests() {
-		super();
-	}
-
-    public static void assertEquals(Image i1, Image i2) {
-        ImageData data1 = i1.getImageData();
-        ImageData data2 = i2.getImageData();
-        Assert.assertTrue(Arrays.equals(data1.data, data2.data));
-    }
-    
-    public static void assertNotEquals(Image i1, Image i2) {
-        ImageData data1 = i1.getImageData();
-        ImageData data2 = i2.getImageData();
-        Assert.assertFalse(Arrays.equals(data1.data, data2.data));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/PlatformUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/PlatformUtil.java
deleted file mode 100644
index f786f51..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/PlatformUtil.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.harness.util;
-
-import org.eclipse.swt.SWT;
-
-/**
- * The Platform Util class is used to test for which platform we are in
- */
-public class PlatformUtil {
-    
-    /**
-     * Determine if we are running on the Mac platform.
-     * 
-     * @return true if we are runnig on the Mac platform.
-     */
-    public static boolean onMac() {
-        String platform = SWT.getPlatform();
-        return platform.equals("carbon");
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/UITestCase.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/UITestCase.java
deleted file mode 100644
index d72f3f9..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/UITestCase.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-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.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-
-/**
- * <code>UITestCase</code> is a useful super class for most
- * UI tests cases.  It contains methods to create new windows 
- * and pages.  It will also automatically close the test 
- * windows when the tearDown method is called.
- */
-public abstract class UITestCase extends TestCase {
-
-	/**
-	 * Returns the workbench page input to use for newly created windows.
-	 *  
-	 * @return the page input to use for newly created windows
-	 * @since 3.1
-	 */
-	public static IAdaptable getPageInput() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	class TestWindowListener implements IWindowListener {
-        private boolean enabled = true;
-
-        public void setEnabled(boolean enabled) {
-            this.enabled = enabled;
-        }
-
-        public void windowActivated(IWorkbenchWindow window) {
-            // do nothing
-        }
-
-        public void windowDeactivated(IWorkbenchWindow window) {
-            // do nothing
-        }
-
-        public void windowClosed(IWorkbenchWindow window) {
-            if (enabled)
-                testWindows.remove(window);
-        }
-
-        public void windowOpened(IWorkbenchWindow window) {
-            if (enabled)
-                testWindows.add(window);
-        }
-    }
-
-    protected IWorkbench fWorkbench;
-
-    private List testWindows;
-
-    private TestWindowListener windowListener;
-
-    public UITestCase(String testName) {
-        super(testName);
-        //		ErrorDialog.NO_UI = true;
-        fWorkbench = PlatformUI.getWorkbench();
-        testWindows = new ArrayList(3);
-    }
-
-	/**
-	 * Fails the test due to the given throwable.
-	 */
-	public static void fail(String message, Throwable e) {
-		// If the exception is a CoreException with a multistatus
-		// then print out the multistatus so we can see all the info.
-		if (e instanceof CoreException) {
-			IStatus status = ((CoreException) e).getStatus();
-			write(status, 0);
-		} else
-			e.printStackTrace();
-		fail(message + ": " + e);
-	}
-
-	private static void indent(OutputStream output, int indent) {
-		for (int i = 0; i < indent; i++)
-			try {
-				output.write("\t".getBytes());
-			} catch (IOException e) {
-				// ignore
-			}
-	}
-
-	private static void write(IStatus status, int indent) {
-		PrintStream output = System.out;
-		indent(output, indent);
-		output.println("Severity: " + status.getSeverity());
-
-		indent(output, indent);
-		output.println("Plugin ID: " + status.getPlugin());
-
-		indent(output, indent);
-		output.println("Code: " + status.getCode());
-
-		indent(output, indent);
-		output.println("Message: " + status.getMessage());
-
-		if (status.getException() != null) {
-			indent(output, indent);
-			output.print("Exception: ");
-			status.getException().printStackTrace(output);
-		}
-
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++)
-				write(children[i], indent + 1);
-		}
-	}
-
-	/**
-     * Adds a window listener to the workbench to keep track of
-     * opened test windows.
-     */
-    private void addWindowListener() {
-        windowListener = new TestWindowListener();
-        fWorkbench.addWindowListener(windowListener);
-    }
-
-    /**
-     * Removes the listener added by <code>addWindowListener</code>. 
-     */
-    private void removeWindowListener() {
-        if (windowListener != null) {
-            fWorkbench.removeWindowListener(windowListener);
-        }
-    }
-
-    /**
-     * Outputs a trace message to the trace output device, if enabled.
-     * By default, trace messages are sent to <code>System.out</code>.
-     * 
-     * @param msg the trace message
-     */
-    protected void trace(String msg) {
-        System.err.println(msg);
-    }
-
-    /**
-     * Simple implementation of setUp. Subclasses are prevented 
-     * from overriding this method to maintain logging consistency.
-     * doSetUp() should be overriden instead.
-     */
-    protected final void setUp() throws Exception {
-    	super.setUp();
-    	trace("----- " + this.getName()); //$NON-NLS-1$
-        trace(this.getName() + ": setUp..."); //$NON-NLS-1$
-        addWindowListener();
-        doSetUp();
-       
-    }
-
-    /**
-     * Sets up the fixture, for example, open a network connection.
-     * This method is called before a test is executed.
-     * The default implementation does nothing.
-     * Subclasses may extend.
-     */
-    protected void doSetUp() throws Exception {
-        // do nothing.
-    }
-
-    /**
-     * Simple implementation of tearDown.  Subclasses are prevented 
-     * from overriding this method to maintain logging consistency.
-     * doTearDown() should be overriden instead.
-     */
-    protected final void tearDown() throws Exception {
-        super.tearDown();
-        trace(this.getName() + ": tearDown...\n"); //$NON-NLS-1$
-        removeWindowListener();
-        doTearDown();
-    }
-
-    /**
-     * Tears down the fixture, for example, close a network connection.
-     * This method is called after a test is executed.
-     * The default implementation closes all test windows, processing events both before
-     * and after doing so.
-     * Subclasses may extend.
-     */
-    protected void doTearDown() throws Exception {
-        processEvents();
-        closeAllTestWindows();
-        processEvents();
-    }
-
-    protected static void processEvents() {
-        Display display = PlatformUI.getWorkbench().getDisplay();
-        if (display != null)
-            while (display.readAndDispatch())
-                ;
-    }
-
-    /** 
-     * Open a test window with the empty perspective.
-     */
-    public IWorkbenchWindow openTestWindow() {
-        return openTestWindow(EmptyPerspective.PERSP_ID);
-    }
-
-    /**
-     * Open a test window with the provided perspective.
-     */
-    public IWorkbenchWindow openTestWindow(String perspectiveId) {
-		try {
-			IWorkbenchWindow window = fWorkbench.openWorkbenchWindow(
-					perspectiveId, getPageInput());
-			waitOnShell(window.getShell());
-			return window;
-		} catch (WorkbenchException e) {
-			fail();
-			return null;
-		}
-	}
-
-    /**
-	 * Try and process events until the new shell is the active shell. This may
-	 * never happen, so time out after a suitable period.
-	 * 
-	 * @param shell
-	 *            the shell to wait on
-	 * @since 3.2
-	 */
-	private void waitOnShell(Shell shell) {
-
-		processEvents();
-//		long endTime = System.currentTimeMillis() + 5000;
-//
-//		while (shell.getDisplay().getActiveShell() != shell
-//				&& System.currentTimeMillis() < endTime) {
-//			processEvents();
-//		}
-	}
-
-	/**
-	 * Close all test windows.
-	 */
-    public void closeAllTestWindows() {
-        Iterator iter = new ArrayList(testWindows).iterator();
-        while (iter.hasNext()) {
-            IWorkbenchWindow win = (IWorkbenchWindow) iter.next();
-            win.close();
-        }
-        testWindows.clear();
-    }
-
-    /**
-     * Open a test page with the empty perspective in a window.
-     */
-    public IWorkbenchPage openTestPage(IWorkbenchWindow win) {
-        IWorkbenchPage[] pages = openTestPage(win, 1);
-        if (pages != null)
-            return pages[0];
-        else
-            return null;
-    }
-
-    /**
-     * Open "n" test pages with the empty perspective in a window.
-     */
-    public IWorkbenchPage[] openTestPage(IWorkbenchWindow win, int pageTotal) {
-        try {
-            IWorkbenchPage[] pages = new IWorkbenchPage[pageTotal];
-            IAdaptable input = getPageInput();
-
-            for (int i = 0; i < pageTotal; i++) {
-                pages[i] = win.openPage(EmptyPerspective.PERSP_ID, input);
-            }
-            return pages;
-        } catch (WorkbenchException e) {
-            fail();
-            return null;
-        }
-    }
-
-    /**
-     * Close all pages within a window.
-     */
-    public void closeAllPages(IWorkbenchWindow window) {
-        IWorkbenchPage[] pages = window.getPages();
-        for (int i = 0; i < pages.length; i++)
-            pages[i].close();
-    }
-
-    /**
-     * Set whether the window listener will manage opening and closing of created windows.
-     */
-    protected void manageWindows(boolean manage) {
-        windowListener.setEnabled(manage);
-    }
-    
-    /**
-     * Returns the workbench.
-     * 
-     * @return the workbench
-     * @since 3.1
-     */
-    protected IWorkbench getWorkbench() {
-        return fWorkbench;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java
deleted file mode 100644
index 5c68376..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.internal.util;
-
-import java.util.ArrayList;
-
-public class AccessibilityTestPass implements IDialogTestPass {
-    private static final int CHECKLIST_SIZE = 5;
-
-    /**
-     * @see IDialogTestPass#title()
-     */
-    public String title() {
-        return "Test Pass: Accessibility";
-    }
-
-    /**
-     * @see IDialogTestPass#description()
-     */
-    public String description() {
-        return "Verify the accessibility of the dialogs.";
-    }
-
-    /**
-     * @see IDialogTestPass#label()
-     */
-    public String label() {
-        return "&Accessibility";
-    }
-
-    /**
-     * @see IDialogTestPass#checkListTexts()
-     */
-    public ArrayList checkListTexts() {
-        ArrayList list = new ArrayList(CHECKLIST_SIZE);
-        list.add("&1) all widgets are accessible by tabbing.");
-        list.add("&2) forwards and backwards tabbing is in a logical order");
-        list
-                .add("&3) all the widgets with labels have an appropriate mnemonic.");
-        list.add("&4) there are no duplicate mnemonics.");
-        list.add("&5) selectable widgets can be selected using the spacebar.");
-        return list;
-    }
-
-    /**
-     * @see IDialogTestPass#failureTexts()
-     * Size of the return array must be the same size as the checkListTexts'
-     * ArrayList.
-     */
-    public String[] failureTexts() {
-        String[] failureText = new String[CHECKLIST_SIZE];
-        failureText[0] = "Some widgets aren't accessible by tabbing.";
-        failureText[1] = "Tabbing order is illogical.";
-        failureText[2] = "Missing or inappropriate mnemonics.";
-        failureText[3] = "Duplicate mnemonics.";
-        failureText[4] = "Some widgets cannot be selected using the spacebar.";
-        return failureText;
-    }
-
-    /**
-     * @see IDialogTestPass#queryText()
-     */
-    public String queryText() {
-        return "Is the accessibility of the dialog acceptable?";
-    }
-
-    /**
-     * @see IDialogTestPass#getID()
-     */
-    public int getID() {
-        return VerifyDialog.TEST_ACCESS;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FailureDialog.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FailureDialog.java
deleted file mode 100644
index ab0bcbd..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FailureDialog.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 Eclipse Public License v1.0
- * which accompanies 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.tests.internal.util;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/*
- * A dialog for collecting notes from the tester regarding
- * the failure of a test.
- */
-public class FailureDialog extends Dialog {
-    private Text _text;
-
-    private String _log;
-
-    private int SIZING_TEXT_WIDTH = 400;
-
-    private int SIZING_TEXT_HEIGHT = 200;
-
-    /**
-     * Constructor for FailureDialog
-     */
-    public FailureDialog(Shell parentShell) {
-        super(parentShell);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        newShell.setText("Dialog Test Failed");
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        createButton(parent, IDialogConstants.OK_ID, "&OK", true);
-        createButton(parent, IDialogConstants.CANCEL_ID,
-                IDialogConstants.CANCEL_LABEL, false);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // page group
-        Composite composite = (Composite) super.createDialogArea(parent);
-        composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-        Label label = new Label(composite, SWT.WRAP);
-        label.setText("&Enter a note regarding the failure:");
-
-        _text = new Text(composite, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL
-                | SWT.V_SCROLL);
-        _text.setFont(JFaceResources.getFontRegistry().get(
-                JFaceResources.TEXT_FONT));
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.widthHint = SIZING_TEXT_WIDTH;
-        data.heightHint = SIZING_TEXT_HEIGHT;
-        _text.setLayoutData(data);
-
-        return composite;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void okPressed() {
-        _log = _text.getText();
-        super.okPressed();
-    }
-
-    /*
-     * @return String the text contained in the input area of
-     * the dialog.
-     */
-    String getText() {
-        if (_log == null) {
-            return "Empty entry.";
-        } else {
-            return _log;
-        }
-    }
-
-    /*
-     * Sets the text of the input area.  This should only be
-     * called to set the initial text so only call before invoking
-     * open().
-     */
-    void setText(String text) {
-        _text.setText(text);
-    }
-
-    /*
-     * Returns a string representation of this class which
-     * the text contained in the input area of the dialog.
-     */
-    public String toString() {
-        return getText();
-    }
-}
-
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FocusTestPass.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FocusTestPass.java
deleted file mode 100644
index bc34b95..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FocusTestPass.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.tests.internal.util;
-
-import java.util.ArrayList;
-
-/*
- * This test pass verifies the initial focus of a dialog
- * when it is given focus.
- */
-public class FocusTestPass implements IDialogTestPass {
-    private static final int CHECKLIST_SIZE = 1;
-
-    /**
-     * @see IDialogTestPass#title()
-     */
-    public String title() {
-        return "Test Pass: Initial Focus";
-    }
-
-    /**
-     * @see IDialogTestPass#description()
-     */
-    public String description() {
-        return "Verify the initial focus of the dialogs.";
-    }
-
-    /**
-     * @see IDialogTestPass#label()
-     */
-    public String label() {
-        return "&Initial Focus";
-    }
-
-    /**
-     * @see IDialogTestPass#checkListTexts()
-     */
-    public ArrayList checkListTexts() {
-        ArrayList list = new ArrayList(CHECKLIST_SIZE);
-        list.add("&1) the initial focus is appropriate.");
-        return list;
-    }
-
-    /**
-     * @see IDialogTestPass#failureTexts()
-     * Size of the return array must be the same size as the checkListTexts'
-     * ArrayList.
-     */
-    public String[] failureTexts() {
-        String[] failureText = new String[CHECKLIST_SIZE];
-        failureText[0] = "The initial focus is inappropriate.";
-        return failureText;
-    }
-
-    /**
-     * @see IDialogTestPass#queryText()
-     */
-    public String queryText() {
-        return "Is the initial focus of the dialog correct?";
-    }
-
-    /**
-     * @see IDialogTestPass#getID()
-     */
-    public int getID() {
-        return VerifyDialog.TEST_FOCUS;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/IDialogTestPass.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/IDialogTestPass.java
deleted file mode 100644
index 84720b7..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/IDialogTestPass.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 Eclipse Public License v1.0
- * which accompanies 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.tests.internal.util;
-
-import java.util.ArrayList;
-
-/*
- * Interface to describe a visual test pass for a dialog test.
- */
-public interface IDialogTestPass {
-    /*
-     * @return String The title of the test pass.
-     */
-    public String title();
-
-    /*
-     * @return String The description of the test pass.
-     */
-    public String description();
-
-    /*
-     * @return String The label of the test pass to be used
-     * in a selection list.  The return includes an '&'
-     * if a mnemonic is desired.
-     */
-    public String label();
-
-    /*
-     * @return ArrayList A list of items to appear in a checklist.
-     * The items in the list must be Strings and should include an
-     * '&' if a mnemonic is desired.
-     */
-    public ArrayList checkListTexts();
-
-    /*
-     * @return String[] Associated failure messages that correspond
-     * to the checklist items.  The size of this array should be the
-     * same size as the checklist.
-     */
-    public String[] failureTexts();
-
-    /*
-     * @return String The test that corresponds to the test pass to
-     * which the tester will respond with a 'yes' or 'no'.
-     */
-    public String queryText();
-
-    /*
-     * @return int A unique number that identifies the test pass.
-     */
-    public int getID();
-}
-
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/SizingTestPass.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/SizingTestPass.java
deleted file mode 100644
index 12235ea..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/SizingTestPass.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 Eclipse Public License v1.0
- * which accompanies 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.tests.internal.util;
-
-import java.util.ArrayList;
-
-/*
- * This test pass verifies visually the sizing of the dialog and its
- * widgets.
- */
-class SizingTestPass implements IDialogTestPass {
-    private static final int CHECKLIST_SIZE = 5;
-
-    /**
-     * @see IDialogTestPass#title()
-     */
-    public String title() {
-        return "Test Pass: Sizing and Display";
-    }
-
-    /**
-     * @see IDialogTestPass#description()
-     */
-    public String description() {
-        return "Verify the sizing and display of the dialogs and widgets.";
-    }
-
-    /**
-     * @see IDialogTestPass#label()
-     */
-    public String label() {
-        return "&Sizing and Display";
-    }
-
-    /**
-     * @see IDialogTestPass#checkListTexts()
-     */
-    public ArrayList checkListTexts() {
-        ArrayList list = new ArrayList(CHECKLIST_SIZE);
-        list.add("&1) the correct dialog displays.");
-        list
-                .add("&2) the dialog is an appropriate size for the required resolution (1024x768).");
-        list.add("&3) the texts are correct and not cut off.");
-        list.add("&4) all strings have been externalized properly.");
-        list.add("&5) all the widgets are viewable and not cut off.");
-        return list;
-    }
-
-    /**
-     * @see IDialogTestPass#failureTexts()
-     * Size of the return array must be the same size as the checkListTexts'
-     * ArrayList.
-     */
-    public String[] failureTexts() {
-        String[] failureText = new String[CHECKLIST_SIZE];
-        failureText[0] = "The wrong dialog displayed.";
-        failureText[1] = "The dialog is too large for the required resolution.";
-        failureText[2] = "Text labels are wrong or cut off.";
-        failureText[3] = "Some strings have not been externalized properly.";
-        failureText[4] = "Some widgets are cut off.";
-        return failureText;
-    }
-
-    /**
-     * @see IDialogTestPass#queryText()
-     */
-    public String queryText() {
-        return "Is the sizing and display of the dialog correct?";
-    }
-
-    /**
-     * @see IDialogTestPass#getID()
-     */
-    public int getID() {
-        return VerifyDialog.TEST_SIZING;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/VerifyDialog.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/VerifyDialog.java
deleted file mode 100644
index e521cd8..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/VerifyDialog.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.tests.internal.util;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/*
- * This dialog is intended to verify a dialogs in a testing
- * environment.  The tester can test for sizing, initial focus,
- * or accessibility.
- */
-public class VerifyDialog extends TitleAreaDialog {
-    private int SIZING_WIDTH = 400;
-
-    private static int TEST_TYPE;
-
-    public static final int TEST_SIZING = 0;
-
-    public static final int TEST_FOCUS = 1;
-
-    public static final int TEST_ACCESS = 2;
-
-    private IDialogTestPass _dialogTests[] = new IDialogTestPass[3];
-
-    private Dialog _testDialog; //the dialog to test
-
-    private Point _testDialogSize;
-
-    private Label _queryLabel;
-
-    private Button _yesButton;
-
-    private Button _noButton;
-
-    private Button _checkList[];
-
-    private String _failureText;
-
-    /*
-     * Create an instance of the verification dialog.
-     */
-    public VerifyDialog(Shell parent) {
-        super(parent);
-        if (!(TEST_TYPE <= 2) && !(TEST_TYPE >= 0)) {
-            TEST_TYPE = TEST_SIZING;
-        }
-        _failureText = "";
-        _dialogTests[0] = new SizingTestPass();
-        _dialogTests[1] = new FocusTestPass();
-        _dialogTests[2] = new AccessibilityTestPass();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        newShell.setText("Dialog Verification");
-        setShellStyle(SWT.NONE);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        _yesButton = createButton(parent, IDialogConstants.YES_ID,
-                IDialogConstants.YES_LABEL, true);
-        _noButton = createButton(parent, IDialogConstants.NO_ID,
-                IDialogConstants.NO_LABEL, false);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void buttonPressed(int buttonId) {
-        if (IDialogConstants.YES_ID == buttonId) {
-            setReturnCode(IDialogConstants.YES_ID);
-            if (_testDialog.getShell() != null) {
-                _testDialog.close();
-            }
-            close();
-        } else if (IDialogConstants.NO_ID == buttonId) {
-            handleFailure();
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // top level composite
-        Composite parentComposite = (Composite) super.createDialogArea(parent);
-
-        // create a composite with standard margins and spacing
-        Composite composite = new Composite(parentComposite, SWT.NONE);
-        composite.setSize(SIZING_WIDTH, SWT.DEFAULT);
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-        layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-        layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-        layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        createTestSelectionGroup(composite);
-        createCheckListGroup(composite);
-
-        _queryLabel = new Label(composite, SWT.NONE);
-        _queryLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        initializeTest();
-        return composite;
-    }
-
-    /*
-     * Group for selecting type of test.
-     */
-    private void createTestSelectionGroup(Composite parent) {
-        Group group = new Group(parent, SWT.SHADOW_NONE);
-        group.setText("Testing:");
-        group.setLayout(new GridLayout());
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        group.setLayoutData(data);
-
-        for (int i = 0; i < _dialogTests.length; i++) {
-            Button radio = new Button(group, SWT.RADIO);
-            radio.setText(_dialogTests[i].label());
-            final int testID = _dialogTests[i].getID();
-            radio.addSelectionListener(new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    TEST_TYPE = testID;
-                    initializeTest();
-                    _yesButton.setEnabled(true);
-                }
-            });
-            if (TEST_TYPE == _dialogTests[i].getID()) {
-                radio.setSelection(true);
-            }
-        }
-    }
-
-    /*
-     * Initializes the checklist with empty checks.
-     */
-    private void createCheckListGroup(Composite parent) {
-        Group group = new Group(parent, SWT.SHADOW_NONE);
-        group.setText("Verify that:");
-        group.setLayout(new GridLayout());
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        group.setLayoutData(data);
-
-        int checkListSize = 0;
-        for (int i = 0; i < _dialogTests.length; i++) {
-            int size = _dialogTests[i].checkListTexts().size();
-            if (size > checkListSize) {
-                checkListSize = size;
-            }
-        }
-        _checkList = new Button[checkListSize];
-        SelectionAdapter selectionAdapter = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                checkYesEnable();
-            }
-        };
-        for (int i = 0; i < checkListSize; i++) {
-            _checkList[i] = new Button(group, SWT.CHECK);
-            _checkList[i].addSelectionListener(selectionAdapter);
-            data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-            data.grabExcessHorizontalSpace = true;
-            _checkList[i].setLayoutData(data);
-        }
-    }
-
-    /*
-     * Disables the yes button if any of the items in the checklist
-     * are unchecked.  Enables the yes button otherwise.
-     */
-    private void checkYesEnable() {
-        boolean enable = true;
-        for (int i = 0; i < _checkList.length; i++) {
-            if (!_checkList[i].getSelection()) {
-                enable = false;
-            }
-        }
-        _yesButton.setEnabled(enable);
-    }
-
-    /*
-     * Initializes the checklist, banner texts, and query label
-     */
-    private void initializeTest() {
-        IDialogTestPass test = _dialogTests[TEST_TYPE];
-        setTitle(test.title());
-        setMessage(test.description());
-        Iterator iterator = test.checkListTexts().iterator();
-        for (int i = 0; i < _checkList.length; i++) {
-            if (iterator.hasNext()) {
-                _checkList[i].setText(iterator.next().toString());
-                _checkList[i].setVisible(true);
-                _checkList[i].update();
-            } else {
-                _checkList[i].setVisible(false);
-                _checkList[i].update();
-            }
-            _checkList[i].setSelection(true);
-        }
-        _queryLabel.setText(test.queryText());
-    }
-
-    public String getFailureText() {
-        return _failureText;
-    }
-
-    /*
-     * Can't open the verification dialog without a specified
-     * test dialog, this simply returns a failure and prevents
-     * opening.  Should use open(Dialog) instead.
-     * 
-     */
-    public int open() {
-        _failureText = "Testing dialog is required, use VerifyDialog::open(Dialog)";
-        return IDialogConstants.NO_ID;
-    }
-
-    /*
-     * Opens the verification dialog to test the specified dialog.
-     */
-    public int open(Dialog testDialog) {
-        if (getShell() == null) {
-            create();
-        }
-        getShell().setLocation(0, 0);
-        getShell().setSize(Math.max(SIZING_WIDTH, getShell().getSize().x),
-                getShell().getSize().y);
-        _testDialog = testDialog;
-        if (_testDialog.getShell() == null) {
-            _testDialog.create();
-        }
-        _testDialogSize = _testDialog.getShell().getSize();
-        openNewTestDialog();
-
-        return super.open();
-    }
-
-    /*
-     * Opens the dialog to be verified.
-     */
-    private void openNewTestDialog() {
-        if (_testDialog.getShell() == null) {
-            _testDialog.create();
-        }
-        _testDialog.setBlockOnOpen(false);
-        _testDialog.getShell().setLocation(getShell().getSize().x + 1, 0);
-        _testDialog.getShell().setSize(_testDialogSize);
-        _testDialog.getShell().addShellListener(new ShellAdapter() {
-            public void shellClosed(ShellEvent e) {
-                e.doit = false;
-            }
-
-        });
-        _testDialog.open();
-    }
-
-    /*
-     * The test dialog failed, open the failure dialog.
-     */
-    private void handleFailure() {
-        IDialogTestPass test = _dialogTests[TEST_TYPE];
-        StringBuffer text = new StringBuffer();
-        String label = test.label();
-        label = label.substring(0, label.indexOf("&"))
-                + label.substring(label.indexOf("&") + 1);
-        text.append(label).append(" failed on the ").append(SWT.getPlatform())
-                .append(" platform:\n");
-
-        String failureMessages[] = test.failureTexts();
-        for (int i = 0; i < test.checkListTexts().size(); i++) {
-            if (!_checkList[i].getSelection()) {
-                text.append("- ").append(failureMessages[i]).append("\n");
-            }
-        }
-        FailureDialog dialog = new FailureDialog(getShell());
-        dialog.create();
-        dialog.setText(text.toString());
-        if (dialog.open() == IDialogConstants.OK_ID) {
-            _failureText = dialog.toString();
-            setReturnCode(IDialogConstants.NO_ID);
-            if (_testDialog.getShell() != null) {
-                _testDialog.close();
-            }
-            close();
-        }
-    }
-
-    /*
-     * In case the shell was closed by a means other than
-     * the NO button.
-     */
-    protected void handleShellCloseEvent() {
-        handleFailure();
-    }
-}
-
diff --git a/tests/org.eclipse.ui.tests.performance/.classpath b/tests/org.eclipse.ui.tests.performance/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/tests/org.eclipse.ui.tests.performance/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.ui.tests.performance/.cvsignore b/tests/org.eclipse.ui.tests.performance/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.ui.tests.performance/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.ui.tests.performance/.project b/tests/org.eclipse.ui.tests.performance/.project
deleted file mode 100644
index 394eac0..0000000
--- a/tests/org.eclipse.ui.tests.performance/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests.performance</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/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100755
index e339782..0000000
--- a/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:20:08 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100755
index c077ee8..0000000
--- a/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:20:08 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.pde.prefs
deleted file mode 100755
index 883666b..0000000
--- a/tests/org.eclipse.ui.tests.performance/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Mon Feb 21 14:17:36 EST 2005
-compilers.p.deprecated=2
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=1
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/tests/org.eclipse.ui.tests.performance/META-INF/MANIFEST.MF b/tests/org.eclipse.ui.tests.performance/META-INF/MANIFEST.MF
deleted file mode 100644
index 2e2b302..0000000
--- a/tests/org.eclipse.ui.tests.performance/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Performance Plug-in
-Bundle-ClassPath: uiperformance.jar
-Bundle-SymbolicName: org.eclipse.ui.tests.performance;singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.ui.tests.performance.UIPerformancePlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.tests.harness,
- org.junit,
- org.eclipse.test.performance,
- org.eclipse.core.resources,
- org.eclipse.ui.tests.harness,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.ui.editors,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.views
-Eclipse-LazyStart: true
diff --git a/tests/org.eclipse.ui.tests.performance/build.properties b/tests/org.eclipse.ui.tests.performance/build.properties
deleted file mode 100644
index 18a3271..0000000
--- a/tests/org.eclipse.ui.tests.performance/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.uiperformance.jar = src/
-bin.includes = META-INF/,\
-               *.xml,\
-               icons/,\
-               uiperformance.jar
diff --git a/tests/org.eclipse.ui.tests.performance/icons/anything.gif b/tests/org.eclipse.ui.tests.performance/icons/anything.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests.performance/icons/anything.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.performance/icons/binary_co.gif b/tests/org.eclipse.ui.tests.performance/icons/binary_co.gif
deleted file mode 100644
index 23a508e..0000000
--- a/tests/org.eclipse.ui.tests.performance/icons/binary_co.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.performance/icons/dynamic.gif b/tests/org.eclipse.ui.tests.performance/icons/dynamic.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests.performance/icons/dynamic.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.performance/icons/editor.gif b/tests/org.eclipse.ui.tests.performance/icons/editor.gif
deleted file mode 100644
index 9bd92bf..0000000
--- a/tests/org.eclipse.ui.tests.performance/icons/editor.gif
+++ /dev/null
@@ -1 +0,0 @@
-GIF89a

diff --git a/tests/org.eclipse.ui.tests.performance/icons/mockeditorpart1.gif b/tests/org.eclipse.ui.tests.performance/icons/mockeditorpart1.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests.performance/icons/mockeditorpart1.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.performance/icons/mockeditorpart2.gif b/tests/org.eclipse.ui.tests.performance/icons/mockeditorpart2.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests.performance/icons/mockeditorpart2.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.performance/icons/view.gif b/tests/org.eclipse.ui.tests.performance/icons/view.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests.performance/icons/view.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.performance/plugin.xml b/tests/org.eclipse.ui.tests.performance/plugin.xml
deleted file mode 100644
index c6e8735..0000000
--- a/tests/org.eclipse.ui.tests.performance/plugin.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-     
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            icon="icons/anything.gif"
-            class="org.eclipse.ui.tests.performance.parts.PerformanceEditorPart"
-            default="true"
-            name="Basic Performance Editor"
-            id="org.eclipse.ui.tests.perf_basic"
-            extensions="perf_basic"/>
-            
-      <editor
-            icon="icons/anything.gif"
-            class="org.eclipse.ui.tests.performance.parts.PerformanceEditorPart:outline"
-            default="true"
-            name="Editor w/Outline"
-            id="org.eclipse.ui.tests.perf_outline"
-            extensions="perf_outline"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            class="org.eclipse.ui.tests.performance.PerformancePerspective1"
-            name="Performance Test Perspective1"
-            id="org.eclipse.ui.tests.performancePerspective1"/>
-      <perspective
-            class="org.eclipse.ui.tests.performance.PerformancePerspective2"
-            name="Performance Test Perspective"
-            id="org.eclipse.ui.tests.performancePerspective2"/>    
-       <perspective
-            name="UI Test Standalone View Perspective"
-            class="org.eclipse.ui.tests.performance.presentations.StandaloneViewPerspective"
-            id="org.eclipse.ui.tests.presentations.StandaloneViewPerspective">
-      </perspective>
-      <perspective
-            name="UI Test Standalone View Perspective  2 "
-            class="org.eclipse.ui.tests.performance.presentations.StandaloneViewPerspective2"
-            id="org.eclipse.ui.tests.presentations.StandaloneViewPerspective2">
-      </perspective>        
-   </extension>
-   
- 
-</plugin>
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ComboViewerRefreshTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ComboViewerRefreshTest.java
deleted file mode 100644
index 3f3a756..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ComboViewerRefreshTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-/**
- * ComboViewerRefreshTest is a test of refreshes of difference size in the combo
- * viewer.
- */
-public class ComboViewerRefreshTest extends ViewerTest {
-
-	ComboViewer viewer;
-
-	private RefreshTestContentProvider contentProvider;
-
-	private static int ELEMENT_COUNT;
-
-	public ComboViewerRefreshTest(String testName, int tagging) {
-		super(testName, tagging);
-
-	}
-
-	public ComboViewerRefreshTest(String testName) {
-		super(testName);
-
-	}
-
-	protected StructuredViewer createViewer(Shell shell) {
-		viewer = new ComboViewer(shell);
-		contentProvider = new RefreshTestContentProvider(ELEMENT_COUNT);
-		viewer.setContentProvider(contentProvider);
-		viewer.setLabelProvider(getLabelProvider());
-		return viewer;
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testRefresh() throws Throwable {
-
-		ELEMENT_COUNT = 1000;
-		openBrowser();
-
-		exercise(new TestRunnable() {
-			public void run() {
-				startMeasuring();
-				viewer.refresh();
-				processEvents();
-				stopMeasuring();
-			}
-		}, MIN_ITERATIONS, ITERATIONS,
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testRefreshSmall() throws Throwable {
-
-		tagIfNecessary("JFace - Refresh 5o item combo 1000 times",
-				Dimension.ELAPSED_PROCESS);
-
-		ELEMENT_COUNT = 50;
-		openBrowser();
-
-		exercise(new TestRunnable() {
-			public void run() {
-				startMeasuring();
-				for (int i = 0; i < 1000; i++) {
-					viewer.refresh();
-				}
-				processEvents();
-				stopMeasuring();
-			}
-		}, MIN_ITERATIONS, slowGTKIterations(),
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/FastTableViewerRefreshTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/FastTableViewerRefreshTest.java
deleted file mode 100644
index 213e65c..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/FastTableViewerRefreshTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-public class FastTableViewerRefreshTest extends TableViewerRefreshTest {
-
-	public FastTableViewerRefreshTest(String testName, int tagging) {
-		super(testName, tagging);
-	}
-
-	public FastTableViewerRefreshTest(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testRefreshMultiple() throws Throwable {
-		openBrowser();
-
-		exercise(new TestRunnable() {
-			public void run() {
-				startMeasuring();
-				for (int i = 0; i < 10; i++) {
-					viewer.refresh();
-					processEvents();
-
-				}
-				stopMeasuring();
-			}
-		}, MIN_ITERATIONS, slowGTKIterations(),
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testUpdateMultiple() throws Throwable {
-		openBrowser();
-
-		exercise(
-				new TestRunnable() {
-					public void run() {
-						startMeasuring();
-						for (int i = 0; i < 10; i++) {
-							TableItem[] items = viewer.getTable().getItems();
-							for (int j = 0; j < items.length; j++) {
-								TableItem item = items[j];
-								Object element = RefreshTestContentProvider.allElements[j];
-								viewer.testUpdateItem(item, element);
-							}
-							processEvents();
-						}
-
-						stopMeasuring();
-
-					}
-				}, MIN_ITERATIONS, slowGTKIterations(),
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/FastTreeTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/FastTreeTest.java
deleted file mode 100644
index 9607013..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/FastTreeTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.eclipse.jface.tests.performance;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-public class FastTreeTest extends TreeTest {
-
-
-	public FastTreeTest(String testName, int tagging) {
-		super(testName, tagging);
-	}
-
-	public FastTreeTest(String testName) {
-		super(testName);
-	}
-	
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree one element at a time.
-	 */
-	public void testAddTenTenTimes() throws CoreException {
-
-		doTestAdd(10, TEST_COUNT, false);
-	}
-
-	
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree one element at a time.
-	 */
-	public void testAddFiftyTenTimes() throws CoreException {
-
-		doTestAdd(50, TEST_COUNT, false);
-	}
-
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree one element at a time.
-	 */
-	public void testAddHundredTenTimes() throws CoreException {
-
-		tagIfNecessary("JFace - Add 10000 items 100 at a time TreeViewer 10 times",
-				Dimension.ELAPSED_PROCESS);
-		setDegradationComment("<a href=https://bugs.eclipse.org/bugs/show_bug.cgi?id=101853>See Bug 101853</a> ");
-
-		doTestAdd(100, TEST_COUNT, false);
-	}
-
-	/**
-	 * Run the test for one of the fast insertions.
-	 * 
-	 * @param count
-	 * @throws CoreException
-	 */
-	protected void doTestAdd(final int increment, final int total,final boolean preSort)
-			throws CoreException {
-
-		openBrowser();
-
-		exercise(new TestRunnable() {
-			public void run() {
-
-				TestTreeElement input = new TestTreeElement(0, null);
-				viewer.setInput(input);
-				input.createChildren(total);
-				if (preSort)
-					viewer.getSorter().sort(viewer, input.children);
-				Collection batches = new ArrayList();
-				int blocks = input.children.length / increment;
-				for (int j = 0; j < blocks; j = j + increment) {
-					Object[] batch = new Object[increment];
-					System.arraycopy(input.children, j * increment, batch, 0,
-							increment);
-					batches.add(batch);
-				}
-				processEvents();
-				Object[] batchArray = batches.toArray();
-				startMeasuring();
-				for (int i = 0; i < 10; i++) {
-					viewer.remove(input.children);
-					for (int k = 0; k < batchArray.length; k++) {
-						viewer.add(input, (Object[]) batchArray[k]);
-						processEvents();
-					}
-				}
-				
-
-				stopMeasuring();
-
-			}
-		}, MIN_ITERATIONS, ITERATIONS, JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/JFacePerformanceSuite.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/JFacePerformanceSuite.java
deleted file mode 100644
index 784dab2..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/JFacePerformanceSuite.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-import org.eclipse.ui.tests.performance.UIPerformanceTestSetup;
-
-/**
- * The JFacePerformanceSuite are the performance tests for JFace.
- */
-public class JFacePerformanceSuite extends TestSuite {
-	
-	//Some of these tests are very slow on 3.0
-	//Specify the minimum number of iterations
-	//and the time to drop down to a lower number
-	
-	public static int MAX_TIME = 10000;
-	
-	/**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-    	return new UIPerformanceTestSetup(new JFacePerformanceSuite());
-    }
-
-	public JFacePerformanceSuite() {
-		super();
-		addTest(new ListViewerRefreshTest("testRefresh"));
-		addTest(new ComboViewerRefreshTest("testRefreshSmall",BasicPerformanceTest.LOCAL));
-		addTest(new FastTableViewerRefreshTest("testRefreshMultiple"));
-		addTest(new FastTableViewerRefreshTest("testUpdateMultiple"));
-		addTest(new FastTreeTest("testAddTenTenTimes"));
-		addTest(new FastTreeTest("testAddFiftyTenTimes"));
-		addTest(new TreeTest("testAddThousand"));
-		addTest(new FastTreeTest("testAddHundredTenTimes", BasicPerformanceTest.LOCAL));
-		addTest(new TreeTest("testAddThousandPreSort", BasicPerformanceTest.GLOBAL));
-
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ListPopulationTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ListPopulationTest.java
deleted file mode 100644
index 5f28b1a..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ListPopulationTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-/**
- * The ListPopulationTest is the test for simple
- * SWT lists.
- *
- */
-public class ListPopulationTest extends BasicPerformanceTest {
-
-	List list;
-
-	public ListPopulationTest(String testName, int tagging) {
-		super(testName, tagging);		
-	}
-
-	public ListPopulationTest(String testName) {
-		super(testName);
-	}
-
-	protected void openBrowser() {
-		Display fDisplay = Display.getCurrent();
-		if (fDisplay == null) {
-			fDisplay = new Display();
-		}
-		Shell shell = new Shell(fDisplay);
-		shell.setSize(500, 500);
-		shell.setLayout(new FillLayout());
-		list = new List(shell,SWT.NONE);
-		shell.open();
-		// processEvents();
-	}
-	
-	public void testSmallAdd() throws Throwable {
-		addBench(100);
-	}
-	
-	public void testSmallSetItems() throws Throwable {
-		setItemsBench(100);
-	}
-	
-	public void testMediumAdd() throws Throwable {
-		addBench(5000);
-	}
-	
-	public void testMediumSetItems() throws Throwable {
-		setItemsBench(5000);
-	}
-	
-	public void testLargeAdd() throws Throwable {
-		addBench(50000);
-	}
-	
-	public void testLargeSetItems() throws Throwable {
-		setItemsBench(50000);
-	}
-	
-	/**
-	 * Test the time for adding elements using add.
-	 * @throws Throwable
-	 */
-	public void addBench(int count) throws Throwable {
-		openBrowser();		
-		final String [] items = getItems(count);
-        
-        exercise(new TestRunnable() {
-            public void run() {
-    			list.removeAll();
-    			startMeasuring();
-    			for (int j = 0; j < items.length; j++) {
-    				list.add(items[j]);
-    			}
-    			processEvents();
-    			stopMeasuring();
-    		}
-        });
-		
-		commitMeasurements();
-		assertPerformance();
-	}
-	
-	/**
-	 * Test the time for adding elements using setItem.
-	 * @throws Throwable
-	 */
-	public void setItemsBench(int count) throws Throwable {
-		openBrowser();		
-		final String [] items = getItems(count);
-        exercise(new TestRunnable() {
-            public void run() {
-    			list.removeAll();
-    			startMeasuring();
-    			list.setItems(items);
-    			processEvents();
-    			stopMeasuring();
-            }
-        });
-		
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * Get count number of items.
-	 * @param count
-	 * @return
-	 */
-	private String[] getItems(int count) {
-		String[] items = new String[count];
-		for (int j = 0; j < items.length; j++) {
-			items[j] = "Element " + String.valueOf(j);
-			
-		}
-		return items;
-	}
-	
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ListViewerRefreshTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ListViewerRefreshTest.java
deleted file mode 100644
index f9710b5..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ListViewerRefreshTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-/**
- * The ListViewerRefreshTest is a test of refreshing the list viewer.
- * 
- */
-public class ListViewerRefreshTest extends ViewerTest {
-
-	ListViewer viewer;
-
-	private RefreshTestContentProvider contentProvider;
-
-	public ListViewerRefreshTest(String testName, int tagging) {
-		super(testName, tagging);
-
-	}
-
-	public ListViewerRefreshTest(String testName) {
-		super(testName);
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.tests.performance.ViewerTest#createViewer(org.eclipse.swt.widgets.Shell)
-	 */
-	protected StructuredViewer createViewer(Shell shell) {
-		viewer = new ListViewer(shell);
-		contentProvider = new RefreshTestContentProvider(
-				RefreshTestContentProvider.ELEMENT_COUNT);
-		viewer.setContentProvider(contentProvider);
-		viewer.setLabelProvider(getLabelProvider());
-		return viewer;
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testRefresh() throws Throwable {
-
-		tagIfNecessary("JFace - Refresh 100 item ListViewer 10 times",
-				Dimension.ELAPSED_PROCESS);
-		setDegradationComment("<a href=https://bugs.eclipse.org/bugs/show_bug.cgi?id=99022>See Bug 99022</a> ");
-
-		openBrowser();
-
-		exercise(new TestRunnable() {
-			public void run() {
-				startMeasuring();
-				viewer.refresh();
-				processEvents();
-				stopMeasuring();
-			}
-		}, MIN_ITERATIONS, ITERATIONS,
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/RefreshTestContentProvider.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/RefreshTestContentProvider.java
deleted file mode 100644
index 46623c3..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/RefreshTestContentProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * The RefreshTestContentProvider is the content
- * provider for refresh tests.
- *
- */
-public class RefreshTestContentProvider implements IStructuredContentProvider {
-
-	static int seed = 1;
-	static TestElement[] allElements;
-	public static int ELEMENT_COUNT = 10000;
-	TestElement[] currentElements;
-	
-	static{
-		allElements = new TestElement[ELEMENT_COUNT];
-		for (int i = 0; i < ELEMENT_COUNT; i++) {
-			allElements[i] = new TestElement(i);			
-		}
-	}
-	
-	void preSortElements(Viewer viewer, ViewerSorter sorter){
-		sorter.sort(viewer,currentElements);
-		
-	}
-	
-	public RefreshTestContentProvider(int size){
-		Assert.isTrue(size <= ELEMENT_COUNT);
-		setSize(size);
-	}
-	
-	/**
-	 * Set the size of the amount we are currently displaying 
-	 * to size.
-	 * @param size
-	 */
-	public void setSize(int size) {
-		
-		currentElements = new TestElement[size];
-		for (int i = 0; i < currentElements.length; i++) {
-			currentElements[i] = allElements[i];
-		}
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		return currentElements;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		currentElements = null;
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		//Do nothing here
-	}
-
-	/**
-	 * Restore the elements to thier old poorly sorted
-	 * state.
-	 *
-	 */
-	public void refreshElements() {
-		for (int i = 0; i < ELEMENT_COUNT; i++) {
-			currentElements[i] = new TestElement(i + seed);			
-		}
-		seed += 257;
-		
-		
-	}
-	
-	public void cloneElements(){
-		currentElements = (TestElement [] )currentElements.clone();
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/RefreshTestTreeContentProvider.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/RefreshTestTreeContentProvider.java
deleted file mode 100644
index bf2f0ea..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/RefreshTestTreeContentProvider.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.jface.tests.performance;
-
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * The RefreshTestTreeContentProvider is the content provider for test trees.
- */
-public class RefreshTestTreeContentProvider implements ITreeContentProvider {
-
-    static TestTreeElement[] elements;
-    static {
-        elements = new TestTreeElement[RefreshTestContentProvider.ELEMENT_COUNT];
-        for (int i = 0; i < RefreshTestContentProvider.ELEMENT_COUNT; i++) {
-           elements[i] = (new TestTreeElement(i,null));
-            
-        }
-     
-    }
-
-    public RefreshTestTreeContentProvider() {
-        super();
-    }
-
-    public Object[] getChildren(Object parentElement) {
-       return ((TestTreeElement)parentElement).children;
-    }
-
-    public Object getParent(Object element) {
-        return ((TestTreeElement)element).parent;
-    }
-
-    public boolean hasChildren(Object element) {
-        return ((TestTreeElement)element).children.length > 0;
-    }
-
-    public Object[] getElements(Object inputElement) {
-       return elements;
-    }
-
-    public void dispose() {
-    }
-
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/SWTTreeTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/SWTTreeTest.java
deleted file mode 100644
index 06df11c..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/SWTTreeTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-public class SWTTreeTest extends BasicPerformanceTest {
-
-	Shell browserShell;
-
-	Tree tree;
-
-	public SWTTreeTest(String testName, int tagging) {
-		super(testName, tagging);
-	}
-
-	public SWTTreeTest(String testName) {
-		super(testName);
-	}
-
-	protected void openBrowser() {
-		Display display = Display.getCurrent();
-		if (display == null) {
-			display = new Display();
-		}
-		browserShell = new Shell(display);
-		browserShell.setSize(500, 500);
-		browserShell.setLayout(new FillLayout());
-		tree = new Tree(browserShell, SWT.NONE);
-		createChildren();
-		browserShell.open();
-		// processEvents();
-	}
-
-	private void createChildren() {
-		for (int i = 0; i < TreeTest.TEST_COUNT; i++) {
-			TreeItem item = new TreeItem(tree, SWT.NONE);
-			item.setText("Element " + String.valueOf(i));
-
-		}
-
-	}
-
-	/**
-	 * Test the getItems API.
-	 * 
-	 */
-	public void testGetItems() throws CoreException {
-		openBrowser();
-
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                processEvents();
-                startMeasuring();
-                for (int j = 0; j < TreeTest.TEST_COUNT; j++) {
-                    tree.getItems();
-                    processEvents();
-                }
-                stopMeasuring();
-            } 
-        });
-        
-		commitMeasurements();
-		assertPerformance();
-		browserShell.close();
-	}
-
-	/**
-	 * @throws CoreException 
-	 * Test the getItem API.
-	 * 
-	 */
-	public void testGetItemAt() throws CoreException {
-		openBrowser();
-
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                processEvents();
-                startMeasuring();
-                for (int j = 0; j < TreeTest.TEST_COUNT; j++) {
-                    tree.getItem(j);
-                    processEvents();
-                }
-                stopMeasuring();
-            } 
-        });
-
-		commitMeasurements();
-		assertPerformance();
-		browserShell.close();
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TableViewerRefreshTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TableViewerRefreshTest.java
deleted file mode 100644
index 69195f9..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TableViewerRefreshTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-/**
- * The TableViewerRefreshTest is a test for refreshing the TableViewer.
- */
-public class TableViewerRefreshTest extends ViewerTest {
-
-	class TestTableViewer extends TableViewer {
-
-		public TestTableViewer(Composite parent, int style) {
-			super(parent, style);
-		}
-
-		public TestTableViewer(Composite parent) {
-			super(parent);
-		}
-
-		public TestTableViewer(Table table) {
-			super(table);
-		}
-
-		public void testUpdateItem(Widget widget, Object element) {
-			updateItem(widget, element);
-		}
-	}
-
-	TestTableViewer viewer;
-
-	private RefreshTestContentProvider contentProvider;
-
-	public TableViewerRefreshTest(String testName, int tagging) {
-		super(testName, tagging);
-	}
-
-	public TableViewerRefreshTest(String testName) {
-		super(testName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.tests.performance.ViewerTest#createViewer(org.eclipse.swt.widgets.Shell)
-	 */
-	protected StructuredViewer createViewer(Shell shell) {
-		viewer = new TestTableViewer(shell);
-		contentProvider = new RefreshTestContentProvider(
-				RefreshTestContentProvider.ELEMENT_COUNT);
-		viewer.setContentProvider(contentProvider);
-		viewer.setLabelProvider(getLabelProvider());
-		return viewer;
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testRefresh() throws Throwable {
-		openBrowser();
-
-		exercise(new TestRunnable() {
-			public void run() {
-				startMeasuring();
-				viewer.refresh();
-				processEvents();
-				stopMeasuring();
-			}
-		}, MIN_ITERATIONS, slowGTKIterations(),
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testRefreshSorted() throws Throwable {
-		openBrowser();
-		viewer.setSorter(new ViewerSorter());
-
-		exercise(new TestRunnable() {
-			public void run() {
-				startMeasuring();
-				viewer.refresh();
-				processEvents();
-				stopMeasuring();
-			}
-		}, MIN_ITERATIONS, slowGTKIterations(),
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testRefreshPreSorted() throws Throwable {
-		openBrowser();
-		final ViewerSorter sorter = new ViewerSorter();
-		viewer.setSorter(sorter);
-
-		exercise(new TestRunnable() {
-			public void run() {
-				contentProvider.refreshElements();
-				startMeasuring();
-				contentProvider.cloneElements();
-				contentProvider.preSortElements(viewer, sorter);
-				viewer.refresh();
-				processEvents();
-				stopMeasuring();
-			}
-		}, MIN_ITERATIONS, ITERATIONS,
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * Test the time for doing a refresh.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testUpdate() throws Throwable {
-		openBrowser();
-
-		exercise(new TestRunnable() {
-			public void run() {
-
-				TableItem[] items = viewer.getTable().getItems();
-				startMeasuring();
-				for (int j = 0; j < items.length; j++) {
-					TableItem item = items[j];
-					Object element = RefreshTestContentProvider.allElements[j];
-
-					viewer.testUpdateItem(item, element);
-
-				}
-				processEvents();
-				stopMeasuring();
-
-			}
-		}, MIN_ITERATIONS, slowGTKIterations(),
-				JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TestElement.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TestElement.java
deleted file mode 100644
index 6101900..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TestElement.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.tests.performance;
-
-/**
- * The TestElement is the element used for testing
- * viewers.
- *
- */
-public class TestElement {
-	
-	String name;
-
-	/**
-	 * Create a new instance of the receiver.
-	 * 
-	 */
-	public TestElement() {
-		super();
-	}
-	
-	/**
-	 * Create a new instance of the receiver.
-	 * 
-	 * @param index
-	 */
-	public TestElement(int index) {
-		name = TestTreeElement.generateFirstEntry() + String.valueOf(index);
-	}
-
-	public String getText() {
-		return name;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TestTreeElement.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TestTreeElement.java
deleted file mode 100644
index 59d3e34..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TestTreeElement.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.jface.tests.performance;
-
-
-public class TestTreeElement extends TestElement {
-
-	TestTreeElement parent;
-
-	TestTreeElement[] children = new TestTreeElement[0];
-
-	private static int index = 0;
-
-	static String characters = "M1NqBwV2CeXrZ3LtKyJ4HuGiF5DoSpA6PaOsI7UdYfT8RgEhW9Qjk0DlWzMxUcsvfbwnm";
-
-	/**
-	 * Create a new instance of the receiver .
-	 * 
-	 * @param index
-	 * @param treeParent
-	 */
-	public TestTreeElement(int index, TestTreeElement treeParent) {
-		super();
-		this.parent = treeParent;
-		name = generateFirstEntry() + String.valueOf(index);
-	}
-
-	/**
-	 * Generate a random string.
-	 * 
-	 * @return String
-	 */
-	static String generateFirstEntry() {
-
-		String next = characters.substring(index);
-		index++;
-		if (index > characters.length() - 2)
-			index = 0;
-		return next;
-	}
-
-	/**
-	 * Create count number of children in the receiver.
-	 * 
-	 * @param count
-	 */
-	public void createChildren(int count) {
-		children = new TestTreeElement[count];
-		for (int i = 0; i < count; i++) {
-			children[i] = new TestTreeElement(i, this);
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TreeTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TreeTest.java
deleted file mode 100644
index 8b3e46b..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TreeTest.java
+++ /dev/null
@@ -1,263 +0,0 @@
-package org.eclipse.jface.tests.performance;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-public class TreeTest extends ViewerTest {
-
-	TreeViewer viewer;
-
-	static int TEST_COUNT = 1000;
-
-	public TreeTest(String testName, int tagging) {
-		super(testName, tagging);
-	}
-
-	public TreeTest(String testName) {
-		super(testName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.tests.performance.ViewerTest#createViewer(org.eclipse.swt.widgets.Shell)
-	 */
-	protected StructuredViewer createViewer(Shell shell) {
-		viewer = new TreeViewer(browserShell);
-		viewer.setContentProvider(getContentProvider());
-		viewer.setLabelProvider(getLabelProvider());
-		viewer.setSorter(new ViewerSorter());
-		viewer.setUseHashlookup(true);
-		return viewer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.tests.performance.ViewerTest#getInitialInput()
-	 */
-	protected Object getInitialInput() {
-		return new TestTreeElement(0, null);
-	}
-
-	/**
-	 * Get a content provider for the tree viewer.
-	 * 
-	 * @return
-	 */
-	private IContentProvider getContentProvider() {
-		return new ITreeContentProvider() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-			 */
-			public Object[] getChildren(Object parentElement) {
-				TestTreeElement element = (TestTreeElement) parentElement;
-				return element.children;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-			 */
-			public Object getParent(Object element) {
-				return ((TestTreeElement) element).parent;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-			 */
-			public boolean hasChildren(Object element) {
-				return ((TestTreeElement) element).children.length > 0;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-			 */
-			public Object[] getElements(Object inputElement) {
-				return new Object[] { inputElement };
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-			 */
-			public void dispose() {
-				// Do nothing 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 viewer, Object oldInput,
-					Object newInput) {
-				// Do nothing here
-			}
-
-		};
-	}
-
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree one element at a time.
-	 */
-	public void testAddOneAtATime() {
-		openBrowser();
-
-		for (int i = 0; i < ITERATIONS / 10; i++) {
-			TestTreeElement input = new TestTreeElement(0, null);
-			viewer.setInput(input);
-			input.createChildren(TEST_COUNT);
-			processEvents();
-			startMeasuring();
-			for (int j = 0; j < input.children.length; j++) {
-
-				viewer.add(input, input.children[j]);
-				processEvents();
-
-			}
-			stopMeasuring();
-		}
-
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree one element at a time.
-	 */
-	public void testAddTen() throws CoreException {
-
-		doTestAdd(10, TEST_COUNT, false);
-	}
-
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree one element at a time.
-	 */
-	public void testAddFifty() throws CoreException {
-
-		doTestAdd(50, TEST_COUNT, false);
-	}
-
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree one element at a time.
-	 */
-	public void testAddHundred() throws CoreException {
-
-		tagIfNecessary("JFace - Add 1000 items in 10 blocks to TreeViewer",
-				Dimension.ELAPSED_PROCESS);
-		setDegradationComment("<a href=https://bugs.eclipse.org/bugs/show_bug.cgi?id=101853>See Bug 101853</a> ");
-
-		doTestAdd(100, TEST_COUNT, false);
-	}
-
-	/**
-	 * Run the test for one of the fast insertions.
-	 * 
-	 * @param count
-	 * @throws CoreException
-	 */
-	protected void doTestAdd(final int increment, final int total,final boolean preSort)
-			throws CoreException {
-
-		openBrowser();
-
-		exercise(new TestRunnable() {
-			public void run() {
-
-				TestTreeElement input = new TestTreeElement(0, null);
-				viewer.setInput(input);
-				input.createChildren(total);
-				if (preSort)
-					viewer.getSorter().sort(viewer, input.children);
-				Collection batches = new ArrayList();
-				int blocks = input.children.length / increment;
-				for (int j = 0; j < blocks; j = j + increment) {
-					Object[] batch = new Object[increment];
-					System.arraycopy(input.children, j * increment, batch, 0,
-							increment);
-					batches.add(batch);
-				}
-				processEvents();
-				Object[] batchArray = batches.toArray();
-				startMeasuring();
-
-				// Measure more than one for the fast cases
-				for (int k = 0; k < batchArray.length; k++) {
-					viewer.add(input, (Object[]) batchArray[k]);
-					processEvents();
-				}
-
-				stopMeasuring();
-
-			}
-		}, MIN_ITERATIONS, ITERATIONS, JFacePerformanceSuite.MAX_TIME);
-
-		commitMeasurements();
-		assertPerformance();
-
-	}
-
-	/**
-	 * Test addition to the tree.
-	 */
-	public void testAddThousand() throws CoreException {
-		doTestAdd(1000, 2000, false);
-	}
-
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree one element at a time.
-	 */
-	public void testAddTwoThousand() throws CoreException {
-
-		doTestAdd(2000, 4000, false);
-
-	}
-
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree with the items presorted.
-	 */
-	public void testAddHundredPreSort() throws CoreException {
-
-		doTestAdd(100, 1000, true);
-	}
-
-	/**
-	 * @throws CoreException
-	 *             Test addition to the tree with the items presorted.
-	 */
-	public void testAddThousandPreSort() throws CoreException {
-		tagIfNecessary("JFace - Add 2000 items in 2 blocks to TreeViewer",
-				Dimension.ELAPSED_PROCESS);
-
-		doTestAdd(1000, 2000, true);
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TreeViewerRefreshTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TreeViewerRefreshTest.java
deleted file mode 100644
index 5446f69..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/TreeViewerRefreshTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.Shell;
-
-
-/**
- * The TreeViewerRefreshTest is the refresh test for 
- * tree viewers.
- *
- */
-public class TreeViewerRefreshTest extends ViewerTest {
-    
-    TreeViewer viewer;
-    private RefreshTestTreeContentProvider contentProvider;
-
-    public TreeViewerRefreshTest(String testName, int tagging) {
-        super(testName, tagging);
-    }
-
-    public TreeViewerRefreshTest(String testName) {
-        super(testName);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.tests.performance.ViewerTest#createViewer(org.eclipse.swt.widgets.Shell)
-     */
-    protected StructuredViewer createViewer(Shell shell) {
-        viewer = new TreeViewer(shell);
-        contentProvider = new RefreshTestTreeContentProvider();
-        viewer.setContentProvider(contentProvider);
-        viewer.setLabelProvider(getLabelProvider());
-        return viewer;
-    }
-
-    /**
-     * Test the time for doing a refresh.
-     * @throws Throwable
-     */
-    public void testRefresh() throws Throwable {
-        openBrowser();
-
-        for (int i = 0; i < ITERATIONS; i++) {
-            startMeasuring();
-            viewer.refresh();
-            processEvents();
-            stopMeasuring();
-        }
-        
-        commitMeasurements();
-        assertPerformance();
-    }
-    
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ViewerTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ViewerTest.java
deleted file mode 100644
index c55796d..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/jface/tests/performance/ViewerTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.tests.performance;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-
-/**
- * The LinearViewerTest is a test that tests viewers.
- * 
- */
-public abstract class ViewerTest extends BasicPerformanceTest {
-
-	Shell browserShell;
-	
-	public static int ITERATIONS = 100;
-	public static int MIN_ITERATIONS = 20;
-
-	public ViewerTest(String testName, int tagging) {
-		super(testName, tagging);
-	}
-
-	public ViewerTest(String testName) {
-		super(testName);
-	}
-
-	protected void openBrowser() {
-		Display display = Display.getCurrent();
-		if (display == null) {
-			display = new Display();
-		}
-		browserShell = new Shell(display);
-		browserShell.setSize(500, 500);
-		browserShell.setLayout(new FillLayout());
-		StructuredViewer viewer = createViewer(browserShell);
-		viewer.setUseHashlookup(true);
-		viewer.setInput(getInitialInput());
-		browserShell.open();
-		// processEvents();
-	}
-
-	/**
-	 * Get the initial input for the receiver.
-	 * @return
-	 */
-	protected Object getInitialInput() {
-		return this;
-	}
-
-	/**
-	 * Create the viewer we are testing.
-	 * @param aShell
-	 * @return
-	 */
-	protected abstract StructuredViewer createViewer(Shell shell);
-
-	public ILabelProvider getLabelProvider() {
-		return new LabelProvider() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-			 */
-			public String getText(Object element) {
-				return ((TestElement) element).getText();
-			}
-
-		};
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.util.UITestCase#doTearDown()
-	 */
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		if(browserShell!= null){
-			browserShell.close();
-			browserShell = null;
-		}
-	}
-	
-	/**
-	 * Return the number of iterations for tests that are slow on Linux
-	 * @return int
-	 */
-	public int slowGTKIterations(){
-		if(SWT.getPlatform().equals("gtk"))
-			return ITERATIONS / 5;
-		return ITERATIONS;
-	}
-	
-	
-	/**
-	 * Return the number of iterations for tests that are slow on Linux
-	 * @return int
-	 */
-	public int slowWindowsIterations(){
-		if(SWT.getPlatform().equals("win32"))
-			return ITERATIONS / 5;
-		return ITERATIONS;
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ActivitiesPerformanceSuite.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ActivitiesPerformanceSuite.java
deleted file mode 100644
index bbafe26..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ActivitiesPerformanceSuite.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @since 3.1
- *
- */
-public class ActivitiesPerformanceSuite extends TestSuite {
-
-
-    
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new ActivitiesPerformanceSuite();
-    }
-    
-    /**
-     * 
-     */
-    public ActivitiesPerformanceSuite() {
-        super();
-        addTest(new GenerateIdentifiersTest(10000));
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/BasicPerformanceTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/BasicPerformanceTest.java
deleted file mode 100644
index d430bce..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/BasicPerformanceTest.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.tests.harness.util.UITestCase;
-
-/**
- * Baseclass for simple performance tests.
- * 
- * @since 3.1
- */
-public abstract class BasicPerformanceTest extends UITestCase {
-
-	public static final int NONE = 0;
-	public static final int LOCAL = 1;
-	public static final int GLOBAL = 2;	
-	
-	private PerformanceTester tester;
-    private IProject testProject;
-    final private boolean tagAsGlobalSummary;
-    final private boolean tagAsSummary;
-
-    public BasicPerformanceTest(String testName) {
-    	this(testName, NONE);
-    }
-    
-    /**
-     * @param testName
-     */
-    public BasicPerformanceTest(String testName, int tagging) {
-        super(testName);
-        tagAsGlobalSummary = ((tagging & GLOBAL) != 0);
-        tagAsSummary = ((tagging & LOCAL) != 0);
-    }
-    
-    /**
-     * Answers whether this test should be tagged globally.
-     * 
-     * @return whether this test should be tagged globally
-     */
-    private boolean shouldGloballyTag() {
-    	return tagAsGlobalSummary;
-    }
-    
-    /**
-     * Answers whether this test should be tagged locally.
-     * 
-     * @return whether this test should be tagged locally
-     */
-    private boolean shouldLocallyTag() {
-    	return tagAsSummary;
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.util.UITestCase#doSetUp()
-	 */
-	protected void doSetUp() throws Exception {
-	    super.doSetUp();
-	    tester = new PerformanceTester(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.util.UITestCase#doTearDown()
-	 */
-	protected void doTearDown() throws Exception {
-	    super.doTearDown();
-	    tester.dispose();
-	}
-	
-	protected IProject getProject() {
-	    if (testProject == null) {
-	        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-	        testProject = workspace.getRoot().getProject(UIPerformanceTestSetup.PROJECT_NAME);
-	    }
-	    return testProject;
-	}	
-
-	/**
-	 * Asserts default properties of the measurements captured for this test
-	 * case.
-	 * 
-	 * @throws RuntimeException
-	 *             if the properties do not hold
-	 */
-	public void assertPerformance() {
-		tester.assertPerformance();
-	}
-
-	/**
-	 * Asserts that the measurement specified by the given dimension is within a
-	 * certain range with respect to some reference value. If the specified
-	 * dimension isn't available, the call has no effect.
-	 * 
-	 * @param dim
-	 *            the Dimension to check
-	 * @param lowerPercentage
-	 *            a negative number indicating the percentage the measured value
-	 *            is allowed to be smaller than some reference value
-	 * @param upperPercentage
-	 *            a positive number indicating the percentage the measured value
-	 *            is allowed to be greater than some reference value
-	 * @throws RuntimeException
-	 *             if the properties do not hold
-	 */
-	public void assertPerformanceInRelativeBand(Dimension dim,
-			int lowerPercentage, int upperPercentage) {
-		tester.assertPerformanceInRelativeBand(dim, lowerPercentage, upperPercentage);
-	}
-
-	public void commitMeasurements() {
-		tester.commitMeasurements();
-	}
-
-	/**
-	 * Called from within a test case immediately before the code to measure is
-	 * run. It starts capturing of performance data. Must be followed by a call
-	 * to {@link PerformanceTestCase#stopMeasuring()}before subsequent calls to
-	 * this method or {@link PerformanceTestCase#commitMeasurements()}.
-	 */
-	public void startMeasuring() {
-		tester.startMeasuring();
-	}
-
-	public void stopMeasuring() {
-		tester.stopMeasuring();
-	}
-
-	/**
-	 * Mark the scenario of this test case to be included into the global
-	 * performance summary. The summary shows the given dimension of the
-	 * scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName
-	 *            a short (shorter than 40 characters) descritive name of the
-	 *            scenario
-	 * @param dimension
-	 *            the dimension to show in the summary
-	 */
-	private void tagAsGlobalSummary(String shortName, Dimension dimension) {
-		System.out.println("GLOBAL " + shortName);
-		tester.tagAsGlobalSummary(shortName, dimension);
-	}
-
-	/**
-	 * Mark the scenario represented by the given PerformanceMeter to be
-	 * included into the global performance summary. The summary shows the given
-	 * dimensions of the scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName
-	 *            a short (shorter than 40 characters) descritive name of the
-	 *            scenario
-	 * @param dimensions
-	 *            an array of dimensions to show in the summary
-	 */
-	private void tagAsGlobalSummary(String shortName, Dimension[] dimensions) {
-		System.out.println("GLOBAL " + shortName);
-		tester.tagAsGlobalSummary(shortName, dimensions);
-	}
-	
-	private void tagAsSummary(String shortName, Dimension[] dimensions) {
-		System.out.println("LOCAL " + shortName);
-		tester.tagAsSummary(shortName, dimensions);
-	}
-	
-	private void tagAsSummary(String shortName, Dimension dimension) {
-		System.out.println("LOCAL " + shortName);
-		tester.tagAsSummary(shortName, dimension);
-	}
-	
-	public void tagIfNecessary(String shortName, Dimension dimension) {
-		if (shouldGloballyTag()) {
-			tagAsGlobalSummary(shortName, dimension);
-		}
-		if (shouldLocallyTag()) {
-			tagAsSummary(shortName, dimension);
-		}
-	}
-	
-	
-    public static void waitForBackgroundJobs() {
-
-        Job backgroundJob = new Job("This is a test job which sits around being low priority until everything else finishes") {
-            protected IStatus run(IProgressMonitor monitor) {
-                return Status.OK_STATUS;
-            }
-        };
-
-        backgroundJob.setPriority(Job.DECORATE);
-        
-        boolean hadEvents = true;
-        Display display = PlatformUI.getWorkbench().getDisplay();
-        if (display != null) {
-            while (hadEvents) {
-                hadEvents = false;
-                // Join a low priority job then spin the event loop
-                backgroundJob.schedule(0);
-                try {
-                    backgroundJob.join();
-                } catch (InterruptedException e) {
-                }
-                
-                while (display.readAndDispatch()) {
-                    hadEvents = true;
-                }
-            }
-        }        
-    }
-    
-    /**
-     * Runs the given runnable until either 100 iterations or 4s has elapsed.
-     * Runs a minimum of 3 times.
-     * 
-     * @param runnable
-     * @since 3.1
-     */
-    public static void exercise(TestRunnable runnable) throws CoreException {
-        exercise(runnable, 3, 100, 4000);
-    }
-    
-    /**
-     * Exercises the given runnable until either the given number of iterations or the given
-     * amount of time has elapsed, whatever occurs first.
-     * 
-     * @param runnable
-     * @param maxIterations
-     * @param maxTime
-     * @since 3.1
-     */
-    public static void exercise(TestRunnable runnable, int minIterations, int maxIterations, int maxTime) throws CoreException {
-        long startTime = System.currentTimeMillis();
-        
-        for(int counter = 0; counter < maxIterations; counter++) {
-
-            try {
-                runnable.run();
-            } catch (Exception e) {
-                
-                
-                Throwable cause = e;
-                
-                if (e instanceof CoreException) {
-                    cause = ((CoreException)e).getStatus().getException();
-                } else {
-                    if (e.getCause() != null) {
-                        cause = e.getCause();
-                    }
-                }
-                
-                throw new CoreException(new Status(IStatus.ERROR, 
-                        UIPerformancePlugin.getDefault().getBundle().getSymbolicName(),
-                        IStatus.OK,
-                        "An exception occurred", e));
-            }
-            
-            long curTime = System.currentTimeMillis();
-            if (curTime - startTime > maxTime && counter >= minIterations - 1) {
-                break;
-            } 
-        }
-    }
-    
-    /**
-     * Set the comment for the receiver to string. Note
-     * this is added to the output as is so you will
-     * need to add markup if you need a link.
-     * @param string The comment to write out for the test.
-     */
-    public void setDegradationComment(String string) {
-		tester.setDegradationComment(string);
-		
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/CommandsPerformanceTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/CommandsPerformanceTest.java
deleted file mode 100644
index 5dd2668..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/CommandsPerformanceTest.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-
-import org.eclipse.core.commands.Command;
-import org.eclipse.core.commands.CommandManager;
-import org.eclipse.core.commands.ParameterizedCommand;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.commands.contexts.Context;
-import org.eclipse.core.commands.contexts.ContextManager;
-import org.eclipse.jface.bindings.Binding;
-import org.eclipse.jface.bindings.BindingManager;
-import org.eclipse.jface.bindings.Scheme;
-import org.eclipse.jface.bindings.keys.IKeyLookup;
-import org.eclipse.jface.bindings.keys.KeyBinding;
-import org.eclipse.jface.bindings.keys.KeyLookupFactory;
-import org.eclipse.jface.bindings.keys.KeySequence;
-import org.eclipse.jface.bindings.keys.KeyStroke;
-import org.eclipse.jface.bindings.keys.ParseException;
-import org.eclipse.swt.SWT;
-
-/**
- * <p>
- * Responsible for testing the commands, contexts and bindings architecture.
- * This test does not rely on the existence of the workbench; it operates purely
- * on JFace code and lower. See the method comments for descriptions of the
- * currently supported performance tests.
- * </p>
- * 
- * @since 3.1
- */
-public final class CommandsPerformanceTest extends BasicPerformanceTest {
-
-	/**
-	 * <p>
-	 * Constructs a branch of a context tree. This creates a branch of the given
-	 * depth -- remembering the identifiers along the way. This method operates
-	 * recursively.
-	 * </p>
-	 * <p>
-	 * TODO This should add a bit of breadth to the tree.
-	 * </p>
-	 * 
-	 * @param contextManager
-	 *            The context manager in which the contexts should be defined;
-	 *            must not be <code>null</code>.
-	 * @param parent
-	 *            The parent context identifier for the context to be created;
-	 *            may be <code>null</code>.
-	 * @param successors
-	 *            The number of successors to create. The depth of the branch to
-	 *            be created. If this number is zero, then a context is created,
-	 *            but no recursive call is made.
-	 * @param activeContextIds
-	 *            The list of active context identifiers; must not be
-	 *            <code>null</code>.
-	 */
-	private static final void createContext(
-			final ContextManager contextManager, final String parent,
-			final int successors, final List activeContextIds) {
-		final int count = activeContextIds.size();
-		final String contextString = "context" + count;
-		final Context context = contextManager.getContext(contextString);
-		context.define(contextString, contextString, parent);
-		activeContextIds.add(contextString);
-
-		if (successors == 0) {
-			return;
-		}
-
-		createContext(contextManager, contextString, successors - 1,
-				activeContextIds);
-	}
-
-	/**
-	 * <p>
-	 * Constructs a branch of a scheme tree. This creates a branch of the given
-	 * depth -- remembering the schemes along the way. This method operates
-	 * recursively.
-	 * </p>
-	 * <p>
-	 * TODO This should add a bit of breadth to the tree.
-	 * </p>
-	 * 
-	 * @param bindingManager
-	 *            The binding manager in which the schemes should be defined;
-	 *            must not be <code>null</code>.
-	 * @param parent
-	 *            The parent scheme identifier for the scheme to be created; may
-	 *            be <code>null</code>.
-	 * @param successors
-	 *            The number of successors to create. The depth of the branch to
-	 *            be created. If this number is zero, then a scheme is created,
-	 *            but no recursive call is made.
-	 * @param schemes
-	 *            The list of created schemes; must not be <code>null</code>.
-	 */
-	private static final void createScheme(final BindingManager bindingManager,
-			final String parent, final int successors, final List schemes) {
-		final int count = schemes.size();
-		final String schemeString = "scheme" + count;
-		final Scheme scheme = bindingManager.getScheme(schemeString);
-		scheme.define(schemeString, schemeString, parent);
-		schemes.add(scheme);
-
-		if (successors == 0) {
-			return;
-		}
-
-		createScheme(bindingManager, schemeString, successors - 1, schemes);
-	}
-
-	/**
-	 * The binding manager for the currently running test. <code>null</code>
-	 * if no test is running.
-	 */
-	private BindingManager bindingManager = null;
-
-	/**
-	 * The command manager for the currently running test. <code>null</code>
-	 * if no test is running.
-	 */
-	private CommandManager commandManager = null;
-
-	/**
-	 * The context manager for the currently running test. <code>null</code>
-	 * if no test is running.
-	 */
-	private ContextManager contextManager = null;
-
-	/**
-	 * Constructs an instance of <code>CommandsPerformanceTest</code>.
-	 * 
-	 * @param testName
-	 *            Test's name.
-	 */
-	public CommandsPerformanceTest(final String name) {
-		super(name);
-	}
-
-	/**
-	 * <p>
-	 * Sets up a sufficiently complex set of bindings.
-	 * </p>
-	 * <p>
-	 * At the time of writing, Eclipse's key binding set contains about five
-	 * hundred bindings. Of these, 140 specify platform information, while only
-	 * 5 specify locale information. About 40 are deletion markers. The deepest
-	 * point in the context tree is four levels. There are two schemes.
-	 * </p>
-	 * <p>
-	 * The test binding set contains five thousand bindings. About 1400 specify
-	 * either locale or platform information. Five hundred are deletion markers.
-	 * The deepest point in the context tree is 40 levels. There are twenty
-	 * schemes.
-	 * </p>
-	 * <p>
-	 * The depth of the locale and platform tree is the same in both real life
-	 * and the test case. It is difficult to imagine why the locale list would
-	 * ever be anything but four elements, or why the platform list would ever
-	 * be anything but three elements.
-	 * </p>
-	 * 
-	 * @throws NotDefinedException
-	 *             If something went wrong initializing the active scheme.
-	 */
-	protected final void doSetUp() throws NotDefinedException, Exception {
-		super.doSetUp();
-
-		/*
-		 * The constants to use in creating the various objects. The platform
-		 * locale count must be greater than or equal to the number of deletion
-		 * markers. Deletion markers are typically created based on the platform
-		 * or locale.
-		 */
-		final int contextTreeDepth = 40;
-		final int schemeDepth = 20;
-		final int bindingCount = 5000;
-		final int platformLocaleCount = 1400;
-		final int deletionMarkers = 500;
-		final String currentLocale = Locale.getDefault().toString();
-		final String currentPlatform = SWT.getPlatform();
-
-		// Set-up a table of modifier keys.
-		final IKeyLookup lookup = KeyLookupFactory.getDefault();
-		final int modifierKeys0 = 0;
-		final int modifierKeys1 = lookup.getAlt();
-		final int modifierKeys2 = lookup.getCommand();
-		final int modifierKeys3 = lookup.getCtrl();
-		final int modifierKeys4 = lookup.getShift();
-		final int modifierKeys5 = lookup.getAlt() | lookup.getCommand();
-		final int modifierKeys6 = lookup.getAlt() | lookup.getCtrl();
-		final int modifierKeys7 = lookup.getAlt() | lookup.getShift();
-		final int modifierKeys8 = lookup.getCommand() | lookup.getCtrl();
-		final int modifierKeys9 = lookup.getCommand() | lookup.getShift();
-		final int modifierKeys10 = lookup.getCtrl() | lookup.getShift();
-		final int modifierKeys11 = lookup.getAlt() | lookup.getCommand()
-				| lookup.getCtrl();
-		final int modifierKeys12 = lookup.getAlt() | lookup.getCommand()
-				| lookup.getShift();
-		final int modifierKeys13 = lookup.getAlt() | lookup.getCtrl()
-				| lookup.getShift();
-		final int modifierKeys14 = lookup.getCommand() | lookup.getCtrl()
-				| lookup.getShift();
-		final int modifierKeys15 = lookup.getAlt() | lookup.getCommand()
-				| lookup.getCtrl() | lookup.getShift();
-		final int[] modifierKeyTable = { modifierKeys0, modifierKeys1,
-				modifierKeys2, modifierKeys3, modifierKeys4, modifierKeys5,
-				modifierKeys6, modifierKeys7, modifierKeys8, modifierKeys9,
-				modifierKeys10, modifierKeys11, modifierKeys12, modifierKeys13,
-				modifierKeys14, modifierKeys15 };
-
-		// Initialize the command manager.
-		commandManager = new CommandManager();
-
-		// Initialize the contexts.
-		contextManager = new ContextManager();
-		final List activeContextIds = new ArrayList();
-		createContext(contextManager, null, contextTreeDepth, activeContextIds);
-		contextManager.setActiveContextIds(new HashSet(activeContextIds));
-
-		// Initialize the schemes.
-		bindingManager = new BindingManager(contextManager, commandManager);
-		final List schemes = new ArrayList();
-		createScheme(bindingManager, null, schemeDepth, schemes);
-		bindingManager
-				.setActiveScheme((Scheme) schemes.get(schemes.size() - 1));
-
-		// Create the deletion markers.
-		final Binding[] bindings = new Binding[bindingCount];
-		for (int i = 0; i < deletionMarkers; i++) {
-			/*
-			 * Set-up the locale and platform. These are based on the numbers
-			 * given above.
-			 */
-			String locale = null;
-			String platform = null;
-
-			if (i < platformLocaleCount) {
-				switch (i % 4) {
-				case 0:
-					locale = currentLocale;
-					break;
-				case 1:
-					platform = currentPlatform;
-					break;
-				case 2:
-					locale = "gibberish";
-					break;
-				case 3:
-					platform = "gibberish";
-					break;
-				}
-			}
-
-			// Build a key sequence.
-			final char character = (char) ('A' + (i % 26));
-			final int modifierKeys = modifierKeyTable[(i / 26)
-					% modifierKeyTable.length];
-			final KeyStroke keyStroke = KeyStroke.getInstance(modifierKeys,
-					character);
-			final KeySequence keySequence = KeySequence.getInstance(keyStroke);
-
-			// Build the other parameters.
-			final String schemeId = ((Scheme) schemes.get(i % schemes.size()))
-					.getId();
-			final String contextId = (String) activeContextIds.get(i
-					% activeContextIds.size());
-			final int type = (i % 2);
-
-			// Construct the binding.
-			final Binding binding = new KeyBinding(keySequence, null, schemeId,
-					contextId, locale, platform, null, type);
-			bindings[i] = binding;
-		}
-
-		/*
-		 * Now create the regular bindings. By using the same loop structure and
-		 * resetting the index to zero, we ensure that the deletion markers will
-		 * actually delete something.
-		 */
-		for (int i = 0; i < bindingCount - deletionMarkers; i++) {
-			/*
-			 * Set-up the locale and platform for those bindings that will not
-			 * be used to match the above deletion markers. These are based on
-			 * the numbers given above.
-			 */
-			String locale = null;
-			String platform = null;
-
-			if ((i > deletionMarkers) && (i < platformLocaleCount)) {
-				switch (i % 4) {
-				case 0:
-					locale = currentLocale;
-					break;
-				case 1:
-					platform = currentPlatform;
-					break;
-				case 2:
-					locale = "gibberish";
-					break;
-				case 3:
-					platform = "gibberish";
-					break;
-				}
-			}
-
-			// Build a key sequence.
-			final char character = (char) ('A' + (i % 26));
-			final int modifierKeys = modifierKeyTable[(i / 26)
-					% modifierKeyTable.length];
-			final KeyStroke keyStroke = KeyStroke.getInstance(modifierKeys,
-					character);
-			final KeySequence keySequence = KeySequence.getInstance(keyStroke);
-
-			// Build the other parameters.
-			final String commandId = "command" + i;
-			final String schemeId = ((Scheme) schemes.get(i % schemes.size()))
-					.getId();
-			final String contextId = (String) activeContextIds.get(i
-					% activeContextIds.size());
-			final int type = (i % 2);
-
-			// Construct the binding.
-			final Command command = commandManager.getCommand(commandId);
-			final ParameterizedCommand parameterizedCommand = new ParameterizedCommand(
-					command, null);
-			final Binding binding = new KeyBinding(keySequence,
-					parameterizedCommand, schemeId, contextId, locale,
-					platform, null, type);
-			bindings[i + deletionMarkers] = binding;
-		}
-		bindingManager.setBindings(bindings);
-	}
-
-	protected final void doTearDown() throws Exception {
-		bindingManager = null;
-		commandManager = null;
-		contextManager = null;
-		super.doTearDown();
-	}
-
-	/**
-	 * <p>
-	 * Tests how long it takes to access the cache if no conditions have
-	 * changed. It measures how long it takes to look up the computation from
-	 * the cache one million times.
-	 * </p>
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+F" can't be parsed for some strange reason.
-	 */
-	public final void testBindingCacheHitHard() throws ParseException {
-		// Constants
-		final int cacheHits = 1000000;
-		final KeySequence keySequence = KeySequence.getInstance("CTRL+F");
-
-		// Compute once.
-		bindingManager.getPartialMatches(keySequence);
-
-		// Time how long it takes to access the cache;
-		startMeasuring();
-		for (int i = 0; i < cacheHits; i++) {
-			bindingManager.getPartialMatches(keySequence);
-		}
-		stopMeasuring();
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * <p>
-	 * Tests how long it takes to access the cache if no conditions have
-	 * changed. It measures how long it takes to look up the computation from
-	 * the cache one million times. In this test, the look-up is done in reverse --
-	 * from command identifier to trigger.
-	 * </p>
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+F" can't be parsed for some strange reason.
-	 */
-	public final void testBindingCacheHitHardReverse() throws ParseException {
-		// Constants
-		final int cacheHits = 1000000;
-		final KeySequence keySequence = KeySequence.getInstance("CTRL+F");
-
-		// Compute once.
-		bindingManager.getPartialMatches(keySequence);
-
-		// Time how long it takes to access the cache;
-		startMeasuring();
-		for (int i = 0; i < cacheHits; i++) {
-			bindingManager.getActiveBindingsFor((ParameterizedCommand) null);
-		}
-		stopMeasuring();
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * <p>
-	 * Tests how long it takes to access the cache if the conditions have
-	 * changed, but the cache contains a matching entry. It measures how long it
-	 * takes to look up the computation from the cache forty thousand times.
-	 * </p>
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+F" can't be parsed for some strange reason.
-	 */
-	public final void testBindingCacheHitSoft() throws ParseException {
-		// Constants
-		final int cacheHits = 10000;
-		final KeySequence keySequence = KeySequence.getInstance("CTRL+F");
-
-		// Compute once for each context set.
-		final Set contextSet1 = contextManager.getActiveContextIds();
-		bindingManager.getPartialMatches(keySequence);
-		final List contextList = new ArrayList(contextSet1);
-		contextList.remove(contextList.size() - 1);
-		final Set contextSet2 = new HashSet(contextList);
-		contextManager.setActiveContextIds(contextSet2);
-		bindingManager.getPartialMatches(keySequence);
-
-		// Time how long it takes to access the cache;
-		startMeasuring();
-		for (int i = 0; i < cacheHits; i++) {
-			if ((i % 2) == 0) {
-				contextManager.setActiveContextIds(contextSet1);
-			} else {
-				contextManager.setActiveContextIds(contextSet2);
-			}
-			bindingManager.getPartialMatches(keySequence);
-		}
-		stopMeasuring();
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * <p>
-	 * Tests how long it takes to do a full computation (i.e., a cache miss) on
-	 * an exceptionally large set of bindings. The binding set tries to mimick
-	 * some of the same properties of a "real" binding set.
-	 * </p>
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+F" can't be parsed for some strange reason.
-	 */
-	public final void testBindingCacheMissLarge() throws ParseException {
-		// Constants
-		final KeySequence keySequence = KeySequence.getInstance("CTRL+F");
-
-		// Time how long it takes to solve the binding set.
-		startMeasuring();
-		bindingManager.getPartialMatches(keySequence);
-		stopMeasuring();
-		commitMeasurements();
-		assertPerformance();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ContentDescriberForTestsOnly.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ContentDescriberForTestsOnly.java
deleted file mode 100644
index ae68e73..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ContentDescriberForTestsOnly.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescriber;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-
-/**
- * This test ContentDescriber added specifically for OpenNavigatorFolderTest.
- * 
- */
-
-public final class ContentDescriberForTestsOnly implements ITextContentDescriber {
-
-	/*
-	 * this "simulated time" represents how long a content describer might
-	 * take parsing a file. Offhand (i.e. just guessing) 2000 msecs would be "bad case" examples. 
-	 * 20 msecs would be near a good, optimistic case.
-	 * I've picked 75 msecs for this test, to represent "normal" case 
-	 * (such as the HTML parser that gave rise to the original bug :)  
-	 * 
-	 * Note: unlike a "real" ContentDescriber, this one only effects "elapsed
-	 * time", not "CPU Time", since all it is doing is sleeping.
-	 */
-	private static final int SIMULATED_CALCULATION_TIME = 75;
-	private static final QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK};
-
-	public int describe(InputStream contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.INDETERMINATE;
-
-		if (description == null) {
-			result = computeValidity(contents);
-		}
-		else {
-			calculateSupportedOptions(contents, description);
-			// assummming we should return same 'validity' value we did
-			// when called before. (technically, could be a performance issue
-			// in future, so might want to check if any 'ol value would
-			// be ok here.
-			result = computeValidity(contents);
-		}
-
-		return result;
-	}
-
-	public int describe(Reader contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.INDETERMINATE;
-
-		if (description == null) {
-			result = computeValidity(contents);
-		}
-		else {
-			calculateSupportedOptions(contents, description);
-			// assummming we should return same 'validity' value we did
-			// when called before. (technically, could be a performance issue
-			// in future, so might want to check if hard coded 'valid' would
-			// be ok here.
-			result = computeValidity(contents);
-		}
-
-		return result;
-	}
-
-	public QualifiedName[] getSupportedOptions() {
-
-		return SUPPORTED_OPTIONS;
-	}
-
-	private void calculateSupportedOptions(InputStream contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			makeBusy();
-		}
-	}
-
-	private void makeBusy() {
-		// for this test "content type", we don't
-		// really calculate anything. We just
-		// just take a long time doing nothing.
-		try {
-			Thread.sleep(SIMULATED_CALCULATION_TIME);
-		}
-		catch (InterruptedException e) {
-			// never expected
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * @param contents
-	 * @param description
-	 * @throws IOException
-	 */
-	private void calculateSupportedOptions(Reader contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			makeBusy();
-		}
-	}
-
-	private int computeValidity(InputStream inputStream) {
-		// currently no contents specific check for valid HTML contents
-		// (this may change once we add XHTML content type)
-		return IContentDescriber.INDETERMINATE;
-	}
-
-	private int computeValidity(Reader reader) {
-		// no contents specific check for valid HTML contents
-		// (this may change once we add XHTML content type)
-		return IContentDescriber.INDETERMINATE;
-	}
-
-	/**
-	 * @param description
-	 * @return
-	 */
-	private boolean isRelevent(IContentDescription description) {
-		boolean result = false;
-		if (description == null)
-			result = false;
-		else if (description.isRequested(IContentDescription.BYTE_ORDER_MARK))
-			result = true;
-		else if (description.isRequested(IContentDescription.CHARSET))
-			result = true;
-		return result;
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorPerformanceSuite.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorPerformanceSuite.java
deleted file mode 100644
index ef9a8ee..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorPerformanceSuite.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @since 3.1
- */
-public class EditorPerformanceSuite extends TestSuite {
-    
-    public static final String [] EDITOR_FILE_EXTENSIONS = {"perf_basic", "perf_outline", "java"};
-    public static final String [][] EDITOR_SWITCH_PAIRS = {
-        {"perf_outline", "java"},
-        {"perf_basic", "perf_outline"}};
-    
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new EditorPerformanceSuite();
-    }
-
-    public EditorPerformanceSuite() {
-        addOpenCloseScenarios();
-        addSwitchScenarios();
-        addOpenMultipleScenarios(true);
-        addOpenMultipleScenarios(false);
-    }
-
-    // Commented out: these tests don't seem to be working 
-//    /**
-//     * 
-//     * @since 3.1
-//     */
-//    private void addResizeScenarios() {
-//        for (int i = 0; i < EDITOR_FILE_EXTENSIONS.length; i++) {
-//            addTest(new ResizeTest(new EditorWidgetFactory("1." + EDITOR_FILE_EXTENSIONS[i])));            
-//        }               
-//    }
-
-    /**
-     * 
-     */
-    private void addSwitchScenarios() {
-        for (int i = 0; i < EDITOR_SWITCH_PAIRS.length; i++) {
-            addTest(new EditorSwitchTest(EDITOR_SWITCH_PAIRS[i]));            
-        }       
-    }
-
-    /**
-     * 
-     */
-    private void addOpenMultipleScenarios(boolean closeAll) {
-        for (int i = 0; i < EDITOR_FILE_EXTENSIONS.length; i++) {
-            addTest(new OpenMultipleEditorTest(EDITOR_FILE_EXTENSIONS[i], closeAll, (closeAll && i == 0) ? BasicPerformanceTest.LOCAL : BasicPerformanceTest.NONE));            
-        }
-    }
-
-    /**
-     * 
-     */
-    private void addOpenCloseScenarios() {
-        for (int i = 0; i < EDITOR_FILE_EXTENSIONS.length; i++) {
-            addTest(new OpenCloseEditorTest(EDITOR_FILE_EXTENSIONS[i], i == 3 ? BasicPerformanceTest.LOCAL : BasicPerformanceTest.NONE));            
-        }        
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorSwitchTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorSwitchTest.java
deleted file mode 100644
index f47f59d..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorSwitchTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Test editor switching.
- */
-public class EditorSwitchTest extends BasicPerformanceTest {
-
-	private String extension1;
-
-	private String extension2;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param testName
-	 *            Test's name.
-	 */
-	public EditorSwitchTest(String[] pair) {
-		super("testEditorSwitch:" + pair[0] + "," + pair[1]);
-		extension1 = pair[0];
-		extension2 = pair[1];
-	}
-
-	/**
-	 * Test editor opening performance. This test always fails.
-	 */
-	protected void runTest() throws CoreException {
-
-		// Open both files outside the loop so as not to include
-		// the initial time to open, just switching.
-		IWorkbenchWindow window = openTestWindow(UIPerformanceTestSetup.PERSPECTIVE1);
-		final IWorkbenchPage activePage = window.getActivePage();
-		final IFile file1 = getProject().getFile("1." + extension1);
-		assertTrue(file1.exists());
-		final IFile file2 = getProject().getFile("1." + extension2);
-		assertTrue(file2.exists());
-		IDE.openEditor(activePage, file1, true);
-		IDE.openEditor(activePage, file2, true);
-		processEvents();
-        EditorTestHelper.calmDown(500, 30000, 500);
-        waitForBackgroundJobs();
-        
-        exercise(new TestRunnable() {
-
-            public void run() throws Exception {            
-                startMeasuring();
-                IDE.openEditor(activePage, file1, true);
-                processEvents();
-                IDE.openEditor(activePage, file2, true);
-                processEvents();
-                stopMeasuring();
-                EditorTestHelper.calmDown(500, 30000, 100);
-             } 
-        });
-        
-		commitMeasurements();
-		assertPerformance();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorTestHelper.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorTestHelper.java
deleted file mode 100644
index 8bc171b..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/EditorTestHelper.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.tests.performance;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-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.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-
-/**
- * @since 3.1
- */
-public class EditorTestHelper {
-
-	public static IEditorPart openInEditor(IFile file, boolean runEventLoop) throws PartInitException {
-		IEditorPart part= IDE.openEditor(getActivePage(), file);
-		if (runEventLoop)
-			runEventQueue(part);
-		return part;
-	}
-
-	public static IEditorPart openInEditor(IFile file, String editorId, boolean runEventLoop) throws PartInitException {
-		IEditorPart part= IDE.openEditor(getActivePage(), file, editorId);
-		if (runEventLoop)
-			runEventQueue(part);
-		return part;
-	}
-
-	public static IDocument getDocument(ITextEditor editor) {
-		IDocumentProvider provider= editor.getDocumentProvider();
-		IEditorInput input= editor.getEditorInput();
-		return provider.getDocument(input);
-	}
-
-	public static void revertEditor(ITextEditor editor, boolean runEventQueue) {
-		editor.doRevertToSaved();
-		if (runEventQueue)
-			runEventQueue(editor);
-	}
-	
-	public static void closeAllEditors() {
-		IWorkbenchPage page= getActivePage();
-		if (page != null)
-			page.closeAllEditors(false);
-	}
-	
-	public static void runEventQueue() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		if (window != null)
-			runEventQueue(window.getShell());
-	}
-	
-	public static void runEventQueue(IWorkbenchPart part) {
-		runEventQueue(part.getSite().getShell());
-	}
-	
-	public static void runEventQueue(Shell shell) {
-		while (shell.getDisplay().readAndDispatch());
-	}
-	
-	public static void runEventQueue(long minTime) {
-		long nextCheck= System.currentTimeMillis() + minTime;
-		while (System.currentTimeMillis() < nextCheck) {
-			runEventQueue();
-			sleep(1);
-		}
-	}
-	
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		return window != null ? window.getActivePage() : null;
-	}
-
-	public static Display getActiveDisplay() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		return window != null ? window.getShell().getDisplay() : null;
-	}
-
-	public static boolean calmDown(long minTime, long maxTime, long intervalTime) {
-		long startTime= System.currentTimeMillis() + minTime;
-		runEventQueue();
-		while (System.currentTimeMillis() < startTime)
-			runEventQueue(intervalTime);
-		
-		long endTime= maxTime > 0 ? System.currentTimeMillis() + maxTime : Long.MAX_VALUE;
-		boolean calm= isCalm();
-		while (!calm && System.currentTimeMillis() < endTime) {
-			runEventQueue(intervalTime);
-			calm= isCalm();
-		}
-//		System.out.println("--------------------------------------------------");
-		return calm;
-	}
-
-	public static void sleep(int intervalTime) {
-		try {
-			Thread.sleep(intervalTime);
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	public static boolean isCalm() {
-		IJobManager jobManager= Platform.getJobManager();
-		Job[] jobs= jobManager.find(null);
-		for (int i= 0; i < jobs.length; i++) {
-			Job job= jobs[i];
-			int state= job.getState();
-//			System.out.println(job.getName() + ": " + getStateName(state));
-			if (state == Job.RUNNING || state == Job.WAITING) {
-//				System.out.println();
-				return false;
-			}
-		}
-//		System.out.println();
-		return true;
-	}
-
-//	private static String getStateName(int state) {
-//		switch (state) {
-//			case Job.RUNNING: return "RUNNING";
-//			case Job.WAITING: return "WAITING";
-//			case Job.SLEEPING: return "SLEEPING";
-//			case Job.NONE: return "NONE";
-//			default: return "unknown " + state;
-//		}
-//	}
-
-	public static boolean showView(String viewId) throws PartInitException {
-		IWorkbenchPage activePage= getActivePage();
-		IViewReference view= activePage.findViewReference(viewId);
-		boolean notShown= view == null;
-		if (notShown)
-			activePage.showView(viewId);
-		return notShown;
-	}
-
-	public static boolean hideView(String viewId) {
-		IWorkbenchPage activePage= getActivePage();
-		IViewReference view= activePage.findViewReference(viewId);
-		boolean shown= view != null;
-		if (shown)
-			activePage.hideView(view);
-		return shown;
-	}
-
-	public static void bringToTop() {
-		getActiveWorkbenchWindow().getShell().forceActive();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/GenerateIdentifiersTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/GenerateIdentifiersTest.java
deleted file mode 100644
index f9a8402..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/GenerateIdentifiersTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.activities.IActivityManager;
-
-/**
- * @since 3.1
- *
- */
-public class GenerateIdentifiersTest extends BasicPerformanceTest {
-
-    private int count;
-
-    public GenerateIdentifiersTest(int numberOfIdentifiers) {
-        super("Generate " + numberOfIdentifiers + " identifiers", BasicPerformanceTest.LOCAL);
-        this.count = numberOfIdentifiers;
-    }
-    
-    protected void runTest() throws Throwable {       
-        final IActivityManager activityManager = fWorkbench.getActivitySupport().getActivityManager();
-        
-        tagIfNecessary("UI - Generate Identifiers", Dimension.ELAPSED_PROCESS);
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                // construct the Identifiers to test
-                final String [] ids = new String[count];
-                for (int i = 0; i < ids.length; i++) {
-                    long timestamp = System.currentTimeMillis();
-                    ids[i] = "org.eclipse.jdt.ui/" + i + timestamp;
-                }
-                
-                startMeasuring();
-                for(int i = 0; i < ids.length; i++) {
-                    activityManager.getIdentifier(ids[i]);
-                }                
-                stopMeasuring();
-            } 
-        });
-        commitMeasurements();
-        assertPerformance();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionClasses.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionClasses.java
deleted file mode 100644
index f303543..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionClasses.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.ui.IContributorResourceAdapter;
-import org.eclipse.ui.ide.IContributorResourceAdapter2;
-
-public class ObjectContributionClasses implements IAdapterFactory {
-	
-	public static final String PROJECT_NAME = "testContributorResourceAdapter";
-	
-	public static interface ICommon {
-	}
-	
-	public static class Common implements ICommon {		
-	}
-	
-	public static interface IA {
-	}
-	
-	public static class A implements IA {	
-	}
-	
-	public static class A1 extends A {
-	}
-	
-	public static class A11 extends A1 {
-	}
-	
-	public static interface IB {
-	}
-	
-	public static class B implements IB {
-	}
-	
-	public static class B2 implements IB {
-	}
-	
-	public static class D extends Common implements IA {
-	}
-	
-	public static class C implements ICommon {
-	}
-	
-	public static class CResource implements IAdaptable {
-		public Object getAdapter(Class adapter) {
-			if(adapter == IContributorResourceAdapter.class) {
-				return new ResourceAdapter();
-			}			
-			return null;
-		}		
-	}
-	
-	public static class CFile implements IAdaptable {
-		public Object getAdapter(Class adapter) {
-			if(adapter == IContributorResourceAdapter.class) {
-				return new ResourceAdapter();
-			}			
-			return null;
-		}		
-	}
-	
-	// Returns a contribution adapter that doesn't handle ResourceMappings
-	public static class CResourceOnly implements IAdaptable {
-		public Object getAdapter(Class adapter) {
-			if(adapter == IContributorResourceAdapter.class) {
-				return new ResourceOnlyAdapter();
-			}			
-			return null;
-		}		
-	}
-    
-    public interface IModelElement {
-    }
-	
-    public static class ModelElement extends PlatformObject implements IModelElement {
-    }
-    
-	// Default contributor adapter
-	
-	public static class ResourceAdapter implements IContributorResourceAdapter2 {
-		public IResource getAdaptedResource(IAdaptable adaptable) {
-			if(adaptable instanceof CResource) {
-				return ResourcesPlugin.getWorkspace().getRoot();
-			}
-			if(adaptable instanceof CFile) {
-				return ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME).getFile("dummy");
-			}
-			return null;
-		}
-        public ResourceMapping getAdaptedResourceMapping(IAdaptable adaptable) {
-            return (ResourceMapping)getAdaptedResource(adaptable).getAdapter(ResourceMapping.class);
-        }	
-	}
-	
-	// Contributor adapter that doesn't handle resource mappings
-	
-	public static class ResourceOnlyAdapter implements IContributorResourceAdapter {
-		public IResource getAdaptedResource(IAdaptable adaptable) {
-			if(adaptable instanceof CResourceOnly) {
-				return ResourcesPlugin.getWorkspace().getRoot();
-			}
-			return null;
-		}
-	}
-	
-	// Adapter methods
-	
-	public Object getAdapter(final Object adaptableObject, Class adapterType) {
-		if(adapterType == IContributorResourceAdapter.class) {
-			return new ResourceAdapter();
-		}
-		if(adaptableObject instanceof IA && adapterType == IA.class) {
-			return new A();
-		}
-		if(adapterType == IResource.class) {
-			return ResourcesPlugin.getWorkspace().getRoot();
-		}
-		if(adapterType == ICommon.class) {
-			return new Common();
-		}
-        if(adapterType == ResourceMapping.class) {
-            return new ResourceMapping() {    
-                public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) {
-                    return new ResourceTraversal[] {
-                            new ResourceTraversal(new IResource[] {ResourcesPlugin.getWorkspace().getRoot()}, IResource.DEPTH_INFINITE, IResource.NONE)
-                    };
-                }
-                public IProject[] getProjects() {
-                    return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-                }
-                public Object getModelObject() {
-                    return adaptableObject;
-                }
-				public String getModelProviderId() {
-					return ModelProvider.RESOURCE_MODEL_PROVIDER_ID;
-				}
-            };
-        }
-        
-		return null;
-	}
-
-	public Class[] getAdapterList() {
-		return new Class[] { ICommon.class, IResource.class, IFile.class, IContributorResourceAdapter.class, ResourceMapping.class};
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionTest.java
deleted file mode 100644
index 6ce36e2..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionTest.java
+++ /dev/null
@@ -1,445 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import java.io.ByteArrayInputStream;
-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.IFile;
-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.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.SubContributionItem;
-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.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.PluginActionContributionItem;
-import org.eclipse.ui.internal.PopupMenuExtender;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.tests.harness.util.UITestCase;
-import org.eclipse.ui.tests.performance.ObjectContributionClasses.ICommon;
-/**
- * Tests that object contributions are enabled and shown correctly in pop-up
- * menus depending on the state of the workbench. This test relies on the
- * <code>plugin.xml</code> file containing certain values. Please see the
- * appropriate section in that file for more information about the initial
- * set-up.
- * 
- * @since 3.0
- */
-public final class ObjectContributionTest extends UITestCase {
-
-    /**
-     * Constructs a new instance of <code>ObjectContributionTest</code> with
-     * the name of the test.
-     * 
-     * @param name
-     *            The name of the test; may be <code>null</code>.
-     */
-    public ObjectContributionTest(final String name) {
-        super(name);
-    }
-
-    /**
-     * Tests whether the content-type object contribution works. This is testing
-     * a use care familiar to Ant UI. The content-type scans an XML file to see
-     * if its root element is <code>&lt;project&gt;</code>.
-     * 
-     * @throws CoreException
-     *             If a problem occurs when creating the project or file, or if
-     *             the project can't be opened.
-     */
-    public final void testObjectStateContentType() throws CoreException {
-        // Create an XML file with <project> as its root element.
-        final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProject testProject = workspace.getRoot().getProject(
-                "ObjectContributionTestProject");
-        testProject.create(null);
-        testProject.open(null);
-        final IFile xmlFile = testProject.getFile("ObjectContributionTest.xml");
-        final String contents = "<testObjectStateContentTypeElement></testObjectStateContentTypeElement>";
-        final ByteArrayInputStream inputStream = new ByteArrayInputStream(
-                contents.getBytes());
-        xmlFile.create(inputStream, true, null);
-        final ISelection selection = new StructuredSelection(xmlFile);
-        assertPopupMenus("1", new String[] {"org.eclipse.ui.tests.testObjectStateContentType"}, selection, null, true);
-    }
-    
-    /**
-     * This tests backwards compatibility support for adaptable IResource objectContributions. This
-     * allows IResource adaptable contributions without an adapter factory and using
-     * the IContributorResourceAdapter factory. In addition, test the ResourceMapping adaptations.
-     * 
-     * @since 3.1
-     */
-    public final void testContributorResourceAdapter() throws CoreException {
-    	
-    	final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProject testProject = workspace.getRoot().getProject(ObjectContributionClasses.PROJECT_NAME);
-        if(! testProject.exists()) {
-        	testProject.create(null);
-        }
-        if(! testProject.isOpen()) {
-        	testProject.open(null);
-        }
-    	
-    	assertPopupMenus("1",
-    			new String[] {"IResource.1"}, 
-    			new StructuredSelection(new Object[] {new ObjectContributionClasses.CResource()}),
-				IResource.class,
-				true
-			);
-    	assertPopupMenus("2",
-    			new String[] {"IProject.1"}, 
-    			new StructuredSelection(new Object[] {new ObjectContributionClasses.CFile()}),
-				null,
-				false
-			);
-    	assertPopupMenus("3", 
-    			new String[] {"IFile.1"}, 
-    			new StructuredSelection(new Object[] {new ObjectContributionClasses.CFile()}),
-				IFile.class,
-				true
-			);
-    	assertPopupMenus("4", 
-    			new String[] {"IResource.1"}, 
-    			new StructuredSelection(new Object[] {new ObjectContributionClasses.CFile(), new ObjectContributionClasses.CResource()}),
-				IResource.class,
-				true
-			);
-    	assertPopupMenus("5", 
-    			new String[] {"IFile.1", "IProject.1"}, 
-    			new StructuredSelection(new Object[] {new ObjectContributionClasses.CFile(), new ObjectContributionClasses.CResource()}),
-				IResource.class,
-				false
-			);
-        assertPopupMenus("6", 
-                new String[] {"ResourceMapping.1"}, 
-                new StructuredSelection(new Object[] {new ObjectContributionClasses.CFile(), new ObjectContributionClasses.CResource()}),
-                ResourceMapping.class,
-                true
-            );
-        assertPopupMenus("7", 
-                new String[] {"ResourceMapping.1", "IResource.1"}, 
-                new StructuredSelection(new Object[] {new ObjectContributionClasses.ModelElement()}),
-                ResourceMapping.class,
-                true
-            );
-        // Ensure that the case where an object uses a contribution adapter that doesn't handle mappings
-        // will still show the menus for resource mappings
-        assertPopupMenus("8", 
-                new String[] {"ResourceMapping.1", "IResource.1"}, 
-                new StructuredSelection(new Object[] {new ObjectContributionClasses.CResourceOnly()}),
-                ResourceMapping.class,
-                true
-            );
-    }
-    
-    /**
-     * This tests adaptable contributions that are not IResource.
-     * 
-     * @since 3.1
-     */
-    public final void testAdaptables() throws CoreException {
-    	assertPopupMenus("1", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.A()}),
-				ICommon.class,
-				true
-			);  
-    	assertPopupMenus("2", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.A(), 
-						new ObjectContributionClasses.B()}),
-				ICommon.class,
-				true
-			);      	
-    	assertPopupMenus("3", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.A(), 
-						new ObjectContributionClasses.B(), 
-						new ObjectContributionClasses.C(),
-						new ObjectContributionClasses.Common()
-				}),
-				ICommon.class,
-				true
-			);
-    	assertPopupMenus("4", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.Common(), 
-						new ObjectContributionClasses.C(), 
-						new ObjectContributionClasses.B(),
-						new ObjectContributionClasses.A()
-				}),
-				ICommon.class,
-				true
-			);
-    	assertPopupMenus("5", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.Common(), 
-						new ObjectContributionClasses.C(), 
-						new ObjectContributionClasses.B(),
-						new ObjectContributionClasses.C(), 
-						new ObjectContributionClasses.A(),
-						new ObjectContributionClasses.Common() 
-				}),
-				ICommon.class,
-				true
-			);
-    	assertPopupMenus("6", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] { 
-						new ObjectContributionClasses.C(),
-						new ObjectContributionClasses.Common()
-				}),
-				ICommon.class,
-				true
-			);
-    	assertPopupMenus("7", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] { 
-						new Object()				
-				}),
-				ICommon.class,
-				false
-			);
-    	assertPopupMenus("8", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] { 
-    					new ObjectContributionClasses.C(),
-						new Object()				
-				}),
-				ICommon.class,
-				false
-			);
-    	assertPopupMenus("9", 
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] { 
-    					new ObjectContributionClasses.C(),
-    					new ObjectContributionClasses.A(),
-						new Object()				
-				}),
-				ICommon.class,
-				false
-			);
-    }
-    
-    /**
-     * Ensure that there are no duplicate contributions.
-     * 
-     * @since 3.1
-     */
-    public final void testDuplicateAdaptables() throws CoreException {
-    	assertPopupMenus("1",
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.D()}),
-				ICommon.class,
-				true
-			);
-    	// repeat test on purpose to ensure no double call duplicates.    	
-    	assertPopupMenus("1",
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.D()}),
-				ICommon.class,
-				true
-			);
-    	assertPopupMenus("2",
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.D(),
-						new ObjectContributionClasses.A()
-						}),
-				ICommon.class,
-				true
-			);
-    	assertPopupMenus("3",
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.A(),
-						new ObjectContributionClasses.D()
-						}),
-				ICommon.class,
-				true
-			);
-    	assertPopupMenus("4",
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.Common(),
-						new ObjectContributionClasses.D()
-						}),
-				ICommon.class,
-				true
-			);
-    	assertPopupMenus("5",
-    			new String[] {"ICommon.1"}, 
-    			new StructuredSelection(new Object[] {    					
-						new ObjectContributionClasses.D(),
-						new ObjectContributionClasses.Common()
-						}),
-				ICommon.class,
-				true
-			);
-    }
-    
-    /**
-     * Test non-adaptable contributions
-     * 
-     * @since 3.1
-     */
-    public final void testNonAdaptableContributions() throws CoreException {
-    	assertPopupMenus("1",
-    			new String[] {"ICommon.2"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.A(),
-						new ObjectContributionClasses.B()}),
-				ICommon.class,
-				false
-			);
-    	assertPopupMenus("2",
-    			new String[] {"ICommon.2"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.D(),
-						new ObjectContributionClasses.C(),
-						new ObjectContributionClasses.Common()}),
-				ICommon.class,
-				true
-			); 
-    	assertPopupMenus("3",
-    			new String[] {"Common.2"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.D(),
-						new ObjectContributionClasses.C(),
-						new ObjectContributionClasses.A()}),
-				ICommon.class,
-				false
-			); 
-    	assertPopupMenus("4",
-    			new String[] {"Common.2"}, 
-    			new StructuredSelection(new Object[] {
-    					new ObjectContributionClasses.B(),
-						new ObjectContributionClasses.C(),
-						new ObjectContributionClasses.A()}),
-				ICommon.class,
-				false
-			); 
-    }
-    
-    /**
-     * Helper class that will create a popup menu based on the given selection and
-     * then ensure that the provided commandIds are added to the menu.
-     * 
-     * @param commandIds the command ids that should appear in the menu
-     * @param selection the selection on which to contribute object contributions
-     */
-    public void assertPopupMenus(String name, String[] commandIds, final ISelection selection, Class selectionType, boolean existance) {
-    	ISelectionProvider selectionProvider = new ISelectionProvider() {
-			public void addSelectionChangedListener(ISelectionChangedListener listener) {
-			}
-			public ISelection getSelection() {
-				return selection;
-			}
-			public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-			}
-			public void setSelection(ISelection selection) {
-			}
-		};
-		
-		// The popup extender needs a part to notify actions of the active part
-        final WorkbenchWindow window = (WorkbenchWindow) PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-        final IWorkbenchPage page = window.getActivePage();
-        IWorkbenchPart part = page.getActivePartReference().getPart(true);
-    	
-    	 // Create a fake PopupMenuExtender so we can get some data back.
-        final MenuManager fakeMenuManager = new MenuManager();
-        fakeMenuManager.add(new GroupMarker(
-                org.eclipse.ui.IWorkbenchActionConstants.MB_ADDITIONS));
-        final PopupMenuExtender extender = new PopupMenuExtender(null,
-                fakeMenuManager, selectionProvider, part);
-        
-        
-
-        /*
-         * Pretend to show the pop-up menu -- looking to motivate the extender
-         * to fill the menu based on the selection provider.
-         * 
-         * TODO This causes a big delay (in the order of a minute or more) while
-         * trying to fill this menu. It seems to be loading a bunch of plug-ins,
-         * and doing class loading.
-         */
-        extender.menuAboutToShow(fakeMenuManager);
-
-        extender.dispose();
-        
-        // Check to see if the appropriate object contributions are present.
-        final IContributionItem[] items = fakeMenuManager.getItems();
-        Set seenCommands = new HashSet(Arrays.asList(commandIds));
-        List commands = new ArrayList(Arrays.asList(commandIds));
-        for (int i = 0; i < items.length; i++) {
-           IContributionItem contributionItem = items[i];
-           // Step 1: test the selection
-           if (selectionType != null) {
-				IContributionItem item = contributionItem;
-				if (item instanceof SubContributionItem) {
-					item = ((SubContributionItem) contributionItem).getInnerItem();
-				}
-				if (item instanceof PluginActionContributionItem) {
-					// Verify that the selection passed to the action has been
-					// converted
-					PluginActionContributionItem pa = (PluginActionContributionItem) item;
-					ISelection s = null;
-					if (s instanceof IStructuredSelection) {
-						for (Iterator it = ((IStructuredSelection) s).iterator(); it.hasNext();) {
-							Object element = (Object) it.next();
-							assertTrue(name + " selection not converted", selectionType.isInstance(element));
-						}
-					}
-				}
-			}
-           // Step 2: remember that we saw this element
-           String id = contributionItem.getId();
-           if(existance) {    		
-           		boolean removed = commands.remove(id);	
-           		if(seenCommands.contains(id) && ! removed) {
-           			fail(name + " item duplicated in the context menu: " + id);
-           		}           		
-           } else {
-           		assertTrue(name + " item should not be in the context menu", ! commands.contains(id));
-           }
-        }
-        
-        if(existance && ! commands.isEmpty()) {
-        	fail(name + " Missing " + commands.toString() + " from context menu.");
-        }
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionsPerformance.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionsPerformance.java
deleted file mode 100644
index 07d6ba5..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ObjectContributionsPerformance.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.test.performance.Dimension;
-
-public class ObjectContributionsPerformance extends BasicPerformanceTest {
-
-	public  static final int SEED = 1001001;
-	private IStructuredSelection selection;
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Object contribution performance");
-        suite.addTest(new ObjectContributionsPerformance(
-                "large selection, limited contributors",
-                generateAdaptableSelection(SEED, 5000),
-                BasicPerformanceTest.NONE));
-        suite
-                .addTest(new ObjectContributionsPerformance(
-                        "limited selection, limited contributors",
-                        generateAdaptableSelection(SEED, 50),
-                        BasicPerformanceTest.NONE));
-        return suite;
-	}
-	
-	public ObjectContributionsPerformance(String label, IStructuredSelection selection, int tagging) {
-		super("testObjectContributions:" + label, tagging);
-		this.selection = selection;
-	}
-
-	protected void runTest() {
-		ObjectContributionTest tests = new ObjectContributionTest(
-                "testObjectContributions");
-        tagIfNecessary("UI - " + selection.size() + " contribution(s)",
-                Dimension.ELAPSED_PROCESS);
-        setDegradationComment("<a href=https://bugs.eclipse.org/bugs/show_bug.cgi?id=88274>See Bug 88274</a> ");
-        startMeasuring();
-        for (int i = 0; i < 5000; i++) {
-            tests.assertPopupMenus("1", new String[] { "bogus" }, selection,
-                    null, false);
-        }
-        stopMeasuring();
-        commitMeasurements();
-        assertPerformance();
-	}
-	
-	protected static IStructuredSelection generateAdaptableSelection(int seed, int size) {
-		Random rand = new Random(seed);
-		List selection = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			switch ((int) Math.round(rand.nextDouble() * 5)) {
-				case 0 :
-					selection.add(new ObjectContributionClasses.A());
-					break;
-				case 1 :
-					selection.add(new ObjectContributionClasses.B());
-					break;
-				case 2 :
-					selection.add(new ObjectContributionClasses.C());
-					break;
-				case 3 :
-					selection.add(new ObjectContributionClasses.Common());
-					break;
-				case 4 :
-					selection.add(new ObjectContributionClasses.D());
-					break;
-				case 5 :
-					selection.add(new ObjectContributionClasses.A1());
-					break;
-				default :
-					selection.add(new Object());
-			}
-		}
-		return new StructuredSelection(selection);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseEditorTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseEditorTest.java
deleted file mode 100644
index 186b405..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseEditorTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * @since 3.1
- */
-public class OpenCloseEditorTest extends BasicPerformanceTest {
-
-	private String extension;
-
-	public OpenCloseEditorTest(String extension, int tagging) {
-		super("testOpenAndCloseEditors:" + extension, tagging);
-		this.extension = extension;
-	}
-
-	protected void runTest() throws Throwable {
-		final IFile file = getProject().getFile("1." + extension);
-		assertTrue(file.exists());
-		
-		IWorkbenchWindow window = openTestWindow(UIPerformanceTestSetup.PERSPECTIVE1);
-		final IWorkbenchPage activePage = window.getActivePage();
-
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                startMeasuring();
-                for (int j = 0; j < 10; j++) {
-                    IEditorPart part = IDE.openEditor(activePage, file, true);
-                    processEvents();
-                    activePage.closeEditor(part, false);
-                    processEvents();
-                    
-                }
-                stopMeasuring();
-            } 
-        });
-        
-		tagIfNecessary("UI - Open/Close Editor", Dimension.ELAPSED_PROCESS);
-		commitMeasurements();
-		assertPerformance();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenClosePerspectiveTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenClosePerspectiveTest.java
deleted file mode 100644
index 8c7579c..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenClosePerspectiveTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.ClosePerspectiveAction;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * @since 3.1
- */
-public class OpenClosePerspectiveTest extends BasicPerformanceTest {
-
-    private String id;
-
-    /**
-     * @param tagging
-     * @param testName
-     */
-    public OpenClosePerspectiveTest(String id, int tagging) {
-        super("testOpenClosePerspectives:" + id, tagging);
-        this.id = id;
-    }
-    
-    protected void runTest() throws Throwable {
-        // Get the two perspectives to switch between.
-        final IPerspectiveRegistry registry = WorkbenchPlugin.getDefault()
-                .getPerspectiveRegistry();
-        final IPerspectiveDescriptor perspective1 = registry
-                .findPerspectiveWithId(id);
-
-        // Don't fail if we reference an unknown perspective ID. This can be
-        // a normal occurrance since the test suites reference JDT perspectives, which
-        // might not exist.
-        if (perspective1 == null) {
-            System.out.println("Unknown perspective id: " + id);
-            return;
-        }
-        
-        // create a nice clean window.
-        IWorkbenchWindow window = openTestWindow();          
-        final IWorkbenchPage activePage = window.getActivePage();
-        
-        //causes creation of all views 
-        activePage.setPerspective(perspective1);
-        IViewReference [] refs = activePage.getViewReferences();
-        //get the IDs now - after we close hte perspective the view refs will be partiall disposed and their IDs will be null
-        String [] ids = new String[refs.length];
-        for (int i = 0; i < refs.length; i++) {
-            ids[i] = refs[i].getId();
-        }
-        closePerspective(activePage);
-        //populate the empty perspective with all view that will be shown in the test view
-        for (int i = 0; i < ids.length; i++) {
-            activePage.showView(ids[i]);
-        }      
-
-        tagIfNecessary("UI - Open/Close " + perspective1.getLabel() + " Perspective", Dimension.ELAPSED_PROCESS);
-        
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                processEvents();
-                EditorTestHelper.calmDown(500, 30000, 500);
-                
-                startMeasuring();
-                activePage.setPerspective(perspective1);
-                processEvents();      
-                closePerspective(activePage);
-                processEvents(); 
-                stopMeasuring();
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance();
-    }
-
-    /**
-     * @param activePage
-     */
-    private void closePerspective(IWorkbenchPage activePage) {
-        // we dont have API to close a perspective so use the close perspective action instead.
-        ClosePerspectiveAction action = new ClosePerspectiveAction(activePage.getWorkbenchWindow());            
-        action.run();
-        action.dispose();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseViewTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseViewTest.java
deleted file mode 100644
index df50a74..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseViewTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Performance tests for showing views.
- * There are separate tests for showing a simple view (MockViewPart)
- * and a more complex view (Resource Navigator).
- * The views are shown in an empty perspective.
- */
-public class OpenCloseViewTest extends BasicPerformanceTest {
-
-    private String viewId;
-
-    public OpenCloseViewTest(String viewId, int tagging) {
-        super("showView:" + viewId, tagging);
-        this.viewId = viewId;
-    }
-
-    protected void runTest() throws Throwable {
-        IWorkbenchWindow window = openTestWindow();
-        final IWorkbenchPage page = window.getActivePage();
-        
-        // prime it
-        IViewPart view1 = page.showView(viewId);
-        page.hideView(view1);
-        waitForBackgroundJobs();
-        processEvents();
-        
-       	tagIfNecessary("UI - Open/Close " + view1.getTitle(), Dimension.ELAPSED_PROCESS);
-       	setDegradationComment("<a href=https://bugs.eclipse.org/bugs/show_bug.cgi?id=98144>See Bug 98144</a> ");
-       	
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                startMeasuring();
-
-                IViewPart view = page.showView(viewId);
-                processEvents();
-                
-                page.hideView(view);
-                processEvents();
-                
-                stopMeasuring();
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseWindowTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseWindowTest.java
deleted file mode 100644
index f204332..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenCloseWindowTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * @since 3.1
- */
-public class OpenCloseWindowTest extends BasicPerformanceTest {
-
-    private String id;
-
-    /**
-     * @param tagging
-     * @param testName
-     */
-    public OpenCloseWindowTest(String id, int tagging) {
-        super("testOpenCloseWindows:" + id, tagging);
-        this.id = id;
-    }
-    
-    protected void runTest() throws Throwable {
-    	
-    	tagIfNecessary("UI - Open/Close Window", Dimension.ELAPSED_PROCESS);
-        
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                processEvents();
-                EditorTestHelper.calmDown(500, 30000, 500);
-                
-                startMeasuring();
-                IWorkbenchWindow window = openTestWindow(id);
-                processEvents();   
-                window.close();
-                processEvents(); 
-                stopMeasuring();
-            } 
-        });
-                
-        commitMeasurements();
-        assertPerformance();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenMultipleEditorTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenMultipleEditorTest.java
deleted file mode 100644
index 907b159..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenMultipleEditorTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * @since 3.1
- */
-public class OpenMultipleEditorTest extends BasicPerformanceTest {
-
-    private String extension;
-    private boolean closeAll;
-
-    /**
-     * @param testName
-     */
-    public OpenMultipleEditorTest(String extension, boolean closeAll, int tagging) {
-        super ("testOpenMultipleEditors:" + extension + (closeAll ? "[closeAll]" : "[closeEach]"), tagging);
-        this.extension = extension;        
-        this.closeAll = closeAll;
-    }
-    
-    protected void runTest() throws Throwable {
-		IWorkbenchWindow window = openTestWindow(UIPerformanceTestSetup.PERSPECTIVE1);
-		IWorkbenchPage activePage = window.getActivePage();
-        
-        tagIfNecessary("UI - Open Multiple Editors",Dimension.ELAPSED_PROCESS);
-        
-        startMeasuring();      
-                
-        for (int i = 0; i < 100; i++) {
-            IFile file = getProject().getFile(i + "." + extension);
-            IEditorPart part = IDE.openEditor(activePage, file, true);
-            processEvents();
-        }
-        if (closeAll) {
-            activePage.closeAllEditors(false);
-        }
-        else {
-            IEditorPart [] parts = activePage.getEditors();
-            for (int i = 0; i < parts.length; i++) {
-                activePage.closeEditor(parts[i], false);
-            }
-        }
-        stopMeasuring();
-        commitMeasurements();
-        assertPerformance();        
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenNavigatorFolderTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenNavigatorFolderTest.java
deleted file mode 100644
index 375070b..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/OpenNavigatorFolderTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.ui.tests.performance;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import junit.framework.Assert;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.navigator.ResourceNavigator;
-import org.osgi.framework.Bundle;
-
-/**
- * This class/test was originally written for WTP bug 106158, and adapted to a
- * generic "platform" test case, since some of the problem was due to bug
- * 107121
- * 
- * Thanks for Jeffrey Liu (jeffliu@ca.ibm.com) who wrote the test for WTP.
- * 
- * And, thanks to Eric Glass <ericglass@maximus.com> for opening bug 106158
- * (100% CPU for over 3 minutes opening a directory in the Navigator view with
- * over 2000 HTML files) https://bugs.eclipse.org/bugs/show_bug.cgi?id=106158
- * and for providing 2500 "generic" HTML files for the original test case in
- * WTP.
- * 
- * modified by David Williams for platform level test that does not depend on
- * WTP or, for that matter, any meaningful content type. The content type
- * assumed there is designed simply to "take a while" to complete, if asked
- * for its properties.
- * 
- * Note, since this test companion "ContentDescriberForTestsOnly", simply uses
- * "sleep" to simulate computations, it only effects Elapsed Time (not CPU
- * Time).
- * 
- */
-public class OpenNavigatorFolderTest extends PerformanceTestCase {
-	/*
-	 * performance testcase for bug 106158
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=106158
-	 */
-	public void testOpenNavigatorFolder() {
-		IProject project = createProject("testViewAndContentTypeProject");
-		Bundle bundle = Platform.getBundle("org.eclipse.ui.tests");
-		URL url = bundle.getEntry("data/testContentType.zip");
-		ZipInputStream zis = null;
-		try {
-			zis = new ZipInputStream(url.openStream());
-			ZipEntry entry = zis.getNextEntry();
-			while (entry != null) {
-				ByteArrayOutputStream baos = new ByteArrayOutputStream();
-				try {
-					byte[] b = new byte[2048];
-					int read = zis.read(b);
-					while (read != -1) {
-						baos.write(b, 0, read);
-						read = zis.read(b);
-					}
-				}
-				catch (IOException e) {
-					Assert.fail(e.getMessage());
-				}
-				finally {
-					try {
-						baos.close();
-					}
-					catch (IOException e) {
-						Assert.fail(e.getMessage());
-					}
-				}
-				IFile file = project.getFile(entry.getName());
-				ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
-				try {
-					if (!file.exists())
-						file.create(bais, true, new NullProgressMonitor());
-					else
-						file.setContents(bais, true, false, new NullProgressMonitor());
-				}
-				catch (CoreException e) {
-					Assert.fail(e.getMessage());
-				}
-				finally {
-					try {
-						bais.close();
-					}
-					catch (IOException e) {
-						Assert.fail(e.getMessage());
-					}
-				}
-				entry = zis.getNextEntry();
-			}
-		}
-		catch (IOException e) {
-			Assert.fail(e.getMessage());
-		}
-		finally {
-			try {
-				if (zis != null) {
-					zis.close();
-				}
-			}
-			catch (IOException e) {
-				Assert.fail(e.getMessage());
-			}
-		}
-		startMeasuring();
-		IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		IViewPart view = null;
-		try {
-			view = activePage.showView("org.eclipse.ui.views.ResourceNavigator");
-		}
-		catch (PartInitException e) {
-			Assert.fail(e.getMessage());
-		}
-		ResourceNavigator navigatorView = null;
-		try {
-			navigatorView = (ResourceNavigator) view;
-		}
-		catch (ClassCastException e) {
-			Assert.fail(e.getMessage());
-		}
-		navigatorView.getTreeViewer().expandAll();
-		stopMeasuring();
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	private IProject createProject(String name) {
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-		if (!project.exists()) {
-			try {
-				project.create(new NullProgressMonitor());
-				project.open(new NullProgressMonitor());
-			}
-			catch (CoreException e) {
-				Assert.fail(e.getMessage());
-			}
-		}
-		return project;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformancePerspective1.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformancePerspective1.java
deleted file mode 100644
index 5018779..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformancePerspective1.java
+++ /dev/null
@@ -1,29 +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.tests.performance;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * @since 3.1
- */
-public class PerformancePerspective1 implements IPerspectiveFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-     */
-    public void createInitialLayout(IPageLayout layout) {
-        layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.RIGHT, .75f, IPageLayout.ID_EDITOR_AREA);
-        layout.addView(IPageLayout.ID_PROP_SHEET, IPageLayout.BOTTOM, .75f, IPageLayout.ID_EDITOR_AREA);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformancePerspective2.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformancePerspective2.java
deleted file mode 100644
index 295d088..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformancePerspective2.java
+++ /dev/null
@@ -1,30 +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.tests.performance;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * @since 3.1
- */
-public class PerformancePerspective2 implements IPerspectiveFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-     */
-    public void createInitialLayout(IPageLayout layout) {
-    	layout.setEditorAreaVisible(false);
-        layout.addView(IPageLayout.ID_TASK_LIST, IPageLayout.RIGHT, .75f, IPageLayout.ID_EDITOR_AREA);
-        layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.BOTTOM, .75f, IPageLayout.ID_EDITOR_AREA);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformanceTestRunner.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformanceTestRunner.java
deleted file mode 100644
index a4d5d22..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformanceTestRunner.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 Eclipse Public License v1.0
- * which accompanies 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.tests.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Runs a test specified by the org.eclipse.ui.performance.test property.  
- * This test is prepped via the UIPerformanceTestSetup test setup.
- * 
- * @since 3.1
- */
-public class PerformanceTestRunner extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new UIPerformanceTestSetup(new PerformanceTestRunner());
-    }
-
-    public PerformanceTestRunner() {
-        String className = System.getProperty("org.eclipse.ui.performance.test");
-        try {
-            Class clazz = Class.forName(className);
-            if (TestSuite.class.isAssignableFrom(clazz))
-                addTest((Test) clazz.newInstance());
-            else
-                addTestSuite(clazz);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformanceTester.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformanceTester.java
deleted file mode 100644
index 41dacce..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerformanceTester.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import junit.framework.TestCase;
-
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-
-/**
- * @since 3.1
- */
-final class PerformanceTester {
-
-	protected PerformanceMeter fPerformanceMeter;
-
-	/**
-	 * @param testCase
-	 */
-	public PerformanceTester(TestCase testCase) {
-		Performance performance= Performance.getDefault();
-		fPerformanceMeter= performance.createPerformanceMeter(performance.getDefaultScenarioId(testCase));
-	}
-
-	/**
-	 * Asserts default properties of the measurements captured for this test
-	 * case.
-	 * 
-	 * @throws RuntimeException if the properties do not hold
-	 */
-	public void assertPerformance() {
-		Performance.getDefault().assertPerformance(fPerformanceMeter);
-	}
-
-	/**
-	 * Asserts that the measurement specified by the given dimension is within a
-	 * certain range with respect to some reference value. If the specified
-	 * dimension isn't available, the call has no effect.
-	 * 
-	 * @param dim
-	 *            the Dimension to check
-	 * @param lowerPercentage
-	 *            a negative number indicating the percentage the measured value
-	 *            is allowed to be smaller than some reference value
-	 * @param upperPercentage
-	 *            a positive number indicating the percentage the measured value
-	 *            is allowed to be greater than some reference value
-	 * @throws RuntimeException
-	 *            if the properties do not hold
-	 */
-	public void assertPerformanceInRelativeBand(Dimension dim, int lowerPercentage, int upperPercentage) {
-		Performance.getDefault().assertPerformanceInRelativeBand(fPerformanceMeter, dim, lowerPercentage, upperPercentage);
-	}
-
-	public void commitMeasurements() {
-		fPerformanceMeter.commit();
-	}
-
-	public void dispose() {
-		fPerformanceMeter.dispose();
-	}
-
-	/**
-	 * Called from within a test case immediately before the code to measure is
-	 * run. It starts capturing of performance data. Must be followed by a call
-	 * to {@link PerformanceTestCase#stopMeasuring()}before subsequent calls to
-	 * this method or {@link PerformanceTestCase#commitMeasurements()}.
-	 */
-	public void startMeasuring() {
-		fPerformanceMeter.start();
-	}
-
-	public void stopMeasuring() {
-		fPerformanceMeter.stop();
-	}
-
-	/**
-	 * Mark the scenario of this test case to be included both into the global
-	 * and the local (component) performance summary. The summary shows the given dimension of the
-	 * scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName
-	 *            a short (shorter than 40 characters) descritive name of the scenario
-	 * @param dimension
-	 *            the dimension to show in the summary
-	 */
-	public void tagAsGlobalSummary(String shortName, Dimension dimension) {
-		Performance.getDefault().tagAsGlobalSummary(fPerformanceMeter, shortName, new Dimension[] { dimension });
-	}
-
-	/**
-	 * Mark the scenario represented by the given PerformanceMeter to be
-	 * included into the global and the local (component) performance summary. The summary shows the given
-	 * dimensions of the scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName
-	 *            a short (shorter than 40 characters) descritive name of the scenario
-	 * @param dimensions
-	 *            an array of dimensions to show in the summary
-	 */
-	public void tagAsGlobalSummary(String shortName, Dimension[] dimensions) {
-		Performance.getDefault().tagAsGlobalSummary(fPerformanceMeter, shortName, dimensions);
-	}
-
-	/**
-	 * Mark the scenario of this test case to be included into the local (component)
-	 * performance summary. The summary shows the given dimension of the
-	 * scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName
-	 *            a short (shorter than 40 characters) descriptive name of the scenario
-	 * @param dimension
-	 *            the dimension to show in the summary
-	 */
-	public void tagAsSummary(String shortName, Dimension dimension) {
-		Performance.getDefault().tagAsSummary(fPerformanceMeter, shortName, new Dimension[] { dimension });
-	}
-
-	/**
-	 * Mark the scenario represented by the given PerformanceMeter to be
-	 * included into the local (component) performance summary. The summary shows the given
-	 * dimensions of the scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName
-	 *            a short (shorter than 40 characters) descriptive name of the scenario
-	 * @param dimensions
-	 *            an array of dimensions to show in the summary
-	 */
-	public void tagAsSummary(String shortName, Dimension[] dimensions) {
-		Performance.getDefault().tagAsSummary(fPerformanceMeter, shortName, dimensions);
-	}
-
-	/**
-	 * Set a degradation comment for the current meter.
-	 * @param string
-	 */
-	public void setDegradationComment(String string) {
-		Performance.getDefault().setComment(
-				fPerformanceMeter, 
-				Performance.EXPLAINS_DEGRADATION_COMMENT, 
-				string);
-		
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerspectiveSwitchTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerspectiveSwitchTest.java
deleted file mode 100644
index 97e4c98..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/PerspectiveSwitchTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * Test perspective switching.
- */
-public class PerspectiveSwitchTest extends BasicPerformanceTest {
-
-    private String id1;
-    private String id2;
-    private String activeEditor;
-
-    /**
-     * Constructor.
-     * 
-     * @param id
-     */
-    public PerspectiveSwitchTest(String [] ids, int tagging) {
-        super("testPerspectiveSwitch:" + ids[0] + "," + ids[1] + ",editor " + ids[2], tagging);
-        this.id1 = ids[0];
-        this.id2 = ids[1];
-        this.activeEditor = ids[2];
-    }
-	
-    /**
-     * Test perspective switching performance. 
-     */
-    protected void runTest() throws CoreException, WorkbenchException {
-        // Get the two perspectives to switch between.
-        final IPerspectiveRegistry registry = WorkbenchPlugin.getDefault()
-                .getPerspectiveRegistry();
-        final IPerspectiveDescriptor perspective1 = registry
-                .findPerspectiveWithId(id1);
-        final IPerspectiveDescriptor perspective2 = registry
-                .findPerspectiveWithId(id2);
-
-        // Don't fail if we reference an unknown perspective ID. This can be
-        // a normal occurrance since the test suites reference JDT perspectives, which
-        // might not exist. Just skip the test.
-        if (perspective1 == null) {
-            System.out.println("Unknown perspective ID: " + id1);
-            return;
-        }
-
-        if (perspective2 == null) {
-            System.out.println("Unknown perspective ID: " + id2);
-            return;
-        }
-        
-        // Open the two perspectives and the file, in a new window.
-        // Do this outside the loop so as not to include
-        // the initial time to open, just switching.        
-        IWorkbenchWindow window = openTestWindow(id1);
-        final IWorkbenchPage page = window.getActivePage();
-        assertNotNull(page);
-        page.setPerspective(perspective2);
-        
-        //IFile aFile = getProject().getFile("1." + EditorPerformanceSuite.EDITOR_FILE_EXTENSIONS[0]);
-        IFile aFile = getProject().getFile(activeEditor);
-        assertTrue(aFile.exists());
-
-        IDE.openEditor(page, aFile, true);
-
-       	tagIfNecessary("UI - Perspective Switch", Dimension.ELAPSED_PROCESS);
-        
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                processEvents();
-                
-                startMeasuring();
-                page.setPerspective(perspective1);
-                processEvents();
-                page.setPerspective(perspective2);
-                processEvents();
-                stopMeasuring();
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ResourceTestHelper.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ResourceTestHelper.java
deleted file mode 100644
index 5a155e2..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ResourceTestHelper.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 Eclipse Public License v1.0
- * which accompanies 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.tests.performance;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceDescription;
-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.Path;
-import org.eclipse.ui.tests.harness.util.FileTool;
-
-public class ResourceTestHelper {
-
-	public static void replicate(String src, String destPrefix, String destSuffix, int n) throws CoreException {
-		for (int i= 0; i < n; i++)
-			copy(src, destPrefix + i + destSuffix);
-	}
-
-	public static void copy(String src, String dest) throws CoreException {
-		IFile file= getRoot().getFile(new Path(src));
-		file.copy(new Path(dest), true, null);
-	}
-
-	public static void delete(String file) throws CoreException {
-		getRoot().getFile(new Path(file)).delete(true, null);
-	}
-
-	public static IFile findFile(String path) {
-		return getRoot().getFile(new Path(path));
-	}
-
-	public static IFile[] findFiles(String prefix, String suffix, int i, int n) {
-		IWorkspaceRoot root= getRoot();
-		List files= new ArrayList(n - i);
-		for (int j= i; j < i + n; j++) {
-			String path= root.getLocation().toString() + "/" + prefix + j + suffix;
-			files.add(findFile(path));
-		}
-		return (IFile[]) files.toArray(new IFile[files.size()]);
-	}
-
-	public static StringBuffer read(String src) throws IOException, CoreException {
-		return FileTool.read(new InputStreamReader(getRoot().getFile(new Path(src)).getContents()));
-	}
-
-	public static void write(String dest, final String content) throws IOException, CoreException {
-		InputStream stream= new InputStream() {
-			private Reader fReader= new StringReader(content);
-			public int read() throws IOException {
-				return fReader.read();
-			}
-		};
-		getRoot().getFile(new Path(dest)).create(stream, true, null);
-	}
-	
-
-	public static void replicate(String src, String destPrefix, String destSuffix, int n, String srcName, String destNamePrefix) throws IOException, CoreException {
-		
-		StringBuffer s= read(src);
-		
-		List positions= identifierPositions(s, srcName);
-		
-		for (int j= 0; j < n; j++) {
-			StringBuffer c= new StringBuffer(s.toString());
-			replacePositions(c, srcName.length(), destNamePrefix + j, positions);
-			write(destPrefix + j + destSuffix, c.toString());
-		}
-	}
-
-	public static void copy(String src, String dest, String srcName, String destName) throws IOException, CoreException {
-		StringBuffer buf= read(src);
-		List positions= identifierPositions(buf, srcName);
-		replacePositions(buf, srcName.length(), destName, positions);
-		write(dest, buf.toString());
-	}
-
-	private static void replacePositions(StringBuffer c, int origLength, String string, List positions) {
-		int offset= 0;
-		for (Iterator iter= positions.iterator(); iter.hasNext();) {
-			int position= ((Integer) iter.next()).intValue();
-			c.replace(offset + position, offset + position + origLength, string);
-			offset += string.length() - origLength;
-		}
-	}
-
-	private static List identifierPositions(StringBuffer buffer, String identifier) {
-		List positions= new ArrayList();
-		int i= -1;
-		while (true) {
-			i= buffer.indexOf(identifier, i + 1);
-			if (i == -1)
-				break;
-			if (i > 0 && Character.isJavaIdentifierPart(buffer.charAt(i - 1)))
-				continue;
-			if (i < buffer.length() - 1 && Character.isJavaIdentifierPart(buffer.charAt(i + identifier.length())))
-				continue;
-			positions.add(new Integer(i));
-		}
-		return positions;
-	}
-
-	private static IWorkspaceRoot getRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	public static boolean enableAutoBuilding() {
-		IWorkspaceDescription description= ResourcesPlugin.getWorkspace().getDescription();
-		boolean wasOff= !description.isAutoBuilding();
-		if (wasOff)
-			description.setAutoBuilding(true);
-		return wasOff;
-	}
-
-	public static void incrementalBuild() throws CoreException {
-		ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, null);
-	}
-
-	public static void fullBuild() throws CoreException {
-		ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
-	}
-
-	public static boolean disableAutoBuilding() {
-		IWorkspaceDescription description= ResourcesPlugin.getWorkspace().getDescription();
-		boolean wasOn= description.isAutoBuilding();
-		if (wasOn)
-			description.setAutoBuilding(false);
-		return wasOn;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/TestRunnable.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/TestRunnable.java
deleted file mode 100644
index 825e871..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/TestRunnable.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-public abstract class TestRunnable {
-    public abstract void run() throws Exception;
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformancePlugin.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformancePlugin.java
deleted file mode 100644
index c1e9efb..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformancePlugin.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.ui.tests.performance;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UIPerformancePlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static UIPerformancePlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public UIPerformancePlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 *
-	 * @return the shared instance.
-	 */
-	public static UIPerformancePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.tests.performance", path);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformanceTestSetup.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformanceTestSetup.java
deleted file mode 100644
index f972145..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformanceTestSetup.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import java.io.ByteArrayInputStream;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-public class UIPerformanceTestSetup extends TestSetup {
-
-	public static final String PERSPECTIVE1= "org.eclipse.ui.tests.performancePerspective1";
-	public static final String PERSPECTIVE2= "org.eclipse.ui.tests.performancePerspective2";
-
-	public static final String PROJECT_NAME = "Performance Project";
-
-	private static final String INTRO_VIEW= "org.eclipse.ui.internal.introview";
-
-    private IProject testProject;
-	
-	public UIPerformanceTestSetup(Test test) {
-		super(test);		
-	}
-
-	/*
-	 * @see junit.extensions.TestSetup#setUp()
-	 */
-	protected void setUp() throws Exception {
-		IWorkbench workbench= PlatformUI.getWorkbench();
-		IWorkbenchWindow activeWindow= workbench.getActiveWorkbenchWindow();
-		IWorkbenchPage activePage= activeWindow.getActivePage();
-		
-		activePage.hideView(activePage.findViewReference(INTRO_VIEW));
-		
-		workbench.showPerspective(PERSPECTIVE1, activeWindow);
-		
-		boolean wasAutobuilding= ResourceTestHelper.disableAutoBuilding();
-		setUpProject();
-		ResourceTestHelper.fullBuild();
-		if (wasAutobuilding) {
-			ResourceTestHelper.enableAutoBuilding();
-			EditorTestHelper.calmDown(2000, 30000, 1000);
-		}
-	}
-	
-	/*
-	 * @see junit.extensions.TestSetup#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		// do nothing, the set up workspace will be used by the open editor tests
-		
-		/* 
-		 * ensure the workbench state gets saved when running with the Automated Testing Framework
-                 * TODO: remove when https://bugs.eclipse.org/bugs/show_bug.cgi?id=71362 is fixed
-                 */
-		StackTraceElement[] elements=  new Throwable().getStackTrace();
-		for (int i= 0; i < elements.length; i++) {
-			StackTraceElement element= elements[i];
-			if (element.getClassName().equals("org.eclipse.test.EclipseTestRunner")) {
-				PlatformUI.getWorkbench().close();
-				break;
-			}
-		}
-	}
-	
-	private void setUpProject() throws CoreException {
-   
-        // Create a java project.
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        testProject = workspace.getRoot().getProject(PROJECT_NAME);
-        testProject.create(null);
-        testProject.open(null);        
-        /*IProjectDescription projectDescription = testProject.getDescription();
-        String[] natureIds = { "org.eclipse.jdt.core.javanature" };
-        projectDescription.setNatureIds(natureIds);*/
-       /*ICommand buildCommand = new BuildCommand();
-        buildCommand.setBuilderName("org.eclipse.jdt.core.javabuilder");
-        projectDescription.setBuildSpec(new ICommand[] { buildCommand });
-        testProject.setDescription(projectDescription, null);*/
-        
-        for (int i = 0; i < EditorPerformanceSuite.EDITOR_FILE_EXTENSIONS.length; i++) {
-            createFiles(EditorPerformanceSuite.EDITOR_FILE_EXTENSIONS[i]);
-        }
-	}
-
-    
-    /**
-     * @param ext
-     * @throws CoreException
-     */
-    private void createFiles(String ext) throws CoreException {
-        for (int i = 0; i < 100; i++) {
-            String fileName = i + "." + ext;
-	        IFile iFile = testProject.getFile(fileName);
-	        iFile.create(new ByteArrayInputStream(new byte[] { '\n' }), true, null);
-        }
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformanceTestSuite.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformanceTestSuite.java
deleted file mode 100644
index 06559a3..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/UIPerformanceTestSuite.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ui.tests.performance.presentations.PresentationPerformanceTestSuite;
-
-/**
- * Test all areas of the UI API.
- */
-public class UIPerformanceTestSuite extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-    	return new UIPerformanceTestSetup(new UIPerformanceTestSuite());
-    }
-
-    /**
-     * Construct the test suite.
-     */
-    public UIPerformanceTestSuite() {
-        addTest(new ActivitiesPerformanceSuite());
-        addTest(new PresentationPerformanceTestSuite());
-        addTest(new WorkbenchPerformanceSuite());
-        addTest(new ViewPerformanceSuite());
-        addTest(new EditorPerformanceSuite());
-        addTest(new TestSuite(CommandsPerformanceTest.class));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ViewPerformanceSuite.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ViewPerformanceSuite.java
deleted file mode 100644
index 5c1617c..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/ViewPerformanceSuite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import java.util.HashSet;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.tests.performance.layout.ResizeTest;
-import org.eclipse.ui.tests.performance.layout.ViewWidgetFactory;
-import org.eclipse.ui.views.IViewDescriptor;
-
-/**
- * @since 3.1
- */
-public class ViewPerformanceSuite extends TestSuite {
-
-	public static final String RESOURCE_NAVIGATOR = "org.eclipse.ui.views.ResourceNavigator";
-
-	public static final String BASIC_PATH = "org.eclipse.ui";
-	
-	public static final String VIEWS_PATTERN = "org.eclipse.ui.views";
-
-	// public static final String [] VIEW_IDS = {BASIC_VIEW,
-	// IPageLayout.ID_RES_NAV, MockViewPart.ID};
-
-	/**
-	 * Returns the suite. This is required to use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new ViewPerformanceSuite();
-	}
-
-	/**
-	 * 
-	 */
-	public ViewPerformanceSuite() {
-		addOpenCloseTests();
-		addResizeTests();
-		addTestSuite(OpenNavigatorFolderTest.class);
-	}
-
-	/**
-	 * 
-	 */
-	private void addOpenCloseTests() {
-		String[] ids = getAllTestableViewIds();
-
-		for (int i = 0; i < ids.length; i++) {
-			String id = ids[i];
-
-			// Use the BASIC_VIEW as the fingerprint test.
-			// Do not change this as this is an empty view
-			// and not dependant on other components
-			addTest(new OpenCloseViewTest(id,
-					id.equals(RESOURCE_NAVIGATOR) ? BasicPerformanceTest.GLOBAL
-							: BasicPerformanceTest.NONE));
-		}
-	}
-
-	private void addResizeTests() {
-		String[] ids = getAllTestableViewIds();
-
-		for (int i = 0; i < ids.length; i++) {
-			String id = ids[i];
-
-			addTest(new ResizeTest(new ViewWidgetFactory(id)));
-		}
-
-	}
-
-	public static String[] getAllTestableViewIds() {
-		HashSet result = new HashSet();
-
-		IViewDescriptor[] descriptors = Workbench.getInstance()
-				.getViewRegistry().getViews();
-		for (int i = 0; i < descriptors.length; i++) {
-			IViewDescriptor descriptor = descriptors[i];
-			String[] categoryPath = descriptor.getCategoryPath();
-
-			if (categoryPath == null)
-				continue;
-
-			for (int j = 0; j < categoryPath.length; j++) {
-				// Only test basic views
-				if (categoryPath[j].equals(BASIC_PATH)){
-					if(descriptor.getId().indexOf(VIEWS_PATTERN) >= 0) {
-						result.add(descriptor.getId());
-				}}
-			}
-
-		}
-
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/WorkbenchPerformanceSuite.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/WorkbenchPerformanceSuite.java
deleted file mode 100644
index 1f5dbb9..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/WorkbenchPerformanceSuite.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.tests.harness.util.EmptyPerspective;
-import org.eclipse.ui.tests.performance.layout.ComputeSizeTest;
-import org.eclipse.ui.tests.performance.layout.LayoutTest;
-import org.eclipse.ui.tests.performance.layout.PerspectiveWidgetFactory;
-import org.eclipse.ui.tests.performance.layout.RecursiveTrimLayoutWidgetFactory;
-import org.eclipse.ui.tests.performance.layout.ResizeTest;
-import org.eclipse.ui.tests.performance.layout.TestWidgetFactory;
-
-/**
- * @since 3.1
- */
-class WorkbenchPerformanceSuite extends TestSuite {
-
-	private static String RESOURCE_PERSPID = "org.eclipse.ui.resourcePerspective";
-    // Note: to test perspective switching properly, we need perspectives with lots of
-    // associated actions. 
-	// NOTE - do not change the order of the IDs below.  the PerspectiveSwitchTest has a 
-	// fingerprint test for performance that releys on this not changing.
-    public static final String [] PERSPECTIVE_IDS = {
-        EmptyPerspective.PERSP_ID2,
-        UIPerformanceTestSetup.PERSPECTIVE1, 
-        RESOURCE_PERSPID,
-        "org.eclipse.jdt.ui.JavaPerspective", 
-        "org.eclipse.debug.ui.DebugPerspective"};
-    
-    // Perspective ID to use for the resize window fingerprint test
-    public static String resizeFingerprintTest = RESOURCE_PERSPID; 
-    
-    public static final String [][] PERSPECTIVE_SWITCH_PAIRS = {
-        // Test switching between the two most commonly used perspectives in the SDK (this is the most important
-        // perspective switch test, but it is easily affected by changes in JDT, etc.)
-        {"org.eclipse.jdt.ui.JavaPerspective", "org.eclipse.debug.ui.DebugPerspective", "1.java"},
-        
-        {UIPerformanceTestSetup.PERSPECTIVE1, UIPerformanceTestSetup.PERSPECTIVE2, "1.perf_basic"},
-		
-        {"org.eclipse.ui.tests.dnd.dragdrop", "org.eclipse.ui.tests.fastview_perspective", "1.perf_basic"},
-        
-        // Test switching between a perspective with lots of actions and a perspective with none
-        {"org.eclipse.jdt.ui.JavaPerspective", "org.eclipse.ui.tests.util.EmptyPerspective", "1.perf_basic"},
-        
-        {RESOURCE_PERSPID, "org.eclipse.jdt.ui.JavaPerspective", "1.java"} 
-    };
-    
-    public static final String[] VIEW_IDS = {
-        "org.eclipse.ui.views.ProblemView",
-        "org.eclipse.ui.views.ResourceNavigator"
-    };
-    public static final int ITERATIONS = 25;
-    
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new WorkbenchPerformanceSuite();
-    }
-    
-    /**
-     * 
-     */
-    public WorkbenchPerformanceSuite() {
-        addLayoutScenarios();
-        addResizeScenarios();
-        addPerspectiveSwitchScenarios();
-        addPerspectiveOpenCloseScenarios();
-        addWindowOpenCloseScenarios();
-        addContributionScenarios();
-    }
-
-    /**
-	 * 
-	 */
-	private void addContributionScenarios() {
-        addTest(new ObjectContributionsPerformance(
-                "large selection, limited contributors",
-                ObjectContributionsPerformance.generateAdaptableSelection(
-                        ObjectContributionsPerformance.SEED, 5000),
-                BasicPerformanceTest.NONE));
-        addTest(new ObjectContributionsPerformance(
-                "limited selection, limited contributors",
-                ObjectContributionsPerformance.generateAdaptableSelection(
-                        ObjectContributionsPerformance.SEED, 50),
-                BasicPerformanceTest.NONE));
-	}
-
-	/**
-     * 
-     */
-    private void addWindowOpenCloseScenarios() {
-        for (int i = 0; i < PERSPECTIVE_IDS.length; i++) {
-            addTest(new OpenCloseWindowTest(PERSPECTIVE_IDS[i], i == 0 ? BasicPerformanceTest.LOCAL : BasicPerformanceTest.NONE));
-        }        
-    }
-
-    /**
-     * 
-     *
-     */
-    private void addPerspectiveOpenCloseScenarios() {
-        for (int i = 0; i < PERSPECTIVE_IDS.length; i++) {
-            addTest(new OpenClosePerspectiveTest(PERSPECTIVE_IDS[i], i == 1 ? BasicPerformanceTest.LOCAL : BasicPerformanceTest.NONE));
-        }
-    }
-    
-    /**
-     * 
-     */
-    private void addPerspectiveSwitchScenarios() {
-        for (int i = 0; i < PERSPECTIVE_SWITCH_PAIRS.length; i++) {
-            addTest(new PerspectiveSwitchTest(PERSPECTIVE_SWITCH_PAIRS[i], i == 0 ? BasicPerformanceTest.GLOBAL : BasicPerformanceTest.NONE));            
-        }   
-    }
-    
-    /**
-     * Add performance tests for the layout of the given widget 
-     * 
-     * @param factory
-     * @since 3.1
-     */
-    private void addLayoutScenarios(TestWidgetFactory factory) {
-        
-        // Determine the effect of flushing the cache
-        addTest(new ComputeSizeTest(factory));
-        
-        // Test layout(false)
-        addTest(new LayoutTest(factory, false));
-        
-        // Test layout(true)
-        addTest(new LayoutTest(factory, true));
-        
-        // Test resizing
-        addTest(new ResizeTest(factory));
-    }
-
-    private void addLayoutScenarios() {
-        addLayoutScenarios(new RecursiveTrimLayoutWidgetFactory());
-    }
-    
-    public static String[] getAllPerspectiveIds() {
-        ArrayList result = new ArrayList();
-        IPerspectiveDescriptor[] perspectives = Workbench.getInstance().getPerspectiveRegistry().getPerspectives();
-        
-        for (int i = 0; i < perspectives.length; i++) {
-            IPerspectiveDescriptor descriptor = perspectives[i];
-            String id = descriptor.getId();
-            result.add(id);
-        }
-
-        return (String[]) result.toArray(new String[result.size()]);
-    }
-    
-    /**
-     * 
-     */
-    private void addResizeScenarios() {
-        String[] perspectiveIds = getAllPerspectiveIds();
-        for (int i = 0; i < perspectiveIds.length; i++) {
-            String id = perspectiveIds[i];
-            addTest(new ResizeTest(new PerspectiveWidgetFactory(id), 
-                    id.equals(resizeFingerprintTest) ? BasicPerformanceTest.LOCAL : BasicPerformanceTest.NONE, 
-                            "UI - Workbench Window Resize"));
-        }
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ComputeSizeTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ComputeSizeTest.java
deleted file mode 100644
index 92c07f5..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ComputeSizeTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.layout;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-/**
- * Measures the performance of a widget's computeSize method
- * 
- * @since 3.1
- */
-public class ComputeSizeTest extends BasicPerformanceTest {
-
-    private TestWidgetFactory widgetFactory;
-    private int xIterations = 10;
-    private int yIterations = 10;
-    
-    /**
-     * @param testName
-     */
-    public ComputeSizeTest(TestWidgetFactory widgetFactory) {
-        super(widgetFactory.getName() + " computeSize");
-        
-        this.widgetFactory = widgetFactory;
-    }
-
-    /**
-     * Run the test
-     */
-    protected void runTest() throws CoreException, WorkbenchException {
-
-        widgetFactory.init();
-        final Composite widget = widgetFactory.getControl();
-        //Rectangle initialBounds = widget.getBounds();
-        final Point maxSize = widgetFactory.getMaxSize();
-        
-        // Iteration counter. We increment this each pass through the loop in order to 
-        // generate slightly different test data each time
-        final int[] counter = new int[] {0};
-        
-        exercise(new TestRunnable() {
-           public void run() {
-        
-               // This counter determines whether we're computing a width, height, or fixed
-               // size and whether or not we flush the cache. 
-               
-               // We do things this way to avoid calling computeSize with the same (or similar) values
-               // twice in a row, which would be too easy to cache.
-               int count = counter[0];
-               
-               startMeasuring();
-               
-               for (int xIteration = 0; xIteration < xIterations; xIteration++) {
-                   
-                   for (int yIteration = 0; yIteration < yIterations; yIteration++) {
-                       // Avoid giving the same x value twice in a row in order to make it hard to cache
-                       int xSize = maxSize.x * ((xIteration + yIteration) % xIterations) / xIterations;
-                       int ySize = maxSize.y * yIteration / yIterations;
-
-                       // Alternate between flushing and not flushing the cache
-                       boolean flushState = (count % 2) != 0;
-                       
-                       // Alternate between width, height, and fixed, and default size queries 
-                       // (note: we need to alternate in order to make the result hard to cache)
-                       switch(count % 4) {
-                           case 0: widget.computeSize(xSize, SWT.DEFAULT, flushState); break;
-                           case 1: widget.computeSize(SWT.DEFAULT, ySize, flushState); break;
-                           case 2: widget.computeSize(xSize, ySize, flushState); break;
-                           case 3: widget.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushState); break;
-                       }
-
-                       count++;
-                   }
-               }
-               
-               stopMeasuring();
-               
-               processEvents();
-               
-               counter[0]++;               
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance();
-        widgetFactory.done();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ConstantAreaLayout.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ConstantAreaLayout.java
deleted file mode 100644
index 3fb1d6f..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ConstantAreaLayout.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.performance.layout;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Layout;
-
-/**
- * A very efficient (but useless) layout with complicated preferred size behavior.
- * Its preferred size attempts to maintain a constant area. This can be used for 
- * performance testing other layouts (by attaching this to child Composites in the 
- * layout being tested). It will give a good estimate as to how the layout will
- * handle wrapping widgets.
- * 
- * @since 3.1
- */
-public class ConstantAreaLayout extends Layout {
-
-    private int area;
-    private int preferredWidth;
-    
-    public ConstantAreaLayout(int area, int preferredWidth) {
-        this.area = area;
-        this.preferredWidth = preferredWidth;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean)
-     */
-    protected Point computeSize(Composite composite, int wHint, int hHint,
-            boolean flushCache) {
-        
-        if (wHint == 0 || hHint == 0) {
-            return new Point(1,1);
-        }
-        
-        if (wHint == SWT.DEFAULT) {
-            if (hHint == SWT.DEFAULT) {
-                wHint = preferredWidth;
-            } else {
-                wHint = area / hHint;
-            }
-        }
-        
-        if (hHint == SWT.DEFAULT) {
-            hHint = area / wHint;
-        }
-        
-        return new Point(wHint, hHint);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean)
-     */
-    protected void layout(Composite composite, boolean flushCache) {
-
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/EditorWidgetFactory.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/EditorWidgetFactory.java
deleted file mode 100644
index ad36766..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/EditorWidgetFactory.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.layout;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.EditorSite;
-import org.eclipse.ui.internal.PartPane;
-import org.eclipse.ui.tests.harness.util.EmptyPerspective;
-import org.eclipse.ui.tests.harness.util.UITestCase;
-import org.eclipse.ui.tests.performance.UIPerformanceTestSetup;
-
-/**
- * @since 3.1
- */
-public class EditorWidgetFactory extends TestWidgetFactory {
-
-    private String editorId;
-    private String filename;
-    private IWorkbenchWindow window;
-    private Composite ctrl;
-    
-    public EditorWidgetFactory(String filename) {
-        this.filename = filename;
-        this.editorId = null;
-    }
-    
-    public EditorWidgetFactory(String filename, String editorId) {
-        this.filename = filename;
-        this.editorId = editorId;
-    }
-    
-    public static Composite getControl(IEditorPart part) {
-		EditorSite site = (EditorSite)part.getSite();
-		
-		PartPane pane = site.getPane();
-        
-		return (Composite)pane.getControl();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#getName()
-     */
-    public String getName() {
-        return "editor " + filename + (editorId != null ? editorId : "");
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#init()
-     */
-    public void init() throws CoreException, WorkbenchException {
-
-		// Open an editor in a new window.
-        window = PlatformUI.getWorkbench().openWorkbenchWindow(EmptyPerspective.PERSP_ID, UITestCase.getPageInput());
-		IWorkbenchPage activePage = window.getActivePage();
-        Assert.assertNotNull(activePage);
-		
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IProject testProject = workspace.getRoot().getProject(UIPerformanceTestSetup.PROJECT_NAME);
-        IFile file = testProject.getFile(filename);
-		
-        if (editorId == null) {
-            editorId = IDE.getEditorDescriptor(file).getId();
-        }
-        
-        IEditorPart part = IDE.openEditor(activePage, file, editorId, true);
-        ctrl = getControl(part);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#getControl()
-     */
-    public Composite getControl() throws CoreException, WorkbenchException {
-        return ctrl;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#done()
-     */
-    public void done() throws CoreException, WorkbenchException {
-    	window.close();
-    	super.done();
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/LayoutTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/LayoutTest.java
deleted file mode 100644
index 1f2ee1d..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/LayoutTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.layout;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-/**
- * Measures the time required to layout the widget 10 times. Does not include the time
- * required for any deferred repaints.
- * 
- * @since 3.1
- */
-public class LayoutTest extends BasicPerformanceTest {
-
-    private TestWidgetFactory widgetFactory;
-    private int xIterations = 10;
-    private int yIterations = 10;
-    private boolean flushState;
-    
-    /**
-     * @param testName
-     */
-    public LayoutTest(TestWidgetFactory widgetFactory, boolean flushState) {
-        super(widgetFactory.getName() + " layout(" + (flushState ? "true" : "false") + ")");
-        
-        this.widgetFactory = widgetFactory;
-        this.flushState = flushState;
-    }
-
-    /**
-     * Run the test
-     */
-    protected void runTest() throws CoreException, WorkbenchException {
-
-        widgetFactory.init();
-        final Composite widget = widgetFactory.getControl();
-        final Point maxSize = widgetFactory.getMaxSize();
-        Rectangle initialBounds = widget.getBounds();
-        final Rectangle newBounds = Geometry.copy(initialBounds);
-        
-        exercise(new TestRunnable() {
-            public void run() {
-                for (int xIteration = 0; xIteration < xIterations; xIteration++) {
-                    
-                    processEvents();
-        
-                    startMeasuring();
-                    
-                    for (int yIteration = 0; yIteration < yIterations; yIteration++) {
-                        // Avoid giving the same x value twice in a row in order to make it hard to cache
-                        int xSize = maxSize.x * ((xIteration + yIteration) % xIterations) / xIterations;
-                        int ySize = maxSize.y * yIteration / yIterations;
-                        
-                        newBounds.width = xSize;
-                        newBounds.height = ySize;
-                        
-                        widget.setBounds(newBounds);
-                        widget.layout(flushState);
-                    }
-                    
-                    stopMeasuring();
-                }
-            }
-        });
-        
-        commitMeasurements();
-        assertPerformance();
-        
-        widget.setBounds(initialBounds);
-        widgetFactory.done();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/PerspectiveWidgetFactory.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/PerspectiveWidgetFactory.java
deleted file mode 100644
index b8ab1dd..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/PerspectiveWidgetFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.layout;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.tests.harness.util.UITestCase;
-
-/**
- * @since 3.1
- */
-public class PerspectiveWidgetFactory extends TestWidgetFactory {
-
-    private String perspectiveId;
-    private IWorkbenchWindow window;
-    
-    public PerspectiveWidgetFactory(String initialPerspective) {
-        perspectiveId = initialPerspective;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.TestWidgetFactory#getMaxSize()
-     */
-    public Point getMaxSize() {
-        return new Point(1024, 768);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.TestWidgetFactory#init()
-     */
-    public void init() throws WorkbenchException {
-    	// open the perspective in a new window
-        window = PlatformUI.getWorkbench().openWorkbenchWindow(perspectiveId, UITestCase.getPageInput());
-		IWorkbenchPage page = window.getActivePage();
-        Assert.assertNotNull(page);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.TestWidgetFactory#getName()
-     */
-    public String getName() {
-        return "Perspective " + perspectiveId;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.TestWidgetFactory#getControl()
-     */
-    public Composite getControl() {
-        return window.getShell();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#done()
-     */
-    public void done() throws CoreException, WorkbenchException {
-    	window.close();
-    	super.done();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/PresentationWidgetFactory.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/PresentationWidgetFactory.java
deleted file mode 100644
index 26b4f0e..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/PresentationWidgetFactory.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.layout;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.presentations.PresentationFactoryUtil;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.tests.performance.UIPerformancePlugin;
-import org.eclipse.ui.tests.performance.presentations.PresentationTestbed;
-import org.eclipse.ui.tests.performance.presentations.TestPresentablePart;
-
-public class PresentationWidgetFactory extends TestWidgetFactory {
-
-    private AbstractPresentationFactory factory;
-    private int type;
-    private Shell shell;
-    private Image img;
-    private Control ctrl;
-    private int numParts;
-    
-    public PresentationWidgetFactory(AbstractPresentationFactory factory, int type, int numParts) {
-        this.factory = factory;
-        this.type = type;
-        this.numParts = numParts;
-    }
-    
-    public void init() throws CoreException, WorkbenchException {
-        super.init();
-        
-        img = UIPerformancePlugin.getImageDescriptor("icons/anything.gif").createImage();
-        Display display = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().getDisplay();
-        
-        shell = new Shell(display);
-    
-        TestPresentablePart selection = null;
-        PresentationTestbed testBed = new PresentationTestbed(shell, factory, type);
-        for(int partCount = 0; partCount < numParts; partCount++) {
-            TestPresentablePart part = new TestPresentablePart(shell, img);
-            part.setName("Some part");
-            part.setContentDescription("Description");
-            part.setTitle("Some title");
-            part.setDirty(partCount % 2 == 0);
-            part.setTooltip("This is a tooltip");
-            testBed.add(part);
-            selection = part;
-        }
-        
-        testBed.setSelection(selection);
-        
-        ctrl = testBed.getControl();
-        shell.setBounds(0,0,1024,768);
-        ctrl.setBounds(shell.getClientArea());
-        shell.setVisible(true);
-    }
-    
-    public void done() throws CoreException, WorkbenchException {
-        shell.dispose();
-        img.dispose();
-
-        super.done();
-    }
-    
-    public static String describePresentation(AbstractPresentationFactory factory, int type) {
-        String typeDesc = "unknown";
-        
-        switch(type) {
-        case PresentationFactoryUtil.ROLE_EDITOR: typeDesc = "editor"; break;
-        case PresentationFactoryUtil.ROLE_STANDALONE: typeDesc = "standalone with title"; break;
-        case PresentationFactoryUtil.ROLE_STANDALONE_NOTITLE: typeDesc = "standalone without title"; break;
-        case PresentationFactoryUtil.ROLE_VIEW: typeDesc = "view"; break;
-        }
-        
-        return "Presentation " + factory.getId() + " " + typeDesc;
-        
-    }
-    
-    public String getName() {
-        return describePresentation(factory, type);
-    }
-
-    public Composite getControl() throws CoreException, WorkbenchException {
-        return (Composite)ctrl;
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/RecursiveTrimLayoutWidgetFactory.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/RecursiveTrimLayoutWidgetFactory.java
deleted file mode 100644
index 05ae375..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/RecursiveTrimLayoutWidgetFactory.java
+++ /dev/null
@@ -1,120 +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.tests.performance.layout;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.WindowTrimProxy;
-import org.eclipse.ui.internal.layout.TrimLayout;
-
-/**
- * @since 3.1
- */
-public class RecursiveTrimLayoutWidgetFactory extends TestWidgetFactory {
-
-    private Shell shell;
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#getName()
-     */
-    public String getName() {
-        return "Massively Recursive TrimLayout";
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#done()
-     */
-    public void done() throws CoreException, WorkbenchException {
-        super.done();
-        
-        shell.dispose();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#init()
-     */
-    public void init() throws CoreException, WorkbenchException {
-        super.init();
-        
-		Display display = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().getDisplay();
-		
-		shell = new Shell(display);
-	
-		createTrimLayout(shell, 10, SWT.TOP);
-		
-		shell.setBounds(0,0,1024,768);
-		shell.setVisible(true);
-    }
-    
-    
-    /**
-     * Create a set of recursive trim layouts with the given depth. That is, the
-     * trim controls themselves are also trim layouts. This ensures that TrimLayout 
-     * can handle 
-     * Note that this
-     * will create O(2^depth) children.
-     * 
-     * @param composite
-     * @param depth
-     * @param side
-     * @since 3.1
-     */
-    public void createTrimLayout(Composite composite, int depth, int side) {
-        if (depth == 0) {
-            composite.setLayout(new ConstantAreaLayout(5000, 300));
-        } else {
-            TrimLayout layout = new TrimLayout();
-            
-            composite.setLayout(layout);
-            
-            int nextSide = SWT.TOP; 
-            
-            switch (side) {
-            	case SWT.TOP : nextSide = SWT.RIGHT; break;
-            	case SWT.RIGHT : nextSide = SWT.BOTTOM; break;
-            	case SWT.BOTTOM : nextSide = SWT.LEFT; break;
-            	case SWT.LEFT : nextSide = SWT.TOP; break;
-            }
-            
-            // Add a resizable child
-            Composite child = new Composite(composite, SWT.NONE);
-            WindowTrimProxy proxy = new WindowTrimProxy(child, 
-            		"child1." + side + "." + depth, "Resizable Child", side, true);
-            layout.addTrim(side, proxy);
-            createTrimLayout(child, depth - 1, nextSide); 
-
-            // Add a non-resizable child
-            child = new Composite(composite, SWT.NONE);
-            proxy = new WindowTrimProxy(child, 
-            		"child2." + side + "." + depth, "Non-Resizable Child", side, false);
-            layout.addTrim(side, proxy);
-            createTrimLayout(child, depth - 1, nextSide);
-            
-            // Fill the client area
-            child = new Composite(composite, SWT.NONE);
-            layout.setCenterControl(child);
-            child.setLayout(new ConstantAreaLayout(3000, 150));
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#getControl()
-     */
-    public Composite getControl() throws CoreException, WorkbenchException {
-		return shell;
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ResizeTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ResizeTest.java
deleted file mode 100644
index 7d86a70..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ResizeTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.layout;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-import org.eclipse.ui.tests.performance.TestRunnable;
-
-/**
- * Measures the time to resize the widget 10 times, including the time required to redraw.
- * 
- * @since 3.1
- */
-public class ResizeTest extends BasicPerformanceTest {
-
-    private TestWidgetFactory widgetFactory;
-    private int xIterations = 10;
-    private int yIterations = 10;
-    private String tagString;
-
-    /**
-     * @param testName
-     */
-    public ResizeTest(TestWidgetFactory widgetFactory) {
-        this(widgetFactory, NONE, widgetFactory.getName() + " setSize");
-    }
-    
-    /**
-     * @param testName
-     */
-    public ResizeTest(TestWidgetFactory widgetFactory, int tagging, String tagString) {
-        super(widgetFactory.getName() + " setSize",tagging);
-        this.tagString = tagString;
-        this.widgetFactory = widgetFactory;
-    }
-
-    /**
-     * Run the test
-     */
-    protected void runTest() throws CoreException, WorkbenchException {
-
-        tagIfNecessary(tagString,Dimension.ELAPSED_PROCESS);
-        
-        widgetFactory.init();
-        final Composite widget = widgetFactory.getControl();
-        Rectangle initialBounds = widget.getBounds();
-        final Point maxSize = widgetFactory.getMaxSize();
-    
-        waitForBackgroundJobs();
-        processEvents();
-        
-        exercise(new TestRunnable() {
-            public void run() {
-    
-                for (int xIteration = 0; xIteration < xIterations; xIteration++) {
-                    
-                    startMeasuring();
-                    
-                    for (int yIteration = 0; yIteration < yIterations; yIteration++) {
-                        // Avoid giving the same x value twice in a row in order to make it hard to cache
-                        int xSize = maxSize.x * ((xIteration + yIteration) % xIterations) / xIterations;
-                        int ySize = maxSize.y * yIteration / yIterations;
-                        
-                        widget.setSize(xSize, ySize);
-        
-                        processEvents();
-                    }
-                    
-                    stopMeasuring();
-                }
-                
-            }
-        });
-        
-        commitMeasurements();
-        assertPerformance();
-        
-        widget.setBounds(initialBounds);
-        widgetFactory.done();
-    }
-    
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/TestWidgetFactory.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/TestWidgetFactory.java
deleted file mode 100644
index 10e7c3e..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/TestWidgetFactory.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 Eclipse Public License v1.0
- * which accompanies 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.tests.performance.layout;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.WorkbenchException;
-
-/**
- * @since 3.1
- */
-public abstract class TestWidgetFactory {
-	public Point getMaxSize() throws CoreException, WorkbenchException {
-	    Composite control = getControl();
-	    Composite parent = control.getParent();
-	    
-	    if (parent == null) {
-	        return new Point(800, 600);
-	    }
-	    return Geometry.getSize(parent.getClientArea());
-	}
-	public void init() throws CoreException, WorkbenchException {}
-	public void done() throws CoreException, WorkbenchException {}
-	public abstract String getName();
-	public abstract Composite getControl() throws CoreException, WorkbenchException;
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ViewWidgetFactory.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ViewWidgetFactory.java
deleted file mode 100644
index a2afa38..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/layout/ViewWidgetFactory.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.layout;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.PartPane;
-import org.eclipse.ui.internal.ViewSite;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.tests.harness.util.EmptyPerspective;
-import org.eclipse.ui.tests.harness.util.UITestCase;
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-
-/**
- * @since 3.1
- */
-public class ViewWidgetFactory extends TestWidgetFactory {
-
-    private String viewId;
-    private Control ctrl;
-    private IWorkbenchWindow window;
-    
-    public ViewWidgetFactory(String viewId) {
-        this.viewId = viewId;
-        Assert.assertNotNull(viewId);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.TestWidgetFactory#getMaxSize()
-     */
-    public Point getMaxSize() {
-        return new Point(1024, 768);
-    }
-
-    public static Composite getControl(IViewPart part) {
-		ViewSite site = (ViewSite)part.getSite();
-		
-		PartPane pane = site.getPane();
-        
-		return (Composite)pane.getControl();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.TestWidgetFactory#init()
-     */
-    public void init() throws CoreException, WorkbenchException {
-    	// open the view in a new window
-        window = PlatformUI.getWorkbench().openWorkbenchWindow(EmptyPerspective.PERSP_ID, UITestCase.getPageInput());
-		IWorkbenchPage page = window.getActivePage();
-        Assert.assertNotNull(page);
-
-		IViewPart part = page.showView(viewId, null, WorkbenchPage.VIEW_ACTIVATE);
-        
-        BasicPerformanceTest.waitForBackgroundJobs();
-        
-		ctrl = getControl(part);
-        
-        Point size = getMaxSize();
-        ctrl.setBounds(0,0,size.x, size.y);
-        window.getShell().setSize(size);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.TestWidgetFactory#getName()
-     */
-    public String getName() {
-        return "View " + viewId;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.TestWidgetFactory#getControl()
-     */
-    public Composite getControl() throws CoreException, WorkbenchException {
-        return (Composite)ctrl;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.performance.layout.TestWidgetFactory#done()
-     */
-    public void done() throws CoreException, WorkbenchException {
-    	window.close();
-    	super.done();
-    }
-    
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/marked.txt b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/marked.txt
deleted file mode 100644
index 1c63f0c..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/marked.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-window resizing
-perf1/perf2 perspective switching
-
- V basic view open/close
- V empty perspective open/close
- V perf_basic editor open/close
- V perf_basic closeAll
- V perf1 open/close window
-
-* ask Stefan for one interesting test
-
-view to editor switching
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/parts/PerformanceEditorPart.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/parts/PerformanceEditorPart.java
deleted file mode 100644
index 3e8bfa5..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/parts/PerformanceEditorPart.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.performance.parts;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * @since 3.1
- */
-public class PerformanceEditorPart extends EditorPart {
-
-    private static final String PARAM_OUTLINE = "outline";
-    
-    private boolean dirty;
-    private Label control;
-    private boolean useOutline = false;
-
-    /**
-     * 
-     */
-    public PerformanceEditorPart() {
-        super();
-    }
-
-    /* (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.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-     */
-    public void init(IEditorSite site, IEditorInput input)
-            throws PartInitException {
-        super.setSite(site);
-        super.setInput(input);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.ISaveablePart#isDirty()
-     */
-    public boolean isDirty() {
-        return dirty;
-    }
-    
-    public void setDirty(boolean dirty) {
-        this.dirty = dirty;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-     */
-    public boolean isSaveAsAllowed() {        
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-     */
-    public void createPartControl(Composite parent) {
-        control = new Label(parent, SWT.NONE);
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-     */
-    public void setFocus() {
-        control.setFocus();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
-     */
-    public void setInitializationData(IConfigurationElement cfig,
-            String propertyName, Object data) {
-        super.setInitializationData(cfig, propertyName, data);
-        
-        if (data instanceof String) {
-           for (StringTokenizer toker = new StringTokenizer((String) data, ","); toker.hasMoreTokens(); ) {
-               String token = toker.nextToken();
-               if (token.equals(PARAM_OUTLINE))
-                   useOutline = true;
-           }
-           
-        }        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class adapter) {
-        Object object = null;
-        if (useOutline && adapter.equals(IContentOutlinePage.class)) {
-            object = new ContentOutlinePage() {
-            };
-        }
-        if (object != null)
-            return object;
-        return super.getAdapter(adapter);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/parts/PerformanceViewPart.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/parts/PerformanceViewPart.java
deleted file mode 100644
index 2942c76..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/parts/PerformanceViewPart.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.performance.parts;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * @since 3.1
- */
-public class PerformanceViewPart extends ViewPart {
-
-	private Label control;
-	
-	/**
-	 * 
-	 */
-	public PerformanceViewPart() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		control = new Label(parent, SWT.NONE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		control.setFocus();
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationActivateTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationActivateTest.java
deleted file mode 100644
index 25445a5..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationActivateTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.StackPresentation;
-import org.eclipse.ui.tests.performance.TestRunnable;
-import org.eclipse.ui.tests.performance.layout.PresentationWidgetFactory;
-
-public class PresentationActivateTest extends PresentationPerformanceTest {
-    
-    private int type;
-    private int number;
-    private AbstractPresentationFactory factory;
-    
-    public PresentationActivateTest(AbstractPresentationFactory factory, int type, int number) {
-        super(PresentationWidgetFactory.describePresentation(factory, type) + " activation");
-        this.type = type;
-        this.number = number;
-        this.factory = factory;
-    }
-    
-    protected void runTest() throws Throwable {
-        final PresentationTestbed testbed = createPresentation(factory, type, number);
-        
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                
-                startMeasuring();
-                
-                for (int i = 0; i < 100; i++) {
-                    testbed.setActive(StackPresentation.AS_ACTIVE_FOCUS);
-                    processEvents();                    
-                    testbed.setActive(StackPresentation.AS_ACTIVE_NOFOCUS);
-                    processEvents();
-                    testbed.setActive(StackPresentation.AS_INACTIVE);
-                    processEvents();
-                }
-                
-                stopMeasuring();
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance();   
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationActivePartPropertyTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationActivePartPropertyTest.java
deleted file mode 100644
index e1f879c..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationActivePartPropertyTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.tests.performance.TestRunnable;
-import org.eclipse.ui.tests.performance.layout.PresentationWidgetFactory;
-
-public class PresentationActivePartPropertyTest extends PresentationPerformanceTest {
-    
-    private int type;
-    private int number;
-    private AbstractPresentationFactory factory;
-    
-    public PresentationActivePartPropertyTest(AbstractPresentationFactory factory, int type, int number) {
-        super(PresentationWidgetFactory.describePresentation(factory, type) + " active part properties");
-        this.type = type;
-        this.number = number;
-        this.factory = factory;
-       
-    }
-    
-    protected void runTest() throws Throwable {
-        
-    	setDegradationComment("<a href=https://bugs.eclipse.org/bugs/show_bug.cgi?id=101072>See Bug 101072</a> ");
-    	 
-        final PresentationTestbed testbed = createPresentation(factory, type, number);
-        
-        final TestPresentablePart part = (TestPresentablePart)testbed.getSelection();
-        
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                
-                startMeasuring();
-            
-                twiddleProperty(DESCRIPTION, part);
-                twiddleProperty(DIRTY, part);
-                twiddleProperty(IMAGE, part);
-                twiddleProperty(NAME, part);
-                twiddleProperty(TITLE, part);
-                twiddleProperty(TOOLBAR, part);
-                twiddleProperty(TOOLTIP, part);
-                
-                stopMeasuring();
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance();                
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationCreateTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationCreateTest.java
deleted file mode 100644
index 649885a..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationCreateTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.tests.performance.TestRunnable;
-import org.eclipse.ui.tests.performance.layout.PresentationWidgetFactory;
-
-public class PresentationCreateTest extends PresentationPerformanceTest {
-    
-    private int type;
-    private int number;
-    private AbstractPresentationFactory factory;
-
-    public PresentationCreateTest(AbstractPresentationFactory factory, int type, int number) {
-        this(factory, type, number, "creation");
-    }
-    
-    public PresentationCreateTest(AbstractPresentationFactory factory, int type, int number, String message) {
-        super(PresentationWidgetFactory.describePresentation(factory, type) + " " + message);
-        this.type = type;
-        this.number = number;
-        this.factory = factory;
-    }
-    
-    protected void runTest() throws Throwable {
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                
-                startMeasuring();
-                
-                PresentationTestbed testbed = createPresentation(factory, type, number);
-                processEvents();
-                testbed.getControl().dispose();
-                processEvents();
-                
-                stopMeasuring();
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance();    
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationInactivePartPropertyTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationInactivePartPropertyTest.java
deleted file mode 100644
index c559bbb..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationInactivePartPropertyTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.tests.performance.TestRunnable;
-import org.eclipse.ui.tests.performance.layout.PresentationWidgetFactory;
-
-public class PresentationInactivePartPropertyTest extends PresentationPerformanceTest {
-    
-    private int type;
-    private int number;
-    private AbstractPresentationFactory factory;
-    
-    public PresentationInactivePartPropertyTest(AbstractPresentationFactory factory, int type, int number) {
-        super(PresentationWidgetFactory.describePresentation(factory, type) + " inactive part properties");
-        this.type = type;
-        this.number = number;
-        this.factory = factory;
-    }
-    
-    protected void runTest() throws Throwable {
-        final PresentationTestbed testbed = createPresentation(factory, type, number);
-        
-        final TestPresentablePart part = new TestPresentablePart(theShell, img);
-        testbed.add(part);
-        
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                
-                startMeasuring();
-                
-                for (int counter = 0; counter < 5; counter++) {
-                    twiddleProperty(DESCRIPTION, part);
-                    twiddleProperty(DIRTY, part);
-                    twiddleProperty(IMAGE, part);
-                    twiddleProperty(NAME, part);
-                    twiddleProperty(TITLE, part);
-                    twiddleProperty(TOOLBAR, part);
-                    twiddleProperty(TOOLTIP, part);
-                }
-                
-                stopMeasuring();
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance();       
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationPerformanceTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationPerformanceTest.java
deleted file mode 100644
index 8012cbe..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationPerformanceTest.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.tests.performance.BasicPerformanceTest;
-import org.eclipse.ui.tests.performance.UIPerformancePlugin;
-
-public class PresentationPerformanceTest extends BasicPerformanceTest {
-
-	protected Shell theShell;
-
-	protected Image img;
-
-	protected Image img2;
-
-	protected static final int NAME = 0;
-
-	protected static final int TITLE = 1;
-
-	protected static final int DIRTY = 2;
-
-	protected static final int DESCRIPTION = 3;
-
-	protected static final int TOOLTIP = 4;
-
-	protected static final int IMAGE = 5;
-
-	protected static final int TOOLBAR = 6;
-
-	public PresentationPerformanceTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		theShell = new Shell(Display.getCurrent(), SWT.NONE);
-		theShell.setBounds(0, 0, 1024, 768);
-		theShell.setVisible(true);
-		img = UIPerformancePlugin.getImageDescriptor(
-				"icons/anything.gif").createImage();
-		img2 = UIPerformancePlugin.getImageDescriptor("icons/view.gif")
-				.createImage();
-	}
-
-	protected void doTearDown() throws Exception {
-		theShell.dispose();
-		theShell = null;
-		img.dispose();
-		img2.dispose();
-		super.doTearDown();
-	}
-
-	protected PresentationTestbed createPresentation(
-			AbstractPresentationFactory factory, int type, int numParts) {
-		TestPresentablePart selection = null;
-		PresentationTestbed testBed = new PresentationTestbed(theShell,
-				factory, type);
-		for (int partCount = 0; partCount < numParts; partCount++) {
-			TestPresentablePart part = new TestPresentablePart(theShell, img);
-			part.setName("Some part");
-			part.setContentDescription("Description");
-			part.setTitle("Some title");
-			part.setDirty(partCount % 2 == 0);
-			part.setTooltip("This is a tooltip");
-			testBed.add(part);
-			selection = part;
-		}
-
-		testBed.setSelection(selection);
-
-		Control ctrl = testBed.getControl();
-		ctrl.setBounds(theShell.getClientArea());
-		return testBed;
-	}
-
-	protected void twiddleProperty(int property, TestPresentablePart part) {
-		switch (property) {
-		case NAME: {
-			String originalName = part.getName();
-			part.setName("Some new name");
-			processEvents();
-			part.setName(originalName);
-			processEvents();
-			break;
-		}
-		case TITLE: {
-			String originalTitle = part.getTitle();
-			part.setTitle("Some new title");
-			processEvents();
-			part.setTitle(originalTitle);
-			processEvents();
-			break;
-		}
-		case DIRTY: {
-			boolean originalDirty = part.isDirty();
-			part.setDirty(!originalDirty);
-			processEvents();
-			part.setDirty(originalDirty);
-			processEvents();
-			break;
-		}
-		case DESCRIPTION: {
-			String originalDescription = part.getTitleStatus();
-			part.setContentDescription("Some new description");
-			processEvents();
-			part.setContentDescription(originalDescription);
-			processEvents();
-			break;
-		}
-		case TOOLTIP: {
-			String originalTooltip = part.getTitleToolTip();
-			part.setTooltip("Some new tooltip");
-			processEvents();
-			part.setTooltip(originalTooltip);
-			processEvents();
-			break;
-		}
-		case IMAGE: {
-			Image originalImage = part.getTitleImage();
-
-			part.setImage(img2);
-			processEvents();
-			part.setImage(originalImage);
-			processEvents();
-			break;
-		}
-		case TOOLBAR: {
-			ToolItem newItem = part.addToToolbar(img2);
-
-			processEvents();
-			part.removeFromToolbar(newItem);
-			processEvents();
-			break;
-		}
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationPerformanceTestSuite.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationPerformanceTestSuite.java
deleted file mode 100644
index 24062d7..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationPerformanceTestSuite.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.performance.presentations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.presentations.PresentationFactoryUtil;
-import org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.tests.performance.layout.PresentationWidgetFactory;
-import org.eclipse.ui.tests.performance.layout.ResizeTest;
-
-/**
- * @since 3.1
- */
-public class PresentationPerformanceTestSuite extends TestSuite {
-
-    
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new PresentationPerformanceTestSuite();
-    }
-    
-    /**
-     * 
-     */
-    public PresentationPerformanceTestSuite() {        
-        String[] ids = getPresentationIds();
-        
-        for (int i = 0; i < ids.length; i++) {
-            String string = ids[i];
-            
-            addTests(string);
-        }
-    }
-
-    private void addTests(String presentationId) {
-        AbstractPresentationFactory factory = WorkbenchPlugin.getDefault().getPresentationFactory(presentationId);
-
-        addTest(new PresentationInactivePartPropertyTest(factory, PresentationFactoryUtil.ROLE_EDITOR, 5));
-        addTest(new PresentationInactivePartPropertyTest(factory, PresentationFactoryUtil.ROLE_VIEW, 5));
-        
-        addTest(new PresentationActivePartPropertyTest(factory, PresentationFactoryUtil.ROLE_EDITOR, 5));
-        addTest(new PresentationActivePartPropertyTest(factory, PresentationFactoryUtil.ROLE_VIEW, 5));
-        addTest(new PresentationActivePartPropertyTest(factory, PresentationFactoryUtil.ROLE_STANDALONE, 1));
-        addTest(new PresentationActivePartPropertyTest(factory, PresentationFactoryUtil.ROLE_STANDALONE_NOTITLE, 1));
-
-        addTest(new PresentationCreateTest(factory, PresentationFactoryUtil.ROLE_EDITOR, 100, "large folder creation"));
-        addTest(new PresentationCreateTest(factory, PresentationFactoryUtil.ROLE_VIEW, 100, "large folder creation"));
-        
-        addTest(new PresentationCreateTest(factory, PresentationFactoryUtil.ROLE_EDITOR, 5));
-        addTest(new PresentationCreateTest(factory, PresentationFactoryUtil.ROLE_VIEW, 5));
-        addTest(new PresentationCreateTest(factory, PresentationFactoryUtil.ROLE_STANDALONE, 1));
-        addTest(new PresentationCreateTest(factory, PresentationFactoryUtil.ROLE_STANDALONE_NOTITLE, 1));
-        
-        addTest(new PresentationSelectTest(factory, PresentationFactoryUtil.ROLE_EDITOR, 100));
-        addTest(new PresentationSelectTest(factory, PresentationFactoryUtil.ROLE_VIEW, 100));
-        
-        addTest(new PresentationActivateTest(factory, PresentationFactoryUtil.ROLE_EDITOR, 5));
-        addTest(new PresentationActivateTest(factory, PresentationFactoryUtil.ROLE_VIEW, 5));
-        addTest(new PresentationActivateTest(factory, PresentationFactoryUtil.ROLE_STANDALONE, 1));
-        addTest(new PresentationActivateTest(factory, PresentationFactoryUtil.ROLE_STANDALONE_NOTITLE, 1));
-        
-        addTest(new ResizeTest(new PresentationWidgetFactory(factory, PresentationFactoryUtil.ROLE_EDITOR, 5)));
-        addTest(new ResizeTest(new PresentationWidgetFactory(factory, PresentationFactoryUtil.ROLE_VIEW, 5)));
-        addTest(new ResizeTest(new PresentationWidgetFactory(factory, PresentationFactoryUtil.ROLE_STANDALONE, 1)));
-        addTest(new ResizeTest(new PresentationWidgetFactory(factory, PresentationFactoryUtil.ROLE_STANDALONE_NOTITLE, 1)));
-        
-    }
-    
-    private static String[] getPresentationIds() {
-        return listIds(IWorkbenchRegistryConstants.PL_PRESENTATION_FACTORIES,
-                "factory");
-    }
-    
-    private static String[] listIds(String extensionPointId, String elementName) {
-        
-        List result = new ArrayList();
-        
-        IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
-                .getExtensionPoint(WorkbenchPlugin.PI_WORKBENCH, extensionPointId);
-        if (extensionPoint == null) {
-            WorkbenchPlugin
-                    .log("Unable to find extension. Extension point: " + extensionPointId + " not found"); //$NON-NLS-1$ //$NON-NLS-2$
-            return null;
-        }
-        
-        // Loop through the config elements.
-        IConfigurationElement targetElement = null;
-        IConfigurationElement[] elements = extensionPoint
-                .getConfigurationElements();
-        for (int j = 0; j < elements.length; j++) {
-            IConfigurationElement element = elements[j];
-            if (elementName == null || elementName.equals(element.getName())) {
-                String strID = element.getAttribute("id"); //$NON-NLS-1$
-                if (strID != null) {
-                    result.add(strID);
-                }
-            }
-        }
-        
-        return (String[]) result.toArray(new String[result.size()]);
-    }    
-    
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationSelectTest.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationSelectTest.java
deleted file mode 100644
index e057d83..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationSelectTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.tests.performance.TestRunnable;
-import org.eclipse.ui.tests.performance.layout.PresentationWidgetFactory;
-
-public class PresentationSelectTest extends PresentationPerformanceTest {
-    
-    private int type;
-    private int number;
-    private AbstractPresentationFactory factory;
-    
-    public PresentationSelectTest(AbstractPresentationFactory factory, int type, int number) {
-        super(PresentationWidgetFactory.describePresentation(factory, type) + " selection change");
-        this.type = type;
-        this.number = number;
-        this.factory = factory;
-    }
-    
-    protected void runTest() throws Throwable {
-        final PresentationTestbed testbed = createPresentation(factory, type, number);
-        
-        final IPresentablePart[] parts = testbed.getPartList();
-        
-        exercise(new TestRunnable() {
-            public void run() throws Exception {
-                
-                startMeasuring();
-                
-                for (int i = 0; i < parts.length; i++) {
-                    IPresentablePart part = parts[i];
-                    
-                    testbed.setSelection(part);
-                    processEvents();
-                }
-                
-                stopMeasuring();
-            } 
-        });
-        
-        commitMeasurements();
-        assertPerformance(); 
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationTestbed.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationTestbed.java
deleted file mode 100644
index 46cf066..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/PresentationTestbed.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.ui.ISizeProvider;
-import org.eclipse.ui.internal.DefaultStackPresentationSite;
-import org.eclipse.ui.internal.presentations.PresentationFactoryUtil;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-
-public class PresentationTestbed {
-    
-    private StackPresentation presentation;
-    private List partList = new ArrayList();
-    private IPresentablePart selectedPart;
-    private Composite control;
-    
-    private DefaultStackPresentationSite site = new DefaultStackPresentationSite() {
-        public void close(IPresentablePart[] toClose) {}
-        public void flushLayout() {}
-        public IPresentablePart[] getPartList() {
-            return (IPresentablePart[]) partList.toArray(new IPresentablePart[partList.size()]);
-        }
-        public IPresentablePart getSelectedPart() {
-            return selectedPart;
-        }
-        public boolean isPartMoveable(IPresentablePart toMove) {
-            return true;
-        }
-        public boolean isStackMoveable() {
-            return true;
-        }
-    };
-    
-    public PresentationTestbed(Composite parentComposite, AbstractPresentationFactory factory, int type) {
-        presentation = PresentationFactoryUtil.createPresentation(factory, type, parentComposite, site, null, null);
-        site.setPresentation(presentation);
-        control = new Composite(parentComposite, SWT.NONE);
-        control.addControlListener(new ControlListener() {
-            public void controlMoved(ControlEvent e) {
-                updatePresentationBounds();
-            }
-            public void controlResized(ControlEvent e) {
-                updatePresentationBounds();
-            }
-        });
-        
-        control.addDisposeListener(new DisposeListener() {
-            public void widgetDisposed(DisposeEvent e) {
-                site.dispose();
-            } 
-        });
-        
-        control.setLayout(new Layout() {
-            protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-                int widthHint = wHint == SWT.DEFAULT ? ISizeProvider.INFINITE : wHint;
-                int heightHint = hHint == SWT.DEFAULT ? ISizeProvider.INFINITE : hHint;
-                
-                int width = 200;
-                int height = 200;
-                StackPresentation presentation = site.getPresentation();
-                if (presentation != null) {
-                    width = presentation.computePreferredSize(true, widthHint, heightHint, widthHint);
-                    height = presentation.computePreferredSize(false, heightHint, widthHint, heightHint);
-                }
-                
-                if (width == ISizeProvider.INFINITE) {
-                    width = 200;
-                }
-
-                if (height == ISizeProvider.INFINITE) {
-                    height = 200;
-                }
-                
-                return new Point(width, height);
-            }
-           
-            protected void layout(Composite composite, boolean flushCache) {
-            }
-        });
-        
-        control.setVisible(false);
-        site.setActive(StackPresentation.AS_ACTIVE_FOCUS);
-        site.setState(IStackPresentationSite.STATE_RESTORED);
-    }
-    
-    public Control getControl() {
-        return control;
-    }
-    
-    public void add(IPresentablePart part) {
-        partList.add(part);
-        site.getPresentation().addPart(part, null);
-    }
-    
-    public void remove(IPresentablePart part) {
-        Assert.assertTrue(part != selectedPart);
-        partList.remove(part);
-        site.getPresentation().removePart(part);
-    }
-    
-    public void setSelection(IPresentablePart newSelection) {
-        Assert.assertTrue(partList.contains(newSelection));
-        
-        selectedPart = newSelection;
-        if (selectedPart != null) {
-            site.selectPart(newSelection);
-        }
-    }
-    
-    public void setState(int newState) {
-        site.setPresentationState(newState);
-    }
-    
-    public void setActive(int activeState) {
-        site.setActive(activeState);
-    }
-    
-    private Control getPresentationControl() {
-        StackPresentation presentation = site.getPresentation();
-        if (presentation == null) {
-            return null;
-        }
-        
-        Control ctrl = presentation.getControl();
-        
-        if (ctrl == null || ctrl.isDisposed()) {
-            return null;
-        }
-        
-        return ctrl;
-    }
-    
-    public IPresentablePart[] getPartList() {
-        return (IPresentablePart[]) partList.toArray(new IPresentablePart[partList.size()]);
-    }
-    
-    private void updatePresentationBounds() {
-        StackPresentation presentation = site.getPresentation();
-        if (presentation != null) {
-            presentation.setBounds(control.getBounds());
-        }
-    }
-    
-    public IPresentablePart getSelection() {
-        return selectedPart;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/StandaloneViewPerspective.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/StandaloneViewPerspective.java
deleted file mode 100644
index adbde73..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/StandaloneViewPerspective.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 Eclipse Public License v1.0
- * which accompanies 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.tests.performance.presentations;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * @since 3.1
- */
-public class StandaloneViewPerspective implements IPerspectiveFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-     */
-    public void createInitialLayout(IPageLayout layout) {
-        // One standalone view (bookmarks) with trim
-        layout.addStandaloneView(IPageLayout.ID_BOOKMARKS, true, 
-                IPageLayout.LEFT, 0.5f, IPageLayout.ID_EDITOR_AREA);
-        
-        // One standalone view (problems) without trim
-        layout.addStandaloneView(IPageLayout.ID_PROBLEM_VIEW, false, 
-                IPageLayout.RIGHT, 0.5f, IPageLayout.ID_EDITOR_AREA);
-        
-        // One regular view (outline)
-        layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.BOTTOM, 0.5f, IPageLayout.ID_EDITOR_AREA);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/StandaloneViewPerspective2.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/StandaloneViewPerspective2.java
deleted file mode 100644
index 923f9e0..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/StandaloneViewPerspective2.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * @since 3.1
- */
-public class StandaloneViewPerspective2 implements IPerspectiveFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-     */
-    public void createInitialLayout(IPageLayout layout) {
-        // One standalone view (bookmarks) without trim
-        layout.addStandaloneView(IPageLayout.ID_BOOKMARKS, false, 
-                IPageLayout.LEFT, 0.5f, IPageLayout.ID_EDITOR_AREA);
-        
-        // One standalone view (problems) without trim
-        layout.addStandaloneView(IPageLayout.ID_PROBLEM_VIEW, false, 
-                IPageLayout.RIGHT, 0.5f, IPageLayout.ID_EDITOR_AREA);
-        
-        // One regular view (outline)
-        layout.addStandaloneView(IPageLayout.ID_OUTLINE, false, IPageLayout.BOTTOM, 0.5f, IPageLayout.ID_EDITOR_AREA);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/TestPresentablePart.java b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/TestPresentablePart.java
deleted file mode 100644
index 6662561..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/presentations/TestPresentablePart.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance.presentations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-public class TestPresentablePart implements IPresentablePart {
-
-    private List listeners = new ArrayList();
-    
-    private Composite control;
-    private String name = "";
-    private String title = "";
-    private String status = "";
-    private Image image;
-    private String tooltip = "";
-    private boolean dirty;
-    private ToolBar toolbar;
-    
-    public TestPresentablePart(Composite parent, Image image) {
-        control = new Composite(parent, SWT.NONE);
-        control.addDisposeListener(new DisposeListener() {
-            public void widgetDisposed(DisposeEvent e) {
-                disposed();
-            } 
-        });
-        
-        // Add some items to the toolbar
-        toolbar = new ToolBar(parent, SWT.WRAP);
-        for (int idx = 0; idx < 6; idx++) {
-            ToolItem item = new ToolItem(toolbar, SWT.PUSH);
-            item.setImage(image);
-        }
-        this.image = image;
-    }
-    
-    // Set methods called from presentation (all ignored)
-    public void setBounds(Rectangle bounds) {
-        control.setBounds(bounds);
-    }
-    
-    public void setVisible(boolean isVisible) {
-        control.setVisible(isVisible);
-        toolbar.setVisible(isVisible);
-    }
-    
-    public void setFocus() {
-        control.setFocus();
-    }
-
-    public void addPropertyListener(IPropertyListener listener) {
-        listeners.add(listener);
-    }
-
-    public void removePropertyListener(IPropertyListener listener) {
-        listeners.remove(listener);
-    }
-
-    private void firePropertyChange(int propertyId) {
-        for (int i = 0; i < listeners.size(); i++) {
-            ((IPropertyListener) listeners.get(i)).propertyChanged(this,
-                    propertyId);
-        }
-    }
-    
-    public String getName() {
-        return name;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public String getTitleStatus() {
-        return status;
-    }
-
-    public Image getTitleImage() {
-        return image;
-    }
-
-    public String getTitleToolTip() {
-        return tooltip;
-    }
-
-    public boolean isDirty() {
-        return dirty;
-    }
-
-    public boolean isBusy() {
-        return false;
-    }
-
-    public boolean isCloseable() {
-        return true;
-    }
-
-    public Control getToolBar() {
-        return toolbar;
-    }
-
-    public IPartMenu getMenu() {
-        return null;
-    }
-
-    public Control getControl() {
-        return control;
-    }
-
-    public void disposed() {
-        toolbar.dispose();
-        toolbar = null;
-    }
-    
-    public void setTitle(String title) {
-        this.title = title;
-        firePropertyChange(IPresentablePart.PROP_TITLE);
-    }
-    
-    public void setName(String name) {
-        this.name = name;
-        firePropertyChange(IPresentablePart.PROP_PART_NAME);
-    }
-    
-    public void setImage(Image newImage) {
-        this.image = newImage;
-        firePropertyChange(IPresentablePart.PROP_TITLE);
-    }
-    
-    public void setContentDescription(String descr) {
-        this.status = descr;
-        firePropertyChange(IPresentablePart.PROP_CONTENT_DESCRIPTION);
-    }
-    
-    public void setTooltip(String tooltip) {
-        this.tooltip = tooltip;
-        firePropertyChange(IPresentablePart.PROP_TITLE);
-    }
-    
-    public void setDirty(boolean dirty) {
-        this.dirty = dirty;
-        firePropertyChange(IPresentablePart.PROP_DIRTY);
-    }
-
-    public ToolItem addToToolbar(Image toAdd) {
-        ToolItem item = new ToolItem(toolbar, SWT.PUSH);
-        item.setImage(toAdd);
-        firePropertyChange(IPresentablePart.PROP_TOOLBAR);
-        return item;
-    }
-    
-    public void removeFromToolbar(ToolItem toRemove) {
-        toRemove.dispose();
-        firePropertyChange(IPresentablePart.PROP_TOOLBAR);
-    }
-    
-}
diff --git a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/test_ideas.txt b/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/test_ideas.txt
deleted file mode 100644
index 22f8fe7..0000000
--- a/tests/org.eclipse.ui.tests.performance/src/org/eclipse/ui/tests/performance/test_ideas.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-- Startup time/memory use
-- About
-    - open about then open configuration details then close
-- Workbench [resize Workbench Shell] [switch active part leak check] [stress test switch active part perf.][popup menu open]
-    - with a set of empty views and editors in standard layout
-    - with an editor with a menu entry/a toolbar entry and a view with a simple menu and toolbar
-- Editor [open/close] [zoom/unzoom] [split/unsplit] [stress test open 100 w/o close] [close 100 editors] [minimize/mazimize]
-	- empty
-	- editor with key/context support
-	- multi-page editor
-	- editor that provides a content outline
-	- editor that provides a property sheet
-	- editor that contributes heavily to menus
-	- editor that contributes heavily to toolbars
-	- change icon/title frequently
-	- with lots of popup menu contributions
-- View [open/close] [zoom/unzoom] [detached/re-attach] [make fastview/restore] [minimize/mazimize] [popup menu open]
-	- empty
-	- view with local toolbar
-	- with with view menu
-	- table viewer (TableView)
-	- view that indicates progress when in forground and background
-	- view with content message (see Problems view)
-	- change icon/title frequently
-    - with lots of popup menu contributions
-- Intro [close/open] [standby/non-standby]
-    - basic intro		
-- Perspective [open/close] [stress test open 10 w/o close] [open in new window] [switch pespective]
-	- empty
-	- complex layout
-- Themes [switching theme]
-	- two themes that support the default workbench presentation items
-
--	Shutdown
--	Action Factory (brings in all classes)
--	Leak tests
--	Selection listeners
--	Decorators
--	GDI resources
--	Thread count
--	Overhead of progress support/progress monitor/view
--	Layout
diff --git a/tests/org.eclipse.ui.tests.performance/test.xml b/tests/org.eclipse.ui.tests.performance/test.xml
deleted file mode 100644
index 7178600..0000000
--- a/tests/org.eclipse.ui.tests.performance/test.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="runtests" basedir=".">
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.ui.tests.performance"/>
-  <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>
-
-	<!--default target that does nothing.  The performance target is called explicitly
-	by build team.-->
-  <target name="runtests"/>
-
-  <!-- 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 performance test suites. -->
-  <target name="performance" depends="init,performance-suite,jface-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-ui"/>
-    <delete dir="${performance-workspace}" quiet="true"/>
-  	<ant target="ui-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.performance.UIPerformanceTestSuite"/>
-    </ant>
-  </target>
-
-	<target name="jface-performance-suite">
-	  	<property name="performance-workspace-jface" value="${eclipse-home}/performance-workspace-platform-jface"/>
-	    <delete dir="${performance-workspace-jface}" quiet="true"/>
-	  	<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-	      <property name="data-dir" value="${performance-workspace-jface}"/>
-	      <property name="plugin-name" value="${plugin-name}"/>
-	      <property name="classname" value="org.eclipse.jface.tests.performance.JFacePerformanceSuite"/>
-	    </ant>
-	  </target>
-	
-</project>
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 9825a3f..0000000
--- a/tests/org.eclipse.ui.tests.rcp/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:20:15 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.ui.tests.rcp/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.ui.tests.rcp/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9d0940e..0000000
--- a/tests/org.eclipse.ui.tests.rcp/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:20:15 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
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 7c06eb2..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 Eclipse Public License v1.0
- * which accompanies 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.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);
-    }
-}
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 18ce75b..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 Eclipse Public License v1.0
- * which accompanies 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.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);
-    }
-
-}
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 266428e..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.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;
-    }
-}
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 5bb3df4..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/RcpTestSuite.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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));
-        addTest(new TestSuite(WorkbenchSaveRestoreStateTest.class));
-    }
-}
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 73b74aa..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.eclipse.swt.graphics.Rectangle;
-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.internal.progress.ProgressManagerUtil;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-public class WorkbenchAdvisorTest extends TestCase {
-
-      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() {
-
-        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);
-    }
-	
-    public void testEmptyProgressRegion() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-			public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-				super.preWindowOpen(configurer);
-				configurer.setShowProgressIndicator(false);
-			}
-
-			public void postWindowOpen(IWorkbenchWindowConfigurer configurer) {
-				try {
-					ProgressManagerUtil.animateUp(new Rectangle(0, 0, 100, 50));
-				}
-				catch (NullPointerException e) {
-					// we shouldn't get here
-					assertTrue(false);
-				}
-			}
-				
-        };
-
-        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);
-    }
-}
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 ffe85fa..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 Eclipse Public License v1.0
- * which accompanies 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.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);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchSaveRestoreStateTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchSaveRestoreStateTest.java
deleted file mode 100644
index 4524e28..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchSaveRestoreStateTest.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-import org.eclipse.ui.internal.UIPlugin;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-public class WorkbenchSaveRestoreStateTest extends TestCase {
-	
-	private static final String ADVISOR_STATE_KEY = "advisorStateKey";
-	private static final String WINDOW_ADVISOR_STATE_KEY = "windowAdvisorStateKey";
-	private static final String ACTIONBAR_ADVISOR_STATE_KEY = "actionBarAdvisorStateKey";
-	
-    public WorkbenchSaveRestoreStateTest(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();
-    }
-
-	/**
-	 * Test save/restore state lifecycle API for WorkbenchAdvisor
-	 */
-	public void testSaveRestoreAdvisorState() {		
-		final String advisorStateData = Long.toString(System.currentTimeMillis());
-		
-		// launch workbench and save some state data
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-			IWorkbenchWindow window = null;
-
-			public IStatus saveState (IMemento memento) {
-				assertNotNull(memento);
-				memento.putString(ADVISOR_STATE_KEY, advisorStateData);
-				return super.saveState(memento);
-			}
-			
-			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());
-
-		// restore the workbench and check for state data
-        display = PlatformUI.createDisplay();		
-		WorkbenchAdvisorObserver wa2 = new WorkbenchAdvisorObserver(1) {
-
-			public IStatus restoreState(IMemento memento) {
-				assertNotNull(memento);
-				String stateData = memento.getString(ADVISOR_STATE_KEY);
-				assertNotNull(stateData);
-				assertTrue(advisorStateData.equals(stateData));
-				return super.restoreState(memento);
-			}
-			
-			public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-        };
-
-        int code2 = PlatformUI.createAndRunWorkbench(display, wa2);
-        assertEquals(PlatformUI.RETURN_OK, code2);
-	}
-	
-	/**
-	 * Test save/restore state lifecycle API for WorkbenchWindowAdvisor
-	 */
-	public void testSaveRestoreWindowState() {
-		final String advisorStateData = Long.toString(System.currentTimeMillis());
-		
-		// launch workbench and save some state data
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-			IWorkbenchWindow window = null;
-			
-			public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-				return new WorkbenchWindowAdvisor(configurer) {
-					public IStatus saveState(IMemento memento) {
-						assertNotNull(memento);
-						memento.putString(WINDOW_ADVISOR_STATE_KEY, advisorStateData);
-						return super.saveState(memento);
-					}
-				};
-			}
-
-			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());
-
-		// restore the workbench and check for state data
-        display = PlatformUI.createDisplay();		
-		WorkbenchAdvisorObserver wa2 = new WorkbenchAdvisorObserver(1) {
-
-			public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-				return new WorkbenchWindowAdvisor(configurer) {
-					public IStatus restoreState(IMemento memento) {
-						assertNotNull(memento);
-						String stateData = memento.getString(WINDOW_ADVISOR_STATE_KEY);
-						assertNotNull(stateData);
-						assertTrue(advisorStateData.equals(stateData));
-						return super.restoreState(memento);
-					}
-				};
-			}
-			
-			public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-        };
-
-        int code2 = PlatformUI.createAndRunWorkbench(display, wa2);
-        assertEquals(PlatformUI.RETURN_OK, code2);
-	}
-	
-	/**
-	 * Test save/restore state lifecycle API for WorkbenchWindowAdvisor
-	 */
-	public void testSaveRestoreActionBarState() {
-		final String advisorStateData = Long.toString(System.currentTimeMillis());
-		
-		// launch workbench and save some state data
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-			IWorkbenchWindow window = null;
-			
-			public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-				return new WorkbenchWindowAdvisor(configurer) {
-					public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer1) {
-						return new ActionBarAdvisor(configurer1) {
-							public IStatus saveState(IMemento memento) {
-								assertNotNull(memento);
-								memento.putString(ACTIONBAR_ADVISOR_STATE_KEY, advisorStateData);
-								return super.saveState(memento);
-							}
-						};
-					}
-				};
-			}
-
-			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());
-
-		// restore the workbench and check for state data
-        display = PlatformUI.createDisplay();		
-		WorkbenchAdvisorObserver wa2 = new WorkbenchAdvisorObserver(1) {
-
-			public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-				return new WorkbenchWindowAdvisor(configurer) {
-					public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer1) {
-						return new ActionBarAdvisor(configurer1) {
-							public IStatus restoreState(IMemento memento) {
-								assertNotNull(memento);
-								String stateData = memento.getString(ACTIONBAR_ADVISOR_STATE_KEY);
-								assertNotNull(stateData);
-								assertTrue(advisorStateData.equals(stateData));
-								return super.restoreState(memento);
-							}
-						};
-					}
-				};
-			}
-			
-			public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-        };
-
-        int code2 = PlatformUI.createAndRunWorkbench(display, wa2);
-        assertEquals(PlatformUI.RETURN_OK, code2);
-	}
-	
-	/**
-	 * Test on-demand save/restore state API 
-	 */
-	public void testOnDemandSaveRestoreState() {
-		
-		// save some window state on demand
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-			IWorkbenchWindow window = null;
-			
-			public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-
-            public void eventLoopIdle(Display d) {
-                workbenchConfig.getWorkbench().restart();
-            }
-			
-			public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-				return new WorkbenchWindowAdvisor(configurer) {
-					public void postWindowOpen() {
-						File stateLocation = getStateFileLocation();
-						ensureDirectoryExists(stateLocation);
-						String stateFileName = stateLocation.getPath() + File.separator + "testOnDemandSaveRestoreState.xml";
-							
-					    OutputStreamWriter writer = null;
-				        try {
-				            writer = new OutputStreamWriter(new FileOutputStream(stateFileName),"UTF-8");
-				            
-				        } catch (UnsupportedEncodingException e1) {
-				            // not possible, UTF-8 is required to be implemented by all JVMs
-				        } catch (FileNotFoundException e1) {
-				            // creating a new file, won't happen  unless the path eclipse 
-							// specifies is totally wrong, or its read-only
-				        }
-							
-				        XMLMemento xmlm = XMLMemento.createWriteRoot("TestState");
-						saveState(xmlm);
-				        
-				        try {
-				            xmlm.save(writer);
-				            writer.close();
-				        } catch (IOException e) {
-							e.printStackTrace();
-				        }
-					}					
-				};
-			}
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_RESTART, code);
-        assertFalse(display.isDisposed());
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-		// restore the workbench and restore a window 
-		// with state data on demand
-        display = PlatformUI.createDisplay();		
-		WorkbenchAdvisorObserver wa2 = new WorkbenchAdvisorObserver(1) {
-			
-			public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-			
-			public boolean openWindows() {
-				File stateLocation = getStateFileLocation();
-		        String stateFileName = "testOnDemandSaveRestoreState.xml";
-		        File stateFile = new File(stateLocation.getPath() + File.separator + stateFileName);
-		        assertTrue(stateFile.exists());
-	            
-				IMemento memento = null;
-		        try {
-					memento = XMLMemento.createReadRoot( new InputStreamReader (
-							new FileInputStream(stateFile),"UTF-8"));
-		        } catch (WorkbenchException e) {
-		            e.printStackTrace();
-		        } catch (FileNotFoundException e) {
-		            // won't happen because we already checked it exists
-		        } catch (UnsupportedEncodingException e) {
-		           // not possible - UTF8 is required
-		        }
-				
-				assertNotNull(memento);
-				IWorkbenchWindowConfigurer window = null;
-				try {
-					window = getWorkbenchConfigurer().restoreWorkbenchWindow(memento);	
-				} catch (WorkbenchException e) {
-					e.printStackTrace();
-				}
-				assertNotNull(window);
-				return true;
-			}
-
-			public void postWindowRestore(IWorkbenchWindowConfigurer configurer) throws WorkbenchException {
-				// TODO Auto-generated method stub
-				super.postWindowRestore(configurer);
-			}
-        };
-
-        int code2 = PlatformUI.createAndRunWorkbench(display, wa2);
-        assertEquals(PlatformUI.RETURN_OK, code2);
-	}
-			
-	private File getStateFileLocation() {
-	    IPath path = UIPlugin.getDefault().getStateLocation();
-	    StringBuffer fileName = new StringBuffer();
-	    fileName.append(File.separator);
-	    fileName.append("TestWorkbenchState");
-	    fileName.append(File.separator);
-		
-	    File stateLocation = path.append(fileName.toString()).toFile();		
-	    ensureDirectoryExists(stateLocation);
-		
-		return stateLocation;
-	}
-	
-	private void ensureDirectoryExists(File directory) {
-	    directory.mkdirs();
-	}
-	
-}
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 c2b80e4..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchWindowConfigurerTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.tests.rcp;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-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.application.WorkbenchWindowAdvisor;
-import org.eclipse.ui.internal.WorkbenchWindow;
-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);
-    }
-
-	public void test104558() throws Throwable {
-		doTest104558(true, true);
-		doTest104558(false, true);
-		doTest104558(true, false);
-		doTest104558(false, false);
-	}
-
-	private void doTest104558(final boolean showPerspectiveBar, final boolean showCoolBar) {
-		WorkbenchAdvisor wa = new WorkbenchAdvisorObserver(1) {
-			public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
-					IWorkbenchWindowConfigurer workbenchWindowConfigurer) {
-				return new WorkbenchWindowAdvisor(workbenchWindowConfigurer) {
-					public void preWindowOpen() {
-						super.preWindowOpen();
-						getWindowConfigurer().setShowCoolBar(showCoolBar);
-						getWindowConfigurer().setShowPerspectiveBar(showPerspectiveBar);
-					}
-					public void createWindowContents(Shell shell) {
-						IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-						configurer.createPageComposite(shell);
-					}
-				};
-			}
-			
-			public void eventLoopIdle(Display disp) {
-				IWorkbenchWindow activeWorkbenchWindow = getWorkbenchConfigurer()
-						.getWorkbench().getActiveWorkbenchWindow();
-				assertEquals("testing showCoolBar=" + showCoolBar, showCoolBar, ((WorkbenchWindow)activeWorkbenchWindow).getCoolBarVisible());
-				assertEquals("testing showPerspectiveBar=" + showPerspectiveBar, showPerspectiveBar, ((WorkbenchWindow)activeWorkbenchWindow).getPerspectiveBarVisible());
-				super.eventLoopIdle(disp);
-			}
-			
-			public void eventLoopException(Throwable exception) {
-				throw new RuntimeException(exception);
-			}
-		};
-	
-		int code = PlatformUI.createAndRunWorkbench(display, wa);
-		assertEquals(PlatformUI.RETURN_OK, code);
-	}
-    
-    
-}
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 951ec5d..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 Eclipse Public License v1.0
- * which accompanies 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.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 1e38cd8..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/PlatformUIPerfTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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 {
-
-    public void testCreateAndDisposeDisplayX100() {
-        for (int i = 0; i < 10; ++i ) {
-            startMeasuring();
-            for (int j = 0; j < 100; ++j) {
-            	Display display = PlatformUI.createDisplay();
-                display.dispose();
-                assertTrue(display.isDisposed());
-            }
-            stopMeasuring();
-        }
-
-        commitMeasurements();
-        assertPerformance();
-    }
-
-    public void testRunAndShutdownWorkbench() {
-        Display display = PlatformUI.createDisplay();
-
-        for (int i = 0; i < 10; ++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 2fc03da..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSetup.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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 51b8f47..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 Eclipse Public License v1.0
- * which accompanies 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.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() {
-        addTestSuite(PlatformUIPerfTest.class);
-        addTestSuite(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 7ac7b99..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, 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.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
-    }
-}
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 1f75591..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 Eclipse Public License v1.0
- * which accompanies 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.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();
-	}
-}
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 c8c0b18..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 Eclipse Public License v1.0
- * which accompanies 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.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 5efb344..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 Eclipse Public License v1.0
- * which accompanies 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.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 55d68ab..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 Eclipse Public License v1.0
- * which accompanies 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.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 f3097de..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/OpenWorkbenchIntervalMonitor.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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[] {
-        "open", //$NON-NLS-1$
-        "close" //$NON-NLS-1$
-	};
-	
-	public static final int openInterval = 0;
-	public static final int closeInterval = 1;
-	
-	public static final int firstInterval = openInterval;
-	public static final int finalInterval = closeInterval;
-
-//    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);
-    	meters.stop(openInterval);
-    	
-        // 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);
-    	meters.start(closeInterval);
-        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 6b98e83..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RCPTestWorkbenchAdvisor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-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#initialize(org.eclipse.ui.application.IWorkbenchConfigurer)
-	 */
-	public void initialize(IWorkbenchConfigurer configurer) {
-		super.initialize(configurer);
-
-		// The RCP tests are currently run in the context of the Platform product, which specifies
-		// the Resource perspective as the default, and also reports progress on startup.  
-		// We don't want either in effect when running the RCP tests.
-		// Also disable intro.
-		IPreferenceStore prefs = PlatformUI.getPreferenceStore();
-		prefs.setValue(IWorkbenchPreferenceConstants.DEFAULT_PERSPECTIVE_ID, "");
-		prefs.setValue(IWorkbenchPreferenceConstants.SHOW_PROGRESS_ON_STARTUP, false);
-		prefs.setValue(IWorkbenchPreferenceConstants.SHOW_INTRO, false);
-	}
-
-	/* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#getInitialWindowPerspectiveId()
-     */
-    public String getInitialWindowPerspectiveId() {
-        return EmptyPerspective.PERSP_ID;
-    }
-
-    public void eventLoopIdle(final Display display) {
-    	// Bug 107369: RCP test suite hangs on GTK
-        if (idleBeforeExit!=-1 && --idleBeforeExit <= 0)
-            PlatformUI.getWorkbench().close();
-
-        // 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;
-    }
-}
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 b8e4e8a..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RestoreWorkbenchIntervalMonitor.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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[] {
-        "open", //$NON-NLS-1$
-        "close" //$NON-NLS-1$
-	};
-	
-	public static final int openInterval = 0;
-	public static final int closeInterval = 1;
-	
-	public static final int firstInterval = openInterval;
-	public static final int finalInterval = closeInterval;
-	
-	private boolean createRestorableWorkbench = false;
-	private IPerformanceMeterArray meters = new NullMeters();
-	
-//    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);
-        meters.stop(openInterval);
-
-        // 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);
-        meters.start(closeInterval);
-        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 76457b2..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 Eclipse Public License v1.0
- * which accompanies 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.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);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/META-INF/MANIFEST.MF b/tests/org.eclipse.ui.tests.rcp/META-INF/MANIFEST.MF
deleted file mode 100644
index 637a961..0000000
--- a/tests/org.eclipse.ui.tests.rcp/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Eclipse RCP Tests
-Bundle-SymbolicName: org.eclipse.ui.tests.rcp; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: rcptests.jar
-Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime.compatibility,
- org.eclipse.ui,
- org.junit,
- org.eclipse.test.performance
-Eclipse-LazyStart: true
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 6f6b96c..0000000
--- a/tests/org.eclipse.ui.tests.rcp/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
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 c51eb2e..0000000
--- a/tests/org.eclipse.ui.tests.rcp/build.properties
+++ /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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               *.html,\
-               *.jar,\
-               *.xml,\
-               rcptests.jar,\
-               META-INF/
-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 4bd58f1..0000000
--- a/tests/org.eclipse.ui.tests.rcp/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <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>
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.classpath b/tests/org.eclipse.ui.tests.views.properties.tabbed/.classpath
deleted file mode 100644
index 0215967..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="src"/>

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

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

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

-</classpath>

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.cvsignore b/tests/org.eclipse.ui.tests.views.properties.tabbed/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.project b/tests/org.eclipse.ui.tests.views.properties.tabbed/.project
deleted file mode 100644
index d92ccf3..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests.views.properties.tabbed</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/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c516502..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:20:36 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 71c0262..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:20:36 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 7409da9..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-#Mon Jan 30 17:00:18 EST 2006
-compilers.p.build=1
-compilers.p.deprecated=2
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=1
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/META-INF/MANIFEST.MF b/tests/org.eclipse.ui.tests.views.properties.tabbed/META-INF/MANIFEST.MF
deleted file mode 100644
index 7a722f6..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.tests.views.properties.tabbed;singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.tests.views.properties.tabbed.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.junit,
- org.eclipse.ui.ide,
- org.eclipse.ui.views.properties.tabbed
-Eclipse-LazyStart: true
-Bundle-Vendor: %Plugin.providerName
-Bundle-ClassPath: uitptests.jar
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/about.html b/tests/org.eclipse.ui.tests.views.properties.tabbed/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/build.properties b/tests/org.eclipse.ui.tests.views.properties.tabbed/build.properties
deleted file mode 100644
index 8f2c68b..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               icons/,\
-               META-INF/,\
-               about.html,\
-               test.xml,\
-               uitptests.jar,\
-               plugin.properties
-
-src.includes = about.html
-jars.compile.order = uitptests.jar
-source.uitptests.jar = src/
-output.uitptests.jar = bin/
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/icons/sample.gif b/tests/org.eclipse.ui.tests.views.properties.tabbed/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.properties b/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.properties
deleted file mode 100644
index 7cd25d7..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Tabbed Properties View Tests
-Plugin.providerName = Eclipse.org
-
-Views.category.name = Tabbed Properties View
-Views.example.name = Tabbed Properties Tests View
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.xml b/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.xml
deleted file mode 100644
index a772ea3..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.category.name"
-            id="org.eclipse.ui.views.properties.tabbed">
-      </category>
-      <view
-            name="%Views.example.name"
-            category="org.eclipse.ui.views.properties.tabbed"
-            icon="icons/sample.gif"
-            class="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView"
-            id="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor
-            contributorId="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView"
-            labelProvider="org.eclipse.ui.tests.views.properties.tabbed.views.LabelProvider"
-            typeMapper="org.eclipse.ui.tests.views.properties.tabbed.views.TypeMapper">
-         <propertyCategory category="first">
-         </propertyCategory>
-         <propertyCategory category="second">
-         </propertyCategory>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
-      <propertyTabs contributorId="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView">
-         <propertyTab
-               category="first"
-               id="propertyTab1"
-               label="Name"/>
-         <propertyTab
-               afterTab="propertyTab1"
-               category="first"
-               id="propertyTab2"
-               label="Project"/>
-         <propertyTab
-               afterTab="propertyTab2"
-               category="first"
-               id="propertyTab3"
-               label="Folder"/>
-         <propertyTab
-               afterTab="propertyTab3"
-               category="first"
-               id="propertyTab4"
-               label="File"/>
-         <propertyTab
-               afterTab="propertyTab4"
-               category="first"
-               id="propertyTab5"
-               label="Information"/>
-         <propertyTab
-               afterTab="propertyTab5"
-               category="first"
-               id="propertyTab6"
-               label="Warning"/>
-         <propertyTab
-               afterTab="propertyTab6"
-               category="first"
-               id="propertyTab7"
-               label="Error"/>
-         <propertyTab
-               category="second"
-               id="propertyTab8"
-               indented="true"
-               label="Message"/>
-         <propertyTab
-               category="second"
-               image="icons/sample.gif"
-               id="propertyTab9"
-               label="Resource"/>
-      </propertyTabs>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertySections">
-      <propertySections contributorId="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView">
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.NameSection"
-               enablesFor="1"
-               id="propertySection1"
-               tab="propertyTab1">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Element"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection2"
-               tab="propertyTab2">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Project"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection3"
-               tab="propertyTab3">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Folder"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection4"
-               tab="propertyTab4">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.File"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection5"
-               tab="propertyTab5">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Information"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection6"
-               tab="propertyTab6">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Warning"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection7"
-               tab="propertyTab7">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Error"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.MessageSection"
-               id="propertySection8"
-               tab="propertyTab8">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Error"/>
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Warning"/>
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Information"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.ResourceSection"
-               id="propertySection9"
-               tab="propertyTab9">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.File"/>
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Folder"/>
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Project"/>
-         </propertySection>
-         <propertySection
-               afterSection="propertySection5"
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.InformationTwoSection"
-               filter="org.eclipse.ui.tests.views.properties.tabbed.views.InformationTwoFilter"
-               id="propertySection10"
-               tab="propertyTab1">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Information"/>
-         </propertySection>
-      </propertySections>
-   </extension>
-
-
-</plugin>
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/Activator.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/Activator.java
deleted file mode 100644
index 8cfa680..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/Activator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed;

-

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.ui.plugin.AbstractUIPlugin;

-import org.osgi.framework.BundleContext;

-

-/**

- * The main plugin class to be used in the desktop.

- */

-public class Activator

-    extends AbstractUIPlugin {

-

-    // The shared instance.

-    private static Activator plugin;

-

-    /**

-     * The constructor.

-     */

-    public Activator() {

-        plugin = this;

-    }

-

-    /**

-     * This method is called upon plug-in activation

-     */

-    public void start(BundleContext context)

-        throws Exception {

-        super.start(context);

-    }

-

-    /**

-     * This method is called when the plug-in is stopped

-     */

-    public void stop(BundleContext context)

-        throws Exception {

-        super.stop(context);

-        plugin = null;

-    }

-

-    /**

-     * Returns the shared instance.

-     */

-    public static Activator getDefault() {

-        return plugin;

-    }

-

-    /**

-     * Returns an image descriptor for the image file at the given plug-in

-     * relative path.

-     * 

-     * @param path

-     *            the path

-     * @return the image descriptor

-     */

-    public static ImageDescriptor getImageDescriptor(String path) {

-        return AbstractUIPlugin.imageDescriptorFromPlugin(

-            "org.eclipse.ui.tests.views.properties.tabbed", path); //$NON-NLS-1$

-    }

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/AllTests.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/AllTests.java
deleted file mode 100644
index 0f1c513..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed;

-

-import junit.framework.Test;

-import junit.framework.TestCase;

-import junit.framework.TestSuite;

-import junit.textui.TestRunner;

-

-public class AllTests

-    extends TestCase {

-

-    public static void main(String[] args) {

-        TestRunner.run(suite());

-    }

-

-    public static Test suite() {

-        TestSuite suite = new TestSuite();

-        suite.addTestSuite(TabbedPropertySheetPageTest.class);

-        return suite;

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/TabbedPropertySheetPageTest.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/TabbedPropertySheetPageTest.java
deleted file mode 100644
index 276814b..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/TabbedPropertySheetPageTest.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed;

-

-import junit.framework.TestCase;

-

-import org.eclipse.jface.viewers.IContentProvider;

-import org.eclipse.jface.viewers.StructuredSelection;

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.ui.IPageLayout;

-import org.eclipse.ui.IViewPart;

-import org.eclipse.ui.IWorkbenchPage;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.PlatformUI;

-import org.eclipse.ui.tests.views.properties.tabbed.sections.InformationTwoSection;

-import org.eclipse.ui.tests.views.properties.tabbed.sections.NameSection;

-import org.eclipse.ui.tests.views.properties.tabbed.views.TestsView;

-import org.eclipse.ui.tests.views.properties.tabbed.views.TestsViewContentProvider;

-import org.eclipse.ui.views.properties.tabbed.ISection;

-import org.eclipse.ui.views.properties.tabbed.internal.view.Tab;

-import org.eclipse.ui.views.properties.tabbed.internal.view.TabbedPropertyComposite;

-import org.eclipse.ui.views.properties.tabbed.internal.view.TabbedPropertyList;

-

-public class TabbedPropertySheetPageTest

-    extends TestCase {

-

-    private IViewPart propertiesView;

-

-    private TestsView testsView;

-

-    private TreeNode[] treeNodes;

-

-    protected void setUp()

-        throws Exception {

-        super.setUp();

-

-        /**

-         * Open the properties view.

-         */

-        IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench()

-            .getActiveWorkbenchWindow();

-        assertNotNull(workbenchWindow);

-        IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();

-        assertNotNull(workbenchPage);

-        propertiesView = workbenchPage.showView(IPageLayout.ID_PROP_SHEET);

-        assertNotNull(propertiesView);

-

-        /**

-         * Open the Tests view.

-         */

-        IViewPart view = workbenchPage.showView(TestsView.TESTS_VIEW_ID);

-        assertNotNull(view);

-        assertTrue(view instanceof TestsView);

-        testsView = (TestsView) view;

-

-        /**

-         * get the list of tree nodes from the view.

-         */

-        IContentProvider contentProvider = testsView.getViewer()

-            .getContentProvider();

-        assertTrue(contentProvider instanceof TestsViewContentProvider);

-        TestsViewContentProvider viewContentProvider = (TestsViewContentProvider) contentProvider;

-        treeNodes = viewContentProvider.getInvisibleRoot().getChildren();

-        assertEquals(treeNodes.length, 8);

-    }

-

-    protected void tearDown()

-        throws Exception {

-        super.tearDown();

-

-        /**

-         * Close the properties view.

-         */

-        IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench()

-            .getActiveWorkbenchWindow();

-        assertNotNull(workbenchWindow);

-        IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();

-        assertNotNull(workbenchPage);

-        workbenchPage.hideView(propertiesView);

-        propertiesView = null;

-        /**

-         * Close the Tests view.

-         */

-        workbenchPage.hideView(testsView);

-        testsView = null;

-

-        treeNodes = null;

-    }

-

-    /**

-     * Set the selection in the view to cause the properties view to change.

-     * 

-     * @param selectedNodes

-     *            nodes to select in the view.

-     */

-    private void setSelection(TreeNode[] selectedNodes) {

-        StructuredSelection selection = new StructuredSelection(selectedNodes);

-        testsView.getViewer().setSelection(selection, true);

-    }

-

-    /**

-     * Get the list of tabs from the tabbed properties view.

-     * 

-     * @return the tab list.

-     */

-    private TabbedPropertyList getTabbedPropertyList() {

-        Control control = testsView.getTabbedPropertySheetPage().getControl();

-        assertTrue(control instanceof TabbedPropertyComposite);

-        TabbedPropertyComposite tabbedPropertyComposite = (TabbedPropertyComposite) control;

-        return tabbedPropertyComposite.getList();

-    }

-

-    /**

-     * When One Information Node is selected, three tabs display. Tests

-     * typeMapper, labelProvider, propertyCategories, afterTab attributes.

-     */

-    public void test_tabDisplay() {

-        /**

-         * select node 0 which is an Information

-         */

-        setSelection(new TreeNode[] {treeNodes[0]});

-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();

-        /**

-         * First tab is Name

-         */

-        assertEquals(tabbedPropertyList.getElementAt(0).toString(), "Name");//$NON-NLS-1$

-        /**

-         * Second tab is Information

-         */

-        assertEquals(tabbedPropertyList.getElementAt(1).toString(),

-            "Information");//$NON-NLS-1$

-        /**

-         * Third tab is Message

-         */

-        assertEquals(tabbedPropertyList.getElementAt(2).toString(), "Message");//$NON-NLS-1$

-        /**

-         * No fourth tab

-         */

-        assertNull(tabbedPropertyList.getElementAt(3));

-    }

-

-    /**

-     * When Two Information Node is selected, only two tabs display. Tests

-     * enablesFor attribute.

-     */

-    public void test_enablesForFilter() {

-        /**

-         * select nodes

-         */

-        setSelection(new TreeNode[] {treeNodes[0], treeNodes[1]});

-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();

-        /**

-         * First tab is Information

-         */

-        assertEquals(tabbedPropertyList.getElementAt(0).toString(),

-            "Information");//$NON-NLS-1$

-        /**

-         * Second tab is Message

-         */

-        assertEquals(tabbedPropertyList.getElementAt(1).toString(), "Message");//$NON-NLS-1$

-        /**

-         * No other tab

-         */

-        assertNull(tabbedPropertyList.getElementAt(2));

-    }

-

-    /**

-     * When Two Information Node is selected, two section displayed on Name tab.

-     * Tests filter, afterSection attribute.

-     */

-    public void test_sectionInformationTwoFilter() {

-        /**

-         * select nodes

-         */

-        setSelection(new TreeNode[] {treeNodes[1]});

-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();

-        /**

-         * First tab is Information

-         */

-        assertEquals(tabbedPropertyList.getElementAt(0).toString(), "Name");//$NON-NLS-1$

-        Tab tab = testsView.getTabbedPropertySheetPage().getCurrentTab();

-        /**

-         * the tab has two sections.

-         */

-        ISection[] sections = tab.getSections();

-        assertEquals(sections.length, 2);

-        assertEquals(sections[0].getClass(), NameSection.class);

-        assertEquals(sections[1].getClass(), InformationTwoSection.class);

-    }

-

-    /**

-     * When Information, Error and Warning Nodes are selected, only the Message

-     * tab displays. Tests input attribute.

-     */

-    public void test_selectThreeMessageNodes() {

-        /**

-         * select nodes

-         */

-        setSelection(new TreeNode[] {treeNodes[1], treeNodes[2], treeNodes[3],});

-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();

-        /**

-         * Only tab is Message

-         */

-        assertEquals(tabbedPropertyList.getElementAt(0).toString(), "Message");//$NON-NLS-1$

-        /**

-         * No other tab

-         */

-        assertNull(tabbedPropertyList.getElementAt(1));

-    }

-

-    /**

-     * When File, Folder and Project Nodes are selected, only the Resource tab

-     * displays. Tests input attribute.

-     */

-    public void test_selectThreeResourceNodes() {

-        /**

-         * select nodes

-         */

-        setSelection(new TreeNode[] {treeNodes[5], treeNodes[6], treeNodes[7],});

-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();

-        /**

-         * Only tab is Resource

-         */

-        assertEquals(tabbedPropertyList.getElementAt(0).toString(), "Resource");//$NON-NLS-1$

-        /**

-         * No other tab

-         */

-        assertNull(tabbedPropertyList.getElementAt(1));

-    }

-

-    /**

-     * When the view first comes up, there is no properties so the "Properties

-     * are not available." banner is displayed. Tests null selection in a

-     * viewer.

-     */

-    public void test_noPropertiesAvailable() {

-        Tab tab = testsView.getTabbedPropertySheetPage().getCurrentTab();

-        assertNull(tab);

-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();

-        assertNull(tabbedPropertyList.getElementAt(0));

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Element.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Element.java
deleted file mode 100644
index 7e6f4c1..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Element.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-

-public abstract class Element {

-

-    private String name;

-

-    public Element(String aName) {

-        super();

-        this.name = aName;

-    }

-

-    public String getName() {

-        return name;

-    }

-

-    public abstract Image getImage();

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Error.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Error.java
deleted file mode 100644
index beb86a0..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Error.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class Error

-    extends Element {

-

-    public Error(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJS_ERROR_TSK);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/File.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/File.java
deleted file mode 100644
index e7f8761..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/File.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class File

-    extends Element {

-

-    public File(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJ_FILE);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Folder.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Folder.java
deleted file mode 100644
index f1251c7..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Folder.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class Folder

-    extends Element {

-

-    public Folder(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJ_FOLDER);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Information.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Information.java
deleted file mode 100644
index a6c515d..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Information.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class Information

-    extends Element {

-

-    public Information(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJS_INFO_TSK);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Project.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Project.java
deleted file mode 100644
index a883146..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Project.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.PlatformUI;

-import org.eclipse.ui.ide.IDE.SharedImages;

-

-public class Project

-    extends Element {

-

-    public Project(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            SharedImages.IMG_OBJ_PROJECT);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Warning.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Warning.java
deleted file mode 100644
index 6498d3b..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Warning.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class Warning

-    extends Element {

-

-    public Warning(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJS_WARN_TSK);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/InformationTwoSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/InformationTwoSection.java
deleted file mode 100644
index 0e24a3f..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/InformationTwoSection.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-public class InformationTwoSection

-    extends LabelSection {

-

-    public InformationTwoSection() {

-        super();

-        label = "A section for Information that contains the word \"Two\"";//$NON-NLS-1$

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/LabelSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/LabelSection.java
deleted file mode 100644
index eb2822c..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/LabelSection.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-public class LabelSection

-    extends AbstractPropertySection {

-

-    protected String label;

-

-    public LabelSection() {

-        super();

-        label = "A simple section.";//$NON-NLS-1$

-    }

-

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage aTabbedPropertySheetPage) {

-        super.createControls(parent, aTabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-

-        CLabel nameLabel = getWidgetFactory().createCLabel(composite, label);

-        FormData data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, 0);

-        nameLabel.setLayoutData(data);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/MessageSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/MessageSection.java
deleted file mode 100644
index f529d73..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/MessageSection.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-public class MessageSection

-    extends LabelSection {

-

-    public MessageSection() {

-        super();

-        label = "A section common to message elements (Information, Warning and Error)";//$NON-NLS-1$

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/NameSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/NameSection.java
deleted file mode 100644
index 197d5f3..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/NameSection.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-import org.eclipse.jface.util.Assert;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Element;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-/**

- * The name section on the element tab.

- * 

- * @author Anthony Hunter

- */

-public class NameSection

-    extends AbstractPropertySection {

-

-    private TreeNode treeNode;

-

-    private Text nameText;

-

-    /**

-     * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,

-     *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)

-     */

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage tabbedPropertySheetPage) {

-        super.createControls(parent, tabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-        FormData data;

-

-        nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-        nameText.setEditable(false);

-        data = new FormData();

-        data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, 0);

-        nameText.setLayoutData(data);

-

-        CLabel nameLabel = getWidgetFactory().createCLabel(composite, "Name:"); //$NON-NLS-1$

-        data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(nameText,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(nameText, 0, SWT.CENTER);

-        nameLabel.setLayoutData(data);

-

-    }

-

-    /**

-     * Get the element.

-     * 

-     * @return the element.

-     */

-    public TreeNode getTreeNode() {

-        return treeNode;

-    }

-

-    /*

-     * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()

-     */

-    public void refresh() {

-        Element element = (Element) getTreeNode().getValue();

-        nameText.setText(element.getName());

-    }

-

-    public void setInput(IWorkbenchPart part, ISelection selection) {

-        super.setInput(part, selection);

-        Assert.isTrue(selection instanceof IStructuredSelection);

-        Object input = ((IStructuredSelection) selection).getFirstElement();

-        Assert.isTrue(input instanceof TreeNode);

-        this.treeNode = (TreeNode) input;

-    }

-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/ResourceSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/ResourceSection.java
deleted file mode 100644
index 13b3624..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/ResourceSection.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-public class ResourceSection

-    extends LabelSection {

-

-    public ResourceSection() {

-        super();

-        label = "A section common to resource elements (Project, Folder and File)";//$NON-NLS-1$

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/InformationTwoFilter.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/InformationTwoFilter.java
deleted file mode 100644
index 610c2f1..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/InformationTwoFilter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.views;

-

-import org.eclipse.jface.viewers.IFilter;

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Element;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Information;

-

-/**

- * A filter for Information messages that have the work "Two" in them.

- * 

- * @author Anthony Hunter

- */

-public class InformationTwoFilter

-    implements IFilter {

-

-    public boolean select(Object object) {

-        if (object instanceof TreeNode) {

-            Element element = (Element) ((TreeNode) object).getValue();

-            if (element instanceof Information) {

-                Information information = (Information) element;

-                if (information.getName().indexOf("Two") > -1) {//$NON-NLS-1$

-                    return true;

-                }

-            }

-        }

-        return false;

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/LabelProvider.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/LabelProvider.java
deleted file mode 100644
index 10919e5..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/LabelProvider.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.views;

-

-import java.util.Iterator;

-

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.StructuredSelection;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Element;

-

-/**

- * Label provider for the title bar for the tabbed property sheet page.

- * 

- * @author Anthony Hunter

- */

-public class LabelProvider

-    extends org.eclipse.jface.viewers.LabelProvider {

-

-    /**

-     * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)

-     */

-    public Image getImage(Object obj) {

-        if (obj == null || obj.equals(StructuredSelection.EMPTY)) {

-            return null;

-        }

-        if (obj instanceof IStructuredSelection) {

-            IStructuredSelection structuredSelection = (IStructuredSelection) obj;

-            if (areDifferentTypes(structuredSelection)) {

-                return null;

-            }

-            obj = structuredSelection.getFirstElement();

-        }

-        Element element = (Element) ((TreeNode) obj).getValue();

-        return element.getImage();

-    }

-

-    /**

-     * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)

-     */

-    public String getText(Object obj) {

-        if (obj == null || obj.equals(StructuredSelection.EMPTY)) {

-            return null;

-        }

-        int size = 1;

-        if (obj instanceof IStructuredSelection) {

-            IStructuredSelection structuredSelection = (IStructuredSelection) obj;

-            if (areDifferentTypes(structuredSelection)) {

-                return structuredSelection.size() + " items selected";//$NON-NLS-1$

-            }

-            obj = structuredSelection.getFirstElement();

-            size = structuredSelection.size();

-        }

-        StringBuffer ret = new StringBuffer();

-        Element element = (Element) ((TreeNode) obj).getValue();

-        String type = element.getClass().getName();

-        String name = element.getName();

-        ret.append('\u00AB');

-        ret.append(type.substring(type.lastIndexOf('.') + 1));

-        ret.append('\u00BB');

-        if (size == 1) {

-            ret.append(' ');

-            ret.append(name);

-        } else {

-            ret.append(' ');

-            ret.append(Integer.toString(size));

-            ret.append(" selected");//$NON-NLS-1$

-        }

-        return ret.toString();

-    }

-

-    /**

-     * Determine there are objects in the structured selection of different

-     * types.

-     * 

-     * @param structuredSelection

-     *            the structured selection.

-     * @return true if there are objects of different types in the selection.

-     */

-    private boolean areDifferentTypes(IStructuredSelection structuredSelection) {

-        if (structuredSelection.size() == 1) {

-            return false;

-        }

-        Iterator i = structuredSelection.iterator();

-        Element element = (Element) ((TreeNode) i.next()).getValue();

-        for (; i.hasNext();) {

-            Element next = (Element) ((TreeNode) i.next()).getValue();

-            if (next.getClass() != element.getClass()) {

-                return true;

-            }

-        }

-

-        return false;

-    }

-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsView.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsView.java
deleted file mode 100644
index 8099080..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsView.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.views.properties.tabbed.views;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeNode;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.tests.views.properties.tabbed.model.Element;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-public class TestsView
-    extends ViewPart
-    implements ITabbedPropertySheetPageContributor {
-
-    private TreeViewer viewer;
-
-    private TabbedPropertySheetPage tabbedPropertySheetPage;
-
-    public static final String TESTS_VIEW_ID = "org.eclipse.ui.tests.views.properties.tabbed.views.TestsView"; //$NON-NLS-1$
-
-    class ViewLabelProvider
-        extends LabelProvider {
-
-        public String getText(Object obj) {
-            Element element = (Element) ((TreeNode) obj).getValue();
-            return element.getName();
-        }
-
-        public Image getImage(Object obj) {
-            Element element = (Element) ((TreeNode) obj).getValue();
-            return element.getImage();
-        }
-    }
-
-    /**
-     * The constructor.
-     */
-    public TestsView() {
-        //
-    }
-
-    /**
-     * 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);
-        viewer.setContentProvider(new TestsViewContentProvider(this));
-        viewer.setLabelProvider(new ViewLabelProvider());
-        viewer.setInput(getViewSite());
-        getSite().setSelectionProvider(viewer);
-    }
-
-    /**
-     * Passing the focus request to the viewer's control.
-     */
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-
-    public Object getAdapter(Class adapter) {
-        if (adapter == IPropertySheetPage.class) {
-            if (tabbedPropertySheetPage == null) {
-                tabbedPropertySheetPage = new TabbedPropertySheetPage(this);
-            }
-            return tabbedPropertySheetPage;
-        }
-        return super.getAdapter(adapter);
-    }
-
-    public String getContributorId() {
-        return TESTS_VIEW_ID;
-    }
-
-    public TreeViewer getViewer() {
-        return viewer;
-    }
-
-    public TabbedPropertySheetPage getTabbedPropertySheetPage() {
-        return tabbedPropertySheetPage;
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsViewContentProvider.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsViewContentProvider.java
deleted file mode 100644
index dd68ef6..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsViewContentProvider.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.views;

-

-import org.eclipse.jface.viewers.IStructuredContentProvider;

-import org.eclipse.jface.viewers.ITreeContentProvider;

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Error;

-import org.eclipse.ui.tests.views.properties.tabbed.model.File;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Folder;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Information;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Project;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Warning;

-

-public class TestsViewContentProvider

-    implements IStructuredContentProvider, ITreeContentProvider {

-

-    /**

-     * 

-     */

-    private final TestsView view;

-

-    /**

-     * @param view

-     */

-    TestsViewContentProvider(TestsView aView) {

-        this.view = aView;

-    }

-

-    private TreeNode invisibleRoot;

-

-    public void inputChanged(Viewer v, Object oldInput, Object newInput) {

-        //

-    }

-

-    public void dispose() {

-        //

-    }

-

-    public Object[] getElements(Object parent) {

-        if (parent.equals(this.view.getViewSite())) {

-            if (invisibleRoot == null)

-                initialize();

-            return getChildren(invisibleRoot);

-        }

-        return getChildren(parent);

-    }

-

-    public Object getParent(Object child) {

-        if (child instanceof TreeNode) {

-            return ((TreeNode) child).getParent();

-        }

-        return null;

-    }

-

-    public Object[] getChildren(Object parent) {

-        if (parent instanceof TreeNode) {

-            return ((TreeNode) parent).getChildren();

-        }

-        return new Object[0];

-    }

-

-    public boolean hasChildren(Object parent) {

-        if (parent instanceof TreeNode)

-            return ((TreeNode) 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.

-     */

-    void initialize() {

-        TreeNode[] nodes = new TreeNode[] {

-            new TreeNode(new Information("Informational Message One")),//$NON-NLS-1$

-            new TreeNode(new Information("Informational Message Two")),//$NON-NLS-1$

-            new TreeNode(new Error("Error Message One")),//$NON-NLS-1$

-            new TreeNode(new Warning("Warning Message One")),//$NON-NLS-1$

-            new TreeNode(new File("file.txt")),//$NON-NLS-1$

-            new TreeNode(new File("another.txt")),//$NON-NLS-1$

-            new TreeNode(new Folder("folder")),//$NON-NLS-1$

-            new TreeNode(new Project("project"))};//$NON-NLS-1$

-        invisibleRoot = new TreeNode(new Project(""));//$NON-NLS-1$

-        invisibleRoot.setChildren(nodes);

-    }

-

-    public TreeNode getInvisibleRoot() {

-        return invisibleRoot;

-    }

-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TypeMapper.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TypeMapper.java
deleted file mode 100644
index 5f20e44..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TypeMapper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.views;

-

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.ui.views.properties.tabbed.AbstractTypeMapper;

-

-public class TypeMapper

-    extends AbstractTypeMapper {

-

-    public Class mapType(Object object) {

-        if (object instanceof TreeNode) {

-            return ((TreeNode) object).getValue().getClass();

-        }

-        return super.mapType(object);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/test.xml b/tests/org.eclipse.ui.tests.views.properties.tabbed/test.xml
deleted file mode 100644
index d5d6d89..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/test.xml
+++ /dev/null
@@ -1,50 +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 eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.ui.tests.views.properties.tabbed"/>
-  <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="sniff-folder"
-              value="${eclipse-home}/tabbedproperties_sniff_folder"/>
-    <delete dir="${sniff-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${sniff-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname"
-                value="org.eclipse.ui.tests.views.properties.tabbed.AllTests"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-</project>