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

Sprout from master 2007-09-14 17:56:37 UTC Michael Valenta <mvalenta> 'Release for I-build'
Cherrypick from master 2007-09-18 15:36:09 UTC Michael Valenta <mvalenta> 'Bug 136330 [API] DelegatingStorageMerger should be API':
    bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java
Delete:
    bundles/org.eclipse.core.net/.classpath
    bundles/org.eclipse.core.net/.cvsignore
    bundles/org.eclipse.core.net/.project
    bundles/org.eclipse.core.net/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.core.net/META-INF/MANIFEST.MF
    bundles/org.eclipse.core.net/about.html
    bundles/org.eclipse.core.net/build.properties
    bundles/org.eclipse.core.net/plugin.properties
    bundles/org.eclipse.core.net/plugin.xml
    bundles/org.eclipse.core.net/schema/authenticator.exsd
    bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/Activator.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceInitializer.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyChangeEvent.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyData.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/StringMatcher.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyChangeEvent.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyChangeListener.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyData.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyService.java
    bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/package.html
    bundles/org.eclipse.jsch.core/.classpath
    bundles/org.eclipse.jsch.core/.cvsignore
    bundles/org.eclipse.jsch.core/.project
    bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.jsch.core/META-INF/MANIFEST.MF
    bundles/org.eclipse.jsch.core/about.html
    bundles/org.eclipse.jsch.core/build.properties
    bundles/org.eclipse.jsch.core/plugin.properties
    bundles/org.eclipse.jsch.core/plugin.xml
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchService.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/package.html
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IConstants.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchCorePlugin.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchProvider.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Messages.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceModifyListener.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/ResponsiveSocketFactory.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Utils.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/messages.properties
    bundles/org.eclipse.jsch.ui/.classpath
    bundles/org.eclipse.jsch.ui/.cvsignore
    bundles/org.eclipse.jsch.ui/.project
    bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.jsch.ui/META-INF/MANIFEST.MF
    bundles/org.eclipse.jsch.ui/about.html
    bundles/org.eclipse.jsch.ui/build.properties
    bundles/org.eclipse.jsch.ui/icons/full/wizban/keylock.gif
    bundles/org.eclipse.jsch.ui/plugin.properties
    bundles/org.eclipse.jsch.ui/plugin.xml
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IHelpContextIds.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IUIConstants.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/KeyboardInteractiveDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/UserValidationDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/ExportDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PassphraseDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PixelConverter.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/SWTUtils.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/package.html
    bundles/org.eclipse.ui.net/.classpath
    bundles/org.eclipse.ui.net/.cvsignore
    bundles/org.eclipse.ui.net/.project
    bundles/org.eclipse.ui.net/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.net/about.html
    bundles/org.eclipse.ui.net/build.properties
    bundles/org.eclipse.ui.net/plugin.properties
    bundles/org.eclipse.ui.net/plugin.xml
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/Activator.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NetUIMessages.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsComposite.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsContentProvider.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsLabelProvider.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/Authentication.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/NetAuthenticator.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/UserValidationDialog.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/messages.properties
    examples/org.eclipse.compare.examples.xml/.classpath
    examples/org.eclipse.compare.examples.xml/.cvsignore
    examples/org.eclipse.compare.examples.xml/.project
    examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.compare.examples.xml/IdMaps/ant_test.xml
    examples/org.eclipse.compare.examples.xml/IdMaps/idmap.dtd
    examples/org.eclipse.compare.examples.xml/about.html
    examples/org.eclipse.compare.examples.xml/build.properties
    examples/org.eclipse.compare.examples.xml/doc-html/CreateNewIDMapButton.gif
    examples/org.eclipse.compare.examples.xml/doc-html/EditCopy.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMapContextMenu.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_GeneralMatching.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_MyPlugin.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewIDMapScheme.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_ContextMenu.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_PreferencePage.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_SelectMyPlugin.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_MyANT.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewIDMapScheme.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_ContextMenu.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_PreferencePage.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_UnorderedScheme.gif
    examples/org.eclipse.compare.examples.xml/doc-html/PreferencePage.gif
    examples/org.eclipse.compare.examples.xml/doc-html/addidmap.gif
    examples/org.eclipse.compare.examples.xml/doc-html/idMapping.html
    examples/org.eclipse.compare.examples.xml/doc-html/smartmode_co.gif
    examples/org.eclipse.compare.examples.xml/doc-html/tutorial_and_examples.html
    examples/org.eclipse.compare.examples.xml/doc-html/ui_xmlcompare_ex.html
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/addidmap.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/attribute_obj.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_obj.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_ordered_obj.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/smartmode_co.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/text_obj.gif
    examples/org.eclipse.compare.examples.xml/plugin.properties
    examples/org.eclipse.compare.examples.xml/plugin.xml
    examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AbstractMatching.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ChooseMatcherDropDownAction.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/CreateNewIdMapAction.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/IdMap.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Mapping.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Messages.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/OrderedMatching.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SWTUtil.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SelectMatcherAction.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLChildren.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareAddIdMapDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditCopyIdMapDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditMappingDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditOrderedDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareMessages.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLComparePreferencePage.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLNode.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLPlugin.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureCreator.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewer.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewerCreator.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/MessageLine.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusInfo.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusUtil.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/xmlcompare.properties
    examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/AllXMLCompareTests.java
    examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/TestXMLStructureCreator.java
    examples/org.eclipse.compare.examples/.classpath
    examples/org.eclipse.compare.examples/.cvsignore
    examples/org.eclipse.compare.examples/.project
    examples/org.eclipse.compare.examples/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.compare.examples/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.compare.examples/about.html
    examples/org.eclipse.compare.examples/build.properties
    examples/org.eclipse.compare.examples/doc-html/ui_structurecreator_ex.html
    examples/org.eclipse.compare.examples/plugin.properties
    examples/org.eclipse.compare.examples/plugin.xml
    examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/CompareExampleMessages.properties
    examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java
    examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/TextMergeViewerCreator.java
    examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/Util.java
    examples/org.eclipse.team.examples.filesystem/.classpath
    examples/org.eclipse.team.examples.filesystem/.cvsignore
    examples/org.eclipse.team.examples.filesystem/.project
    examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.team.examples.filesystem/about.html
    examples/org.eclipse.team.examples.filesystem/build.properties
    examples/org.eclipse.team.examples.filesystem/doc-html/team_filesystem_ex.html
    examples/org.eclipse.team.examples.filesystem/doc-html/team_localhistory_ex.html
    examples/org.eclipse.team.examples.filesystem/doc-html/team_model_ex.html
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/fldr_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/mod_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/moe_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/prj_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/root_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/wizards/fsicon_wiz.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/wizards/synced.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/wizban/newconnect_wizban.png
    examples/org.eclipse.team.examples.filesystem/plugin.properties
    examples/org.eclipse.team.examples.filesystem/plugin.xml
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileModificationValidator.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemOperations.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemPlugin.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProviderType.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/Policy.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/StreamUtil.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemFileRevision.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistory.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistoryProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/messages.properties
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemMergeContext.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemRemoteTree.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemResourceVariant.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSubscriber.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSyncInfo.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/CompoundResourceTraversal.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ConfigurationWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/DisconnectAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPageSource.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemPropertiesPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemRevisionEditorInput.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemSynchronizeParticipant.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemTableProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/MergeAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ModelPutAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergeDialog.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergePart.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergeOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergePage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/OpenFileSystemRevisionAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ProjectSetSerializer.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ReplaceAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ShowHistoryAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SyncDialogModelMergeOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryParticipant.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySubscriber.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySyncInfo.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySynchronizeWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariant.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariantComparator.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/RevertAllOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelContainer.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFile.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFolder.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelNature.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObject.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectElementFile.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelProject.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelResource.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelWorkspace.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/PluginManifestChangeTracker.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ExampleModelProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModResourceMapping.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelContainerResourceMapping.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelMerger.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelResourceMapping.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/MoeResourceMapping.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/AdapterFactory.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorActionProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorContentProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorLabelProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveable.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveablesProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelWorkbenchAdapter.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/NewModelProjectWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/CompareAdapter.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelMergeActionHandler.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncActionProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncContentProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncLabelProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ThirdPartyActionProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IPessimisticFilesystemConstants.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IResourceStateListener.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProviderPlugin.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticModificationValidator.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceChangeListener.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/AddToControlAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/BlankPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckInAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckOutAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/ConfigurationWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/DisconnectAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticDecorator.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticPreferencesPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticProviderAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/RemoveFromControlAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/SourceManagementAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/UncheckOutAction.java
    features/org.eclipse.cvs-feature/.project
    features/org.eclipse.cvs-feature/build.properties
    features/org.eclipse.cvs-feature/eclipse_update_120.jpg
    features/org.eclipse.cvs-feature/epl-v10.html
    features/org.eclipse.cvs-feature/feature.properties
    features/org.eclipse.cvs-feature/feature.xml
    features/org.eclipse.cvs-feature/license.html
    features/org.eclipse.cvs-feature/rootfiles/epl-v10.html
    features/org.eclipse.cvs-feature/rootfiles/notice.html
    features/org.eclipse.cvs-feature/sourceTemplateFeature/eclipse_update_120.jpg
    features/org.eclipse.cvs-feature/sourceTemplateFeature/epl-v10.html
    features/org.eclipse.cvs-feature/sourceTemplateFeature/feature.properties
    features/org.eclipse.cvs-feature/sourceTemplateFeature/license.html
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.html
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.ini
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.mappings
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.properties
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/build.properties
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.gif
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.png
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/plugin.properties
    tests/org.eclipse.core.tests.net/.classpath
    tests/org.eclipse.core.tests.net/.cvsignore
    tests/org.eclipse.core.tests.net/.project
    tests/org.eclipse.core.tests.net/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.core.tests.net/META-INF/MANIFEST.MF
    tests/org.eclipse.core.tests.net/about.html
    tests/org.eclipse.core.tests.net/build.properties
    tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/Activator.java
    tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/AllNetTests.java
    tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/NetTest.java
    tests/org.eclipse.core.tests.net/test.xml
    tests/org.eclipse.jsch.tests/.classpath
    tests/org.eclipse.jsch.tests/.cvsignore
    tests/org.eclipse.jsch.tests/.project
    tests/org.eclipse.jsch.tests/META-INF/MANIFEST.MF
    tests/org.eclipse.jsch.tests/build.properties
    tests/org.eclipse.jsch.tests/src/org/eclipse/jsch/tests/Activator.java
    tests/org.eclipse.team.tests.core/.classpath
    tests/org.eclipse.team.tests.core/.cvsignore
    tests/org.eclipse.team.tests.core/.project
    tests/org.eclipse.team.tests.core/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.team.tests.core/about.html
    tests/org.eclipse.team.tests.core/build-tests.xml
    tests/org.eclipse.team.tests.core/build.properties
    tests/org.eclipse.team.tests.core/plugin.xml
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamUITests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StorageMergerTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TestStorageMerger.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeBuildingTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTestSubscriber.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/ResourceContentTests.java
    tests/org.eclipse.team.tests.core/test.xml
diff --git a/bundles/org.eclipse.core.net/.classpath b/bundles/org.eclipse.core.net/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.core.net/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.core.net/.cvsignore b/bundles/org.eclipse.core.net/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.core.net/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.core.net/.project b/bundles/org.eclipse.core.net/.project
deleted file mode 100644
index ed95a11..0000000
--- a/bundles/org.eclipse.core.net/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.net</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.core.net/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.core.net/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 933c3e6..0000000
--- a/bundles/org.eclipse.core.net/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,73 +0,0 @@
-#Mon Feb 19 11:02:06 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=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=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=error
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=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=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,XXX
diff --git a/bundles/org.eclipse.core.net/META-INF/MANIFEST.MF b/bundles/org.eclipse.core.net/META-INF/MANIFEST.MF
deleted file mode 100644
index 9c3ebd7..0000000
--- a/bundles/org.eclipse.core.net/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.core.net;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.core.internal.net.Activator
-Bundle-Vendor: %PLUGIN_PROVIDER
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)"
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.core.internal.net;x-internal:=true,
- org.eclipse.core.net.proxy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.0/Foundation-1.0,
- J2SE-1.3
diff --git a/bundles/org.eclipse.core.net/about.html b/bundles/org.eclipse.core.net/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.core.net/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.net/build.properties b/bundles/org.eclipse.core.net/build.properties
deleted file mode 100644
index 892cffa..0000000
--- a/bundles/org.eclipse.core.net/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = META-INF/,\
-               .,\
-               plugin.properties,\
-               about.html,\
-               plugin.xml
-src.includes = about.html
diff --git a/bundles/org.eclipse.core.net/plugin.properties b/bundles/org.eclipse.core.net/plugin.properties
deleted file mode 100644
index 7df2960..0000000
--- a/bundles/org.eclipse.core.net/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-# yyyymmdd bug      Email and other contact information
-# -------- -------- -----------------------------------------------------------
-# 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-PLUGIN_NAME=Internet Connection Management
-PLUGIN_PROVIDER=Eclipse.org
diff --git a/bundles/org.eclipse.core.net/plugin.xml b/bundles/org.eclipse.core.net/plugin.xml
deleted file mode 100644
index b87592c..0000000
--- a/bundles/org.eclipse.core.net/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension-point id="authenticator" name="Authenticator" schema="schema/authenticator.exsd"/>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.core.internal.net.PreferenceInitializer">
-      </initializer>
-      <modifier
-            class="org.eclipse.core.internal.net.PreferenceModifyListener">
-      </modifier>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.core.net/schema/authenticator.exsd b/bundles/org.eclipse.core.net/schema/authenticator.exsd
deleted file mode 100644
index 77e3541..0000000
--- a/bundles/org.eclipse.core.net/schema/authenticator.exsd
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.net">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.core.net" id="authenticator" name="Authenticator"/>
-      </appInfo>
-      <documentation>
-         Internal extension point to allow a java.net.Authenticator to ne provided by a UI plug-in
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="authenticator"/>
-         </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="authenticator">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.net.Authenticator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         This extension point is not API
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/Activator.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/Activator.java
deleted file mode 100644
index def0948..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/Activator.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070119   161112 makandre@ca.ibm.com - Andrew Mak, WSE: can't find business thru a proxy server that needs basic auth
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-
-package org.eclipse.core.internal.net;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-
-public class Activator extends Plugin {
-	/**
-	 * The identifier of the descriptor of this plugin in plugin.xml.
-	 */
-	public static final String ID = "org.eclipse.core.net"; //$NON-NLS-1$
-	
-	public static final String PT_AUTHENTICATOR = "authenticator"; //$NON-NLS-1$
-	
-	private static final String PROP_REGISTER_SERVICE = "org.eclipse.net.core.enableProxyService"; //$NON-NLS-1$
-
-	/**
-	 * The instance of this plugin.
-	 */
-	private static Activator instance;
-
-	private ServiceRegistration proxyService;
-
-	/**
-	 * Constructor for use by the Eclipse platform only.
-	 */
-	public Activator() {
-		super();
-		instance = this;
-	}
-
-	/**
-	 * Returns the instance of this plugin.
-	 * @return the singleton instance of this plug-in class
-	 */
-	static public Activator getInstance() {
-		return instance;
-	}
-
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		if (Boolean.valueOf(System.getProperty(PROP_REGISTER_SERVICE, "true")).booleanValue()) { //$NON-NLS-1$
-			ProxyManager proxyManager = (ProxyManager)ProxyManager.getProxyManager();
-			proxyManager.initialize();
-			proxyService = getBundle().getBundleContext().registerService(IProxyService.class.getName(), proxyManager, new Hashtable());
-		}
-	}
-	
-	public void stop(BundleContext context) throws Exception {
-		if (proxyService != null) {
-			proxyService.unregister();
-			proxyService = null;
-		}
-		super.stop(context);
-	}
-	
-	public static void logError(String message, Throwable exc) {
-		IStatus status = new Status(IStatus.ERROR, ID, 0, message, exc);
-
-		getInstance().getLog().log(status);
-	}
-
-	public static void logInfo(String message, Throwable exc) {
-		IStatus status = new Status(IStatus.INFO, ID, 0, message, exc);
-
-		getInstance().getLog().log(status);
-	}
-
-	public org.osgi.service.prefs.Preferences getInstancePreferences() {
-		return new InstanceScope().getNode(getBundle().getSymbolicName());
-	}
-
-	public static void log(int severity, String message, Throwable throwable) {
-		getInstance().getLog().log(new Status(severity, ID, 0, message, throwable));
-	}
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceInitializer.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceInitializer.java
deleted file mode 100644
index d154f94..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceInitializer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.net;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-	
-	public PreferenceInitializer() {
-		super();
-	}
-
-	public void initializeDefaultPreferences() {
-		// TODO: We should set defaults in the default scope
-		//((ProxyManager)ProxyManager.getProxyManager()).initialize();
-	}
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java
deleted file mode 100644
index 8f1904b..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.net;
-
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.osgi.service.prefs.BackingStoreException;
-
-public class PreferenceModifyListener extends
-		org.eclipse.core.runtime.preferences.PreferenceModifyListener {
-
-	public PreferenceModifyListener() {
-		// Nothing to do
-	}
-	
-	public IEclipsePreferences preApply(IEclipsePreferences node) {
-		try {
-			if (node.nodeExists("instance")) { //$NON-NLS-1$
-				((ProxyManager)ProxyManager.getProxyManager()).migrateUpdateHttpProxy(node.node("instance"), false); //$NON-NLS-1$
-			}
-		} catch (BackingStoreException e) {
-			Activator.logError("Could not access instance preferences", e); //$NON-NLS-1$
-		}
-		return super.preApply(node);
-	}
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyChangeEvent.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyChangeEvent.java
deleted file mode 100644
index 3f3584a..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyChangeEvent.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.net;
-
-import org.eclipse.core.net.proxy.IProxyChangeEvent;
-import org.eclipse.core.net.proxy.IProxyData;
-
-public class ProxyChangeEvent implements IProxyChangeEvent {
-
-	private final int type;
-	private final String[] oldHosts;
-	private final String[] nonProxiedHosts;
-	private final IProxyData[] oldData;
-	private final IProxyData[] changeData;
-
-	public ProxyChangeEvent(int type, String[] oldHosts,
-			String[] nonProxiedHosts, IProxyData[] oldData, IProxyData[] changedData) {
-				this.type = type;
-				this.oldHosts = oldHosts;
-				this.nonProxiedHosts = nonProxiedHosts;
-				this.oldData = oldData;
-				this.changeData = changedData;
-	}
-
-	public int getChangeType() {
-		return type;
-	}
-
-	public IProxyData[] getChangedProxyData() {
-		return changeData;
-	}
-
-	public String[] getNonProxiedHosts() {
-		return nonProxiedHosts;
-	}
-
-	public String[] getOldNonProxiedHosts() {
-		return oldHosts;
-	}
-
-	public IProxyData[] getOldProxyData() {
-		return oldData;
-	}
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyData.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyData.java
deleted file mode 100644
index b6d794d..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyData.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.net;
-
-import org.eclipse.core.net.proxy.IProxyData;
-
-public class ProxyData implements IProxyData {
-
-	private String type;
-	private String host;
-	private int port;
-	private String user;
-	private String password;
-	private boolean requiresAuthentication;
-
-	public ProxyData(String type, String host, int port, boolean requiresAuthentication) {
-		this.type = type;
-		this.host = host;
-		this.port = port;
-		this.requiresAuthentication = requiresAuthentication;
-	}
-
-	public ProxyData(String type) {
-		this.type = type;
-	}
-
-	public String getHost() {
-		return host;
-	}
-
-	public String getPassword() {
-		return password;
-	}
-
-	public int getPort() {
-		return port;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	public String getUserId() {
-		return user;
-	}
-
-	public void setHost(String host) {
-		if (host.length() == 0)
-			host = null;
-		this.host = host;
-	}
-
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	public void setPort(int port) {
-		this.port = port;
-	}
-
-	public void setUserid(String userid) {
-		this.user = userid;
-		requiresAuthentication = userid != null;
-	}
-
-	public boolean isRequiresAuthentication() {
-		return requiresAuthentication;
-	}
-
-	public void disable() {
-		host = null;
-		port = -1;
-		user = null;
-		password = null;
-		requiresAuthentication = false;
-	}
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java
deleted file mode 100644
index defb130..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.net;
-
-import java.net.Authenticator;
-import java.util.*;
-
-import org.eclipse.core.net.proxy.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-public class ProxyManager implements IProxyService, IPreferenceChangeListener {
-	
-	private static final String PREF_HAS_MIGRATED = "org.eclipse.core.net.hasMigrated"; //$NON-NLS-1$
-	
-	/**
-	 * Preference constants used by Update to record the HTTP proxy
-	 */
-	private static String HTTP_PROXY_HOST = "org.eclipse.update.core.proxy.host"; //$NON-NLS-1$
-	private static String HTTP_PROXY_PORT = "org.eclipse.update.core.proxy.port"; //$NON-NLS-1$
-	private static String HTTP_PROXY_ENABLE = "org.eclipse.update.core.proxy.enable"; //$NON-NLS-1$
-	
-	private static final String PREF_NON_PROXIED_HOSTS = "nonProxiedHosts"; //$NON-NLS-1$
-	private static final String PREF_ENABLED = "proxiesEnabled"; //$NON-NLS-1$
-	
-	private static IProxyService proxyManager;
-	
-	ListenerList listeners = new ListenerList(ListenerList.IDENTITY);
-	private String[] nonProxiedHosts;
-	private final ProxyType[] proxies = new ProxyType[] {
-			new ProxyType(IProxyData.HTTP_PROXY_TYPE),
-			new ProxyType(IProxyData.HTTPS_PROXY_TYPE),
-			new ProxyType(IProxyData.SOCKS_PROXY_TYPE)
-		};
-
-	/**
-	 * Return the proxy manager.
-	 * @return the proxy manager
-	 */
-	public synchronized static IProxyService getProxyManager() {
-		if (proxyManager == null)
-			proxyManager = new ProxyManager();
-		return proxyManager;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.net.IProxyManager#addProxyChangeListener(org.eclipse.core.net.IProxyChangeListener)
-	 */
-	public void addProxyChangeListener(IProxyChangeListener listener) {
-		listeners.add(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.net.IProxyManager#removeProxyChangeListener(org.eclipse.core.net.IProxyChangeListener)
-	 */
-	public void removeProxyChangeListener(IProxyChangeListener listener) {
-		listeners.remove(listener);
-	}
-	
-	private void fireChange(final IProxyChangeEvent event) {
-		Object[] l = listeners.getListeners();
-		for (int i = 0; i < l.length; i++) {
-			final IProxyChangeListener listener = (IProxyChangeListener)l[i];
-			SafeRunner.run(new ISafeRunnable() {
-				public void run() throws Exception {
-					listener.proxyInfoChanged(event);
-				}
-				public void handleException(Throwable exception) {
-					// Logged by SafeRunner
-				}
-			});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.net.IProxyManager#getNonProxiedHosts()
-	 */
-	public synchronized String[] getNonProxiedHosts() {
-		if (nonProxiedHosts == null) {
-			String prop = Activator.getInstance().getInstancePreferences().get(PREF_NON_PROXIED_HOSTS, "localhost|127.0.0.1"); //$NON-NLS-1$
-			nonProxiedHosts = ProxyType.convertPropertyStringToHosts(prop);
-		}
-		if (nonProxiedHosts.length == 0)
-			return nonProxiedHosts;
-		String[] result = new String[nonProxiedHosts.length];
-		System.arraycopy(nonProxiedHosts, 0, result, 0, nonProxiedHosts.length );
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.net.IProxyManager#setNonProxiedHosts(java.lang.String[])
-	 */
-	public void setNonProxiedHosts(String[] hosts) {
-		Assert.isNotNull(hosts);
-		for (int i = 0; i < hosts.length; i++) {
-			String host = hosts[i];
-			Assert.isNotNull(host);
-			Assert.isTrue(host.length() > 0);
-		}
-		String[] oldHosts = nonProxiedHosts;
-		nonProxiedHosts = hosts;
-		Activator.getInstance().getInstancePreferences().put(PREF_NON_PROXIED_HOSTS, ProxyType.convertHostsToPropertyString(nonProxiedHosts));
-		try {
-			Activator.getInstance().getInstancePreferences().flush();
-		} catch (BackingStoreException e) {
-			Activator.logError(
-					"An error occurred while writing out the non-proxied hosts list", e); //$NON-NLS-1$
-		}
-		IProxyData[] data = getProxyData();
-		IProxyChangeEvent event = new ProxyChangeEvent(IProxyChangeEvent.NONPROXIED_HOSTS_CHANGED, oldHosts, getNonProxiedHosts(), data, new IProxyData[0]);
-		fireChange(event);
-	}
-
-	
-	public IProxyData[] getProxyData() {
-		IProxyData[] result = new IProxyData[proxies.length];
-		for (int i = 0; i < proxies.length; i++) {
-			ProxyType type = proxies[i];
-			result[i] = type.getProxyData(ProxyType.VERIFY_EQUAL);
-		}
-		return result;
-	}
-	
-	public void setProxyData(IProxyData[] proxies) {
-		doSetProxyData(proxies);
-	}
-	
-	private void doSetProxyData(IProxyData[] proxyDatas) {
-		IProxyData[] oldData = getProxyData();
-		String[] hosts = getNonProxiedHosts();
-		IProxyData[] changedProxies = internalSetProxyData(proxyDatas);
-		if (changedProxies.length > 0) {
-			IProxyChangeEvent event = new ProxyChangeEvent(IProxyChangeEvent.PROXY_SERVICE_ENABLEMENT_CHANGE, hosts, hosts, oldData, changedProxies);
-			fireChange(event);
-		}
-	}
-
-	private IProxyData[] internalSetProxyData(IProxyData[] proxyDatas) {
-		List result = new ArrayList();
-		for (int i = 0; i < proxyDatas.length; i++) {
-			IProxyData proxyData = proxyDatas[i];
-			ProxyType type = getType(proxyData);
-			if (type != null && type.setProxyData(proxyData, isProxiesEnabled())) {
-				result.add(proxyData);
-			}
-		}
-		return (IProxyData[]) result.toArray(new IProxyData[result.size()]);
-	}
-
-	private ProxyType getType(IProxyData proxyData) {
-		for (int i = 0; i < proxies.length; i++) {
-			ProxyType type = proxies[i];
-			if (type.getName().equals(proxyData.getType())) {
-				return type;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.net.IProxyManager#isProxiesEnabled()
-	 */
-	public boolean isProxiesEnabled() {
-		return Activator.getInstance().getInstancePreferences().getBoolean(PREF_ENABLED, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.net.IProxyManager#setProxiesEnabled(boolean)
-	 */
-	public void setProxiesEnabled(boolean enabled) {
-		boolean current = isProxiesEnabled();
-		if (current == enabled)
-			return;
-		// Setting the preference will trigger the system property update
-		// (see preferenceChange)
-		Activator.getInstance().getInstancePreferences().putBoolean(PREF_ENABLED, enabled);
-	}
-
-	private void internalSetEnabled(boolean enabled) {
-		Properties sysProps = System.getProperties();
-		sysProps.put("proxySet", enabled ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		updateSystemProperties();
-		try {
-			Activator.getInstance().getInstancePreferences().flush();
-		} catch (BackingStoreException e) {
-			Activator.logError(
-					"An error occurred while writing out the enablement state", e); //$NON-NLS-1$
-		}
-		String[] hosts = getNonProxiedHosts();
-		IProxyData[] data = getProxyData();
-		IProxyChangeEvent event = new ProxyChangeEvent(IProxyChangeEvent.PROXY_DATA_CHANGED, hosts, hosts, data, data);
-		fireChange(event);
-	}
-
-	private void updateSystemProperties() {
-		for (int i = 0; i < proxies.length; i++) {
-			ProxyType type = proxies[i];
-			type.updateSystemProperties(internalGetProxyData(type.getName(), ProxyType.DO_NOT_VERIFY), isProxiesEnabled());
-		}
-	}
-
-	public void initialize() {
-		// First see if there is an http proxy to migrate
-		migrateUpdateHttpProxy(new InstanceScope().getNode(""), true); //$NON-NLS-1$
-		((IEclipsePreferences)Activator.getInstance().getInstancePreferences()).addPreferenceChangeListener(this);
-		// Now initialize each proxy type
-		for (int i = 0; i < proxies.length; i++) {
-			ProxyType type = proxies[i];
-			type.initialize(isProxiesEnabled());
-		}
-		registerAuthenticator();
-	}
-
-	public IProxyData getProxyData(String type) {
-		return internalGetProxyData(type, ProxyType.VERIFY_EQUAL);
-	}
-
-	private IProxyData internalGetProxyData(String type, int verifySystemProperties) {
-		for (int i = 0; i < proxies.length; i++) {
-			ProxyType pt = proxies[i];
-			if (pt.getName().equals(type)) {
-				return pt.getProxyData(verifySystemProperties);
-			}
-		}
-		return null;
-	}
-
-	public IProxyData[] getProxyDataForHost(String host) {
-		if (isHostFiltered(host))
-			return new IProxyData[0];
-		IProxyData[] data = getProxyData();
-		List result = new ArrayList();
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			if (proxyData.getHost() != null)
-				result.add(proxyData);
-		}
-		return (IProxyData[]) result.toArray(new IProxyData[result.size()]);
-	}
-
-	private boolean isHostFiltered(String host) {
-		String[] filters = getNonProxiedHosts();
-		for (int i = 0; i < filters.length; i++) {
-			String filter = filters[i];
-			if (matchesFilter(host, filter))
-				return true;
-		}
-		return false;
-	}
-
-	private boolean matchesFilter(String host, String filter) {
-		StringMatcher matcher = new StringMatcher(filter, false, false);
-		return matcher.match(host);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.net.core.IProxyManager#getProxyDataForHost(java.lang.String, java.lang.String)
-	 */
-	public IProxyData getProxyDataForHost(String host, String type) {
-		IProxyData[] data = getProxyDataForHost(host);
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			if (proxyData.getType().equals(type) && proxyData.getHost() != null)
-				return proxyData;
-		}
-		return null;
-	}
-	
-	private void registerAuthenticator() {
-		Authenticator a = getPluggedInAuthenticator();
-		if (a != null) {
-			Authenticator.setDefault(a);
-		}
-	}
-	
-	private Authenticator getPluggedInAuthenticator() {
-		IExtension[] extensions = Platform.getExtensionRegistry().getExtensionPoint(Activator.ID, Activator.PT_AUTHENTICATOR).getExtensions();
-		if (extensions.length == 0)
-			return null;
-		IExtension extension = extensions[0];
-		IConfigurationElement[] configs = extension.getConfigurationElements();
-		if (configs.length == 0) {
-			Activator.log(IStatus.ERROR, NLS.bind("Authenticator {0} is missing required fields", (new Object[] {extension.getUniqueIdentifier()})), null);//$NON-NLS-1$ 
-			return null;
-		}
-		try {
-			IConfigurationElement config = configs[0];
-			return (Authenticator) config.createExecutableExtension("class");//$NON-NLS-1$ 
-		} catch (CoreException ex) {
-			Activator.log(IStatus.ERROR, NLS.bind("Unable to instantiate authenticator {0}", (new Object[] {extension.getUniqueIdentifier()})), ex);//$NON-NLS-1$ 
-			return null;
-		}
-	}
-	
-	void migrateUpdateHttpProxy(Preferences node, boolean isInitialize) {
-		Preferences netPrefs = node.node(Activator.ID);
-		if (!netPrefs.getBoolean(PREF_HAS_MIGRATED, false)) {
-			// Only set the migration bit when initializing
-			if (isInitialize)
-				netPrefs.putBoolean(PREF_HAS_MIGRATED, true);
-			Preferences updatePrefs = node.node("org.eclipse.update.core"); //$NON-NLS-1$
-			String httpProxyHost = getHostToMigrate(updatePrefs, isInitialize /* checkSystemProperties */);
-			int port = getPortToMigrate(updatePrefs, isInitialize /* checkSystemProperties */);
-			boolean httpProxyEnable = getEnablementToMigrate(updatePrefs, isInitialize /* checkSystemProperties */);
-			if (httpProxyHost != null) {
-				ProxyData proxyData = new ProxyData(IProxyData.HTTP_PROXY_TYPE, httpProxyHost, port, false);
-				ProxyType type = getType(proxyData);
-				type.updatePreferencesIfMissing(netPrefs, proxyData);
-				if (httpProxyEnable) {
-					netPrefs.putBoolean(ProxyManager.PREF_ENABLED, true);
-				}
-			}
-		}
-	}
-
-	private boolean getEnablementToMigrate(Preferences updatePrefs, boolean checkSystemProperties) {
-		boolean httpProxyEnable = false;
-		if (checkSystemProperties && updatePrefs.get(HTTP_PROXY_ENABLE, null) == null) {
-			httpProxyEnable = Boolean.getBoolean("http.proxySet"); //$NON-NLS-1$
-		} else {
-			httpProxyEnable = updatePrefs.getBoolean(HTTP_PROXY_ENABLE, false);
-			updatePrefs.remove(HTTP_PROXY_ENABLE);
-		}
-		return httpProxyEnable;
-	}
-
-	private int getPortToMigrate(Preferences updatePrefs, boolean checkSystemProperties) {
-		String httpProxyPort = updatePrefs.get(HTTP_PROXY_PORT, ""); //$NON-NLS-1$
-		if (checkSystemProperties && "".equals(httpProxyPort)) { //$NON-NLS-1$
-			httpProxyPort = System.getProperty("http.proxyPort", ""); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		updatePrefs.remove(HTTP_PROXY_PORT);
-		int port = -1;
-		if (httpProxyPort != null && !"".equals(httpProxyPort)) //$NON-NLS-1$
-			try {
-				port = Integer.parseInt(httpProxyPort);
-			} catch (NumberFormatException e) {
-				// Ignore
-			}
-		return port;
-	}
-
-	private String getHostToMigrate(Preferences updatePrefs, boolean checkSystemProperties) {
-		String httpProxyHost = updatePrefs.get(HTTP_PROXY_HOST, ""); //$NON-NLS-1$
-		if (checkSystemProperties && "".equals(httpProxyHost)) { //$NON-NLS-1$
-			httpProxyHost = System.getProperty("http.proxyHost", ""); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if ("".equals(httpProxyHost)) //$NON-NLS-1$
-			httpProxyHost = null;
-		updatePrefs.remove(HTTP_PROXY_HOST);
-		return httpProxyHost;
-	}
-
-	public void preferenceChange(PreferenceChangeEvent event) {
-		if (event.getKey().equals(PREF_ENABLED)) {
-			internalSetEnabled(Activator.getInstance().getInstancePreferences().getBoolean(PREF_ENABLED, false));
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
deleted file mode 100644
index 2948f49..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
+++ /dev/null
@@ -1,540 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.net;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-public class ProxyType implements INodeChangeListener, IPreferenceChangeListener {
-
-	/**
-	 * Preference keys
-	 */
-	private static final String PREF_PROXY_DATA_NODE = "proxyData"; //$NON-NLS-1$
-	private static final String PREF_PROXY_HOST = "host"; //$NON-NLS-1$
-	private static final String PREF_PROXY_PORT = "port"; //$NON-NLS-1$
-	private static final String PREF_PROXY_HAS_AUTH = "hasAuth"; //$NON-NLS-1$
-
-	/**
-	 * Verification tags used when creating a proxy data
-	 */
-	public static int DO_NOT_VERIFY = 1;
-	public static int VERIFY_EMPTY = 2;
-	public static int VERIFY_EQUAL = 4;
-	
-	/**
-	 * Constants that control the setting of the SOCKS system properties
-	 */
-	private static final String PROP_SOCKS_SYSTEM_PROPERTY_HANDLING = "org.eclipse.net.core.setSocksSystemProperties"; //$NON-NLS-1$
-	public static final int ONLY_SET_FOR_1_5_OR_LATER = 0;
-	public static final int ALWAYS_SET = 1;
-	public static final int NEVER_SET = 2;
-	public static int socksSystemPropertySetting;
-	
-	/*
-	 * Fields used to cache authentication information in the keyring
-	 */
-    private static final String INFO_PROXY_USER = "user"; //$NON-NLS-1$ 
-    private static final String INFO_PROXY_PASS = "pass"; //$NON-NLS-1$ 
-    private static final URL FAKE_URL;
-    static {
-        URL temp = null;
-        try {
-            temp = new URL("http://org.eclipse.core.net.proxy.auth");//$NON-NLS-1$ 
-        } catch (MalformedURLException e) {
-            // Should never fail
-        }
-        FAKE_URL = temp;
-        String value = System.getProperty(PROP_SOCKS_SYSTEM_PROPERTY_HANDLING);
-        if (value == null) {
-        	socksSystemPropertySetting = ONLY_SET_FOR_1_5_OR_LATER;
-        } else if (value.equals("always")) { //$NON-NLS-1$
-        	socksSystemPropertySetting = ALWAYS_SET;
-        } else if (value.equals("never")) { //$NON-NLS-1$
-        	socksSystemPropertySetting = NEVER_SET;
-        } else {
-        	socksSystemPropertySetting = ONLY_SET_FOR_1_5_OR_LATER;
-        }
-    }
-    
-	private String name;
-	private boolean updatingPreferences;
-
-	public static String convertHostsToPropertyString(String[] value) {
-		StringBuffer buffer = new StringBuffer();
-
-		if (value == null)
-			return ""; //$NON-NLS-1$
-
-		if (value.length > 0) {
-			buffer.append(value[0]);
-		}
-
-		for (int index = 1; index < value.length; index++) {
-			buffer.append('|');
-			buffer.append(value[index]);
-		}
-
-		return buffer.toString();
-	}
-
-	public static String[] convertPropertyStringToHosts(String property) {
-		return property.split("\\|"); //$NON-NLS-1$
-	}
-
-	public ProxyType(String name) {
-		super();
-		this.name = name;
-	}
-
-	private Preferences getPreferenceNode() {
-		return getParentPreferences().node(getName());
-	}
-
-	/**
-	 * Return the preferences node whose child nodes are the know proxy types
-	 * 
-	 * @return a preferences node
-	 */
-	private Preferences getParentPreferences() {
-		return Activator.getInstance().getInstancePreferences().node(
-				PREF_PROXY_DATA_NODE);
-	}
-
-	public IProxyData getProxyData(int verifyFlag) {
-		return createProxyData(name, getPreferenceNode(), verifyFlag);
-	}
-
-	private IProxyData createProxyData(String type, Preferences node, int verifyFlag) {
-		String host = node.get(PREF_PROXY_HOST, null);
-		if (host != null && host.length() == 0)
-			host = null;
-		int port = node.getInt(PREF_PROXY_PORT, -1);
-		boolean requiresAuth = node.getBoolean(PREF_PROXY_HAS_AUTH, false);
-		ProxyData proxyData = new ProxyData(type, host, port, requiresAuth);
-		loadProxyAuth(proxyData);
-		if (verifyFlag == VERIFY_EMPTY) {
-			// We are initializing so verify that the system properties are empty
-			verifySystemPropertiesEmpty(type);
-		} else if (verifyFlag == VERIFY_EQUAL) {
-			// Verify that the data in the preferences matches the system properties 
-			verifyDataMatchesSystemProperties(proxyData);
-		}
-		return proxyData;
-	}
-
-	public boolean setProxyData(IProxyData proxyData, boolean proxiesEnabled) {
-		Assert.isTrue(proxyData.getType().equals(getName()));
-		IProxyData oldData = getProxyData(VERIFY_EQUAL);
-		if (oldData.equals(proxyData))
-			return false;
-		saveProxyAuth(proxyData);
-		try {
-			updatingPreferences = true;
-			updatePreferences(proxyData);
-		} finally {
-			updatingPreferences = false;
-		}
-		updateSystemProperties(proxyData, proxiesEnabled);
-		return true;
-	}
-
-	private void updatePreferences(IProxyData proxyData) {
-		updatePreferences(getPreferenceNode(), proxyData);
-	}
-	
-	/* package */ void updatePreferencesIfMissing(Preferences node, IProxyData proxyData) {
-		Preferences proxyNode = node.node(PREF_PROXY_DATA_NODE).node(getName());
-		if (node.get(PREF_PROXY_HOST, null) == null)
-			updatePreferences(proxyNode, proxyData);
-	}
-	
-	private void updatePreferences(Preferences node, IProxyData proxyData) {
-		if (proxyData.getHost() == null) {
-			try {
-				Preferences parent = node.parent();
-				node.removeNode();
-				parent.flush();
-			} catch (BackingStoreException e) {
-				Activator.logError(NLS.bind(
-						"An error occurred removing the {0} proxy node from the preference store", proxyData.getType()), e); //$NON-NLS-1$
-			}
-		} else {
-			node.put(PREF_PROXY_HOST, proxyData.getHost());
-			node.putInt(PREF_PROXY_PORT, proxyData.getPort());
-			node.putBoolean(PREF_PROXY_HAS_AUTH, proxyData.getUserId() != null);
-			try {
-				node.flush();
-			} catch (BackingStoreException e) {
-				Activator.logError(NLS.bind(
-					"The {0} proxy node could not be written", proxyData.getType()), e); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/* package */void updateSystemProperties(IProxyData proxyData, boolean proxiesEnabled) {
-		try {
-			if (proxyData.getType().equals(IProxyData.HTTP_PROXY_TYPE)) {
-				updateHttpSystemProperties(proxyData, proxiesEnabled);
-			} else if (proxyData.getType().equals(IProxyData.HTTPS_PROXY_TYPE)) {
-				updateHttpsSystemProperties(proxyData, proxiesEnabled);
-			} else if (proxyData.getType().equals(IProxyData.SOCKS_PROXY_TYPE)) {
-				updateSocksSystemProperties(proxyData, proxiesEnabled);
-			}
-		} catch (SecurityException e) {
-			Activator.logError("A security exception occurred while trying to put the proxy data into the system properties", e); //$NON-NLS-1$
-		}
-	}
-	
-	private boolean verifyDataMatchesSystemProperties(ProxyData proxyData) {
-		try {
-			boolean proxiesEnabled = ProxyManager.getProxyManager().isProxiesEnabled();
-			if (proxyData.getType().equals(IProxyData.HTTP_PROXY_TYPE)) {
-				return verifyDataMatchesHttpSystemProperties(proxyData, proxiesEnabled);
-			} else if (proxyData.getType().equals(IProxyData.HTTPS_PROXY_TYPE)) {
-				return verifyDataMatchesHttpsSystemProperties(proxyData, proxiesEnabled);
-			} else if (proxyData.getType().equals(IProxyData.SOCKS_PROXY_TYPE)) {
-				return verifyDataMatchesSocksSystemProperties(proxyData, proxiesEnabled);
-			}
-			
-		} catch (SecurityException e) {
-			// Just ignore this here since it will be surfaced elsewhere
-		}
-		return true;
-	}
-
-	private boolean verifyDataMatchesHttpSystemProperties(ProxyData proxyData,
-			boolean proxiesEnabled) {
-		if (proxiesEnabled) {
-			boolean verified = true;
-			String dHost = proxyData.getHost();
-			if (!verifySystemPropertyEquals("http.proxyHost", dHost)) { //$NON-NLS-1$
-				verified = false;
-			} else if (dHost != null && !Boolean.getBoolean("http.proxySet")) {  //$NON-NLS-1$
-				Activator.logInfo("The HTTP proxy is enabled in the preferences but disabled in the system settings", null); //$NON-NLS-1$
-				verified = false;
-			}
-			int port = proxyData.getPort();
-			if (!verifySystemPropertyEquals("http.proxyPort", port == -1 ? null : String.valueOf(port))) { //$NON-NLS-1$
-				verified = false;
-			}
-			return verified;
-		}
-		return verifyHttpSystemPropertiesEmpty();
-	}
-
-	private boolean verifyDataMatchesHttpsSystemProperties(ProxyData proxyData,
-			boolean proxiesEnabled) {
-		if (proxiesEnabled) {
-			boolean verified = true;
-			String dHost = proxyData.getHost();
-			if (!verifySystemPropertyEquals("https.proxyHost", dHost)) { //$NON-NLS-1$
-				verified = false;
-			} else if (dHost != null && !Boolean.getBoolean("https.proxySet")) {  //$NON-NLS-1$
-				Activator.logInfo("The SSL proxy is enabled in the preferences but disabled in the system settings", null); //$NON-NLS-1$
-				verified = false;
-			}
-			int port = proxyData.getPort();
-			if (!verifySystemPropertyEquals("https.proxyPort", port == -1 ? null : String.valueOf(port))) { //$NON-NLS-1$
-				verified = false;
-			}
-			return verified;
-		}
-		return verifyHttpsSystemPropertiesEmpty();
-	}
-
-	private boolean verifyDataMatchesSocksSystemProperties(ProxyData proxyData,
-			boolean proxiesEnabled) {
-		if (proxiesEnabled && shouldSetSocksSystemProperties()) {
-			boolean verified = true;
-			String dHost = proxyData.getHost();
-			if (!verifySystemPropertyEquals("socksProxyHost", dHost)) { //$NON-NLS-1$
-				verified = false;
-			}
-			int port = proxyData.getPort();
-			if (!verifySystemPropertyEquals("socksProxyPort", port == -1 ? null : String.valueOf(port))) { //$NON-NLS-1$
-				verified = false;
-			}
-			return verified;
-		}
-		return verifySocksSystemPropertiesEmpty();
-	}
-	
-	private boolean shouldSetSocksSystemProperties() {
-		if (socksSystemPropertySetting == ALWAYS_SET)
-			return true;
-		if (socksSystemPropertySetting == NEVER_SET)
-			return false;
-		return hasJavaNetProxyClass();
-	}
-
-	private boolean verifySystemPropertyEquals(String key, String expected) {
-		String value = System.getProperty(key);
-		if (value == expected)
-			return true;
-		if (value == null && expected != null) {
-			Activator.logInfo(NLS.bind("System property {0} is not set but should be {1}.", key, expected), null); //$NON-NLS-1$
-			return false;
-		}
-		if (value != null && expected == null) {
-			Activator.logInfo(NLS.bind("System property {0} is set to {1} but should not be set.", key, value), null); //$NON-NLS-1$
-			return false;
-		}
-		if (!value.equals(expected)) {
-			Activator.logInfo(NLS.bind("System property {0} is set to {1} but should be {2}.", new Object[] {key, value, expected }), null); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-
-	private boolean verifySystemPropertiesEmpty(String proxyType) {
-		try {
-			if (proxyType.equals(IProxyData.HTTP_PROXY_TYPE)) {
-				return verifyHttpSystemPropertiesEmpty();
-			} else if (proxyType.equals(IProxyData.HTTPS_PROXY_TYPE)) {
-				return verifyHttpsSystemPropertiesEmpty();
-			} else if (proxyType.equals(IProxyData.SOCKS_PROXY_TYPE)) {
-				return verifySocksSystemPropertiesEmpty();
-			}
-		} catch (SecurityException e) {
-			// Just ignore this here since it will be surfaced elsewhere
-		}
-		return true;
-	}
-
-	private boolean verifyHttpSystemPropertiesEmpty() {
-		boolean verified = true;
-		verified &= verifyIsNotSet("http.proxySet"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("http.proxyHost"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("http.proxyPort"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("http.nonProxyHosts"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("http.proxyUser"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("http.proxyUserName"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("http.proxyPassword"); //$NON-NLS-1$
-		return verified;
-	}
-
-	private boolean verifyIsNotSet(String key) {
-		String value = System.getProperty(key);
-		if (value != null) {
-			Activator.logInfo(NLS.bind("System property {0} has been set to {1} by an external source. This value will be overwritten using the values from the preferences", key, value), null); //$NON-NLS-1$
-		}
-		return value == null;
-	}
-
-	private boolean verifyHttpsSystemPropertiesEmpty() {
-		boolean verified = true;
-		verified &= verifyIsNotSet("https.proxySet"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("https.proxyHost"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("https.proxyPort"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("https.nonProxyHosts"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("https.proxyUser"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("https.proxyUserName"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("https.proxyPassword"); //$NON-NLS-1$
-		return verified;
-	}
-
-	private boolean verifySocksSystemPropertiesEmpty() {
-		boolean verified = true;
-		verified &= verifyIsNotSet("socksProxyHost"); //$NON-NLS-1$
-		verified &= verifyIsNotSet("socksProxyPort"); //$NON-NLS-1$
-		return verified;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	private void updateHttpSystemProperties(IProxyData data, boolean proxiesEnabled) {
-		Assert.isTrue(data.getType().equals(IProxyData.HTTP_PROXY_TYPE));
-		Properties sysProps = System.getProperties();
-		if (!proxiesEnabled || data.getHost() == null) {
-			sysProps.remove("http.proxySet"); //$NON-NLS-1$
-			sysProps.remove("http.proxyHost"); //$NON-NLS-1$
-			sysProps.remove("http.proxyPort"); //$NON-NLS-1$
-			sysProps.remove("http.nonProxyHosts"); //$NON-NLS-1$
-			sysProps.remove("http.proxyUser"); //$NON-NLS-1$
-			sysProps.remove("http.proxyUserName"); //$NON-NLS-1$
-			sysProps.remove("http.proxyPassword"); //$NON-NLS-1$
-		} else {
-			sysProps.put("http.proxySet", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-			sysProps.put("http.proxyHost", data.getHost()); //$NON-NLS-1$
-			int port = data.getPort();
-			if (port == -1) {
-				sysProps.remove("http.proxyPort"); //$NON-NLS-1$
-			} else {
-				sysProps.put("http.proxyPort", String.valueOf(port)); //$NON-NLS-1$
-			}
-			sysProps.put("http.nonProxyHosts",  //$NON-NLS-1$
-					convertHostsToPropertyString(ProxyManager.getProxyManager().getNonProxiedHosts()));
-
-			String userid = data.getUserId();
-			String password = data.getPassword();
-			if (userid == null || password == null || userid.length() == 0
-					|| password.length() == 0) {
-				sysProps.remove("http.proxyUser"); //$NON-NLS-1$
-				sysProps.remove("http.proxyUserName"); //$NON-NLS-1$
-				sysProps.remove("http.proxyPassword"); //$NON-NLS-1$
-			} else {
-				sysProps.put("http.proxyUser", userid); //$NON-NLS-1$
-				sysProps.put("http.proxyUserName", userid); //$NON-NLS-1$
-				sysProps.put("http.proxyPassword", password); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	private void updateHttpsSystemProperties(IProxyData data, boolean proxiesEnabled) {
-		Assert.isTrue(data.getType().equals(IProxyData.HTTPS_PROXY_TYPE));
-		Properties sysProps = System.getProperties();
-		if (!proxiesEnabled || data.getHost() == null) {
-			sysProps.remove("https.proxySet"); //$NON-NLS-1$
-			sysProps.remove("https.proxyHost"); //$NON-NLS-1$
-			sysProps.remove("https.proxyPort"); //$NON-NLS-1$
-			sysProps.remove("https.nonProxyHosts"); //$NON-NLS-1$
-			sysProps.remove("https.proxyUser"); //$NON-NLS-1$
-			sysProps.remove("https.proxyUserName"); //$NON-NLS-1$
-			sysProps.remove("https.proxyPassword"); //$NON-NLS-1$
-		} else {
-			sysProps.put("https.proxySet", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-			sysProps.put("https.proxyHost", data.getHost()); //$NON-NLS-1$
-			int port = data.getPort();
-			if (port == -1) {
-				sysProps.remove("https.proxyPort"); //$NON-NLS-1$
-			} else {
-				sysProps.put("https.proxyPort", String.valueOf(port)); //$NON-NLS-1$
-			}
-			sysProps.put("https.nonProxyHosts",  //$NON-NLS-1$
-					convertHostsToPropertyString(ProxyManager.getProxyManager().getNonProxiedHosts()));
-
-			String userid = data.getUserId();
-			String password = data.getPassword();
-			if (userid == null || password == null || userid.length() == 0
-					|| password.length() == 0) {
-				sysProps.remove("https.proxyUser"); //$NON-NLS-1$
-				sysProps.remove("https.proxyUserName"); //$NON-NLS-1$
-				sysProps.remove("https.proxyPassword"); //$NON-NLS-1$
-			} else {
-				sysProps.put("https.proxyUser", userid); //$NON-NLS-1$
-				sysProps.put("https.proxyUserName", userid); //$NON-NLS-1$
-				sysProps.put("https.proxyPassword", password); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	private void updateSocksSystemProperties(IProxyData data, boolean proxiesEnabled) {
-		Assert.isTrue(data.getType().equals(IProxyData.SOCKS_PROXY_TYPE));
-		Properties sysProps = System.getProperties();
-		if (!proxiesEnabled || data.getHost() == null) {
-			sysProps.remove("socksProxyHost"); //$NON-NLS-1$
-			sysProps.remove("socksProxyPort"); //$NON-NLS-1$
-		} else {
-			if (!shouldSetSocksSystemProperties()) {
-				// Log an error if we are not setting the property because we are using a pre-1.5 JRE
-				if (socksSystemPropertySetting == ONLY_SET_FOR_1_5_OR_LATER)
-					Activator.logError("Setting the SOCKS system properties for a 1.4 VM can interfere with other proxy services (e.g. JSch). Please upgrade to a 1.5 JRE or later if you need to use Java's SOCKS proxy support.", null); //$NON-NLS-1$
-				return;
-			}
-			sysProps.put("socksProxyHost", data.getHost()); //$NON-NLS-1$
-			int port = data.getPort();
-			if (port == -1) {
-				sysProps.remove("socksProxyPort"); //$NON-NLS-1$
-			} else {
-				sysProps.put("socksProxyPort", String.valueOf(port)); //$NON-NLS-1$
-			}
-			// TODO: There does appear to be a way to set the non-proxy hosts for Socks
-			// TODO: See http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html for a description
-			// of how to set the Socks user and password
-		}
-	}
-
-	public void initialize(boolean proxiesEnabled) {
-		updateSystemProperties(getProxyData(VERIFY_EMPTY), proxiesEnabled);
-		((IEclipsePreferences)getParentPreferences()).addNodeChangeListener(this);
-		((IEclipsePreferences)getPreferenceNode()).addPreferenceChangeListener(this);
-	}
-	
-    private Map getAuthInfo() {
-		// Retrieve username and password from keyring.
-		Map authInfo = Platform.getAuthorizationInfo(FAKE_URL, getName(), ""); //$NON-NLS-1$
-		return authInfo != null ? authInfo : Collections.EMPTY_MAP;
-	}
-
-    private void loadProxyAuth(IProxyData data) {
-		Map authInfo = getAuthInfo();
-		data.setUserid((String)authInfo.get(INFO_PROXY_USER));
-		data.setPassword((String)authInfo.get(INFO_PROXY_PASS));
-	}
-    
-	private void saveProxyAuth(IProxyData data) {
-		Map authInfo = getAuthInfo();
-		if (authInfo.size() == 0) {
-			authInfo = new java.util.HashMap(4);
-		}
-		String proxyUser = data.getUserId();
-		if (proxyUser != null && data.getHost() != null) {
-			authInfo.put(INFO_PROXY_USER, proxyUser);
-		} else {
-			authInfo.remove(INFO_PROXY_USER);
-		}
-		String proxyPass = data.getPassword();
-		if (proxyPass != null && data.getHost() != null) {
-			authInfo.put(INFO_PROXY_PASS, proxyPass);
-		} else {
-			authInfo.remove(INFO_PROXY_PASS);
-		}
-		try {
-			if (authInfo.isEmpty()) {
-				Platform.flushAuthorizationInfo(FAKE_URL, getName(), ""); //$NON-NLS-1$
-			} else {
-				Platform.addAuthorizationInfo(FAKE_URL, getName(), "", authInfo); //$NON-NLS-1$
-			}
-		} catch (CoreException e) {
-			Activator.logError(e.getMessage(), e);
-		}
-	}
-	
-	private synchronized boolean hasJavaNetProxyClass() {
-		try {
-			Class proxyClass = Class.forName("java.net.Proxy"); //$NON-NLS-1$
-			return proxyClass != null;
-		} catch (ClassNotFoundException e) {
-			// Ignore
-		}
-		return false;
-	}
-
-	public void added(NodeChangeEvent event) {
-		// Add a preference listener so we'll get changes to the fields of the node
-		if (event.getChild().name().equals(getName()))
-			((IEclipsePreferences)event.getChild()).addPreferenceChangeListener(this);
-	}
-
-	public void removed(NodeChangeEvent event) {
-		// Nothing to do
-	}
-
-	public void preferenceChange(PreferenceChangeEvent event) {
-		if (updatingPreferences)
-			return;
-		updateSystemProperties(getProxyData(DO_NOT_VERIFY), ProxyManager.getProxyManager().isProxiesEnabled());
-		
-	}
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/StringMatcher.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/StringMatcher.java
deleted file mode 100644
index c3dbe28..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/StringMatcher.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.net;
-
-import java.util.Vector;
-
-/**
- * A string pattern matcher, suppporting * and ? wildcards.
- * Note: code copied from org.eclipse.jdt.internal.core.util.StringMatcher on April 3, 2001
- * (version 0.1 - 010901H18 [rename jbl]).
- */
-public class StringMatcher {
-	protected String fPattern;
-	protected int fLength; // pattern length
-	protected boolean fIgnoreWildCards;
-	protected boolean fIgnoreCase;
-	protected boolean fHasLeadingStar;
-	protected boolean fHasTrailingStar;
-	protected String fSegments[]; //the given pattern is split into * separated segments
-
-	/* boundary value beyond which we don't need to search in the text */
-	protected int fBound = 0;
-	
-
-	protected static final char fSingleWildCard = '\u0000';
-	
-	public static class Position {
-		int start; //inclusive
-		int end; //exclusive
-		public Position(int start, int end) {
-			this.start = start;
-			this.end = end;
-		}
-		public int getStart() {
-			return start;
-		}
-		public int getEnd() {
-			return end;
-		}
-	}
-	/**
-	 * Find the first occurrence of the pattern between <code>start</code)(inclusive) 
-	 * and <code>end</code>(exclusive).  
-	 * @param text the String object to search in 
-	 * @param start the starting index of the search range, inclusive
-	 * @param end the ending index of the search range, exclusive
-	 * @return an <code>StringMatcher.Position</code> object that keeps the starting 
-	 * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-	 * pattern in the specified range of the text; return null if not found or subtext
-	 * is empty (start==end). A pair of zeros is returned if pattern is empty string
-	 * Note that for pattern like "*abc*" with leading and trailing stars, position of "abc"
-	 * is returned. For a pattern like"*??*" in text "abcdf", (1,3) is returned
-	 */
-
-	public StringMatcher.Position find(String text, int start, int end) {
-		if (fPattern  == null|| text == null)
-			throw new IllegalArgumentException();
-			
-		int tlen = text.length();
-		if (start < 0)
-			start = 0;
-		if (end > tlen)
-			end = tlen;
-		if (end < 0 ||start >= end )
-			return null;
-		if (fLength == 0)
-			return new Position(start, start);
-		if (fIgnoreWildCards) {
-			int x = posIn(text, start, end);
-			if (x < 0)
-				return null;
-			return new Position(x, x+fLength);
-		}
-
-		int segCount = fSegments.length;
-		if (segCount == 0)//pattern contains only '*'(s)
-			return new Position (start, end);
-					
-		int curPos = start;
-		int matchStart = -1; 
-		int i; 
-		for (i = 0; i < segCount && curPos < end; ++i) {
-			String current = fSegments[i];
-			int nextMatch = regExpPosIn(text, curPos, end, current);
-			if (nextMatch < 0 )
-				return null;
-			if(i == 0)
-				matchStart = nextMatch;
-			curPos = nextMatch + current.length();
-		}
-		if (i < segCount)
-			return null;
-		return new Position(matchStart, curPos);
-	}
-	/**
-	 * StringMatcher constructor takes in a String object that is a simple 
-	 * pattern which may contain  '*' for 0 and many characters and
-	 * '?' for exactly one character.  
-	 *
-	 * Literal '*' and '?' characters must be escaped in the pattern 
-	 * e.g., "\*" means literal "*", etc.
-	 *
-	 * Escaping any other character (including the escape character itself), 
-	 * just results in that character in the pattern.
-	 * e.g., "\a" means "a" and "\\" means "\"
-	 *
-	 * If invoking the StringMatcher with string literals in Java, don't forget
-	 * escape characters are represented by "\\".
-	 *
-	 * @param aPattern the pattern to match text with
-	 * @param ignoreCase if true, case is ignored
-	 * @param ignoreWildCards if true, wild cards and their escape sequences are ignored
-	 * 		  (everything is taken literally).
-	 */
-	public StringMatcher(String aPattern, boolean ignoreCase, boolean ignoreWildCards) {
-		fIgnoreCase = ignoreCase;
-		fIgnoreWildCards = ignoreWildCards;
-		fLength = aPattern.length();
-
-		/* convert case */
-		if (fIgnoreCase) {
-			fPattern = aPattern.toUpperCase();
-		} else {
-			fPattern = aPattern;
-		}
-		
-		if (fIgnoreWildCards) {
-			parseNoWildCards();
-		} else {
-			parseWildCards();
-		}
-	}
-	/**
-	 * Given the starting (inclusive) and the ending (exclusive) poisitions in the   
-	 * <code>text</code>, determine if the given substring matches with aPattern  
-	 * @return true if the specified portion of the text matches the pattern
-	 * @param text a String object that contains the substring to match 
-	 * @param start marks the starting position (inclusive) of the substring
-	 * @param end marks the ending index (exclusive) of the substring 
-	 */
-	public boolean match(String text, int start, int end) {
-		if (null == text)
-			throw new IllegalArgumentException();
-
-		if (start > end)
-			return false;
-
-		if (fIgnoreWildCards)
-			return (end - start == fLength) && fPattern.regionMatches(fIgnoreCase, 0, text, start, fLength);
-		int segCount= fSegments.length;
-		if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar))  // pattern contains only '*'(s)
-			return true;
-		if (start == end)
-			return fLength == 0;
-		if (fLength == 0)
-			return start == end;
-
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-
-		int tCurPos= start;
-		int bound= end - fBound;
-		if ( bound < 0)
-			return false;
-		int i=0;
-		String current= fSegments[i];
-		int segLength= current.length();
-
-		/* process first segment */
-		if (!fHasLeadingStar){
-			if(!regExpRegionMatches(text, start, current, 0, segLength)) {
-				return false;
-			}
-			++i;
-			tCurPos= tCurPos + segLength;
-		}
-		if ((fSegments.length == 1) && (!fHasLeadingStar) && (!fHasTrailingStar)) {
-			// only one segment to match, no wildcards specified
-			return tCurPos == end;
-		}
-		/* process middle segments */
-		while (i < segCount) {
-			current= fSegments[i];
-			int currentMatch;
-			int k= current.indexOf(fSingleWildCard);
-			if (k < 0) {
-				currentMatch= textPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			} else {
-				currentMatch= regExpPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			}
-			tCurPos= currentMatch + current.length();
-			i++;
-		}
-
-		/* process final segment */
-		if (!fHasTrailingStar && tCurPos != end) {
-			int clen= current.length();
-			return regExpRegionMatches(text, end - clen, current, 0, clen);
-		}
-		return i == segCount ;
-	}
-	/**
-	 * match the given <code>text</code> with the pattern 
-	 * @return true if matched eitherwise false
-	 * @param text a String object 
-	 */
-	public boolean  match(String text) {
-		return match(text, 0, text.length());
-	}
-	/**
-	 * This method parses the given pattern into segments seperated by wildcard '*' characters.
-	 * Since wildcards are not being used in this case, the pattern consists of a single segment.
-	 */
-	private void parseNoWildCards() {
-		fSegments = new String[1];
-		fSegments[0] = fPattern;
-		fBound = fLength;
-	}
-	/**
-	 * This method parses the given pattern into segments seperated by wildcard '*' characters.
-	 * @param p a String object that is a simple regular expression with  '*' and/or  '?'
-	 */
-	private void parseWildCards() {
-		if(fPattern.startsWith("*"))//$NON-NLS-1$
-			fHasLeadingStar = true;
-		if(fPattern.endsWith("*")) {//$NON-NLS-1$
-			/* make sure it's not an escaped wildcard */
-			if (fLength > 1 && fPattern.charAt(fLength - 2) != '\\') {
-				fHasTrailingStar = true;
-			}
-		}
-
-		Vector temp = new Vector();
-
-		int pos = 0;
-		StringBuffer buf = new StringBuffer();
-		while (pos < fLength) {
-			char c = fPattern.charAt(pos++);
-			switch (c) {
-				case '\\':
-					if (pos >= fLength) {
-						buf.append(c);
-					} else {
-						char next = fPattern.charAt(pos++);
-						/* if it's an escape sequence */
-						if (next == '*' || next == '?' || next == '\\') {
-							buf.append(next);
-						} else {
-							/* not an escape sequence, just insert literally */
-							buf.append(c);
-							buf.append(next);
-						}
-					}
-				break;
-				case '*':
-					if (buf.length() > 0) {
-						/* new segment */
-						temp.addElement(buf.toString());
-						fBound += buf.length();
-						buf.setLength(0);
-					}
-				break;
-				case '?':
-					/* append special character representing single match wildcard */
-					buf.append(fSingleWildCard);
-				break;
-				default:
-					buf.append(c);
-			}
-		}
-
-		/* add last buffer to segment list */
-		if (buf.length() > 0) {
-			temp.addElement(buf.toString());
-			fBound += buf.length();
-		}
-			
-		fSegments = new String[temp.size()];
-		temp.copyInto(fSegments);
-	}
-	/** 
-	 * @param text a string which contains no wildcard
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int posIn(String text, int start, int end) {//no wild card in pattern
-		int max = end - fLength;
-		
-		if (!fIgnoreCase) {
-			int i = text.indexOf(fPattern, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i = start; i <= max; ++i) {
-			if (text.regionMatches(true, i, fPattern, 0, fLength))
-				return i;
-		}
-		
-		return -1;
-	}
-	/** 
-	 * @param text a simple regular expression that may only contain '?'(s)
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @param p a simple regular expression that may contains '?'
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int regExpPosIn(String text, int start, int end, String p) {
-		int plen = p.length();
-		
-		int max = end - plen;
-		for (int i = start; i <= max; ++i) {
-			if (regExpRegionMatches(text, i, p, 0, plen))
-				return i;
-		}
-		return -1;
-	}
-
-	/**
-	 * 
-	 * @param text the text
-	 * @param tStart the start
-	 * @param p the pattern
-	 * @param pStart the pattern start
-	 * @param plen the pattern length
-	 * @return whether the region matches
-	 */
-	protected boolean regExpRegionMatches(String text, int tStart, String p, int pStart, int plen) {
-		while (plen-- > 0) {
-			char tchar = text.charAt(tStart++);
-			char pchar = p.charAt(pStart++);
-
-			/* process wild cards */
-			if (!fIgnoreWildCards) {
-				/* skip single wild cards */
-				if (pchar == fSingleWildCard) {
-					continue;
-				}
-			}
-			if (pchar == tchar)
-				continue;
-			if (fIgnoreCase) {
-				char tc = Character.toUpperCase(tchar);
-				if (tc == pchar)
-					continue;
-			}
-			return false;
-		}
-		return true;
-	}
-	/** 
-	 * @param text the string to match
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @param p a string that has no wildcard
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int textPosIn(String text, int start, int end, String p) { 
-		
-		int plen = p.length();
-		int max = end - plen;
-		
-		if (!fIgnoreCase) {
-			int i = text.indexOf(p, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i = start; i <= max; ++i) {
-			if (text.regionMatches(true, i, p, 0, plen))
-				return i;
-		}
-		
-		return -1;
-	}
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyChangeEvent.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyChangeEvent.java
deleted file mode 100644
index e8b7ff4..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyChangeEvent.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.net.proxy;
-
-
-/**
- * Event which describes a change in the proxy information managed by
- * the {@link IProxyService}.
- * <p>
- * This interface is not intended to be implemented by clients.
- * @see IProxyService
- * @since 1.0
- */
-public interface IProxyChangeEvent {
-	
-	/**
-	 * Type constant that indicates that the list of non-proxied hosts has changed.\
-	 * @see #getChangeType()
-	 */
-	public static final int NONPROXIED_HOSTS_CHANGED = 1;
-	
-	/**
-	 * Type constant that indicates that the data for one or more proxies has changed
-	 * @see #getChangeType()
-	 */
-	public static final int PROXY_DATA_CHANGED = 2;
-
-	/**
-	 * Type constant that indicates that the enablement of the proxy 
-	 * service has changed. Client should consult the service to determine
-	 * the current enablement
-	 * @see #getChangeType()
-	 * @see IProxyService#isProxiesEnabled()
-	 */
-	public static final int PROXY_SERVICE_ENABLEMENT_CHANGE = 3;
-	
-	/**
-	 * Return the type of change this event represents. Clients
-	 * should ignore types they do not recognize.
-	 * @return the type of change this event represents
-	 * @see #NONPROXIED_HOSTS_CHANGED
-	 * @see #PROXY_DATA_CHANGED
-	 */
-	public int getChangeType();
-	
-	/**
-	 * For a change type of {@link #NONPROXIED_HOSTS_CHANGED}, this method will
-	 * return the list of non-proxied hosts before the change occurred.
-	 * @return the list of non-proxied hosts before the change occurred
-	 */
-	public String[] getOldNonProxiedHosts();
-	
-	/**
-	 * For a change type of {@link #NONPROXIED_HOSTS_CHANGED}, this method will
-	 * return the list of non-proxied hosts after the change occurred.
-	 * @return the list of non-proxied hosts after the change occurred
-	 */
-	public String[] getNonProxiedHosts();
-	
-	/**
-	 * For a change type of {@link #PROXY_DATA_CHANGED}, this method returns
-	 * the state of all known proxies before the change occurred.
-	 * @return the state of all known proxies before the change occurred
-	 */
-	public IProxyData[] getOldProxyData();
-	
-	/**
-	 * For a change type of {@link #PROXY_DATA_CHANGED}, this method returns
-	 * the state of the changed known proxies after the change occurred. Clients 
-	 * should check the {@link IProxyService#isProxiesEnabled()} method to see
-	 * if the proxy data change was the result of proxies being disabled.
-	 * @return the state of the changed known proxies after the change occurred
-	 */
-	public IProxyData[] getChangedProxyData();
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyChangeListener.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyChangeListener.java
deleted file mode 100644
index ffb2137..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyChangeListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.net.proxy;
-
-/**
- * A listener that, when registered with the {@link IProxyService}, gets notified when the
- * proxy information changes.
- * <p>
- * This interface may be implemented by clients
- * @since 1.0
- */
-public interface IProxyChangeListener {
-
-	/**
-	 * Callback that occurs when information related to proxies has changed.
-	 * @param event the event that describes the change
-	 */
-	void proxyInfoChanged(IProxyChangeEvent event);
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyData.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyData.java
deleted file mode 100644
index 51c600e..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyData.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.net.proxy;
-
-/**
- * An {@link IProxyData} contains the information that is required to connect
- * to a particular proxy server.
- * <p>
- * This interface is not intended to be implemented by clients.
- * 
- * @since 1.0
- */
-public interface IProxyData {
-	
-	/**
-	 * Type constant (value "HTTP") which identifies an HTTP proxy.
-	 * @see #getType()
-	 */
-	public static final String HTTP_PROXY_TYPE = "HTTP"; //$NON-NLS-1$
-	
-	/**
-	 * Type constant (value "HTTPS") which identifies an HTTPS proxy.
-	 * @see #getType()
-	 */
-	public static final String HTTPS_PROXY_TYPE = "HTTPS"; //$NON-NLS-1$
-	
-	/**
-	 * Type constant (value "SOCKS") which identifies an SOCKS proxy.
-	 * @see #getType()
-	 */
-	public static final String SOCKS_PROXY_TYPE = "SOCKS"; //$NON-NLS-1$
-	
-	/**
-	 * Return the type of this proxy. Additional proxy types may be
-	 * added in the future so clients should accommodate this.
-	 * @return the type of this proxy
-	 * @see #HTTP_PROXY_TYPE
-	 * @see #HTTPS_PROXY_TYPE
-	 * @see #SOCKS_PROXY_TYPE
-	 */
-	String getType();
-	
-	/**
-	 * Return the host name for the proxy server or <code>null</code>
-	 * if a proxy server of this type is not available.
-	 * @return the host name for the proxy server or <code>null</code>
-	 */
-	String getHost();
-	
-	/**
-	 * Set the host name for the proxy server of this type.
-	 * If no proxy server of this type is available, the host name should
-	 * be set to <code>null</code>.
-	 * <p>
-	 * Setting this value will not affect the data returned from {@link IProxyService#getProxyData()}.
-	 * Clients can change the global settings by changing the proxy data instances and then
-	 * by calling {@link IProxyService#setProxyData(IProxyData[])} with the adjusted data.
-	 * @param host the host name for the proxy server or <code>null</code>
-	 */
-	void setHost(String host);
-	
-	/**
-	 * Return the port that should be used when connecting to the host or -1
-	 * if the default port for the proxy protocol should be used.
-	 * @return the port that should be used when connecting to the host
-	 */
-	int getPort();
-	
-	/**
-	 * Set the port that should be used when connecting to the host. Setting the port 
-	 * to a value of -1 will indicate that the default port number for
-	 * the proxy type should be used.
-	 * <p>
-	 * Setting this value will not affect the data returned from {@link IProxyService#getProxyData()}.
-	 * Clients can change the global settings by changing the proxy data instances and then
-	 * by calling {@link IProxyService#setProxyData(IProxyData[])} with the adjusted data.
-	 * @param port the port that should be used when connecting to the host
-	 * 	or -1 if the default port is to be used
-	 */
-	void setPort(int port);
-	
-	/**
-	 * Return the id of the user that should be used when authenticating 
-	 * for the proxy. A <code>null</code> is returned if there is no
-	 * authentication information.
-	 * @return the id of the user that should be used when authenticating 
-	 * for the proxy or <code>null</code>
-	 */
-	String getUserId();
-	
-	/**
-	 * Set the id of the user that should be used when authenticating 
-	 * for the proxy. A <code>null</code> should be used if there is no
-	 * authentication information.
-	 * <p>
-	 * Setting this value will not affect the data returned from {@link IProxyService#getProxyData()}.
-	 * Clients can change the global settings by changing the proxy data instances and then
-	 * by calling {@link IProxyService#setProxyData(IProxyData[])} with the adjusted data.
-	 * @param userid the id of the user that should be used when authenticating 
-	 * for the proxy or <code>null</code>
-	 */
-	void setUserid(String userid);
-	
-	/**
-	 * Return the password that should be used when authenticating 
-	 * for the proxy. A <code>null</code> is returned if there is no
-	 * password or the password is not known.
-	 * @return the password that should be used when authenticating 
-	 * for the proxy or <code>null</code>
-	 */
-	String getPassword();
-	
-	/**
-	 * Set the password that should be used when authenticating 
-	 * for the proxy. A <code>null</code> should be passed if there is no
-	 * password or the password is not known.
-	 * <p>
-	 * Setting this value will not affect the data returned from {@link IProxyService#getProxyData()}.
-	 * Clients can change the global settings by changing the proxy data instances and then
-	 * by calling {@link IProxyService#setProxyData(IProxyData[])} with the adjusted data.
-	 * @param password the password that should be used when authenticating 
-	 * for the proxy or <code>null</code>
-	 */
-	void setPassword(String password);
-	
-	/**
-	 * Returns whether the proxy requires authentication. If the proxy
-	 * requires authentication but the user name and password fields of
-	 * this proxy data are null, the client can expect the connection
-	 * to fail unless they somehow obtain the authentication information.
-	 * @return whether the proxy requires authentication
-	 */
-	boolean isRequiresAuthentication();
-
-	/**
-	 * Set the values of this data to represent a disabling of its type.
-	 * Note that the proxy type will not be disabled unless the client
-	 * calls {@link IProxyService#setProxyData(IProxyData[])} with the
-	 * disabled data as a parameter. A proxy data can be enabled by setting
-	 * the host.
-	 */
-	void disable();
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyService.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyService.java
deleted file mode 100644
index 7c2cc8d..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyService.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.net.proxy;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Manages the proxy data and related information. The proxy service is registered as
- * an OSGi service. Clients can obtain an instance of the service from their bundle context
- * or from a service tracker.
- * <p>
- * This interface is not intended to be implemented by clients. 
- * @since 1.0
- */
-public interface IProxyService {
-	
-	/**
-	 * Set whether proxy support should be enabled. The current proxy settings are
-	 * still kept so clients should check the enablement using {@link #isProxiesEnabled()}
-	 * before calling the {@link #getProxyData()} or {@link #getProxyData(String)} method.
-	 * However, the {@link #getProxyDataForHost(String)} and {@link #getProxyDataForHost(String, String)}
-	 * method will check the enablement and only return data if the service is enabled.
-	 * @param enabled whether proxy support should be enabled
-	 */
-	void setProxiesEnabled(boolean enabled);
-	
-	/**
-	 * Return whether proxy support should be enabled. When disabled, all connections
-	 * will be direct.
-	 * @return whether proxy support should be enabled
-	 */
-	boolean isProxiesEnabled();
-	
-	/**
-	 * Return the list of know proxy types and their settings.
-	 * Some of the returned proxy types may not be enabled (i.e,
-	 * their hosts may be <code>null</code>.
-	 * @return the list of know proxy types and their settings
-	 */
-	IProxyData[] getProxyData();
-	
-	/**
-	 * Return the list of known proxy types and their settings for the
-	 * given host. If proxies are disabled
-	 * or if the host matches any entries in the non-proxied
-	 * hosts lists or if a matching proxy type has no data, then
-	 * an empty array is returned.
-	 * @param host the host for which a connection is desired
-	 * @return the list of known proxy types and their settings for the
-	 * given host
-	 */
-	IProxyData[] getProxyDataForHost(String host);
-	
-	/**
-	 * Return the proxy data for the proxy of the given type
-	 * or <code>null</code> if the proxy type is not known by this
-	 * service.
-	 * @param type the proxy type
-	 * @return the proxy data for the proxy of the given type
-	 * or <code>null</code>
-	 * @see IProxyData#HTTP_PROXY_TYPE
-	 * @see IProxyData#HTTPS_PROXY_TYPE
-	 * @see IProxyData#SOCKS_PROXY_TYPE
-	 */
-	IProxyData getProxyData(String type);
-	
-	/**
-	 * Return the proxy data for the proxy of the given type
-	 * or <code>null</code> if the proxy type is not known by this
-	 * service, the proxy data is empty for that type or the
-	 * host is in the non-proxied host list.
-	 * @param host the host for which a connection is desired
-	 * @param type the proxy type
-	 * @return the proxy data for the proxy of the given type
-	 * or <code>null</code>
-	 * @see IProxyData#HTTP_PROXY_TYPE
-	 * @see IProxyData#HTTPS_PROXY_TYPE
-	 * @see IProxyData#SOCKS_PROXY_TYPE
-	 */
-	IProxyData getProxyDataForHost(String host, String type);
-	
-	/**
-	 * Set the information associated with known proxy types.
-	 * If an unknown type is provided, it will be ignored. Any
-	 * known types that are not present in the list of the provided
-	 * proxy data will be unaffected.
-	 * @param proxies the proxy data whose information is to be set.
-	 * @throws CoreException if the proxy could not be set
-	 */
-	void setProxyData(IProxyData[] proxies) throws CoreException;
-	
-	/**
-	 * Return the list of hosts for which non proxy should be used.
-	 * The values returned from this method should only be used for displaying
-	 * the non-proxed hosts list. Clients that which to make a connection and need
-	 * to determine whether to use a proxy or not shoudl call either {@link #getProxyDataForHost(String)}
-	 * or {@link #getProxyDataForHost(String, String)}.
-	 * @return the list of hosts for which non proxy should be used.
-	 * @see #getProxyDataForHost(String)
-	 * @see #getProxyDataForHost(String, String)
-	 */
-	String[] getNonProxiedHosts();
-	
-	/**
-	 * Set the list of hosts for which non proxy should be used.
-	 * @param hosts the list of hosts for which non proxy should be used.
-	 * @throws CoreException if the non-proxied host list could not be set
-	 */
-	void setNonProxiedHosts(String[] hosts) throws CoreException;
-	
-	/**
-	 * Register a listener that will be notified when proxy related
-	 * information changes. Adding a listener that is already registered
-	 * has no effect.
-	 * @param listener a change listener
-	 */
-	void addProxyChangeListener(IProxyChangeListener listener);
-	
-	/**
-	 * Remove a listener. Removing a listener that is not registered
-	 * has no effect.
-	 * @param listener a change listener
-	 */
-	void removeProxyChangeListener(IProxyChangeListener listener);
-
-}
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/package.html b/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/package.html
deleted file mode 100644
index 13c7569..0000000
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/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">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for the management of platform level proxy settings.
-<h2>
-Package Specification</h2>
-This package specifies the API required for managing platform level proxy settings.
-</body>
-</html>
diff --git a/bundles/org.eclipse.jsch.core/.classpath b/bundles/org.eclipse.jsch.core/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/bundles/org.eclipse.jsch.core/.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.jsch.core/.cvsignore b/bundles/org.eclipse.jsch.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.jsch.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.jsch.core/.project b/bundles/org.eclipse.jsch.core/.project
deleted file mode 100644
index a257846..0000000
--- a/bundles/org.eclipse.jsch.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jsch.core</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.jsch.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8bf6139..0000000
--- a/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,324 +0,0 @@
-#Fri Apr 13 10:45:50 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=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=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-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=public
-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.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=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-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=error
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,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=0
-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=false
-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_annotation_declaration_header=true
-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=true
-org.eclipse.jdt.core.formatter.indentation.size=2
-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=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=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=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=do not 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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not 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=do not 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=do not 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=do not 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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=do not 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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=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=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 5604712..0000000
--- a/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Dec 07 16:35:13 JST 2006
-eclipse.preferences.version=1
-formatter_profile=_eclipse-java-code-formatter-20060522
-formatter_settings_version=10
diff --git a/bundles/org.eclipse.jsch.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.jsch.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 563d107..0000000
--- a/bundles/org.eclipse.jsch.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jsch.core;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.jsch.internal.core.JSchCorePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- com.jcraft.jsch;bundle-version="[0.1.28,1.0.0)",
- org.eclipse.core.resources;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.net;bundle-version="[1.0.0,2.0.0)"
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.jsch.core,
- org.eclipse.jsch.internal.core;x-friends:="org.eclipse.jsch.ui"
diff --git a/bundles/org.eclipse.jsch.core/about.html b/bundles/org.eclipse.jsch.core/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.jsch.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jsch.core/build.properties b/bundles/org.eclipse.jsch.core/build.properties
deleted file mode 100644
index 7f7c9da..0000000
--- a/bundles/org.eclipse.jsch.core/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.jsch.core/plugin.properties b/bundles/org.eclipse.jsch.core/plugin.properties
deleted file mode 100644
index 2327b9f..0000000
--- a/bundles/org.eclipse.jsch.core/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     #	  Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
-#     IBM Corporation - implementation
-###############################################################################
-providerName=Eclipse.org
-pluginName=JSch Core
-
diff --git a/bundles/org.eclipse.jsch.core/plugin.xml b/bundles/org.eclipse.jsch.core/plugin.xml
deleted file mode 100644
index d2a2dbd..0000000
--- a/bundles/org.eclipse.jsch.core/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.jsch.internal.core.PreferenceInitializer">
-      </initializer>
-      <modifier
-            class="org.eclipse.jsch.internal.core.PreferenceModifyListener">
-      </modifier>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchService.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchService.java
deleted file mode 100644
index 208a7af..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchService.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.core;
-
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import com.jcraft.jsch.*;
-
-/**
- * A service whose purpose is to ensure that all the JSch preferences are properly pushed into JSch
- * before a {@link Session} is created. The service is registered as
- * an OSGi service. Clients can obtain an instance of the service from their bundle context
- * or from a service tracker.
- * @since 1.0
- */
-public interface IJSchService{
-
-  /**
-   * Create a {@link Session} that can be used to make SSH2 connections. This method ensures that 
-   * all preferences are properly propagated into JSch before creating the session and also
-   * ensures that the session uses the appropriate proxy settings.
-   * <p>
-   * Calling this method does not connect the session (see {@link #connect(Session, int, IProgressMonitor)}, if connection
-   * throws an exception, clients should check to see if the session is still connected (see {@link Session#isConnected()}.
-   * If it is, they should call {@link Session#disconnect()}.
-   * 
-   * @param host the host name
-   * @param port the port or -1 if the default port is to be used
-   * @param username the user name or <code>null</code> if there is no user name or the user name is not known
-   
-   * @return the created session
-   * @throws JSchException if errors occur
-   */
-  public abstract Session createSession(String host, int port, String username)
-      throws JSchException;
-
-  /**
-   * Connect the session using a responsive socket factory. The timeout value is used
-   * for socket creation only. Clients that desire a timeout on the session must
-   * call {@link Session#setTimeout(int)}. If session connection fails due to an exception,
-   * the session will be disconnected by this method.
-   * 
-   * @param session the session to be connected
-   * @param timeout
-   *          a timeout in milliseconds
-   * @param monitor
-   *          a progress monitor or <code>null</code> if progress and
-   *          cancelation is not desired
-   * @throws JSchException if an exception occurs connecting the session.
-   */
-  public abstract void connect(Session session, int timeout,
-      IProgressMonitor monitor) throws JSchException;
-
-  /**
-   * Return the proxy that should be used to connect to the given host or <code>null</code>
-   * if no proxy is specified for the host.
-   * @param host the host
-   * @param proxyType the proxy type (either {@link IProxyData#HTTPS_PROXY_TYPE} or {@link IProxyData#SOCKS_PROXY_TYPE})
-   * @return the proxy that should be used to connect to the given host or <code>null</code>
-   * if no proxy is specified for the host
-   */
-  public abstract Proxy getProxyForHost(String host, String proxyType);
-  
-  /**
-   * Connect to the given host and port using the given proxy.
-   * This method calls {@link Proxy#connect(SocketFactory, String, int, int)}
-   * and provides a {@link SocketFactory} that responds to cancelation.
-   * @param proxy the proxy
-   * @param host the host name
-   * @param port the port
-   * @param timeout
-   *          a timeout in milliseconds
-   * @param monitor
-   *          a progress monitor or <code>null</code> if progress and
-   *          cancelation is not desired
-   * @throws JSchException
-   */
-  public abstract void connect(Proxy proxy, String host, int port, int timeout,
-      IProgressMonitor monitor) throws JSchException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/package.html b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/package.html
deleted file mode 100644
index 93792dc..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for the JSch SSH2 library.
-<h2>
-Package Specification</h2>
-This package specifies the API for using the JSch SSH2 library within the Eclipse platform. 
-The API can be used to create and use SSH2 connections that use the settings from the Eclipse
-preferences.
-</body>
-</html>
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IConstants.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IConstants.java
deleted file mode 100644
index 8f7367f..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IConstants.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-/**
- * Defines the constants used by the SSH2 Plugin
- */
-public interface IConstants{
-
-  public static final  String KEY_PROXY="CVSSSH2PreferencePage.PROXY"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_TYPE="CVSSSH2PreferencePage.PROXY_TYPE"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_HOST="CVSSSH2PreferencePage.PROXY_HOST"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_PORT="CVSSSH2PreferencePage.PROXY_PORT"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_AUTH="CVSSSH2PreferencePage.PROXY_AUTH"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_USER="CVSSSH2PreferencePage.PROXY_USER"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_PASS="CVSSSH2PreferencePage.PROXY_PASS"; //$NON-NLS-1$
-  public static final  String KEY_OLD_SSH2HOME="CVSSSH2PreferencePage.SSH2HOME"; //$NON-NLS-1$
-  public static final  String KEY_OLD_PRIVATEKEY="CVSSSH2PreferencePage.PRIVATEKEY"; //$NON-NLS-1$
-  public static final  String KEY_KEYFILE="CVSSSH2PreferencePage.KEYFILE"; //$NON-NLS-1$
-  
-  public static final  String KEY_SSH2HOME="SSH2HOME"; //$NON-NLS-1$
-  public static final  String KEY_PRIVATEKEY="PRIVATEKEY"; //$NON-NLS-1$
-
-  public static final  String PROXY_TYPE_SOCKS5="SOCKS5"; //$NON-NLS-1$
-  public static final  String PROXY_TYPE_HTTP="HTTP"; //$NON-NLS-1$
-  public static final  String HTTP_DEFAULT_PORT="80"; //$NON-NLS-1$
-  public static final  String SOCKS5_DEFAULT_PORT="1080"; //$NON-NLS-1$
-  public static final  String PRIVATE_KEYS_DEFAULT="id_dsa,id_rsa"; //$NON-NLS-1$
-
-  public static final  String DSA="DSA"; //$NON-NLS-1$
-  public static final  String RSA="RSA"; //$NON-NLS-1$
-  
-  public static final int SSH_DEFAULT_PORT=22;
-  
-  public final String PREF_USE_PROXY="proxyEnabled"; //$NON-NLS-1$
-  public final String PREF_PROXY_TYPE="proxyType"; //$NON-NLS-1$
-  public final String PREF_PROXY_HOST="proxyHost"; //$NON-NLS-1$
-  public final String PREF_PROXY_PORT="proxyPort"; //$NON-NLS-1$
-  public final String PREF_PROXY_AUTH="proxyAuth"; //$NON-NLS-1$
-
-  public final String PREF_HAS_MIGRATED_SSH2_PREFS="org.eclipse.jsch.core.hasMigratedSsh2Preferences"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchCorePlugin.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchCorePlugin.java
deleted file mode 100644
index 1eda19b..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchCorePlugin.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-// import org.eclipse.core.runtime.Plugin;
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.*;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.util.tracker.ServiceTracker;
-
-import com.jcraft.jsch.JSch;
-import com.jcraft.jsch.JSchException;
-
-public class JSchCorePlugin extends Plugin{
-
-  public static String ID="org.eclipse.jsch.core"; //$NON-NLS-1$
-
-  private static final String PROP_REGISTER_SERVICE="org.eclipse.jsch.core.enableService"; //$NON-NLS-1$
-
-  // communication timeout with the server
-  public static final int DEFAULT_TIMEOUT=60;
-  private int communicationsTimeout=DEFAULT_TIMEOUT;
-  private boolean needToLoadKnownHosts=true;
-  private boolean needToLoadKeys=true;
-
-  private JSch jsch;
-
-  private String current_pkeys=""; //$NON-NLS-1$
-
-  private static final String INFO_PROXY_USER="org.eclipse.team.cvs.core.proxy.user"; //$NON-NLS-1$ 
-  private static final String INFO_PROXY_PASS="org.eclipse.team.cvs.core.proxy.pass"; //$NON-NLS-1$ 
-
-  public static final String PT_AUTHENTICATOR="authenticator"; //$NON-NLS-1$
-
-  private static JSchCorePlugin plugin;
-  private ServiceTracker tracker;
-
-  private ServiceRegistration proxyService;
-
-  public JSchCorePlugin(){
-    plugin=this;
-  }
-
-  public static JSchCorePlugin getPlugin(){
-    return plugin;
-  }
-
-  /**
-   * Convenience method for logging CoreExceptions to the plugin log
-   * 
-   * @param e
-   *          the exception
-   */
-  public static void log(CoreException e){
-    log(e.getStatus().getSeverity(), e.getMessage(), e);
-  }
-
-  /**
-   * Log the given status. Do not use this method for the IStatus from a
-   * CoreException. Use<code>log(CoreException)</code> instead so the stack
-   * trace is not lost.
-   * 
-   * @param status
-   *          the status
-   */
-  public static void log(IStatus status){
-    getPlugin().getLog().log(status);
-  }
-
-  public static void log(int severity, String message, Throwable e){
-    log(new Status(severity, ID, 0, message, e));
-  }
-
-  // proxy configuration
-  boolean isUseProxy(){
-    IPreferencesService ps=Platform.getPreferencesService();
-    String value=ps.get(IConstants.PREF_USE_PROXY,
-        "false", getProxyPreferenceStore()); //$NON-NLS-1$
-    return value==null ? false : !value.equals("false"); //$NON-NLS-1$
-  }
-
-  String getProxyType(){
-    IPreferencesService ps=Platform.getPreferencesService();
-    return ps.get(IConstants.PREF_PROXY_TYPE, "", getProxyPreferenceStore()); //$NON-NLS-1$
-  }
-
-  String getProxyHost(){
-    IPreferencesService ps=Platform.getPreferencesService();
-    return ps.get(IConstants.PREF_PROXY_HOST, "", getProxyPreferenceStore()); //$NON-NLS-1$
-  }
-
-  String getProxyPort(){
-    IPreferencesService ps=Platform.getPreferencesService();
-    return ps.get(IConstants.PREF_PROXY_PORT, "", getProxyPreferenceStore()); //$NON-NLS-1$
-  }
-
-  boolean isUseProxyAuth(){
-    IPreferencesService ps=Platform.getPreferencesService();
-    String value=ps.get(IConstants.PREF_PROXY_AUTH,
-        "false", getProxyPreferenceStore()); //$NON-NLS-1$
-    return value==null ? false : !value.equals("false"); //$NON-NLS-1$
-  }
-
-  String getProxyUser(){
-    Object user=getAuthInfo().get(INFO_PROXY_USER);
-    return user==null ? "" : (String)user; //$NON-NLS-1$
-  }
-
-  private Map getAuthInfo(){
-    // XXX Auto-generated method stub
-    return null;
-  }
-
-  String getProxyPassword(){
-    Object pass=getAuthInfo().get(INFO_PROXY_PASS);
-    return pass==null ? "" : (String)pass; //$NON-NLS-1$
-  }
-
-  /**
-   * Get the communications timeout value in seconds
-   * 
-   * @return the timeout value in seconds
-   */
-  public int getTimeout(){
-    return communicationsTimeout;
-  }
-
-  /**
-   * Set the timeout value for communications to a value in seconds. The value
-   * must be greater than or equal 0. If is it 0, there is no timeout.
-   * 
-   * @param timeout
-   *          the timeout value in seconds
-   */
-  public void setTimeout(int timeout){
-    this.communicationsTimeout=Math.max(0, timeout);
-  }
-
-  /**
-   * Return the preferences node in the instance scope
-   */
-  IEclipsePreferences getInstancePreferences(){
-    return new InstanceScope().getNode(ID);
-  }
-
-  private static IEclipsePreferences[] proxyPreferences;
-
-  static IEclipsePreferences[] getProxyPreferenceStore(){
-    if(proxyPreferences==null){
-      proxyPreferences=new IEclipsePreferences[] {
-          new InstanceScope().getNode("org.eclipse.team.cvs.ui"), //$NON-NLS-1$
-          new DefaultScope().getNode("org.eclipse.team.cvs.ui") //$NON-NLS-1$
-      };
-    }
-    return proxyPreferences;
-  }
-
-  public synchronized JSch getJSch(){
-    if(jsch==null)
-      jsch=new JSch();
-    return jsch;
-  }
-
-  public void loadKnownHosts(){
-    Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-    String ssh_home=preferences.getString(IConstants.KEY_SSH2HOME);
-
-    if(ssh_home.length()==0)
-      ssh_home=PreferenceInitializer.SSH_HOME_DEFAULT;
-
-    java.io.File file=new java.io.File(ssh_home, "known_hosts"); //$NON-NLS-1$
-    try{
-      getJSch().setKnownHosts(file.getPath());
-    }
-    catch(JSchException e){
-      JSchCorePlugin.log(IStatus.ERROR, NLS.bind(
-          "An error occurred while loading the know hosts file {0}", file //$NON-NLS-1$
-              .getAbsolutePath()), e);
-    }
-    needToLoadKnownHosts=false;
-  }
-
-  public boolean isNeedToLoadKnownHosts(){
-    return needToLoadKnownHosts;
-  }
-
-  public void setNeedToLoadKnownHosts(boolean needToLoadKnownHosts){
-    this.needToLoadKnownHosts=needToLoadKnownHosts;
-  }
-
-  public boolean isNeedToLoadKeys(){
-    return needToLoadKeys;
-  }
-
-  public void setNeedToLoadKeys(boolean needToLoadKeys){
-    this.needToLoadKeys=needToLoadKeys;
-  }
-
-  public void loadPrivateKeys(){
-    current_pkeys=Utils.loadPrivateKeys(getJSch(), current_pkeys);
-    setNeedToLoadKeys(false);
-  }
-
-  /**
-   * Return the {@link IProxyService} or <code>null</code> if the service is
-   * not available.
-   * 
-   * @return the {@link IProxyService} or <code>null</code>
-   */
-  public IProxyService getProxyService(){
-    return (IProxyService)tracker.getService();
-  }
-
-  public void start(BundleContext context) throws Exception{
-    super.start(context);
-    tracker=new ServiceTracker(getBundle().getBundleContext(),
-        IProxyService.class.getName(), null);
-    tracker.open();
-    if(Boolean
-        .valueOf(System.getProperty(PROP_REGISTER_SERVICE, "true")).booleanValue()){ //$NON-NLS-1$
-      proxyService=getBundle().getBundleContext().registerService(
-          IJSchService.class.getName(), JSchProvider.getInstance(), new Hashtable());
-    }
-  }
-
-  public void stop(BundleContext context) throws Exception{
-    super.stop(context);
-    tracker.close();
-    if(proxyService!=null){
-      proxyService.unregister();
-      proxyService=null;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchProvider.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchProvider.java
deleted file mode 100644
index 305aa6b..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchProvider.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jsch.core.IJSchService;
-
-import com.jcraft.jsch.*;
-
-/**
- * A static class whose purpose is to ensure that all the JSch preferences are properly pushed into JSch
- * before a {@link Session} is created.
- * @since 1.0
- */
-public class JSchProvider implements IJSchService {
-  
-  private static JSchProvider instance;
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jsch.core.IJSchService#createSession(java.lang.String, int, java.lang.String)
-   */
-  public Session createSession(String host, int port, String username) throws JSchException {
-    if(port == -1)
-      port = IConstants.SSH_DEFAULT_PORT;
-
-    if(JSchCorePlugin.getPlugin().isNeedToLoadKnownHosts()){
-      JSchCorePlugin.getPlugin().loadKnownHosts();
-    }
-
-    if(JSchCorePlugin.getPlugin().isNeedToLoadKeys()){
-      JSchCorePlugin.getPlugin().loadPrivateKeys();
-    }
-    
-    return Utils.createSession(JSchCorePlugin.getPlugin().getJSch(), username, host, port);
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.jsch.core.IJSchService#connect(com.jcraft.jsch.Session, int, org.eclipse.core.runtime.IProgressMonitor)
-   */
-  public void connect(Session session, int timeout,
-      IProgressMonitor monitor) throws JSchException{
-    session.setSocketFactory(new ResponsiveSocketFactory(monitor, timeout));
-    try{
-      session.connect();
-    }
-    catch(JSchException e){
-      if(session.isConnected())
-        session.disconnect();
-      throw e;
-    }
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.jsch.core.IJSchService#getProxyForHost(java.lang.String, java.lang.String)
-   */
-  public Proxy getProxyForHost(String host, String proxyType) {
-    return Utils.getProxyForHost(host, proxyType);
-  }
-
-  public static IJSchService getInstance(){
-    if (instance == null)
-      instance = new JSchProvider();
-    return instance;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jsch.core.IJSchService#connect(com.jcraft.jsch.Proxy, java.lang.String, java.lang.String, int, org.eclipse.core.runtime.IProgressMonitor)
-   */
-  public void connect(Proxy proxy, String host, int port, int timeout,
-      IProgressMonitor monitor) throws JSchException {
-    try{
-      proxy.connect(new ResponsiveSocketFactory(monitor, timeout), host, port, timeout);
-    }
-    catch(JSchException e){
-      throw e;
-    }
-    catch(Exception e){
-      new JSchException(e.getMessage());
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Messages.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Messages.java
deleted file mode 100644
index 1b62d07..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Messages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * 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.jsch.internal.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS{
-  private static final String BUNDLE_NAME="org.eclipse.jsch.internal.core.messages";//$NON-NLS-1$
-
-  public static String JSchSession_5;
-  public static String Util_timeout;
-  public static String JSchAuthenticationException_detail;
-  public static String JSchRepositoryLocation_locationForm;
-  public static String JSchRepositoryLocation_invalidFormat;
-  public static String KnownRepositories_0;
-  public static String JSchRepositoryLocation_73;
-  public static String JSchRepositoryLocation_74;
-  public static String JSchRepositoryLocation_75;
-  
-  static{
-    // load message values from bundle file
-    NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java
deleted file mode 100644
index ae2a4fb..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.*;
-
-public class Policy{
-
-  public static void checkCanceled(IProgressMonitor monitor){
-    if(monitor.isCanceled())
-      throw new OperationCanceledException();
-  }
-
-  public static IProgressMonitor monitorFor(IProgressMonitor monitor){
-    if(monitor==null)
-      return new NullProgressMonitor();
-    return monitor;
-  }
-
-  public static IProgressMonitor subMonitorFor(IProgressMonitor monitor,
-      int ticks){
-    if(monitor==null)
-      return new NullProgressMonitor();
-    if(monitor instanceof NullProgressMonitor)
-      return monitor;
-    return new SubProgressMonitor(monitor, ticks);
-  }
-  
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
deleted file mode 100644
index 57c9900..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.preferences.*;
-
-public class PreferenceInitializer extends AbstractPreferenceInitializer{
-
-  public static String SSH_HOME_DEFAULT=null;
-  static{
-    String ssh_dir_name=".ssh"; //$NON-NLS-1$
-
-    // Windows doesn't like files or directories starting with a dot.
-    if(Platform.getOS().equals(Platform.OS_WIN32)){
-      ssh_dir_name="ssh"; //$NON-NLS-1$
-    }
-    SSH_HOME_DEFAULT=System.getProperty("user.home"); //$NON-NLS-1$
-    if(SSH_HOME_DEFAULT!=null){
-      SSH_HOME_DEFAULT=SSH_HOME_DEFAULT+java.io.File.separator+ssh_dir_name;
-    }
-  }
-  
-  public void initializeDefaultPreferences(){
-    IEclipsePreferences defaultNode=new DefaultScope().getNode(JSchCorePlugin.ID);
-    defaultNode.put(IConstants.KEY_SSH2HOME, SSH_HOME_DEFAULT);
-    defaultNode.put(IConstants.KEY_PRIVATEKEY, IConstants.PRIVATE_KEYS_DEFAULT);
-    Utils.migrateSSH2Preferences();
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceModifyListener.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceModifyListener.java
deleted file mode 100644
index 174b866..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceModifyListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-
-public class PreferenceModifyListener extends
-    org.eclipse.core.runtime.preferences.PreferenceModifyListener{
-
-  public PreferenceModifyListener(){
-    // Nothing to do
-  }
-  
-  public IEclipsePreferences preApply(IEclipsePreferences node){
-    Utils.migrateSSH2Preferences(node.node("instance")); //$NON-NLS-1$
-    return super.preApply(node);
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/ResponsiveSocketFactory.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/ResponsiveSocketFactory.java
deleted file mode 100644
index ff822db..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/ResponsiveSocketFactory.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-
-import com.jcraft.jsch.SocketFactory;
-
-public class ResponsiveSocketFactory implements SocketFactory {
-  private static final String JAVA_NET_PROXY="java.net.Proxy"; //$NON-NLS-1$
-  private static final int DEFAULT_TIMEOUT=60; // Seconds
-  InputStream in = null;
-  OutputStream out = null;
-  private IProgressMonitor monitor;
-  private final int timeout;
-  private static Class proxyClass;
-  private static boolean hasProxyClass = true;
-  public ResponsiveSocketFactory(IProgressMonitor monitor, int timeout) {
-    if (monitor == null)
-      monitor = new NullProgressMonitor();
-    this.monitor = monitor;
-    this.timeout=timeout;
-  }
-  public InputStream getInputStream(Socket socket) throws IOException {
-    if (in == null)
-      in = socket.getInputStream();
-    return in;
-  }
-  public OutputStream getOutputStream(Socket socket) throws IOException {
-    if (out == null)
-      out = socket.getOutputStream();
-    return out;
-  }
-  public Socket createSocket(String host, int port) throws IOException, UnknownHostException {
-    Socket socket = null;
-    socket = createSocket(host, port, timeout / 1000, monitor);
-    // Null out the monitor so we don't hold onto anything
-    // (i.e. the SSH2 session will keep a handle to the socket factory around
-    monitor = new NullProgressMonitor();
-    // Set the socket timeout
-    socket.setSoTimeout(timeout);
-    return socket;
-  }
-  
-  /**
-   * Helper method that will time out when making a socket connection.
-   * This is required because there is no way to provide a timeout value
-   * when creating a socket and in some instances, they don't seem to
-   * timeout at all.
-   */
-  private Socket createSocket(final String host, final int port, int timeout, IProgressMonitor monitor) throws UnknownHostException, IOException {
-    
-    // Start a thread to open a socket
-    final Socket[] socket = new Socket[] { null };
-    final Exception[] exception = new Exception[] {null };
-    final Thread thread = new Thread(new Runnable() {
-      public void run() {
-        try {
-          Socket newSocket = internalCreateSocket(host, port);
-          synchronized (socket) {
-            if (Thread.interrupted()) {
-              // we we're either canceled or timed out so just close the socket
-              newSocket.close();
-            } else {
-              socket[0] = newSocket;
-            }
-          }
-        } catch (UnknownHostException e) {
-          exception[0] = e;
-        } catch (IOException e) {
-          exception[0] = e;
-        }
-      }
-    });
-    thread.start();
-    
-    // Wait the appropriate number of seconds
-    if (timeout == 0) timeout = DEFAULT_TIMEOUT;
-    for (int i = 0; i < timeout; i++) {
-      try {
-        // wait for the thread to complete or 1 second, which ever comes first
-        thread.join(1000);
-      } catch (InterruptedException e) {
-        // I think this means the thread was interrupted but not necessarily timed out
-        // so we don't need to do anything
-      }
-      synchronized (socket) {
-        // if the user canceled, clean up before preempting the operation
-        if (monitor.isCanceled()) {
-          if (thread.isAlive()) {
-            thread.interrupt();
-          }
-          if (socket[0] != null) {
-            socket[0].close();
-          }
-          // this method will throw the proper exception
-          Policy.checkCanceled(monitor);
-        }
-      }
-    }
-    // If the thread is still running (i.e. we timed out) signal that it is too late
-    synchronized (socket) {
-      if (thread.isAlive()) {
-        thread.interrupt();
-      }
-    }
-    if (exception[0] != null) {
-      if (exception[0] instanceof UnknownHostException)
-        throw (UnknownHostException)exception[0];
-      else
-        throw (IOException)exception[0];
-    }
-    if (socket[0] == null) {
-      throw new InterruptedIOException(NLS.bind(Messages.Util_timeout, new String[] { host })); 
-    }
-    return socket[0];
-  }
-  
-  /* private */  Socket internalCreateSocket(final String host, final int port)
-      throws UnknownHostException, IOException{
-    Class proxyClass = getProxyClass();
-    if (proxyClass != null) {
-      // We need to disable proxy support for the socket
-      try{
-        
-        // Obtain the value of the NO_PROXY static field of the proxy class
-        Field field = proxyClass.getField("NO_PROXY"); //$NON-NLS-1$
-        Object noProxyObject = field.get(null);
-        Constructor constructor = Socket.class.getConstructor(new Class[] { proxyClass });
-        Object o = constructor.newInstance(new Object[] { noProxyObject });
-        if(o instanceof Socket){
-          Socket socket=(Socket)o;
-          socket.connect(new InetSocketAddress(host, port), timeout * 1000);
-          return socket;
-        }
-      }
-      catch(SecurityException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(NoSuchFieldException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(IllegalArgumentException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(IllegalAccessException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(NoSuchMethodException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(InstantiationException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(InvocationTargetException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      
-    }
-    return new Socket(host, port);
-  }
-  
-  private synchronized Class getProxyClass() {
-    if (hasProxyClass && proxyClass == null) {
-      try{
-        proxyClass = Class.forName(JAVA_NET_PROXY);
-      }
-      catch(ClassNotFoundException e){
-        // We couldn't find the class so we'll assume we are using pre-1.5 JRE
-        hasProxyClass = false;
-      }
-    }
-    return proxyClass;
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Utils.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Utils.java
deleted file mode 100644
index 929c8c0..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Utils.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-
-import com.jcraft.jsch.*;
-
-public class Utils{
-
-  public static String loadPrivateKeys(JSch jsch, String current_pkeys){
-    Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-    String ssh_home=preferences.getString(IConstants.KEY_SSH2HOME);
-    String pkeys=preferences.getString(IConstants.KEY_PRIVATEKEY);
-
-    if(ssh_home.length()==0)
-      ssh_home=PreferenceInitializer.SSH_HOME_DEFAULT;
-
-    java.io.File file;
-    String[] pkey=pkeys.split(","); //$NON-NLS-1$
-    String[] _pkey=current_pkeys.split(","); //$NON-NLS-1$
-    String result=""; //$NON-NLS-1$
-    for(int i=0; i<pkey.length; i++){
-      file=new java.io.File(pkey[i]);
-      if(!file.isAbsolute()){
-        file=new java.io.File(ssh_home, pkey[i]);
-      }
-      if(file.exists()){
-        boolean notyet=true;
-        for(int j=0; j<_pkey.length; j++){
-          if(pkey[i].equals(_pkey[j])){
-            notyet=false;
-            break;
-          }
-        }
-        try{
-          if(notyet)
-            jsch.addIdentity(file.getPath());
-          if(result.length()==0){
-            result=pkey[i];
-          }
-          else{
-            result+=(","+pkey[i]); //$NON-NLS-1$
-          }
-        }
-        catch(JSchException e){
-          JSchCorePlugin.log(IStatus.ERROR,
-              "An error occurred loading the SSH2 private keys", e); //$NON-NLS-1$
-        }
-      }
-    }
-    return result;
-  }
-
-  public static Session createSession(JSch jsch, String username,
-      String hostname, int port) throws JSchException{
-    Session session=jsch.getSession(username, hostname, port);
-    setProxy(session);
-    Hashtable config=new Hashtable();
-    config.put("PreferredAuthentications", //$NON-NLS-1$ 
-        "gssapi-with-mic,publickey,password,keyboard-interactive"); //$NON-NLS-1$ 
-    session.setConfig(config);
-    return session;
-  }
-
-  public static void setProxy(Session session){
-    Proxy proxy=getProxyForHost(session.getHost(), IProxyData.SOCKS_PROXY_TYPE);
-    if(proxy==null)
-      proxy=getProxyForHost(session.getHost(), IProxyData. HTTPS_PROXY_TYPE);
-    if(proxy!=null)
-      session.setProxy(proxy);
-  }
-
-  private static int getPort(IProxyData data){
-    int port=data.getPort();
-    if(port==-1){
-      if(data.getType().equals(IProxyData.HTTP_PROXY_TYPE))
-        port=80;
-      else if(data.getType().equals(IProxyData.HTTPS_PROXY_TYPE))
-        port=443;
-      else if(data.getType().equals(IProxyData.SOCKS_PROXY_TYPE))
-        port=1080;
-    }
-    return port;
-  }
-
-  private static IProxyData getProxyData(String host, String type){
-    IProxyService proxyService=JSchCorePlugin.getPlugin().getProxyService();
-    if(proxyService==null)
-      return null;
-    IProxyData data=proxyService.getProxyDataForHost(host, type);
-    if(data==null||data.getHost()==null||getJSchProxyType(data)==null)
-      return null;
-    return data;
-  }
-
-  private static String getJSchProxyType(IProxyData data){
-    if(data.getType().equals(IProxyData.HTTPS_PROXY_TYPE))
-      return IConstants.PROXY_TYPE_HTTP;
-    if(data.getType().equals(IProxyData.SOCKS_PROXY_TYPE))
-      return IConstants.PROXY_TYPE_SOCKS5;
-    return null;
-  }
-
-  public static Proxy getProxyForHost(String host, String proxyType){
-    IProxyService proxyService=JSchCorePlugin.getPlugin().getProxyService();
-    if(proxyService==null)
-      return null;
-    boolean useProxy=proxyService.isProxiesEnabled();
-    if(!useProxy)
-      return null;
-    Proxy proxy=null;
-    IProxyData data=getProxyData(host, proxyType);
-    if(data==null)
-      return null;
-    String _type=getJSchProxyType(data);
-    if(_type==null)
-      return null;
-    String _host=data.getHost();
-    int _port=getPort(data);
-
-    boolean useAuth=data.isRequiresAuthentication();
-    String _user=""; //$NON-NLS-1$
-    String _pass=""; //$NON-NLS-1$
-
-    // Retrieve username and password from keyring.
-    if(useAuth){
-      _user=data.getUserId();
-      _pass=data.getPassword();
-    }
-
-    String proxyhost=_host+":"+_port; //$NON-NLS-1$
-    if(_type.equals(IConstants.PROXY_TYPE_HTTP)){
-      proxy=new ProxyHTTP(proxyhost);
-      if(useAuth){
-        ((ProxyHTTP)proxy).setUserPasswd(_user, _pass);
-      }
-    }
-    else if(_type.equals(IConstants.PROXY_TYPE_SOCKS5)){
-      proxy=new ProxySOCKS5(proxyhost);
-      if(useAuth){
-        ((ProxySOCKS5)proxy).setUserPasswd(_user, _pass);
-      }
-    }
-    return proxy;
-  }
-  
-  public static void migrateSSH2Preferences() {
-    Preferences preferences = JSchCorePlugin.getPlugin().getPluginPreferences();
-    if(!preferences.getBoolean(IConstants.PREF_HAS_MIGRATED_SSH2_PREFS)){
-      preferences.setValue(IConstants.PREF_HAS_MIGRATED_SSH2_PREFS, true);
-      migrateSSH2Preferences(new InstanceScope().getNode("")); //$NON-NLS-1$
-    }
-  }
-  
-  public static void migrateSSH2Preferences(org.osgi.service.prefs.Preferences node) {
-    org.osgi.service.prefs.Preferences jschPrefs=node.node(JSchCorePlugin.ID);
-    org.osgi.service.prefs.Preferences ssh2Prefs=node.node("org.eclipse.team.cvs.ssh2"); //$NON-NLS-1$
-    String oldHome = ssh2Prefs.get(IConstants.KEY_OLD_SSH2HOME, null);
-    String oldKey = ssh2Prefs.get(IConstants.KEY_OLD_PRIVATEKEY, null);
-    if (oldHome != null) {
-      jschPrefs.put(IConstants.KEY_SSH2HOME, oldHome);
-      ssh2Prefs.remove(IConstants.KEY_OLD_SSH2HOME);
-    }
-    if (oldKey != null) {
-      jschPrefs.put(IConstants.KEY_PRIVATEKEY, oldKey);
-      ssh2Prefs.remove(IConstants.KEY_OLD_PRIVATEKEY);
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/messages.properties b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/messages.properties
deleted file mode 100644
index 800ad6d..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Maik Schreiber - bug 102461
-#     Philippe Ombredanne - bug 84808
-###############################################################################
-JSchSession_5=SSH2 Message
-Util_timeout=A timeout occurred connecting to host {0}
-JSchAuthenticationException_detail=Authentication error: {0}
-JSchRepositoryLocation_locationForm=Location must have form 'user@host[:port]'
-JSchRepositoryLocation_invalidFormat=Invalid location format: {0}
-KnownRepositories_0=Error restoring location repositories
-JSchRepositoryLocation_73=Error clearing preferences for location {0}
-JSchRepositoryLocation_74=Error retrieving preferences for location {0}
-JSchRepositoryLocation_75=Error flushing preferences for location {0}
diff --git a/bundles/org.eclipse.jsch.ui/.classpath b/bundles/org.eclipse.jsch.ui/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.jsch.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.jsch.ui/.cvsignore b/bundles/org.eclipse.jsch.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.jsch.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.jsch.ui/.project b/bundles/org.eclipse.jsch.ui/.project
deleted file mode 100644
index d440dad..0000000
--- a/bundles/org.eclipse.jsch.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jsch.ui</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.jsch.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 3b9cdbe..0000000
--- a/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,324 +0,0 @@
-#Mon Feb 19 11:20:29 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=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=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-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=public
-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.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=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-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=error
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,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=0
-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=false
-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_annotation_declaration_header=true
-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=true
-org.eclipse.jdt.core.formatter.indentation.size=2
-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=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=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=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=do not 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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not 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=do not 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=do not 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=do not 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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=do not 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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=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=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 5fa0e28..0000000
--- a/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Dec 07 16:35:54 JST 2006
-eclipse.preferences.version=1
-formatter_profile=_eclipse-java-code-formatter-20060522
-formatter_settings_version=10
diff --git a/bundles/org.eclipse.jsch.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jsch.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index cdf220d..0000000
--- a/bundles/org.eclipse.jsch.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jsch.ui;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.jsch.internal.ui.JSchUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.jsch.core,
- com.jcraft.jsch
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.eclipse.jsch.internal.ui;x-internal:=true,
- org.eclipse.jsch.internal.ui.preference;x-internal:=true,
- org.eclipse.jsch.ui
diff --git a/bundles/org.eclipse.jsch.ui/about.html b/bundles/org.eclipse.jsch.ui/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.jsch.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jsch.ui/build.properties b/bundles/org.eclipse.jsch.ui/build.properties
deleted file mode 100644
index 4f5c84b..0000000
--- a/bundles/org.eclipse.jsch.ui/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html,\
-               icons/
-src.includes = about.html
diff --git a/bundles/org.eclipse.jsch.ui/icons/full/wizban/keylock.gif b/bundles/org.eclipse.jsch.ui/icons/full/wizban/keylock.gif
deleted file mode 100644
index 2efb6ff..0000000
--- a/bundles/org.eclipse.jsch.ui/icons/full/wizban/keylock.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jsch.ui/plugin.properties b/bundles/org.eclipse.jsch.ui/plugin.properties
deleted file mode 100644
index 17ecc02..0000000
--- a/bundles/org.eclipse.jsch.ui/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     #	  Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
-#     IBM Corporation - implementation
-###############################################################################
-providerName=Eclipse.org
-pluginName=JSch UI
-ssh2PreferencePage.name=SSH2
-PreferenceKeywords.SSH=SSH network connection
diff --git a/bundles/org.eclipse.jsch.ui/plugin.xml b/bundles/org.eclipse.jsch.ui/plugin.xml
deleted file mode 100644
index fa77f3c..0000000
--- a/bundles/org.eclipse.jsch.ui/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-   		point="org.eclipse.ui.keywords">
-    <keyword
-            label="%PreferenceKeywords.SSH"
-            id="org.eclipse.jsch.ui.ssh2"/>
-   </extension>  
-   
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            class="org.eclipse.jsch.internal.ui.preference.PreferencePage"
-            id="org.eclipse.jsch.ui.SSHPreferences"
-            name="%ssh2PreferencePage.name"
-            category="org.eclipse.ui.net.NetPreferences">
-      <keywordReference id="org.eclipse.jsch.ui.ssh2"/>
-      </page>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IHelpContextIds.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IHelpContextIds.java
deleted file mode 100644
index 170faaf..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IHelpContextIds.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-public interface IHelpContextIds{
-
-  public final String USER_VALIDATION_DIALOG="org.eclipse.team.cvs.ui.user_validation_dialog_contex"; //$NON-NLS-1$
-  public final String KEYBOARD_INTERACTIVE_DIALOG="org.eclipse.team.cvs.ui.keyboard_interactive_dialog_context"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IUIConstants.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IUIConstants.java
deleted file mode 100644
index 4a294df..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IUIConstants.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation.
- *     Atsuhiko Yamanaka, JCraft,Inc. - Bug 170883
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-public interface IUIConstants{
-  public final String PREFIX=JSchUIPlugin.ID+"."; //$NON-NLS-1$
-
-  // image path
-  public final String ICON_PATH="$nl$/icons/full/"; //$NON-NLS-1$
-
-  // preferences
-  public final String PREF_FIRST_STARTUP="pref_first_startup"; //$NON-NLS-1$
- 
-  // images
-  public final String IMG_KEY_LOCK="wizban/keylock.gif"; //$NON-NLS-1$
-  
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
deleted file mode 100644
index 7ca8a2b..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-import java.net.URL;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class JSchUIPlugin extends AbstractUIPlugin{
-  public static final String ID="org.eclipse.jsch.ui"; //$NON-NLS-1$
-  public static final String DECORATOR_ID="org.eclipse.jsch.ui.decorator"; //$NON-NLS-1$
-
-  private static Hashtable imageDescriptors=new Hashtable(20);
-  /**
-   * The singleton plug-in instance
-   */
-  private static JSchUIPlugin plugin;
-  private ServiceTracker tracker;
-
-  public JSchUIPlugin(){
-    super();
-    plugin=this;
-  }
-
-  /**
-   * Returns the singleton plug-in instance.
-   * 
-   * @return the plugin instance
-   */
-  public static JSchUIPlugin getPlugin(){
-    return plugin;
-  }
-
-  /**
-   * Returns the image descriptor for the given image ID.
-   * Returns null if there is no such image.
-   * @param id the id of the image descriptor
-   * @return the image descriptor
-   */
-  public static ImageDescriptor getImageDescriptor(String id){
-    return (ImageDescriptor)imageDescriptors.get(id);
-  }
-
-  /**
-   * Creates an image and places it in the image registry.
-   */
-  protected void createImageDescriptor(String id){
-    URL url=FileLocator.find(JSchUIPlugin.getPlugin().getBundle(), new Path(
-        IUIConstants.ICON_PATH+id), null);
-    ImageDescriptor desc=ImageDescriptor.createFromURL(url);
-    imageDescriptors.put(id, desc);
-  }
-
-  /**
-   * Convenience method to get an image descriptor for an extension
-   * 
-   * @param extension  the extension declaring the image
-   * @param subdirectoryAndFilename  the path to the image
-   * @return the image
-   */
-  public static ImageDescriptor getImageDescriptorFromExtension(IExtension extension, String subdirectoryAndFilename) {
-    URL fullPathString = FileLocator.find(Platform.getBundle(extension.getNamespaceIdentifier()), new Path(subdirectoryAndFilename), null);
-    return ImageDescriptor.createFromURL(fullPathString);
-  }
-
-  /**
-   * Initializes the table of images used in this plugin.
-   */
-  private void initializeImages() {
-    /*
-    // objects
-    createImageDescriptor(IUIConstants.IMG_REPOSITORY); 
-    createImageDescriptor(IUIConstants.IMG_REFRESH);
-    createImageDescriptor(IUIConstants.IMG_REFRESH_ENABLED);
-    createImageDescriptor(IUIConstants.IMG_REFRESH_DISABLED);
-    createImageDescriptor(IUIConstants.IMG_LINK_WITH_EDITOR);
-    createImageDescriptor(IUIConstants.IMG_LINK_WITH_EDITOR_ENABLED);
-    createImageDescriptor(IUIConstants.IMG_COLLAPSE_ALL);
-    createImageDescriptor(IUIConstants.IMG_COLLAPSE_ALL_ENABLED);
-    createImageDescriptor(IUIConstants.IMG_NEWLOCATION);
-    createImageDescriptor(IUIConstants.IMG_CVSLOGO);
-    createImageDescriptor(IUIConstants.IMG_TAG);
-    createImageDescriptor(IUIConstants.IMG_MODULE);
-    createImageDescriptor(IUIConstants.IMG_CLEAR);
-    createImageDescriptor(IUIConstants.IMG_CLEAR_ENABLED);
-    createImageDescriptor(IUIConstants.IMG_CLEAR_DISABLED);
-    createImageDescriptor(IUIConstants.IMG_BRANCHES_CATEGORY);
-    createImageDescriptor(IUIConstants.IMG_VERSIONS_CATEGORY);
-    createImageDescriptor(IUIConstants.IMG_DATES_CATEGORY);
-    createImageDescriptor(IUIConstants.IMG_PROJECT_VERSION);
-    createImageDescriptor(IUIConstants.IMG_WIZBAN_MERGE);
-    createImageDescriptor(IUIConstants.IMG_WIZBAN_SHARE);
-    createImageDescriptor(IUIConstants.IMG_WIZBAN_DIFF);
-    createImageDescriptor(IUIConstants.IMG_WIZBAN_KEYWORD);
-    createImageDescriptor(IUIConstants.IMG_WIZBAN_NEW_LOCATION);
-    createImageDescriptor(IUIConstants.IMG_WIZBAN_IMPORT);
-    createImageDescriptor(IUIConstants.IMG_MERGEABLE_CONFLICT);
-    createImageDescriptor(IUIConstants.IMG_QUESTIONABLE);
-    createImageDescriptor(IUIConstants.IMG_MERGED);
-    createImageDescriptor(IUIConstants.IMG_EDITED);
-    createImageDescriptor(IUIConstants.IMG_NO_REMOTEDIR);
-    createImageDescriptor(IUIConstants.IMG_CVS_CONSOLE);
-    createImageDescriptor(IUIConstants.IMG_DATE);
-    createImageDescriptor(IUIConstants.IMG_CHANGELOG);
-    createImageDescriptor(IUIConstants.IMG_FILTER_HISTORY);
-    createImageDescriptor(IUIConstants.IMG_LOCALMODE);
-    createImageDescriptor(IUIConstants.IMG_LOCALREMOTE_MODE);
-    createImageDescriptor(IUIConstants.IMG_REMOTEMODE);
-    createImageDescriptor(IUIConstants.IMG_LOCALMODE_DISABLED);
-    createImageDescriptor(IUIConstants.IMG_LOCALREMOTE_MODE_DISABLED);
-    createImageDescriptor(IUIConstants.IMG_REMOTEMODE_DISABLED);
-    createImageDescriptor(IUIConstants.IMG_LOCALREVISION_TABLE);
-    createImageDescriptor(IUIConstants.IMG_REMOTEREVISION_TABLE);
-    createImageDescriptor(IUIConstants.IMG_COMPARE_VIEW);
-    */
-    
-    createImageDescriptor(IUIConstants.IMG_KEY_LOCK);
-
-    /*
-    // special
-    createImageDescriptor("glyphs/glyph1.gif");  //$NON-NLS-1$
-    createImageDescriptor("glyphs/glyph2.gif");  //$NON-NLS-1$
-    createImageDescriptor("glyphs/glyph3.gif");  //$NON-NLS-1$
-    createImageDescriptor("glyphs/glyph4.gif");  //$NON-NLS-1$
-    createImageDescriptor("glyphs/glyph5.gif");  //$NON-NLS-1$
-    createImageDescriptor("glyphs/glyph6.gif");  //$NON-NLS-1$
-    createImageDescriptor("glyphs/glyph7.gif");  //$NON-NLS-1$
-    createImageDescriptor("glyphs/glyph8.gif");  //$NON-NLS-1$
-    */
-  }
-  
-  /**
-   * @see Plugin#start(BundleContext)
-   */
-  public void start(BundleContext context) throws Exception {
-    super.start(context);
-    
-    initializeImages();
-
-    IPreferenceStore store = getPreferenceStore();
-    if (store.getBoolean(IUIConstants.PREF_FIRST_STARTUP)) {
-      store.setValue(IUIConstants.PREF_FIRST_STARTUP, false);
-    }
-
-    tracker = new ServiceTracker(getBundle().getBundleContext(),IJSchService.class.getName(), null);
-    tracker.open();
-  }
-  
-  public void stop(BundleContext context) throws Exception{
-    super.stop(context);
-    tracker.close();
-  }
-  
-  public IJSchService getJSchService() {
-    return (IJSchService)tracker.getService();
-  }
-  
-
-  public URL getImageUrl(String relative){
-    return FileLocator.find(Platform.getBundle(ID), new Path(IUIConstants.ICON_PATH + relative), null);
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/KeyboardInteractiveDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/KeyboardInteractiveDialog.java
deleted file mode 100644
index b07b987..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/KeyboardInteractiveDialog.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A dialog for keyboard-interactive authentication for the ssh2 connection.
- */
-public class KeyboardInteractiveDialog extends TrayDialog {
-  // widgets
-  private Text[] texts;
-  protected Image keyLockImage;
-  protected Button allowCachingButton;
-  protected Text usernameField;
-
-  protected String userName;
-  protected String domain;
-  protected String destination;
-  protected String name;
-  protected String instruction;
-  protected String lang;
-  protected String[] prompt;
-  protected boolean[] echo;
-  private String message;
-  private String[] result;
-  protected boolean allowCaching=false;
-  
-  private boolean isPasswordAuth=false;
-
-
-  /**
-   * Creates a new KeyboardInteractiveDialog.
-   *
-   * @param parentShell the parent shell
-   * @param location 
-   * @param destination 
-   * @param name the name
-   * @param userName 
-   * @param instruction the instruction
-   * @param prompt the titles for text fields
-   * @param echo '*' should be used or not
-   */
-  public KeyboardInteractiveDialog(Shell parentShell,
-				   String location,
-				   String destination,
-				   String name,
-				   String userName, 
-				   String instruction,
-				   String[] prompt,
-				   boolean[] echo){
-    super(parentShell);
-    this.domain=location;
-    this.destination=destination;
-    this.name=name;
-    this.userName=userName;
-    this.instruction=instruction;
-    this.prompt=prompt;
-    this.echo=echo;
-    if (name!=null && name.length()>0) {
-    	this.message=NLS.bind(Messages.KeyboardInteractiveDialog_0, new String[] { destination, name });  
-    } else {
-    	this.message=NLS.bind(Messages.KeyboardInteractiveDialog_1, destination); 
-    }
- 
-    if(KeyboardInteractiveDialog.isPasswordAuth(prompt)){
-        isPasswordAuth=true;
-      }
-  }
-  /**
-   * @see Window#configureShell
-   */
-  protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (isPasswordAuth) {
-			newShell.setText(Messages.KeyboardInteractiveDialog_2);
-		} else {
-			newShell.setText(message);
-		}
-
-		// set F1 help
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-				IHelpContextIds.KEYBOARD_INTERACTIVE_DIALOG);
-	}
-  /**
-	 * @see Window#create
-	 */
-  public void create() {
-		super.create();
-
-		if (isPasswordAuth && usernameField != null && userName != null) {
-			usernameField.setText(userName);
-			usernameField.setEditable(false);
-		}
-
-		if (texts.length > 0) {
-			texts[0].setFocus();
-		}
-	}
-  /**
-	 * @see Dialog#createDialogArea
-	 */
-  protected Control createDialogArea(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-
-		top.setLayout(layout);
-		top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Composite imageComposite = new Composite(top, SWT.NONE);
-		layout = new GridLayout();
-		imageComposite.setLayout(layout);
-		imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
-		Composite main = new Composite(top, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		main.setLayout(layout);
-		main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label imageLabel = new Label(imageComposite, SWT.NONE);
-		keyLockImage = ImageDescriptor.createFromURL(JSchUIPlugin.getPlugin().getImageUrl(IUIConstants.IMG_KEY_LOCK)).createImage();
-		imageLabel.setImage(keyLockImage);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL
-				| GridData.GRAB_HORIZONTAL);
-		imageLabel.setLayoutData(data);
-
-		if (message != null) {
-			Label messageLabel = new Label(main, SWT.WRAP);
-			messageLabel.setText(message);
-			data = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			data.widthHint = 300;
-			messageLabel.setLayoutData(data);
-		}
-		
-		if (domain != null) {
-			Label d = new Label(main, SWT.WRAP);
-			d.setText(Messages.KeyboardInteractiveDialog_3);
-			data = new GridData();
-			d.setLayoutData(data);
-			Label label = new Label(main, SWT.WRAP);
-
-			label.setText(domain);
-
-			data = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 2;
-			data.widthHint = 300;
-			label.setLayoutData(data);
-		}
-		
-		if (instruction != null && instruction.length() > 0) {
-			Label label = new Label(main, SWT.WRAP);
-			label.setText(instruction);
-			data = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			data.widthHint = 300;
-			label.setLayoutData(data);
-		}
-		
-		if (isPasswordAuth) {
-			createUsernameFields(main);
-		}
-
-		createPasswordFields(main);
-
-		if (isPasswordAuth & domain != null) {
-			allowCachingButton = new Button(main, SWT.CHECK);
-			allowCachingButton.setText(Messages.KeyboardInteractiveDialog_4);
-			data = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			allowCachingButton.setLayoutData(data);
-			allowCachingButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					allowCaching = allowCachingButton.getSelection();
-				}
-			});
-			Composite warningComposite = new Composite(main, SWT.NONE);
-			layout = new GridLayout();
-			layout.numColumns = 2;
-			layout.marginHeight = 0;
-			layout.marginHeight = 0;
-			warningComposite.setLayout(layout);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 3;
-			warningComposite.setLayoutData(data);
-			Label warningLabel = new Label(warningComposite, SWT.NONE);
-			warningLabel.setImage(getImage(DLG_IMG_MESSAGE_WARNING));
-			warningLabel.setLayoutData(new GridData(
-					GridData.VERTICAL_ALIGN_BEGINNING
-							| GridData.HORIZONTAL_ALIGN_BEGINNING));
-			Label warningText = new Label(warningComposite, SWT.WRAP);
-			warningText.setText(Messages.KeyboardInteractiveDialog_5);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.widthHint = 300;
-			warningText.setLayoutData(data);
-		}
-
-		Dialog.applyDialogFont(parent);
-		return main;
-	}
-  
-  /**
-   * Creates the three widgets that represent the user name entry area.
-   * 
-   * @param parent  the parent of the widgets
-   */
-  protected void createUsernameFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.KeyboardInteractiveDialog_6);
-
-    usernameField=new Text(parent, SWT.BORDER);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.horizontalSpan=2;
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    usernameField.setLayoutData(data);
-  }
-  
-  /**
-	 * Creates the widgets that represent the entry area.
-	 * 
-	 * @param parent
-	 *            the parent of the widgets
-	 */
-  protected void createPasswordFields(Composite parent) {
-	    texts=new Text[prompt.length];
-
-	    for(int i=0; i<prompt.length; i++){
-	      new Label(parent, SWT.NONE).setText(prompt[i]);
-	      texts[i]=new Text(parent, SWT.BORDER|SWT.PASSWORD); 
-	      GridData data=new GridData(GridData.FILL_HORIZONTAL);
-	      data.horizontalSpan=2;
-	      data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-	      texts[i].setLayoutData(data);
-	      if(!echo[i]){
-	        texts[i].setEchoChar('*');
-	      }     
-	    }
-  }
-  /**                                                                                           
-   * Returns the entered values, or null                                          
-   * if the user canceled.                                                                      
-   *                                                                                            
-   * @return the entered values
-   */
-  public String[] getResult() {
-    return result;
-  }
-  
-  /**
-   * Returns <code>true</code> if the save password checkbox was selected.
-   * @return <code>true</code> if the save password checkbox was selected and <code>false</code>
-   * otherwise.
-   */
-  public boolean getAllowCaching(){
-    return allowCaching;
-  }
-  
-  /**                                                                                           
-   * Notifies that the ok button of this dialog has been pressed.                               
-   * <p>                                                                                        
-   * The default implementation of this framework method sets                                   
-   * this dialog's return code to <code>Window.OK</code>                                        
-   * and closes the dialog. Subclasses may override.                                            
-   * </p>                                                                                       
-   */
-  protected void okPressed() {
-    result=new String[prompt.length];
-    for(int i=0; i<texts.length; i++){
-      result[i]=texts[i].getText();
-    }
-    super.okPressed();
-  }
-  /**                                                                                           
-   * Notifies that the cancel button of this dialog has been pressed.                               
-   * <p>                                                                                        
-   * The default implementation of this framework method sets                                   
-   * this dialog's return code to <code>Window.CANCEL</code>                                        
-   * and closes the dialog. Subclasses may override.                                            
-   * </p>                                                                                       
-   */
-  protected void cancelPressed() {
-    result=null;
-    super.cancelPressed();
-  }
-    
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.dialogs.Dialog#close()
-   */
-  public boolean close(){
-    if(keyLockImage!=null){
-      keyLockImage.dispose();
-    }
-    return super.close();
-  }
-  
-  /**
-   * Guesses if this dialog is used for password authentication.
-   * @param prompt prompts for keyboard-interactive authentication method.
-   * @return <code>true</code> if this dialog is used for password authentication.
-   */
-  static boolean isPasswordAuth(String[] prompt) {
-		return prompt != null && prompt.length == 1
-				&& prompt[0].trim().equalsIgnoreCase("password:");  //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
deleted file mode 100644
index b7fe251..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation.
- *     Atsuhiko Yamanaka, JCraft,Inc. - Bug 170883
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS{
-  private static final String BUNDLE_NAME="org.eclipse.jsch.internal.ui.messages";//$NON-NLS-1$
-
-  static{
-    // load message values from bundle file
-    NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-  }
-  
-  public static String CVSSSH2ServerConnection_open;
-  public static String CVSSSH2PreferencePage_18;
-  public static String CVSSSH2PreferencePage_19;
-  public static String CVSSSH2PreferencePage_20;
-  public static String CVSSSH2PreferencePage_21;
-  public static String CVSSSH2PreferencePage_23;
-  public static String CVSSSH2PreferencePage_24;
-  public static String CVSSSH2PreferencePage_25;
-  public static String CVSSSH2PreferencePage_26;
-  public static String CVSSSH2PreferencePage_27;
-  public static String CVSSSH2PreferencePage_30;
-  public static String CVSSSH2PreferencePage_31;
-  public static String CVSSSH2PreferencePage_32;
-  public static String CVSSSH2PreferencePage_33;
-  public static String CVSSSH2PreferencePage_34;
-  public static String CVSSSH2PreferencePage_35;
-  public static String CVSSSH2PreferencePage_36;
-  public static String CVSSSH2PreferencePage_39;
-  public static String CVSSSH2PreferencePage_41;
-  public static String CVSSSH2PreferencePage_42;
-  public static String CVSSSH2PreferencePage_43;
-  public static String CVSSSH2PreferencePage_44;
-  public static String CVSSSH2PreferencePage_45;
-  public static String CVSSSH2PreferencePage_47;
-  public static String CVSSSH2PreferencePage_48;
-  public static String CVSSSH2PreferencePage_49;
-  public static String CVSSSH2PreferencePage_50;
-  public static String CVSSSH2PreferencePage_53;
-  public static String CVSSSH2PreferencePage_55;
-  public static String CVSSSH2PreferencePage_57;
-  public static String CVSSSH2PreferencePage_59;
-  public static String CVSSSH2PreferencePage_99;
-  public static String CVSSSH2PreferencePage_100;
-  public static String CVSSSH2PreferencePage_104;
-  public static String CVSSSH2PreferencePage_105;
-  public static String CVSSSH2PreferencePage_106;
-  public static String CVSSSH2PreferencePage_107;
-  public static String CVSSSH2PreferencePage_108;
-  public static String CVSSSH2PreferencePage_109;
-  public static String CVSSSH2PreferencePage_110;
-  public static String CVSSSH2PreferencePage_111;
-  public static String CVSSSH2ServerConnection_3;
-  public static String CVSSSH2ServerConnection_0;
-  public static String CVSSSH2ServerConnection_1;
-  public static String CVSSSH2PreferencePage_information;
-  public static String CVSSSH2PreferencePage_error;
-  public static String CVSSSH2PreferencePage_confirmation;
-  public static String CVSSSH2PreferencePage_question;
-  public static String CVSSSH2PreferencePage_125;
-  public static String CVSSSH2PreferencePage_126;
-  public static String CVSSSH2PreferencePage_127;
-  public static String CVSSSH2PreferencePage_128;
-  public static String CVSSSH2PreferencePage_129;
-  public static String CVSSSH2PreferencePage_130;
-  public static String CVSSSH2PreferencePage_131;
-  public static String CVSSSH2PreferencePage_132;
-  public static String CVSSSH2PreferencePage_133;
-  public static String CVSSSH2PreferencePage_134;
-  public static String CVSSSH2PreferencePage_135;
-  public static String CVSSSH2PreferencePage_136;
-  public static String CVSSSH2PreferencePage_138;
-  public static String CVSSSH2PreferencePage_139;
-  public static String KeyboardInteractiveDialog_0;
-  public static String KeyboardInteractiveDialog_1;
-  public static String KeyboardInteractiveDialog_2;
-  public static String KeyboardInteractiveDialog_3;
-  public static String KeyboardInteractiveDialog_4;
-  public static String KeyboardInteractiveDialog_5;
-  public static String KeyboardInteractiveDialog_6;
-  public static String PreferencePage_0;
-  public static String PreferencePage_1;
-  public static String UserInfoPrompter_0;
-  public static String UserInfoPrompter_1;
-  public static String UserValidationDialog_0;
-  public static String UserValidationDialog_1;
-  public static String UserValidationDialog_2;
-  public static String UserValidationDialog_3;
-  public static String UserValidationDialog_4;
-  public static String UserValidationDialog_5;
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/UserValidationDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/UserValidationDialog.java
deleted file mode 100644
index 8202d8f..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/UserValidationDialog.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A dialog for prompting for a user name and password
- */
-public class UserValidationDialog extends TrayDialog {
-	// widgets
-	protected Text usernameField;
-	protected Text passwordField;
-	protected Button allowCachingButton;
-
-	protected String domain;
-	protected String defaultUsername;
-	protected String password = null;
-	protected boolean allowCaching = false;
-	protected Image keyLockImage;
-	
-	// whether or not the user name can be changed
-	protected boolean isUsernameMutable = true;
-	protected String username = null;
-	protected String message = null;
-
-	/**
-	 * Creates a new UserValidationDialog.
-	 * 
-	 * @param parentShell  the parent shell
-	 * @param location  the location
-	 * @param defaultName  the default user name
-	 * @param message  a message to display to the user
-	 */
-	public UserValidationDialog(Shell parentShell, String location, String defaultName, String message) {
-		super(parentShell);
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.defaultUsername = defaultName;
-		this.domain = location;
-		this.message = message;
-	}
-	/**
-	 * @see Window#configureShell
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(Messages.UserValidationDialog_0); 
-		// set F1 help
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, IHelpContextIds.USER_VALIDATION_DIALOG);	
-	}
-	/**
-	 * @see Window#create
-	 */
-	public void create() {
-		super.create();
-		// add some default values
-		usernameField.setText(defaultUsername);
-	
-		if (isUsernameMutable) {
-			// give focus to user name field
-			usernameField.selectAll();
-			usernameField.setFocus();
-		} else {
-			usernameField.setEditable(false);
-			passwordField.setFocus();
-		}
-	}
-	
-	/**
-	 * @see Dialog#createDialogArea
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		
-		top.setLayout(layout);
-		top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	
-		Composite imageComposite = new Composite(top, SWT.NONE);
-		layout = new GridLayout();
-		imageComposite.setLayout(layout);
-		imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
-		Composite main = new Composite(top, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		main.setLayout(layout);
-		main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Label imageLabel = new Label(imageComposite, SWT.NONE);
-		keyLockImage = ImageDescriptor.createFromURL(JSchUIPlugin.getPlugin().getImageUrl(IUIConstants.IMG_KEY_LOCK)).createImage();
-		imageLabel.setImage(keyLockImage);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		imageLabel.setLayoutData(data);
-		
-		if (message != null) {
-			Label messageLabel = new Label(main, SWT.WRAP);
-			messageLabel.setText(message);
-			data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			data.widthHint = 300;
-			messageLabel.setLayoutData(data);
-		}
-		if (domain != null) {
-			Label d = new Label(main, SWT.WRAP);
-			d.setText(Messages.UserValidationDialog_1); 
-			data = new GridData();
-			d.setLayoutData(data);
-			Label label = new Label(main, SWT.WRAP);
-			label.setText(domain); 
-			data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 2;
-			data.widthHint = 300;
-			label.setLayoutData(data);
-		}
-		createUsernameFields(main);
-		createPasswordFields(main);
-		
-		if(domain != null) {
-			allowCachingButton = new Button(main, SWT.CHECK);
-			allowCachingButton.setText(Messages.UserValidationDialog_2); 
-			data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			allowCachingButton.setLayoutData(data);
-			allowCachingButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					allowCaching = allowCachingButton.getSelection();
-				}
-			});
-			Composite warningComposite = new Composite(main, SWT.NONE);
-			layout = new GridLayout();
-			layout.numColumns = 2;
-			layout.marginHeight = 0;
-			layout.marginHeight = 0;
-			warningComposite.setLayout(layout);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 3;
-			warningComposite.setLayoutData(data);
-			Label warningLabel = new Label(warningComposite, SWT.NONE);
-			warningLabel.setImage(getImage(DLG_IMG_MESSAGE_WARNING));
-			warningLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING));
-			Label warningText = new Label(warningComposite, SWT.WRAP);
-			warningText.setText(Messages.UserValidationDialog_3); 
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.widthHint = 300;
-			warningText.setLayoutData(data);
-		}
-		
-        Dialog.applyDialogFont(parent);
-        
-		return main;
-	}
-	
-	/**
-	 * Creates the three widgets that represent the password entry area.
-	 * 
-	 * @param parent  the parent of the widgets
-	 */
-	protected void createPasswordFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_4); 
-		
-		passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		passwordField.setLayoutData(data);
-	}
-	/**
-	 * Creates the three widgets that represent the user name entry area.
-	 * 
-	 * @param parent  the parent of the widgets
-	 */
-	protected void createUsernameFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_5); 
-		
-		usernameField = new Text(parent, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		usernameField.setLayoutData(data);
-	}
-	
-	/**
-	 * Returns the password entered by the user, or null
-	 * if the user canceled.
-	 * 
-	 * @return the entered password
-	 */
-	public String getPassword() {
-		return password;
-	}
-	
-	/**
-	 * Returns the user name entered by the user, or null
-	 * if the user canceled.
-	 * 
-	 * @return the entered user name
-	 */
-	public String getUsername() {
-		return username;
-	}
-	
-	/**
-	 * Returns <code>true</code> if the save password checkbox was selected.
-	 * @return <code>true</code> if the save password checkbox was selected and <code>false</code>
-	 * otherwise.
-	 */
-	public boolean getAllowCaching() {
-		return allowCaching;
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 * <p>
-	 * The default implementation of this framework method sets
-	 * this dialog's return code to <code>Window.OK</code>
-	 * and closes the dialog. Subclasses may override.
-	 * </p>
-	 */
-	protected void okPressed() {
-		password = passwordField.getText();
-		username = usernameField.getText();
-	
-		super.okPressed();
-	}
-	
-	protected void cancelPressed(){
-	  password = null;
-	  username = null;
-	  super.cancelPressed();
-	}
-	
-	/**
-	 * Sets whether or not the user name field should be mutable.
-	 * This method must be called before create(), otherwise it
-	 * will be ignored.
-	 * 
-	 * @param value  whether the user name is mutable
-	 */
-	public void setUsernameMutable(boolean value) {
-		isUsernameMutable = value;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#close()
-	 */
-	public boolean close() {
-		if(keyLockImage != null) {
-			keyLockImage.dispose();
-		}
-		return super.close();
-	}
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
deleted file mode 100644
index a240f9a..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Maik Schreiber - bug 102461
-#     Philippe Ombredanne - bug 84808
-###############################################################################
-
-CVSSSH2ServerConnection_open=Connecting via SSH to {0}...
-CVSSSH2PreferencePage_18=Configuration options for SSH2:
-CVSSSH2PreferencePage_19=&General
-CVSSSH2PreferencePage_20=&Proxy
-CVSSSH2PreferencePage_21=&Key Management
-CVSSSH2PreferencePage_23=SSH2 &home:
-CVSSSH2PreferencePage_24=&Browse...
-CVSSSH2PreferencePage_25=P&rivate keys:
-CVSSSH2PreferencePage_26=Add Pr&ivate Key...
-CVSSSH2PreferencePage_27=SSH Home:
-CVSSSH2PreferencePage_30=&Enable proxy connection
-CVSSSH2PreferencePage_31=Proxy &type:
-CVSSSH2PreferencePage_32=Proxy host add&ress:
-CVSSSH2PreferencePage_33=Proxy host p&ort:
-CVSSSH2PreferencePage_34=E&nable proxy authentication
-CVSSSH2PreferencePage_35=Proxy &user name:
-CVSSSH2PreferencePage_36=Proxy pa&ssword:
-CVSSSH2PreferencePage_39=&You can paste this public key into the remote authorized_keys file:
-CVSSSH2PreferencePage_41=&Fingerprint:
-CVSSSH2PreferencePage_42=&Comment:
-CVSSSH2PreferencePage_43=Passp&hrase:
-CVSSSH2PreferencePage_44=C&onfirm passphrase:
-CVSSSH2PreferencePage_45=&Save Private Key...
-CVSSSH2PreferencePage_47=The key was not generated.
-CVSSSH2PreferencePage_48=The passphrases entered do not match.
-CVSSSH2PreferencePage_49=Are you sure you want to save this private key without passphrase protection?
-CVSSSH2PreferencePage_50={0} does not exist.\nAre you sure you want to create it?
-CVSSSH2PreferencePage_53={0} has already existed.\nAre you sure you want to over write it?
-CVSSSH2PreferencePage_55=Successfully saved.
-CVSSSH2PreferencePage_57=Private key:
-CVSSSH2PreferencePage_59=Public key:
-CVSSSH2PreferencePage_99={0} does not exist.\nAre you sure you want to create it?
-CVSSSH2PreferencePage_100=Failed to create
-CVSSSH2PreferencePage_104=Proxy host port must be a number between 0 and 65535.
-CVSSSH2PreferencePage_105=E&xport Via SFTP...
-CVSSSH2PreferencePage_106=Export SSH Key to Remote Server Via SFTP
-CVSSSH2PreferencePage_107=Specify a target site (in user@host[:port] format) where your public key should be installed.\nYour key will be stored in user@host[:port]:~/.ssh/authorized_keys
-CVSSSH2PreferencePage_108={0} is not valid site.
-CVSSSH2PreferencePage_109=Your public key has been successfully installed to {0}
-CVSSSH2PreferencePage_110=Remote sshd is not from OpenSSH.
-CVSSSH2PreferencePage_111=Failed to export ssh key to remote server.
-CVSSSH2ServerConnection_3=session is down
-CVSSSH2ServerConnection_0=An undetermined authentication failure has occurred
-CVSSSH2ServerConnection_1=No route to host {0} could be found
-CVSSSH2PreferencePage_information=Information
-CVSSSH2PreferencePage_error=Error
-CVSSSH2PreferencePage_confirmation=Confirmation
-CVSSSH2PreferencePage_question=Question
-CVSSSH2PreferencePage_125=Target site:
-CVSSSH2PreferencePage_126=Enter passphrase for {0}
-CVSSSH2PreferencePage_127=Passphrase:
-CVSSSH2PreferencePage_128=&Load Existing Key...
-CVSSSH2PreferencePage_129=failed to decrypt {0}
-CVSSSH2PreferencePage_130=failed to load given file.
-CVSSSH2PreferencePage_131=G&enerate DSA Key...
-CVSSSH2PreferencePage_132=Ge&nerate RSA Key...
-CVSSSH2PreferencePage_133=Kno&wn Hosts
-CVSSSH2PreferencePage_134=Hostname
-CVSSSH2PreferencePage_135=Type
-CVSSSH2PreferencePage_136=Fingerprint
-CVSSSH2PreferencePage_138=&Remove
-CVSSSH2PreferencePage_139=Keys of known hosts:
-UserInfoPrompter_0=SSH2 Message
-UserInfoPrompter_1=SSH2 Message
-KeyboardInteractiveDialog_0=Keyboard Interactive authentication for {0}: {1}
-KeyboardInteractiveDialog_1=Keyboard Interactive authentication for {0}
-KeyboardInteractiveDialog_2=Password Required
-KeyboardInteractiveDialog_3=Domain:
-KeyboardInteractiveDialog_4=&Save password
-KeyboardInteractiveDialog_5=Saved passwords are stored on your computer in a file that is difficult, but not impossible, for an intruder to read.
-KeyboardInteractiveDialog_6=&User name:
-UserValidationDialog_0=Password Required
-UserValidationDialog_1=Domain:
-UserValidationDialog_2=&Save password
-UserValidationDialog_3=Saved passwords are stored on your computer in a file that is difficult, but not impossible, for an intruder to read.
-UserValidationDialog_4=&Password:
-UserValidationDialog_5=&User name:
-PreferencePage_0=SSH2 Service not available
-PreferencePage_1=The SSH2 service is not available.
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/ExportDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/ExportDialog.java
deleted file mode 100644
index 8efecef..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/ExportDialog.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *     Sebastian Davids (sdavids@gmx.de) - Bug 54599 [SSH2] Export SSH Key ... Dialog does not standard margins
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jsch.internal.ui.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-class ExportDialog extends Dialog{
-  protected Text field;
-  protected String target=null;
-  protected String title=null;
-  protected String message=null;
-
-  public ExportDialog(Shell parentShell, String title, String message){
-    super(parentShell);
-    this.title=title;
-    this.message=message;
-  }
-
-  protected void configureShell(Shell newShell){
-    super.configureShell(newShell);
-    newShell.setText(title);
-  }
-
-  public void create(){
-    super.create();
-    field.setFocus();
-  }
-
-  protected Control createDialogArea(Composite parent){
-    initializeDialogUnits(parent);
-    Composite main=new Composite(parent, SWT.NONE);
-    GridLayout layout=new GridLayout();
-    layout.numColumns=2;
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    main.setLayout(layout);
-    main.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    if(message!=null){
-      Label messageLabel=new Label(main, SWT.WRAP);
-      messageLabel.setText(message);
-      GridData data=new GridData(GridData.FILL_HORIZONTAL);
-      data.horizontalSpan=2;
-      messageLabel.setLayoutData(data);
-    }
-
-    createTargetFields(main);
-    Dialog.applyDialogFont(main);
-    return main;
-  }
-
-  protected void createTargetFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.CVSSSH2PreferencePage_125);
-
-    field=new Text(parent, SWT.BORDER);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    field.setLayoutData(data);
-  }
-
-  public String getTarget(){
-    return target;
-  }
-
-  protected void okPressed(){
-    String _target=field.getText();
-    if(_target==null||_target.length()==0){
-      return;
-    }
-    target=_target;
-    super.okPressed();
-  }
-
-  protected void cancelPressed(){
-    target=null;
-    super.cancelPressed();
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PassphraseDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PassphraseDialog.java
deleted file mode 100644
index 051f312..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PassphraseDialog.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jsch.internal.ui.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-
-class PassphraseDialog extends Dialog{
-  protected Text passphraseField;
-  protected String passphrase=null;
-  protected String message=null;
-
-  public PassphraseDialog(Shell parentShell, String message){
-    super(parentShell);
-    this.message=message;
-  }
-
-  protected void configureShell(Shell newShell){
-    super.configureShell(newShell);
-    newShell.setText(message);
-  }
-
-  public void create(){
-    super.create();
-    passphraseField.setFocus();
-  }
-
-  protected Control createDialogArea(Composite parent){
-    initializeDialogUnits(parent);
-    Composite main=new Composite(parent, SWT.NONE);
-
-    GridLayout layout=new GridLayout();
-    layout.numColumns=3;
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    main.setLayout(layout);
-    main.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    if(message!=null){
-      Label messageLabel=new Label(main, SWT.WRAP);
-      messageLabel.setText(message);
-      GridData data=new GridData(GridData.FILL_HORIZONTAL);
-      data.horizontalSpan=3;
-      messageLabel.setLayoutData(data);
-    }
-
-    createPassphraseFields(main);
-    Dialog.applyDialogFont(main);
-    return main;
-  }
-
-  protected void createPassphraseFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.CVSSSH2PreferencePage_127);
-    passphraseField=new Text(parent, SWT.BORDER);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    passphraseField.setLayoutData(data);
-    passphraseField.setEchoChar('*');
-
-    new Label(parent, SWT.NONE);
-  }
-
-  public String getPassphrase(){
-    return passphrase;
-  }
-
-  protected void okPressed(){
-    String _passphrase=passphraseField.getText();
-    if(_passphrase==null||_passphrase.length()==0){
-      return;
-    }
-    passphrase=_passphrase;
-    super.okPressed();
-  }
-
-  protected void cancelPressed(){
-    passphrase=null;
-    super.cancelPressed();
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PixelConverter.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PixelConverter.java
deleted file mode 100644
index 039c12e..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PixelConverter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation.
- *     Atsuhiko Yamanaka, JCraft,Inc. - Bug 170883
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Control;
-
-public class PixelConverter {
-	
-	private final FontMetrics fFontMetrics;
-	
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-        try {
-            gc.setFont(control.getFont());
-            fFontMetrics= gc.getFontMetrics();
-        } finally {
-            gc.dispose();
-        }
-	}
-	
-	public int convertHeightInCharsToPixels(int chars) {
-		return Dialog.convertHeightInCharsToPixels(fFontMetrics, chars);
-	}
-
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		return Dialog.convertHorizontalDLUsToPixels(fFontMetrics, dlus);
-	}
-
-	public int convertVerticalDLUsToPixels(int dlus) {
-		return Dialog.convertVerticalDLUsToPixels(fFontMetrics, dlus);
-	}
-	
-	public int convertWidthInCharsToPixels(int chars) {
-		return Dialog.convertWidthInCharsToPixels(fFontMetrics, chars);
-	}
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
deleted file mode 100644
index a7e2786..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
+++ /dev/null
@@ -1,1063 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import java.io.*;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.jsch.internal.core.*;
-import org.eclipse.jsch.internal.ui.JSchUIPlugin;
-import org.eclipse.jsch.internal.ui.Messages;
-import org.eclipse.jsch.ui.UserInfoPrompter;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-
-import com.jcraft.jsch.*;
-
-public class PreferencePage extends org.eclipse.jface.preference.PreferencePage
-    implements IWorkbenchPreferencePage{
-
-  private static final String SSH2_PREFERENCE_PAGE_CONTEXT="org.eclipse.jsch.ui.ssh2_preference_page_context"; //$NON-NLS-1$
-
-  private Label ssh2HomeLabel;
-  private Label privateKeyLabel;
-  Text ssh2HomeText;
-  Text privateKeyText;
-  private Button privateKeyAdd;
-
-  private Button ssh2HomeBrowse;
-  Button keyGenerateDSA;
-  Button keyGenerateRSA;
-  private Button keyLoad;
-  private Button keyExport;
-  Button saveKeyPair;
-  private Label keyCommentLabel;
-  Text keyCommentText;
-  private Label keyFingerPrintLabel;
-  Text keyFingerPrintText;
-  private Label keyPassphrase1Label;
-  Text keyPassphrase1Text;
-  private Label keyPassphrase2Label;
-  Text keyPassphrase2Text;
-  private Label publicKeylabel;
-  Text publicKeyText;
-  KeyPair kpair=null;
-  String kpairComment;
-
-  public static final String AUTH_SCHEME="";//$NON-NLS-1$ 
-
-  public PreferencePage(){
-    setDescription(Messages.CVSSSH2PreferencePage_18);
-  }
-
-  protected Control createContents(Composite parent){
-    Composite container=new Composite(parent, SWT.NULL);
-    GridLayout layout=new GridLayout();
-    container.setLayout(layout);
-    initializeDialogUnits(container);
-
-    TabFolder tabFolder=new TabFolder(container, SWT.NONE);
-    tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    TabItem tabItem=new TabItem(tabFolder, SWT.NONE);
-    tabItem.setText(Messages.CVSSSH2PreferencePage_19);
-    tabItem.setControl(createGeneralPage(tabFolder));
-
-    tabItem=new TabItem(tabFolder, SWT.NONE);
-    tabItem.setText(Messages.CVSSSH2PreferencePage_21);
-    tabItem.setControl(createKeyManagementPage(tabFolder));
-
-    tabItem=new TabItem(tabFolder, SWT.NONE);
-    tabItem.setText(Messages.CVSSSH2PreferencePage_133);
-    tabItem.setControl(createHostKeyManagementPage(tabFolder));
-
-    initControls();
-
-    Dialog.applyDialogFont(parent);
-    PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-        SSH2_PREFERENCE_PAGE_CONTEXT);
-    return container;
-  }
-
-  private Control createGeneralPage(Composite parent){
-    Composite group=new Composite(parent, SWT.NULL);
-    GridLayout layout=new GridLayout();
-    layout.numColumns=3;
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    group.setLayout(layout);
-    GridData data=new GridData();
-    data.horizontalAlignment=GridData.FILL;
-    group.setLayoutData(data);
-
-    ssh2HomeLabel=new Label(group, SWT.NONE);
-    ssh2HomeLabel.setText(Messages.CVSSSH2PreferencePage_23);
-
-    ssh2HomeText=new Text(group, SWT.SINGLE|SWT.BORDER);
-    ssh2HomeText.setFont(group.getFont());
-    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=1;
-    ssh2HomeText.setLayoutData(gd);
-
-    ssh2HomeBrowse=new Button(group, SWT.NULL);
-    ssh2HomeBrowse.setText(Messages.CVSSSH2PreferencePage_24);
-    gd=new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.horizontalSpan=1;
-    ssh2HomeBrowse.setLayoutData(gd);
-
-    createSpacer(group, 3);
-
-    privateKeyLabel=new Label(group, SWT.NONE);
-    privateKeyLabel.setText(Messages.CVSSSH2PreferencePage_25);
-
-    privateKeyText=new Text(group, SWT.SINGLE|SWT.BORDER);
-    privateKeyText.setFont(group.getFont());
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=1;
-    privateKeyText.setLayoutData(gd);
-
-    privateKeyAdd=new Button(group, SWT.NULL);
-    privateKeyAdd.setText(Messages.CVSSSH2PreferencePage_26);
-    gd=new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.horizontalSpan=1;
-    privateKeyAdd.setLayoutData(gd);
-
-    ssh2HomeBrowse.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        String home=ssh2HomeText.getText();
-
-        if(!new File(home).exists()){
-          while(true){
-            int foo=home.lastIndexOf(java.io.File.separator, home.length());
-            if(foo==-1)
-              break;
-            home=home.substring(0, foo);
-            if(new File(home).exists())
-              break;
-          }
-        }
-
-        DirectoryDialog dd=new DirectoryDialog(getShell());
-        dd.setFilterPath(home);
-        dd.setMessage(Messages.CVSSSH2PreferencePage_27);
-        String dir=dd.open();
-        if(dir==null){ // cancel
-          return;
-        }
-        ssh2HomeText.setText(dir);
-      }
-    });
-
-    privateKeyAdd.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        String home=ssh2HomeText.getText();
-
-        FileDialog fd=new FileDialog(getShell(), SWT.OPEN|SWT.MULTI);
-        fd.setFilterPath(home);
-        Object o=fd.open();
-        if(o==null){ // cancel
-          return;
-        }
-        String[] files=fd.getFileNames();
-        String keys=privateKeyText.getText();
-        String dir=fd.getFilterPath();
-        if(dir.equals(home)){
-          dir="";} //$NON-NLS-1$
-        else{
-          dir+=java.io.File.separator;
-        }
-
-        for(int i=0; i<files.length; i++){
-          String foo=files[i];
-          if(keys.length()!=0)
-            keys=keys+","; //$NON-NLS-1$
-          keys=keys+dir+foo;
-        }
-        privateKeyText.setText(keys);
-      }
-    });
-
-    return group;
-  }
-
-  private Control createKeyManagementPage(Composite parent){
-    int columnSpan=3;
-    Composite group=new Composite(parent, SWT.NULL);
-    GridLayout layout=new GridLayout();
-    layout.numColumns=3;
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    group.setLayout(layout);
-    GridData gd=new GridData();
-    gd.horizontalAlignment=GridData.FILL;
-    group.setLayoutData(gd);
-
-    keyGenerateDSA=new Button(group, SWT.NULL);
-    keyGenerateDSA.setText(Messages.CVSSSH2PreferencePage_131);
-    gd=new GridData();
-    gd.horizontalSpan=1;
-    keyGenerateDSA.setLayoutData(gd);
-
-    keyGenerateRSA=new Button(group, SWT.NULL);
-    keyGenerateRSA.setText(Messages.CVSSSH2PreferencePage_132);
-    gd=new GridData();
-    gd.horizontalSpan=1;
-    keyGenerateRSA.setLayoutData(gd);
-
-    keyLoad=new Button(group, SWT.NULL);
-    keyLoad.setText(Messages.CVSSSH2PreferencePage_128);
-    gd=new GridData();
-    gd.horizontalSpan=1;
-    keyLoad.setLayoutData(gd);
-
-    publicKeylabel=new Label(group, SWT.NONE);
-    publicKeylabel.setText(Messages.CVSSSH2PreferencePage_39);
-    gd=new GridData();
-    gd.horizontalSpan=columnSpan;
-    publicKeylabel.setLayoutData(gd);
-
-    publicKeyText=new Text(group, SWT.MULTI|SWT.BORDER|SWT.V_SCROLL|SWT.WRAP|SWT.LEFT_TO_RIGHT);
-    publicKeyText.setText(""); //$NON-NLS-1$
-    publicKeyText.setEditable(false);
-    gd=new GridData();
-    gd.horizontalSpan=columnSpan;
-    gd.horizontalAlignment=GridData.FILL;
-    gd.verticalAlignment=GridData.FILL;
-    gd.grabExcessHorizontalSpace=true;
-    gd.grabExcessVerticalSpace=true;
-    publicKeyText.setLayoutData(gd);
-
-    keyFingerPrintLabel=new Label(group, SWT.NONE);
-    keyFingerPrintLabel.setText(Messages.CVSSSH2PreferencePage_41);
-    keyFingerPrintText=new Text(group, SWT.SINGLE|SWT.BORDER|SWT.LEFT_TO_RIGHT);
-    keyFingerPrintText.setFont(group.getFont());
-    keyFingerPrintText.setEditable(false);
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=2;
-    keyFingerPrintText.setLayoutData(gd);
-
-    keyCommentLabel=new Label(group, SWT.NONE);
-    keyCommentLabel.setText(Messages.CVSSSH2PreferencePage_42);
-    keyCommentText=new Text(group, SWT.SINGLE|SWT.BORDER);
-    keyCommentText.setFont(group.getFont());
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=2;
-    keyCommentText.setLayoutData(gd);
-
-    keyCommentText.addModifyListener(new ModifyListener(){
-      public void modifyText(ModifyEvent e){
-        if(kpair==null)
-          return;
-        try{
-          ByteArrayOutputStream out=new ByteArrayOutputStream();
-          kpair.writePublicKey(out, keyCommentText.getText());
-          out.close();
-          publicKeyText.setText(out.toString());
-        }
-        catch(IOException ee){
-          // Ignore
-        }
-      }
-    });
-
-    keyPassphrase1Label=new Label(group, SWT.NONE);
-    keyPassphrase1Label.setText(Messages.CVSSSH2PreferencePage_43);
-    keyPassphrase1Text=new Text(group, SWT.SINGLE|SWT.BORDER);
-    keyPassphrase1Text.setFont(group.getFont());
-    keyPassphrase1Text.setEchoChar('*');
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=2;
-    keyPassphrase1Text.setLayoutData(gd);
-
-    keyPassphrase2Label=new Label(group, SWT.NONE);
-    keyPassphrase2Label.setText(Messages.CVSSSH2PreferencePage_44);
-    keyPassphrase2Text=new Text(group, SWT.SINGLE|SWT.BORDER);
-    keyPassphrase2Text.setFont(group.getFont());
-    keyPassphrase2Text.setEchoChar('*');
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=2;
-    keyPassphrase2Text.setLayoutData(gd);
-
-    keyPassphrase1Text.addModifyListener(new ModifyListener(){
-      public void modifyText(ModifyEvent e){
-        String pass1=keyPassphrase1Text.getText();
-        String pass2=keyPassphrase2Text.getText();
-        if(kpair!=null&&pass1.equals(pass2)){
-          saveKeyPair.setEnabled(true);
-        }
-        else{
-          saveKeyPair.setEnabled(false);
-        }
-        if(pass2.length()==0){
-          setErrorMessage(null);
-          return;
-        }
-        if(pass1.equals(pass2)){
-          setErrorMessage(null);
-        }
-        else{
-          setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-        }
-      }
-    });
-
-    keyPassphrase2Text.addModifyListener(new ModifyListener(){
-      public void modifyText(ModifyEvent e){
-        String pass1=keyPassphrase1Text.getText();
-        String pass2=keyPassphrase2Text.getText();
-        if(kpair!=null&&pass1.equals(pass2)){
-          saveKeyPair.setEnabled(true);
-        }
-        else{
-          saveKeyPair.setEnabled(false);
-        }
-        if(pass2.length()<pass1.length()){
-          if(pass1.startsWith(pass2)){
-            setErrorMessage(null);
-          }
-          else{
-            setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-          }
-          return;
-        }
-        if(pass1.equals(pass2)){
-          setErrorMessage(null);
-        }
-        else{
-          setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-        }
-      }
-    });
-
-    keyPassphrase2Text.addFocusListener(new FocusListener(){
-      public void focusGained(FocusEvent e){
-        String pass1=keyPassphrase1Text.getText();
-        String pass2=keyPassphrase2Text.getText();
-        if(pass2.length()<pass1.length()){
-          if(pass1.startsWith(pass2)){
-            setErrorMessage(null);
-          }
-          else{
-            setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-          }
-          return;
-        }
-        if(pass1.equals(pass2)){
-          setErrorMessage(null);
-        }
-        else{
-          setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-        }
-      }
-
-      public void focusLost(FocusEvent e){
-        String pass1=keyPassphrase1Text.getText();
-        String pass2=keyPassphrase2Text.getText();
-        if(pass1.equals(pass2)){
-          setErrorMessage(null);
-        }
-        else{
-          setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-        }
-      }
-    });
-
-    Composite buttons=new Composite(group, SWT.NONE);
-    layout=new GridLayout(2, true);
-    layout.marginWidth=0;
-    layout.marginHeight=0;
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    buttons.setLayout(layout);
-    gd=new GridData(GridData.HORIZONTAL_ALIGN_END);
-    gd.horizontalSpan=columnSpan;
-    buttons.setLayoutData(gd);
-
-    keyExport=new Button(buttons, SWT.NULL);
-    keyExport.setText(Messages.CVSSSH2PreferencePage_105);
-    gd=new GridData(GridData.FILL_BOTH);
-    keyExport.setLayoutData(gd);
-
-    saveKeyPair=new Button(buttons, SWT.NULL);
-    saveKeyPair.setText(Messages.CVSSSH2PreferencePage_45);
-    gd=new GridData(GridData.FILL_BOTH);
-    saveKeyPair.setLayoutData(gd);
-
-    SelectionAdapter keygenadapter=new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        boolean ok=true;
-        String _type=""; //$NON-NLS-1$
-
-        try{
-          int type=0;
-          if(e.widget==keyGenerateDSA){
-            type=KeyPair.DSA;
-            _type=IConstants.DSA;
-          }
-          else if(e.widget==keyGenerateRSA){
-            type=KeyPair.RSA;
-            _type=IConstants.RSA;
-          }
-          else{
-            return;
-          }
-
-          final KeyPair[] _kpair=new KeyPair[1];
-          final int __type=type;
-          final JSchException[] _e=new JSchException[1];
-          BusyIndicator.showWhile(getShell().getDisplay(), new Runnable(){
-            public void run(){
-              try{
-                _kpair[0]=KeyPair.genKeyPair(getJSch(), __type);
-              }
-              catch(JSchException e){
-                _e[0]=e;
-              }
-            }
-          });
-          if(_e[0]!=null){
-            throw _e[0];
-          }
-          kpair=_kpair[0];
-
-          ByteArrayOutputStream out=new ByteArrayOutputStream();
-          kpairComment=_type+"-1024"; //$NON-NLS-1$
-          kpair.writePublicKey(out, kpairComment);
-          out.close();
-          publicKeyText.setText(out.toString());
-          keyFingerPrintText.setText(kpair.getFingerPrint());
-          keyCommentText.setText(kpairComment);
-          keyPassphrase1Text.setText(""); //$NON-NLS-1$
-          keyPassphrase2Text.setText(""); //$NON-NLS-1$
-          updateControls();
-        }
-        catch(IOException ee){
-          ok=false;
-        }
-        catch(JSchException ee){
-          ok=false;
-        }
-        if(!ok){
-          MessageDialog.openError(getShell(),
-              Messages.CVSSSH2PreferencePage_error,
-              Messages.CVSSSH2PreferencePage_47);
-        }
-      }
-    };
-    keyGenerateDSA.addSelectionListener(keygenadapter);
-    keyGenerateRSA.addSelectionListener(keygenadapter);
-
-    keyLoad.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        boolean ok=true;
-        String home=ssh2HomeText.getText();
-        FileDialog fd=new FileDialog(getShell(), SWT.OPEN);
-        fd.setFilterPath(home);
-        Object o=fd.open();
-        if(o==null){ // cancel
-          return;
-        }
-        String pkey=fd.getFileName();
-        String pkeyab=(new File(fd.getFilterPath(), pkey)).getAbsolutePath();
-        try{
-          KeyPair _kpair=KeyPair.load(getJSch(), pkeyab);
-          PassphrasePrompt prompt=null;
-          while(_kpair.isEncrypted()){
-            if(prompt==null){
-              prompt=new PassphrasePrompt(NLS.bind(
-                  Messages.CVSSSH2PreferencePage_126, new String[] {pkey}));
-            }
-            Display.getDefault().syncExec(prompt);
-            String passphrase=prompt.getPassphrase();
-            if(passphrase==null)
-              break;
-            if(_kpair.decrypt(passphrase)){
-              break;
-            }
-            MessageDialog.openError(getShell(),
-                Messages.CVSSSH2PreferencePage_error, NLS.bind(
-                    Messages.CVSSSH2PreferencePage_129, new String[] {pkey}));
-          }
-          if(_kpair.isEncrypted()){
-            return;
-          }
-          kpair=_kpair;
-          String _type=(kpair.getKeyType()==KeyPair.DSA) ? IConstants.DSA
-              : IConstants.RSA;
-          ByteArrayOutputStream out=new ByteArrayOutputStream();
-          kpairComment=_type+"-1024"; //$NON-NLS-1$
-          kpair.writePublicKey(out, kpairComment);
-          out.close();
-          publicKeyText.setText(out.toString());
-          keyFingerPrintText.setText(kpair.getFingerPrint());
-          keyCommentText.setText(kpairComment);
-          keyPassphrase1Text.setText(""); //$NON-NLS-1$
-          keyPassphrase2Text.setText(""); //$NON-NLS-1$
-          updateControls();
-        }
-        catch(IOException ee){
-          ok=false;
-        }
-        catch(JSchException ee){
-          ok=false;
-        }
-        if(!ok){
-          MessageDialog.openError(getShell(),
-              Messages.CVSSSH2PreferencePage_error,
-              Messages.CVSSSH2PreferencePage_130);
-        }
-      }
-    });
-
-    keyExport.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        if(kpair==null)
-          return;
-
-        setErrorMessage(null);
-
-        final String[] target=new String[1];
-        final String title=Messages.CVSSSH2PreferencePage_106;
-        final String message=Messages.CVSSSH2PreferencePage_107;
-        Display.getDefault().syncExec(new Runnable(){
-          public void run(){
-            Display display=Display.getCurrent();
-            Shell shell=new Shell(display);
-            ExportDialog dialog=new ExportDialog(shell, title, message);
-            dialog.open();
-            shell.dispose();
-            target[0]=dialog.getTarget();
-          }
-        });
-        if(target[0]==null){
-          return;
-        }
-        String user=""; //$NON-NLS-1$
-        String host=""; //$NON-NLS-1$
-        int port=22;
-
-        if(target[0].indexOf('@')>0){
-          user=target[0].substring(0, target[0].indexOf('@'));
-          host=target[0].substring(target[0].indexOf('@')+1);
-        }
-        if(host.indexOf(':')>0){
-          try{
-            port=Integer.parseInt(host.substring(host.indexOf(':')+1));
-          }
-          catch(NumberFormatException ee){
-            port=-1;
-          }
-          host=host.substring(0, host.indexOf(':'));
-        }
-
-        if(user.length()==0||host.length()==0||port==-1){
-          setErrorMessage(NLS.bind(Messages.CVSSSH2PreferencePage_108,
-              new String[] {target[0]}));
-          return;
-        }
-
-        String options=""; //$NON-NLS-1$
-        try{
-          ByteArrayOutputStream bos=new ByteArrayOutputStream();
-          if(options.length()!=0){
-            try{
-              bos.write((options+" ").getBytes());} //$NON-NLS-1$
-            catch(IOException eeee){
-              // Ignore
-            }
-          }
-          kpair.writePublicKey(bos, kpairComment);
-          bos.close();
-          export_via_sftp(user, host, port, /* ".ssh/authorized_keys", //$NON-NLS-1$ */
-              bos.toByteArray());
-        }
-        catch(IOException ee){
-       // Ignore
-        }
-        catch(JSchException ee){
-          setErrorMessage(Messages.CVSSSH2PreferencePage_111);
-        }
-      }
-    });
-
-    saveKeyPair.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        if(kpair==null)
-          return;
-
-        String pass=keyPassphrase1Text.getText();
-        /*
-         * if(!pass.equals(keyPassphrase2Text.getText())){
-         * setErrorMessage(Policy.bind("CVSSSH2PreferencePage.48"));
-         * //$NON-NLS-1$ return; }
-         */
-        if(pass.length()==0){
-          if(!MessageDialog.openConfirm(getShell(),
-              Messages.CVSSSH2PreferencePage_confirmation,
-              Messages.CVSSSH2PreferencePage_49)){
-            return;
-          }
-        }
-
-        kpair.setPassphrase(pass);
-
-        String home=ssh2HomeText.getText();
-
-        File _home=new File(home);
-
-        if(!_home.exists()){
-          if(!MessageDialog.openConfirm(getShell(),
-              Messages.CVSSSH2PreferencePage_confirmation, NLS.bind(
-                  Messages.CVSSSH2PreferencePage_50, new String[] {home}))){
-            return;
-          }
-          if(!_home.mkdirs()){
-            setErrorMessage(Messages.CVSSSH2PreferencePage_100+home);
-            return;
-          }
-        }
-
-        FileDialog fd=new FileDialog(getShell(), SWT.SAVE);
-        fd.setFilterPath(home);
-        String file=(kpair.getKeyType()==KeyPair.RSA) ? "id_rsa" : "id_dsa"; //$NON-NLS-1$ //$NON-NLS-2$
-        fd.setFileName(file);
-        file=fd.open();
-        if(file==null){ // cancel
-          return;
-        }
-
-        if(new File(file).exists()){
-          if(!MessageDialog.openConfirm(getShell(),
-              Messages.CVSSSH2PreferencePage_confirmation, // 
-              NLS.bind(Messages.CVSSSH2PreferencePage_53, new String[] {file}))){
-            return;
-          }
-        }
-
-        boolean ok=true;
-        try{
-          kpair.writePrivateKey(file);
-          kpair.writePublicKey(file+".pub", kpairComment); //$NON-NLS-1$
-        }
-        catch(Exception ee){
-          ok=false;
-        }
-
-        if(ok){
-          MessageDialog.openInformation(getShell(),
-              Messages.CVSSSH2PreferencePage_information,
-              Messages.CVSSSH2PreferencePage_55+"\n"+ //$NON-NLS-1$
-                  Messages.CVSSSH2PreferencePage_57+file+"\n"+ //$NON-NLS-1$
-                  Messages.CVSSSH2PreferencePage_59+file+".pub"); //$NON-NLS-1$
-        }
-        else{
-          return;
-        }
-
-        // The generated key should be added to privateKeyText.
-
-        String dir=fd.getFilterPath();
-        File mypkey=new java.io.File(dir, fd.getFileName());
-        String pkeys=privateKeyText.getText();
-
-        // Check if the generated key has been included in pkeys?
-        String[] pkeysa=pkeys.split(","); //$NON-NLS-1$
-        for(int i=0; i<pkeysa.length; i++){
-          File pkey=new java.io.File(pkeysa[i]);
-          if(!pkey.isAbsolute()){
-            pkey=new java.io.File(home, pkeysa[i]);
-          }
-          if(pkey.equals(mypkey))
-            return;
-        }
-
-        if(dir.equals(home)){
-          dir="";} //$NON-NLS-1$
-        else{
-          dir+=java.io.File.separator;
-        }
-        if(pkeys.length()>0)
-          pkeys+=","; //$NON-NLS-1$
-        pkeys=pkeys+dir+fd.getFileName();
-        privateKeyText.setText(pkeys);
-      }
-    });
-
-    return group;
-  }
-
-  private TableViewer viewer;
-  private Button removeHostKeyButton;
-
-  class TableLabelProvider extends LabelProvider implements ITableLabelProvider{
-    public String getColumnText(Object element, int columnIndex){
-      HostKey entry=(HostKey)element;
-      switch(columnIndex){
-        case 0:
-          return entry.getHost();
-        case 1:
-          return entry.getType();
-        case 2:
-          return entry.getFingerPrint(getJSch());
-        default:
-          return null;
-      }
-    }
-
-    public Image getColumnImage(Object element, int columnIndex){
-      return null;
-    }
-  }
-
-  private Control createHostKeyManagementPage(Composite parent){
-    Composite group=new Composite(parent, SWT.NULL);
-    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);
-    layout.numColumns=2;
-    group.setLayout(layout);
-    GridData gd=new GridData();
-    gd.horizontalAlignment=GridData.FILL;
-    gd.verticalAlignment=GridData.FILL;
-    group.setLayoutData(gd);
-
-    Label label=new Label(group, SWT.NONE);
-    label.setText(Messages.CVSSSH2PreferencePage_139);
-    gd=new GridData();
-    gd.horizontalSpan=2;
-    label.setLayoutData(gd);
-
-    viewer=new TableViewer(group, SWT.MULTI|SWT.FULL_SELECTION|SWT.H_SCROLL
-        |SWT.V_SCROLL|SWT.BORDER);
-    Table table=viewer.getTable();
-    new TableEditor(table);
-    table.setHeaderVisible(true);
-    table.setLinesVisible(true);
-    gd=new GridData(GridData.FILL_BOTH);
-    gd.widthHint=convertWidthInCharsToPixels(30);
-    /*
-     * The hardcoded hint does not look elegant, but in reality it does not make
-     * anything bound to this 100-pixel value, because in any case the tree on
-     * the left is taller and that's what really determines the height.
-     */
-    gd.heightHint=100;
-    table.setLayoutData(gd);
-    table.addListener(SWT.Selection, new Listener(){
-      public void handleEvent(Event e){
-        handleSelection();
-      }
-    });
-    // Create the table columns
-    new TableColumn(table, SWT.NULL);
-    new TableColumn(table, SWT.NULL);
-    new TableColumn(table, SWT.NULL);
-    TableColumn[] columns=table.getColumns();
-    columns[0].setText(Messages.CVSSSH2PreferencePage_134);
-    columns[1].setText(Messages.CVSSSH2PreferencePage_135);
-    columns[2].setText(Messages.CVSSSH2PreferencePage_136);
-    viewer.setColumnProperties(new String[] {
-        Messages.CVSSSH2PreferencePage_134, // 
-        Messages.CVSSSH2PreferencePage_135, // 
-        Messages.CVSSSH2PreferencePage_136});
-    viewer.setLabelProvider(new TableLabelProvider());
-    viewer.setContentProvider(new IStructuredContentProvider(){
-      public void dispose(){
-        // nothing to do
-      }
-
-      public void inputChanged(Viewer viewer, Object oldInput, Object newInput){
-        // nothing to do
-      }
-
-      public Object[] getElements(Object inputElement){
-        if(inputElement==null)
-          return null;
-        return (Object[])inputElement;
-      }
-    });
-    TableLayout tl=new TableLayout();
-    tl.addColumnData(new ColumnWeightData(30));
-    tl.addColumnData(new ColumnWeightData(20));
-    tl.addColumnData(new ColumnWeightData(70));
-    table.setLayout(tl);
-
-    Composite buttons=new Composite(group, SWT.NULL);
-    buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-    layout=new GridLayout();
-    layout.marginHeight=0;
-    layout.marginWidth=0;
-    buttons.setLayout(layout);
-
-    removeHostKeyButton=new Button(buttons, SWT.PUSH);
-    removeHostKeyButton.setText(Messages.CVSSSH2PreferencePage_138);
-    int buttonWidth=SWTUtils
-        .calculateControlSize(SWTUtils.createDialogPixelConverter(parent),
-            new Button[] {removeHostKeyButton});
-    removeHostKeyButton.setLayoutData(SWTUtils.createGridData(buttonWidth,
-        SWT.DEFAULT, SWT.END, SWT.CENTER, false, false));
-    removeHostKeyButton.setEnabled(false);
-    removeHostKeyButton.addListener(SWT.Selection, new Listener(){
-      public void handleEvent(Event e){
-        removeHostKey();
-      }
-    });
-
-    Dialog.applyDialogFont(parent);
-
-    // JSchSession.loadKnownHosts(JSchContext.getDefaultContext().getJSch());
-    JSchCorePlugin.getPlugin().loadKnownHosts();
-    HostKeyRepository hkr=getJSch().getHostKeyRepository();
-    viewer.setInput(hkr.getHostKey());
-    handleSelection();
-
-    return group;
-  }
-
-  void handleSelection(){
-    boolean empty=viewer.getSelection().isEmpty();
-    removeHostKeyButton.setEnabled(!empty);
-  }
-
-  void removeHostKey(){
-    IStructuredSelection selection=(IStructuredSelection)viewer.getSelection();
-    HostKeyRepository hkr=getJSch().getHostKeyRepository();
-    for(Iterator iterator=selection.iterator(); iterator.hasNext();){
-      HostKey hostkey=(HostKey)iterator.next();
-      hkr.remove(hostkey.getHost(), hostkey.getType());
-      viewer.remove(hostkey);
-    }
-  }
-
-  void export_via_sftp(String user, String host, int port,
-      /* String target, */ byte[] pkey) throws JSchException{
-    try{
-
-      /*
-       * int i=0; String authorized_keys=target; String dir=""; String
-       * separator="/"; i=target.lastIndexOf("/"); if(i<0){
-       * i=target.lastIndexOf("\\"); if(i>=0){ separator="\\"; } } else{ }
-       * if(i>=0){ authorized_keys=target.substring(i+1);
-       * dir=target.substring(0, i+1); }
-       */
-
-      int timeout = 60000;
-      IJSchService service = JSchUIPlugin.getPlugin().getJSchService();
-      if (service == null) {
-        MessageDialog.openInformation(getShell(), Messages.PreferencePage_0, Messages.PreferencePage_1);
-        return;
-      }
-      Session session = service.createSession(host, port, user);
-      new UserInfoPrompter(session);
-      session.setTimeout(timeout);
-      try {
-        service.connect(session, timeout, new NullProgressMonitor());
-	      if(session.getServerVersion().indexOf("OpenSSH")==-1){ //$NON-NLS-1$
-	        setErrorMessage(Messages.CVSSSH2PreferencePage_110);
-	        return;
-	      }
-	      Channel channel=session.openChannel("sftp"); //$NON-NLS-1$
-	      channel.connect();
-	      ChannelSftp c=(ChannelSftp)channel;
-
-	      /* String pwd= */c.pwd(); // Read off the channel
-	      SftpATTRS attr=null;
-	
-	      try{
-	        attr=c.stat(".ssh");} //$NON-NLS-1$
-	      catch(SftpException ee){
-          // Ignore
-	      }
-	      if(attr==null){
-	        try{
-	          c.mkdir(".ssh");} //$NON-NLS-1$
-	        catch(SftpException ee){
-	          setErrorMessage(ee.getMessage());
-	          return;
-	        }
-	      }
-	      try{
-	        c.cd(".ssh");} //$NON-NLS-1$
-	      catch(SftpException ee){
-	        setErrorMessage(ee.getMessage());
-	        return;
-	      }
-
-	      try{
-	        ByteArrayInputStream bis=new ByteArrayInputStream(pkey);
-	        c.put(bis, "authorized_keys", null, ChannelSftp.APPEND); //$NON-NLS-1$
-	        bis.close();
-	        checkPermission(c, "authorized_keys"); //$NON-NLS-1$
-	        checkPermission(c, "."); // .ssh //$NON-NLS-1$
-	        c.cd(".."); //$NON-NLS-1$
-	        checkPermission(c, "."); // home directory //$NON-NLS-1$
-	      }
-	      catch(SftpException ee){
-	        // setErrorMessage(debug+ee.message);
-	      }
-
-	      MessageDialog.openInformation(getShell(),
-	          Messages.CVSSSH2PreferencePage_information,
-	          NLS.bind(Messages.CVSSSH2PreferencePage_109, (user
-	              +"@"+host+(port==22 ? "" : ":"+port)+":~/.ssh/authorized_keys"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	
-	      c.disconnect();
-      } finally {
-        session.disconnect();
-      }
-    } catch(IOException eee){
-      setErrorMessage(eee.toString());
-    } 
-  }
-
-  private void checkPermission(ChannelSftp c, String path) throws SftpException{
-    SftpATTRS attr=c.stat(path);
-    int permissions=attr.getPermissions();
-    if((permissions&00022)!=0){
-      permissions&=~00022;
-      c.chmod(permissions, path);
-    }
-  }
-
-  void updateControls(){
-    boolean enable=(kpair!=null);
-    publicKeylabel.setEnabled(enable);
-    publicKeyText.setEnabled(enable);
-    keyFingerPrintLabel.setEnabled(enable);
-    keyFingerPrintText.setEnabled(enable);
-    keyCommentLabel.setEnabled(enable);
-    keyCommentText.setEnabled(enable);
-    keyPassphrase1Label.setEnabled(enable);
-    keyPassphrase1Text.setEnabled(enable);
-    keyPassphrase2Label.setEnabled(enable);
-    keyPassphrase2Text.setEnabled(enable);
-    keyExport.setEnabled(enable);
-    saveKeyPair.setEnabled(enable);
-  }
-
-  public void init(IWorkbench workbench){
-    // super.init(workbench);
-    // initControls();
-  }
-
-  public void initialize(){
-    initControls();
-  }
-
-  private void initControls(){
-    // Preferences preferences=JSchCorePlugin.getPlugin().getPreferences();
-    Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-    ssh2HomeText.setText(preferences
-        .getString(org.eclipse.jsch.internal.core.IConstants.KEY_SSH2HOME));
-    privateKeyText.setText(preferences
-        .getString(org.eclipse.jsch.internal.core.IConstants.KEY_PRIVATEKEY));
-    updateControls();
-  }
-
-  public boolean performOk(){
-    boolean result=super.performOk();
-    if(result){
-      setErrorMessage(null);
-      String home=ssh2HomeText.getText();
-      File _home=new File(home);
-      if(!_home.exists()){
-        if(MessageDialog.openQuestion(getShell(),
-            Messages.CVSSSH2PreferencePage_question, NLS.bind(
-                Messages.CVSSSH2PreferencePage_99, new String[] {home}))){
-          if(!(_home.mkdirs())){
-            setErrorMessage(Messages.CVSSSH2PreferencePage_100+home);
-            return false;
-          }
-        }
-      }
-
-      // Preferences preferences=JSchCorePlugin.getPlugin().getPreferences();
-      Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-      preferences.setValue(
-          org.eclipse.jsch.internal.core.IConstants.KEY_SSH2HOME, home);
-      preferences.setValue(
-          org.eclipse.jsch.internal.core.IConstants.KEY_PRIVATEKEY,
-          privateKeyText.getText());
-    }
-    JSchCorePlugin.getPlugin().setNeedToLoadKnownHosts(true);
-    JSchCorePlugin.getPlugin().setNeedToLoadKeys(true);
-    JSchCorePlugin.getPlugin().savePluginPreferences();
-    return result;
-  }
-
-  public void performApply(){
-    performOk();
-  }
-
-  protected void performDefaults(){
-    super.performDefaults();
-    // Preferences preferences=JSchCorePlugin.getPlugin().getPreferences();
-    Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-    ssh2HomeText
-        .setText(preferences
-            .getDefaultString(org.eclipse.jsch.internal.core.IConstants.KEY_SSH2HOME));
-    privateKeyText
-        .setText(preferences
-            .getDefaultString(org.eclipse.jsch.internal.core.IConstants.KEY_PRIVATEKEY));
-    updateControls();
-  }
-
-  protected void createSpacer(Composite composite, int columnSpan){
-    Label label=new Label(composite, SWT.NONE);
-    GridData gd=new GridData();
-    gd.horizontalSpan=columnSpan;
-    label.setLayoutData(gd);
-  }
-
-  JSch getJSch(){
-    return JSchCorePlugin.getPlugin().getJSch();
-  }
-
-  class PassphrasePrompt implements Runnable{
-    private String message;
-    private String passphrase;
-
-    PassphrasePrompt(String message){
-      this.message=message;
-    }
-
-    public void run(){
-      Display display=Display.getCurrent();
-      Shell shell=new Shell(display);
-      PassphraseDialog dialog=new PassphraseDialog(shell, message);
-      dialog.open();
-      shell.dispose();
-      passphrase=dialog.getPassphrase();
-    }
-
-    public String getPassphrase(){
-      return passphrase;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/SWTUtils.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/SWTUtils.java
deleted file mode 100644
index 9b9b15f..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/SWTUtils.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation.
- *     Atsuhiko Yamanaka, JCraft,Inc. - Bug 170883
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PreferenceLinkArea;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-
-public class SWTUtils {
-	
-	public static final int MARGINS_DEFAULT= -1;
-	public static final int MARGINS_NONE= 0;
-	public static final int MARGINS_DIALOG= 1;
-
-	public static PreferenceLinkArea createPreferenceLink(IWorkbenchPreferenceContainer container, Composite parent, String pageId, String text) {
-        final PreferenceLinkArea area = new PreferenceLinkArea(parent, SWT.NONE, pageId, text, container, null);
-        return area;
-	}
-	
-    public static GridData createGridData(int width, int height, boolean hFill, boolean vFill) {
-        return createGridData(width, height, hFill ? SWT.FILL : SWT.BEGINNING, vFill ? SWT.FILL : SWT.CENTER, hFill, vFill);
-    }
-    
-    public static GridData createGridData(int width, int height, int hAlign, int vAlign, boolean hGrab, boolean vGrab) {
-        final GridData gd= new GridData(hAlign, vAlign, hGrab, vGrab);
-        gd.widthHint= width;
-        gd.heightHint= height;
-        return gd;
-    }
-
-    public static GridData createHFillGridData() {
-        return createHFillGridData(1);
-    }
-    
-    public static GridData createHFillGridData(int span) {
-        final GridData gd= createGridData(0, SWT.DEFAULT, SWT.FILL, SWT.CENTER, true, false);
-        gd.horizontalSpan= span;
-        return gd;
-    }
-
-    public static Composite createHFillComposite(Composite parent, int margins) {
-        return createHFillComposite(parent, margins, 1);
-    }
-    
-    public static Composite createHFillComposite(Composite parent, int margins, int columns) {
-        final Composite composite= new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayoutData(createHFillGridData());
-        composite.setLayout(createGridLayout(columns, new PixelConverter(parent), margins));
-        return composite;
-    }
-    
-    public static Composite createHVFillComposite(Composite parent, int margins) {
-        return createHVFillComposite(parent, margins, 1);
-    }
-    
-    public static Composite createHVFillComposite(Composite parent, int margins, int columns) {
-        final Composite composite= new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayoutData(createHVFillGridData());
-        composite.setLayout(createGridLayout(columns, new PixelConverter(parent), margins));
-        return composite;
-    }
-
-    
-    public static Group createHFillGroup(Composite parent, String text, int margins) {
-        return createHFillGroup(parent, text, margins, 1);
-    }
-    
-    public static Group createHFillGroup(Composite parent, String text, int margins, int rows) {
-        final Group group= new Group(parent, SWT.NONE);
-        group.setFont(parent.getFont());
-        group.setLayoutData(createHFillGridData());
-        if (text != null)
-            group.setText(text);
-        group.setLayout(createGridLayout(rows, new PixelConverter(parent), margins));
-        return group;
-    }
-    
-    public static Group createHVFillGroup(Composite parent, String text, int margins) {
-        return createHVFillGroup(parent, text, margins, 1);
-    }
-    
-    public static Group createHVFillGroup(Composite parent, String text, int margins, int rows) {
-        final Group group= new Group(parent, SWT.NONE);
-        group.setFont(parent.getFont());
-        group.setLayoutData(createHVFillGridData());
-        if (text != null)
-            group.setText(text);
-        group.setLayout(createGridLayout(rows, new PixelConverter(parent), margins));
-        return group;
-    }
-    
-    public static GridData createHVFillGridData() {
-        return createHVFillGridData(1);
-    }
-    
-    public static GridData createHVFillGridData(int span) {
-        final GridData gd= createGridData(0, 0, true, true);
-        gd.horizontalSpan= span;
-        return gd;
-    }
-
-    
-    /**
-	 * Create a grid layout with the specified number of columns and the
-	 * standard spacings.
-	 * 
-	 * @param numColumns
-	 *                the number of columns
-	 * @param converter
-	 *                the pixel converter
-	 * @param margins
-	 *                One of <code>MARGINS_DEFAULT</code>,
-	 *                <code>MARGINS_NONE</code> or <code>MARGINS_DIALOG</code>.
-	 * @return the grid layout
-	 */
-    public static GridLayout createGridLayout(int numColumns, PixelConverter converter, int margins) {
-    	Assert.isTrue(margins == MARGINS_DEFAULT || margins == MARGINS_NONE || margins == MARGINS_DIALOG);
-    	
-        final GridLayout layout= new GridLayout(numColumns, false);
-        layout.horizontalSpacing= converter.convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-        layout.verticalSpacing= converter.convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-        
-        switch (margins) {
-        case MARGINS_NONE:
-            layout.marginLeft= layout.marginRight= 0;
-            layout.marginTop= layout.marginBottom= 0;
-            break;
-        case MARGINS_DIALOG:
-            layout.marginLeft= layout.marginRight= converter.convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-            layout.marginTop= layout.marginBottom= converter.convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-            break;
-        case MARGINS_DEFAULT:
-            layout.marginLeft= layout.marginRight= layout.marginWidth;
-            layout.marginTop= layout.marginBottom= layout.marginHeight;
-        }
-        layout.marginWidth= layout.marginHeight= 0;
-        return layout;
-    }
-    
-    
-    public static Label createLabel(Composite parent, String message) {
-        return createLabel(parent, message, 1);
-    }
-
-    public static Label createLabel(Composite parent, String message, int span) {
-        final Label label= new Label(parent, SWT.WRAP);
-        if (message != null)
-        	label.setText(message);
-        label.setLayoutData(createHFillGridData(span));
-        return label;
-    }
-    
-    public static Button createCheckBox(Composite parent, String message) {
-        return createCheckBox(parent, message, 1);
-    }
-
-    public static Button createCheckBox(Composite parent, String message, int span) {
-        final Button button= new Button(parent, SWT.CHECK);
-        button.setText(message);
-        button.setLayoutData(createHFillGridData(span));
-        return button;
-    }
-    
-    public static Button createRadioButton(Composite parent, String message) {
-        return createRadioButton(parent, message, 1);
-    }
-
-    public static Button createRadioButton(Composite parent, String message, int span) {
-        final Button button= new Button(parent, SWT.RADIO);
-        button.setText(message);
-        button.setLayoutData(createHFillGridData(span));
-        return button;
-    }
-
-    
-    public static Text createText(Composite parent) {
-        return createText(parent, 1);
-    }
-
-    public static Text createText(Composite parent, int span) {
-        final Text text= new Text(parent, SWT.SINGLE | SWT.BORDER);
-        text.setLayoutData(createHFillGridData(span));
-        return text;
-    }
-    
-
-    public static Control createPlaceholder(Composite parent, int heightInChars, int span) {
-        Assert.isTrue(heightInChars > 0);
-        final Control placeHolder= new Composite(parent, SWT.NONE);
-        final GridData gd= new GridData(SWT.BEGINNING, SWT.TOP, false, false);
-        gd.heightHint= new PixelConverter(parent).convertHeightInCharsToPixels(heightInChars);
-        gd.horizontalSpan= span;
-        placeHolder.setLayoutData(gd);
-        return placeHolder;
-    }
-
-    
-    public static Control createPlaceholder(Composite parent, int heightInChars) {
-        return createPlaceholder(parent, heightInChars, 1);
-    }
-    
-    public static PixelConverter createDialogPixelConverter(Control control) {
-    	Dialog.applyDialogFont(control);
-    	return new PixelConverter(control);
-    }
-    
-	public static int calculateControlSize(PixelConverter converter, Control [] controls) {
-		return calculateControlSize(converter, controls, 0, controls.length - 1);
-	}
-
-	public static int calculateControlSize(PixelConverter converter, Control [] controls, int start, int end) {
-		int minimum= converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		for (int i = start; i <= end; i++) {
-			final int length= controls[i].computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-			if (minimum < length)
-				minimum= length;
-		}
-		return minimum;
-	}
-	
-	public static void equalizeControls(PixelConverter converter, Control [] controls) {
-		equalizeControls(converter, controls, 0, controls.length - 1);
-	}
-
-	public static void equalizeControls(PixelConverter converter, Control [] controls, int start, int end) {
-		final int size= calculateControlSize(converter, controls, start, end);
-		for (int i = start; i <= end; i++) {
-			final Control button= controls[i];
-			if (button.getLayoutData() instanceof GridData) {
-				((GridData)button.getLayoutData()).widthHint= size;
-			}
-		}
-	}
-
-	public static int getWidthInCharsForLongest(PixelConverter converter, String [] strings) {
-		int minimum= 0;
-		for (int i = 0; i < strings.length; i++) {
-			final int length= converter.convertWidthInCharsToPixels(strings[i].length());
-			if (minimum < length)
-				minimum= length;
-		}
-		return minimum;
-	}
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
deleted file mode 100644
index 2320770..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.ui;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.jsch.internal.ui.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import com.jcraft.jsch.*;
-
-/**
- * A {@link UserInfo} prompter implementation that can be used when connecting a
- * {@link Session}.
- * <p>
- * Clients may instantiate or subclass this class.
- * 
- * @since 1.0
- * @see IJSchService#createSession(String, int, String)
- * @see IJSchService#connect(Session, int,
- *      org.eclipse.core.runtime.IProgressMonitor)
- */
-public class UserInfoPrompter implements UserInfo, UIKeyboardInteractive{
-
-  private String passphrase;
-  private String password;
-  private final Session session;
-  private int attemptCount;
-
-  /**
-   * Create a prompter for the given session. This constructor will associate
-   * this prompter with the session using {@link Session#setUserInfo(UserInfo)}.
-   * 
-   * @param session
-   *          the session
-   */
-  public UserInfoPrompter(Session session){
-    super();
-    this.session=session;
-    session.setUserInfo(this);
-  }
-
-  /**
-   * Return the session to which this prompter is assigned.
-   * 
-   * @return the session to which this prompter is assigned
-   */
-  public Session getSession(){
-    return session;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#getPassphrase()
-   */
-  public String getPassphrase(){
-    return passphrase;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#getPassword()
-   */
-  public String getPassword(){
-    return password;
-  }
-
-  /**
-   * Set the pass phrase to be used when connecting the session. Return
-   * <code>null</code> if the pass phrase is not known.
-   * 
-   * @param passphrase
-   *          the pass phrase to be used when connecting the session or
-   *          <code>null</code>
-   */
-  public void setPassphrase(String passphrase){
-    this.passphrase=passphrase;
-  }
-
-  /**
-   * Set the password to be used when connecting the session. Return
-   * <code>null</code> if the password is not known.
-   * 
-   * @param password
-   *          the password to be used when connecting the session or
-   *          <code>null</code>
-   */
-  public void setPassword(String password){
-    this.password=password;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#promptPassphrase(java.lang.String)
-   */
-  public boolean promptPassphrase(String message){
-    String _passphrase=promptSecret(message);
-    if(_passphrase!=null){
-      setPassphrase(_passphrase);
-    }
-    return _passphrase!=null;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#promptPassword(java.lang.String)
-   */
-  public boolean promptPassword(String message){
-    String _password=promptSecret(message);
-    if(_password!=null){
-      setPassword(_password);
-    }
-    return _password!=null;
-  }
-
-  private String promptSecret(final String message){
-    // ask the user for a password
-    final String[] result=new String[1];
-    Display display=Display.getCurrent();
-    if(display!=null){
-      result[0]=promptForPassword(message);
-    }
-    else{
-      // sync exec in default thread
-      Display.getDefault().syncExec(new Runnable(){
-        public void run(){
-          result[0]=promptForPassword(message);
-        }
-      });
-    }
-
-    if(result[0]==null){
-      throw new OperationCanceledException();
-    }
-    return result[0];
-  }
-
-  /* package */String promptForPassword(final String message){
-    String username=getSession().getUserName();
-    UserValidationDialog dialog=new UserValidationDialog(null, null,
-        (username==null) ? "" : username, message); //$NON-NLS-1$
-    dialog.setUsernameMutable(false);
-    dialog.open();
-    return dialog.getPassword();
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UIKeyboardInteractive#promptKeyboardInteractive(java.lang.String,
-   *      java.lang.String, java.lang.String, java.lang.String[], boolean[])
-   */
-  public String[] promptKeyboardInteractive(String destination, String name,
-      String instruction, String[] prompt, boolean[] echo){
-    if(prompt.length==0){
-      // No need to prompt, just return an empty String array
-      return new String[0];
-    }
-    try{
-      if(attemptCount==0&&password!=null&&prompt.length==1
-          &&prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
-        // Return the provided password the first time but always prompt on
-        // subsequent tries
-        attemptCount++;
-        return new String[] {password};
-      }
-      String[] result=iromptForKeyboradInteractiveInUI(destination, name,
-          instruction, prompt, echo);
-      if(result==null)
-        return null; // canceled
-      if(result.length==1&&prompt.length==1
-          &&prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
-        password=result[0];
-      }
-      attemptCount++;
-      return result;
-    }
-    catch(OperationCanceledException e){
-      return null;
-    }
-  }
-
-  private String[] iromptForKeyboradInteractiveInUI(final String destination,
-      final String name, final String instruction, final String[] prompt,
-      final boolean[] echo){
-    final String[][] result=new String[1][];
-    Display display=Display.getCurrent();
-    if(display!=null){
-      result[0]=internalPromptForUserInteractive(destination, name,
-          instruction, prompt, echo);
-    }
-    else{
-      // sync exec in default thread
-      Display.getDefault().syncExec(new Runnable(){
-        public void run(){
-          result[0]=internalPromptForUserInteractive(destination, name,
-              instruction, prompt, echo);
-        }
-      });
-    }
-    return result[0];
-  }
-
-  /* package */ String[] internalPromptForUserInteractive(String destination,
-      String name, String instruction, String[] prompt, boolean[] echo){
-    String domain=null;
-    String userName=getSession().getUserName();
-    KeyboardInteractiveDialog dialog=new KeyboardInteractiveDialog(null,
-        domain, destination, name, userName, instruction, prompt, echo);
-    dialog.open();
-    String[] _result=dialog.getResult();
-    return _result;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#promptYesNo(java.lang.String)
-   */
-  public boolean promptYesNo(String question){
-    int prompt=prompt(MessageDialog.QUESTION, Messages.UserInfoPrompter_0,
-        question, new int[] {IDialogConstants.YES_ID, IDialogConstants.NO_ID},
-        0 // yes
-    // the
-    // default
-    );
-    return prompt==0;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#showMessage(java.lang.String)
-   */
-  public void showMessage(String message){
-    prompt(MessageDialog.INFORMATION, Messages.UserInfoPrompter_1, message,
-        new int[] {IDialogConstants.OK_ID}, 0);
-  }
-
-  private int prompt(final int promptType, final String title,
-      final String message, final int[] promptResponses,
-      final int defaultResponse){
-    final Display display=getStandardDisplay();
-    final int[] retval=new int[1];
-    final String[] buttons=new String[promptResponses.length];
-    for(int i=0; i<promptResponses.length; i++){
-      int prompt=promptResponses[i];
-      switch(prompt){
-        case IDialogConstants.OK_ID:
-          buttons[i]=IDialogConstants.OK_LABEL;
-          break;
-        case IDialogConstants.CANCEL_ID:
-          buttons[i]=IDialogConstants.CANCEL_LABEL;
-          break;
-        case IDialogConstants.NO_ID:
-          buttons[i]=IDialogConstants.NO_LABEL;
-          break;
-        case IDialogConstants.YES_ID:
-          buttons[i]=IDialogConstants.YES_LABEL;
-          break;
-      }
-    }
-
-    display.syncExec(new Runnable(){
-      public void run(){
-        final MessageDialog dialog=new MessageDialog(new Shell(display), title,
-            null /* title image */, message, promptType, buttons,
-            defaultResponse);
-        retval[0]=dialog.open();
-      }
-    });
-    return retval[0];
-  }
-
-  private Display getStandardDisplay(){
-    Display display=Display.getCurrent();
-    if(display==null){
-      display=Display.getDefault();
-    }
-    return display;
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/package.html b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/package.html
deleted file mode 100644
index 2b593ad..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/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">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides UI support for the JSch SSH2 library.
-<h2>
-Package Specification</h2>
-This package specifies API that can be used to provide UI support for the  JSch SSH2 library.
-</body>
-</html>
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java
index f9c4fdc..8e4283a 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java
@@ -491,7 +491,7 @@
 	 *   
 	 * @since 3.4
 	 */
-    public IStorageMerger createMerger(String extension) {
+    public static IStorageMerger createMerger(String extension) {
     	return StorageMergerRegistry.getInstance().createStreamMerger(extension);
     }
     
diff --git a/bundles/org.eclipse.ui.net/.classpath b/bundles/org.eclipse.ui.net/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.ui.net/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.net/.cvsignore b/bundles/org.eclipse.ui.net/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.net/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.net/.project b/bundles/org.eclipse.ui.net/.project
deleted file mode 100644
index e93f221..0000000
--- a/bundles/org.eclipse.ui.net/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.net</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.net/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.net/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a10563e..0000000
--- a/bundles/org.eclipse.ui.net/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,73 +0,0 @@
-#Mon Feb 19 11:07:17 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=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=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-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=public
-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.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=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,XXX
diff --git a/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF
deleted file mode 100644
index f61dbbc..0000000
--- a/bundles/org.eclipse.ui.net/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.net; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.ui.internal.net.Activator
-Bundle-Vendor: %PLUGIN_PROVIDER
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.net;bundle-version="[1.0.0,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.0/Foundation-1.0,
- J2SE-1.3
-Export-Package: org.eclipse.ui.internal.net;x-internal:=true,
- org.eclipse.ui.internal.net.auth;x-internal:=true
diff --git a/bundles/org.eclipse.ui.net/about.html b/bundles/org.eclipse.ui.net/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.net/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.net/build.properties b/bundles/org.eclipse.ui.net/build.properties
deleted file mode 100644
index 003a1dd..0000000
--- a/bundles/org.eclipse.ui.net/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = META-INF/,\
-               .,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.ui.net/plugin.properties b/bundles/org.eclipse.ui.net/plugin.properties
deleted file mode 100644
index 4cfa8da..0000000
--- a/bundles/org.eclipse.ui.net/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-# yyyymmdd bug      Email and other contact information
-# -------- -------- -----------------------------------------------------------
-# 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-PLUGIN_NAME=Internet Connection Management UI
-PLUGIN_PROVIDER=Eclipse.org
-PLUGIN_INTERNET_PREFERENCE_TITLE=Network Connections
-PreferenceKeywords.PROXY=proxy,http,https,socks,ssl,network
diff --git a/bundles/org.eclipse.ui.net/plugin.xml b/bundles/org.eclipse.ui.net/plugin.xml
deleted file mode 100644
index 8b14eee..0000000
--- a/bundles/org.eclipse.ui.net/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-   <extension
-   		point="org.eclipse.ui.keywords">
-    <keyword
-            label="%PreferenceKeywords.PROXY"
-            id="org.eclipse.ui.net.proxy"/>
-   </extension>   
-   
-  <extension point="org.eclipse.ui.preferencePages">
-    <page
-      id = "org.eclipse.ui.net.NetPreferences"
-      class = "org.eclipse.ui.internal.net.ProxyPreferencePage"
-      category = "org.eclipse.ui.preferencePages.Workbench"
-      name = "%PLUGIN_INTERNET_PREFERENCE_TITLE">
-      <keywordReference id="org.eclipse.ui.net.proxy"/>
-    </page>
-  </extension>
-  <extension
-        point="org.eclipse.core.net.authenticator">
-     <authenticator
-           class="org.eclipse.ui.internal.net.auth.NetAuthenticator">
-     </authenticator>
-  </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/Activator.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/Activator.java
deleted file mode 100644
index a1e4d29..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/Activator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-package org.eclipse.ui.internal.net;
-
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.ui.net"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-
-	private ServiceTracker tracker;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Return the {@link IProxyService} or <code>null</code> if the service is
-	 * not available.
-	 * 
-	 * @return the {@link IProxyService} or <code>null</code>
-	 */
-	public IProxyService getProxyService() {
-		return (IProxyService) tracker.getService();
-	}
-
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		tracker = new ServiceTracker(getBundle().getBundleContext(),
-				IProxyService.class.getName(), null);
-		tracker.open();
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-		tracker.close();
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NetUIMessages.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NetUIMessages.java
deleted file mode 100644
index e0637cd..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NetUIMessages.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-package org.eclipse.ui.internal.net;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class NetUIMessages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.net.messages";//$NON-NLS-1$
-
-	private NetUIMessages() {
-		// Do not instantiate
-	}
-
-	public static String BUTTON_PREFERENCE_ADD;
-
-	public static String BUTTON_PREFERENCE_EDIT;
-
-	public static String BUTTON_PREFERENCE_REMOVE;
-
-	public static String NonProxyHostsComposite_0;
-
-	public static String ProxyPreferencePage_0;
-
-	public static String ProxyPreferencePage_1;
-
-	public static String ProxyPreferencePage_2;
-
-	public static String ProxyPreferencePage_22;
-
-	public static String ProxyPreferencePage_23;
-
-	public static String ProxyPreferencePage_24;
-
-	public static String ProxyPreferencePage_25;
-
-	public static String ProxyPreferencePage_26;
-
-	public static String ProxyPreferencePage_27;
-
-	public static String ProxyPreferencePage_3;
-
-	public static String ProxyPreferencePage_37;
-
-	public static String ProxyPreferencePage_38;
-
-	public static String ProxyPreferencePage_39;
-
-	public static String ProxyPreferencePage_4;
-
-	public static String ProxyPreferencePage_40;
-
-	public static String ProxyPreferencePage_41;
-
-	public static String ProxyPreferencePage_42;
-
-	public static String ProxyPreferencePage_43;
-
-	public static String ProxyPreferencePage_5;
-
-	public static String ProxyPreferencePage_6;
-
-	public static String ProxyPreferencePage_7;
-
-	public static String ProxyPreferencePage_8;
-
-	public static String ProxyPreferencePage_9;
-
-	public static String TITLE_PREFERENCE_HOSTS_DIALOG;
-
-	public static String LABEL_PREFERENCE_HOSTS_DIALOG;
-
-	public static String UserValidationDialog_0;
-
-	public static String UserValidationDialog_1;
-
-	public static String UserValidationDialog_2;
-
-	public static String UserValidationDialog_3;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, NetUIMessages.class);
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsComposite.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsComposite.java
deleted file mode 100644
index d310add..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsComposite.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20060217   127138 pmoogk@ca.ibm.com - Peter Moogk
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-
-package org.eclipse.ui.internal.net;
-
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.TreeSet;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.fieldassist.ControlDecoration;
-import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class is the Composite that consists of the controls for
- * "http.nonProxyHosts" and is used by InternetPreferencesPage.
- */
-public class NonProxyHostsComposite extends Composite {
-	private Table table_;
-	TableViewer tableViewer_;
-	private TreeSet tableValues_;
-	private Button add_;
-	private Button edit_;
-	private Button remove_;
-
-	public NonProxyHostsComposite(Composite parent, int style) {
-		super(parent, style);
-		createWidgets();
-	}
-
-	protected void createWidgets() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = 6;
-		layout.verticalSpacing = 6;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		setLayout(layout);
-
-		table_ = new Table(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL
-				| SWT.MULTI | SWT.FULL_SELECTION);
-		GridData data = new GridData(GridData.FILL_BOTH
-				| GridData.VERTICAL_ALIGN_FILL);
-
-		table_.setLayoutData(data);
-		table_.setHeaderVisible(false);
-		table_.setLinesVisible(true);
-
-		TableLayout tableLayout = new TableLayout();
-
-		new TableColumn(table_, SWT.NONE);
-		ColumnWeightData colData = new ColumnWeightData(100, 60, false);
-		tableLayout.addColumnData(colData);
-
-		table_.setLayout(tableLayout);
-
-		tableViewer_ = new TableViewer(table_);
-		tableViewer_.setContentProvider(new NonProxyHostsContentProvider());
-		tableViewer_.setLabelProvider(new NonProxyHostsLabelProvider());
-
-		tableViewer_
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-					public void selectionChanged(SelectionChangedEvent event) {
-						enableButtons();
-					}
-				});
-
-		tableViewer_.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				editSelection();
-			}
-		});
-
-		Composite buttonComp = new Composite(this, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 8;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END
-				| GridData.VERTICAL_ALIGN_FILL);
-		buttonComp.setLayoutData(data);
-
-		add_ = createButton(buttonComp, NetUIMessages.BUTTON_PREFERENCE_ADD);
-
-		add_.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addHost();
-			}
-		});
-
-		edit_ = createButton(buttonComp, NetUIMessages.BUTTON_PREFERENCE_EDIT);
-
-		edit_.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editSelection();
-			}
-		});
-		edit_.setEnabled(false);
-
-		remove_ = createButton(buttonComp,
-				NetUIMessages.BUTTON_PREFERENCE_REMOVE);
-
-		remove_.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeFromList((IStructuredSelection) tableViewer_
-						.getSelection());
-				tableViewer_.refresh();
-			}
-		});
-		remove_.setEnabled(false);
-	}
-
-	private Button createButton(Composite comp, String label) {
-		Button button = new Button(comp, SWT.PUSH);
-		button.setText(label);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-				| GridData.VERTICAL_ALIGN_BEGINNING);
-		button.setLayoutData(data);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		table_.setEnabled(enabled);
-		enableButtons();
-	}
-
-	public void setList(String[] hosts) {
-		tableValues_ = new TreeSet(Arrays.asList(hosts));
-
-		tableViewer_.setInput(tableValues_);
-		tableViewer_.refresh();
-	}
-
-	public String[] getList() {
-		return (String[]) tableValues_.toArray(new String[0]);
-	}
-
-	String getStringList(Iterator iterator) {
-		StringBuffer buffer = new StringBuffer();
-
-		if (iterator.hasNext()) {
-			buffer.append((String) iterator.next());
-		}
-
-		while (iterator.hasNext()) {
-			buffer.append(',');
-			buffer.append((String) iterator.next());
-		}
-
-		return buffer.toString();
-	}
-
-	void removeFromList(IStructuredSelection selection) {
-		tableValues_.removeAll(selection.toList());
-	}
-
-	void updateList(String value) {
-		// Split the string with a delimiter of either a vertical bar, a space,
-		// or a comma.
-		String[] hosts = value.split("\\|| |,"); //$NON-NLS-1$
-
-		tableValues_.addAll(Arrays.asList(hosts));
-		tableValues_.remove(""); //$NON-NLS-1$
-		tableViewer_.refresh();
-	}
-
-	void enableButtons() {
-		boolean enabled = getEnabled();
-
-		if (enabled) {
-			boolean itemsSelected = !tableViewer_.getSelection().isEmpty();
-
-			add_.setEnabled(true);
-			edit_.setEnabled(itemsSelected);
-			remove_.setEnabled(itemsSelected);
-		} else {
-			add_.setEnabled(false);
-			edit_.setEnabled(false);
-			remove_.setEnabled(false);
-		}
-	}
-
-	void editSelection() {
-		IStructuredSelection selection = (IStructuredSelection) tableViewer_.getSelection();
-		String selectedHosts = getStringList(selection.iterator());
-		String value = promptForHost(selectedHosts);
-		if (value != null) {
-			removeFromList(selection);
-			updateList(value);
-		}
-	}
-
-	void addHost() {
-		String value = promptForHost(null);
-		if (value != null) {
-			updateList(value);
-		}
-	}
-	
-	private String promptForHost(String selectedHosts) {
-		InputDialog dialog = new InputDialog(getShell(),
-				NetUIMessages.TITLE_PREFERENCE_HOSTS_DIALOG,
-				NetUIMessages.LABEL_PREFERENCE_HOSTS_DIALOG, selectedHosts,
-				null) {
-			private ControlDecoration decorator;
-			protected Control createDialogArea(Composite parent) {
-				Control createDialogArea = super.createDialogArea(parent);
-				decorator = new ControlDecoration(getText(), SWT.TOP | SWT.LEFT);
-				decorator.setDescriptionText(NetUIMessages.NonProxyHostsComposite_0);
-				decorator.setImage(FieldDecorationRegistry.getDefault().getFieldDecoration(
-				FieldDecorationRegistry.DEC_INFORMATION).getImage());
-				return createDialogArea;
-			}
-			public boolean close() {
-				decorator.dispose();
-				return super.close();
-			}
-		};
-		int result = dialog.open();
-		String value;
-		if (result != Window.CANCEL) {
-			value = dialog.getValue();
-		} else {
-			value = null;
-		}
-		return value;
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsContentProvider.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsContentProvider.java
deleted file mode 100644
index c0167b1..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsContentProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-
-package org.eclipse.ui.internal.net;
-
-import java.util.Collection;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Monitor content provider.
- */
-public class NonProxyHostsContentProvider implements IStructuredContentProvider 
-{
-	/**
-	 * MonitorContentProvider constructor comment.
-	 */
-	public NonProxyHostsContentProvider() 
-	{
-		super();
-	}
-
-	/*
-	 * Disposes of this content provider.  
-	 */
-	public void dispose() 
-	{
-		// do nothing
-	}
-
-	/*
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 */
-	public Object[] getElements(Object inputElement) 
-	{
-		Collection coll = (Collection)inputElement;
-    
-		return coll.toArray( new String[0] );
-	}
-
-	/*
-	 * Notifies this content provider that the given viewer's input
-	 * has been switched to a different element.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) 
-	{
-		// do nothing
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsLabelProvider.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsLabelProvider.java
deleted file mode 100644
index 8aeeae2..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsLabelProvider.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-
-package org.eclipse.ui.internal.net;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-
-/**
- * Monitor table label provider.
- */
-public class NonProxyHostsLabelProvider implements ITableLabelProvider 
-{
-	/**
-	 * MonitorTableLabelProvider constructor comment.
-	 */
-	public NonProxyHostsLabelProvider() 
-	{
-		super();
-	}
-
-	/**
-	 * Adds a listener to this label provider. 
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * Label provider listeners are informed about state changes 
-	 * that affect the rendering of the viewer that uses this label provider.
-	 * </p>
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void addListener(ILabelProviderListener listener) 
-	{
-		// do nothing
-	}
-
-	/**
-	 * Disposes of this label provider.  When a label provider is
-	 * attached to a viewer, the viewer will automatically call
-	 * this method when the viewer is being closed.  When label providers
-	 * are used outside of the context of a viewer, it is the client's
-	 * responsibility to ensure that this method is called when the
-	 * provider is no longer needed.
-	 */
-	public void dispose() 
-	{
-		// do nothing
-	}
-
-	/**
-	 * Returns the label image for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or 
-	 *    <code>null</code> indicating that no input object is set
-	 *    in the viewer
-	 * @param columnIndex the zero-based index of the column in which
-	 *   the label appears
-	 */
-	public Image getColumnImage(Object element, int columnIndex) 
-	{
-		return null;
-	}
-
-	/**
-	 * Returns the label text for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or
-	 *   <code>null</code> indicating that no input object is set
-	 *   in the viewer
-	 * @param columnIndex the zero-based index of the column in which the label appears
-	 */
-	public String getColumnText(Object element, int columnIndex) 
-	{
-		return (String)element;
-	}
-	
-	/**
-	 * Returns whether the label would be affected 
-	 * by a change to the given property of the given element.
-	 * This can be used to optimize a non-structural viewer update.
-	 * If the property mentioned in the update does not affect the label,
-	 * then the viewer need not update the label.
-	 *
-	 * @param element the element
-	 * @param property the property
-	 * @return <code>true</code> if the label would be affected,
-	 *    and <code>false</code> if it would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) 
-	{
-		return false;
-	}
-
-	/**
-	 * Removes a listener to this label provider.
-	 * Has no affect if an identical listener is not registered.
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void removeListener(ILabelProviderListener listener) 
-	{
-		// do nothing
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
deleted file mode 100644
index 24d7884..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
+++ /dev/null
@@ -1,623 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070123   154100 eu@md.pp.ru - Eugene Kuleshov, Initial UI coding
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- * 20070219   174674 pmoogk@ca.ibm.com - Peter Moogk
- * 20070402   180622 brockj@tpg.com.au - Brock Janiczak, Inconsistent enablement states in network preference page
- * 20070416   177897 ymnk@jcraft.com - Atsuhiko Yamanaka, Improve UI of Proxy Preferences Page
- * 20070801   197977 holger.oehm@sap.com - Holger Oehm, [Proxy] non-proxy hosts not correctly updated
- *******************************************************************************/
-package org.eclipse.ui.internal.net;
-
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-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.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-public class ProxyPreferencePage extends PreferencePage implements
-		IWorkbenchPreferencePage {
-
-	private static final String PROXY_PREFERENCE_PAGE_CONTEXT_ID 
-		= "org.eclipse.ui.net.proxy_preference_page_context"; //$NON-NLS-1$
-	
-	Entry[] entryList;
-	Button directConnectionToButton;
-	private Button manualProxyConfigurationButton;
-	Button useSameProxyButton;
-	private Label nonHostLabel;
-	private NonProxyHostsComposite nonHostComposite;
-	Button enableProxyAuth;
-	private Label useridLabel;
-	private Label passwordLabel;
-	Text userid;
-	Text password;
-	private IProxyService proxyService;
-
-	public ProxyPreferencePage() {
-		super(NetUIMessages.ProxyPreferencePage_2);
-		setPreferenceStore(Activator.getDefault().getPreferenceStore());
-	}
-
-	public void init(IWorkbench workbench) {
-		// Nothing to do
-	}
-
-	protected Control createContents(Composite parent) {
-
-		proxyService = Activator.getDefault().getProxyService();
-		if (proxyService == null) {
-			Label l = new Label(parent, SWT.NONE);
-			l.setText(NetUIMessages.ProxyPreferencePage_40);
-			return l;
-		}
-
-		IProxyData[] proxyData = proxyService.getProxyData();
-		entryList = new Entry[proxyData.length];
-		for (int i = 0; i < proxyData.length; i++) {
-			IProxyData pd = proxyData[i];
-			entryList[i] = new Entry(pd);
-		}
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginRight = 5;
-		layout.marginTop = 5;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(data);
-
-		directConnectionToButton = new Button(composite, SWT.RADIO);
-		directConnectionToButton.setLayoutData(new GridData());
-		directConnectionToButton.setText(NetUIMessages.ProxyPreferencePage_3);
-		directConnectionToButton
-				.setToolTipText(NetUIMessages.ProxyPreferencePage_1);
-		directConnectionToButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				enableControls(!directConnectionToButton.getSelection());
-			}
-		});
-
-		manualProxyConfigurationButton = new Button(composite, SWT.RADIO);
-		manualProxyConfigurationButton
-				.setText(NetUIMessages.ProxyPreferencePage_4);
-		manualProxyConfigurationButton
-				.setToolTipText(NetUIMessages.ProxyPreferencePage_0);
-
-		final Composite manualProxyConfigurationComposite = new Composite(
-				composite, SWT.NONE);
-		final GridLayout gridLayout = new GridLayout();
-		gridLayout.marginWidth = 0;
-		gridLayout.marginHeight = 0;
-		gridLayout.numColumns = 4;
-		manualProxyConfigurationComposite.setLayout(gridLayout);
-		final GridData gridData_2 = new GridData(GridData.FILL_BOTH);
-		gridData_2.horizontalIndent = 17;
-		manualProxyConfigurationComposite.setLayoutData(gridData_2);
-
-		entryList[0].addProtocolEntry(manualProxyConfigurationComposite);
-
-		new Label(manualProxyConfigurationComposite, SWT.NONE);
-		useSameProxyButton = new Button(manualProxyConfigurationComposite,
-				SWT.CHECK);
-		useSameProxyButton.setText(NetUIMessages.ProxyPreferencePage_5);
-		GridData gridData = new GridData();
-		gridData.horizontalSpan = 3;
-		useSameProxyButton.setLayoutData(gridData);
-		useSameProxyButton.setToolTipText(NetUIMessages.ProxyPreferencePage_23);
-		useSameProxyButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toggleUseSameProtocol();
-			}
-		});
-
-		for (int index = 1; index < entryList.length; index++) {
-			entryList[index]
-					.addProtocolEntry(manualProxyConfigurationComposite);
-		}
-
-		Label separator = new Label(manualProxyConfigurationComposite,
-				SWT.HORIZONTAL | SWT.SEPARATOR);
-		separator.setLayoutData(newGridData(4, 5, true, false));
-		nonHostLabel = new Label(manualProxyConfigurationComposite, SWT.NONE);
-		nonHostLabel.setText(NetUIMessages.ProxyPreferencePage_6);
-		nonHostLabel.setToolTipText(NetUIMessages.ProxyPreferencePage_24);
-		nonHostLabel.setLayoutData(newGridData(4, 5, true, false));
-		nonHostComposite = new NonProxyHostsComposite(
-				manualProxyConfigurationComposite, SWT.NONE);
-		nonHostComposite.setLayoutData(newGridData(4, -1, true, true));
-
-		Label separator2 = new Label(manualProxyConfigurationComposite,
-				SWT.HORIZONTAL | SWT.SEPARATOR);
-		separator2.setLayoutData(newGridData(4, 5, true, false));
-		enableProxyAuth = new Button(manualProxyConfigurationComposite,
-				SWT.CHECK);
-		enableProxyAuth.setText(NetUIMessages.ProxyPreferencePage_7);
-		enableProxyAuth.setLayoutData(newGridData(4, 5, true, false));
-		enableProxyAuth.setToolTipText(NetUIMessages.ProxyPreferencePage_25);
-		enableProxyAuth.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				enableUseridPassword(enableProxyAuth.getSelection());
-			}
-		});
-
-		final Composite userIdPassword = new Composite(
-				manualProxyConfigurationComposite, SWT.NONE);
-		GridLayout layout2 = new GridLayout(2, false);
-		layout2.marginWidth = 0;
-		layout2.marginHeight = 0;
-		userIdPassword.setLayoutData(newGridData(4, -1, true, false));
-		userIdPassword.setLayout(layout2);
-
-		useridLabel = new Label(userIdPassword, SWT.NONE);
-		useridLabel.setText(NetUIMessages.ProxyPreferencePage_8);
-		userid = new Text(userIdPassword, SWT.BORDER);
-		passwordLabel = new Label(userIdPassword, SWT.NONE);
-		passwordLabel.setText(NetUIMessages.ProxyPreferencePage_9);
-		password = new Text(userIdPassword, SWT.BORDER);
-
-		userid.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		userid.setToolTipText(NetUIMessages.ProxyPreferencePage_26);
-		password.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		password.setToolTipText(NetUIMessages.ProxyPreferencePage_27);
-		password.setEchoChar('*');
-
-		ModifyListener modifyListener = new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (useSameProxyButton.getSelection()) {
-					for (int index = 1; index < entryList.length; index++) {
-						entryList[index].copyValuesFrom(entryList[0]);
-					}
-				}
-			}
-		};
-
-		entryList[0].hostname.addModifyListener(modifyListener);
-		entryList[0].port.addModifyListener(modifyListener);
-
-		initializeValues(proxyService.isProxiesEnabled());
-		applyDialogFont(composite);
-		
-		// F1
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(
-				getControl(), PROXY_PREFERENCE_PAGE_CONTEXT_ID);
-
-		return composite;
-	}
-
-	protected void performApply() {
-		if (proxyService == null)
-			return;
-		boolean proxiesEnabled = manualProxyConfigurationButton.getSelection();
-
-		// Save the contents of the text fields to the proxy data.
-		IProxyData[] proxyData = new IProxyData[entryList.length];
-		for (int index = 0; index < entryList.length; index++) {
-			entryList[index].applyValues();
-			proxyData[index] = entryList[index].getProxy();
-		}
-
-		proxyService.setProxiesEnabled(proxiesEnabled);
-		if (proxiesEnabled) {
-			try {
-				proxyService.setNonProxiedHosts(
-						nonHostComposite.getList());
-				proxyService.setProxyData(proxyData);
-			} catch (CoreException e) {
-				ErrorDialog.openError(getShell(), null, null, e.getStatus());
-			}
-		}
-		Activator.getDefault().savePluginPreferences();
-	}
-
-	protected void performDefaults() {
-		directConnectionToButton.setSelection(true);
-		manualProxyConfigurationButton.setSelection(false);
-		useSameProxyButton.setSelection(false);
-		enableProxyAuth.setSelection(false);
-
-		for (int index = 0; index < entryList.length; index++) {
-			entryList[index].reset();
-		}
-
-		nonHostComposite.setList(new String[] { "localhost", "127.0.0.1" }); //$NON-NLS-1$ //$NON-NLS-2$
-		userid.setText(""); //$NON-NLS-1$
-		password.setText(""); //$NON-NLS-1$
-		enableControls(false);
-	}
-
-	public boolean performOk() {
-		performApply();
-		return super.performOk();
-	}
-
-	/**
-	 * This method is run once when when this preference page is displayed. It
-	 * will restore the state of this page using previously saved preferences.
-	 * 
-	 * @param proxiesEnabled indicates if manual proxies are enabled or not.
-	 */
-	private void initializeValues(boolean proxiesEnabled) {
-
-		directConnectionToButton.setSelection(!proxiesEnabled);
-		manualProxyConfigurationButton.setSelection(proxiesEnabled);
-
-		String[] nonHostLists = null;
-		if (proxyService != null)
-			nonHostLists = proxyService.getNonProxiedHosts();
-		this.nonHostComposite.setList(nonHostLists == null ? new String[] {
-				"localhost", "127.0.0.1" } : nonHostLists); //$NON-NLS-1$ //$NON-NLS-2$
-		if (!proxiesEnabled) {
-			this.useSameProxyButton.setSelection(false);
-			this.enableProxyAuth.setSelection(false);
-			this.userid.setText(""); //$NON-NLS-1$
-			this.password.setText(""); //$NON-NLS-1$
-		} else {
-			IProxyData data = entryList[0].getProxy();
-			this.enableProxyAuth.setSelection(data.isRequiresAuthentication());
-			this.userid.setText(data.getUserId() == null ? "" : data //$NON-NLS-1$
-					.getUserId());
-			this.password.setText(data.getPassword() == null ? "" : data //$NON-NLS-1$
-					.getPassword());
-
-		}
-		boolean useSameProtocol = true;
-		for (int i = 1; i < entryList.length; i++) {
-			Entry entry = entryList[i];
-			if (!entry.isUseSameProtocol(entryList[0])) {
-				useSameProtocol = false;
-				break;
-			}
-		}
-		this.useSameProxyButton.setSelection(useSameProtocol);
-		for (int index = 1; index < entryList.length; index++) {
-			Entry entry = entryList[index];
-			entry.loadPreviousValues();
-			entry.updateEnablement(proxiesEnabled, useSameProtocol);
-		}
-
-		enableControls(proxiesEnabled);
-	}
-
-	void enableControls(boolean enabled) {
-		for (int index = 0; index < entryList.length; index++) {
-			entryList[index].updateEnablement(enabled, useSameProxyButton.getSelection());
-		}
-
-		useSameProxyButton.setEnabled(enabled);
-		nonHostLabel.setEnabled(enabled);
-		nonHostComposite.setEnabled(enabled);
-		enableProxyAuth.setEnabled(enabled);
-
-		enableUseridPassword(enableProxyAuth.getSelection() && enabled);
-	}
-
-	void enableUseridPassword(boolean enabled) {
-		useridLabel.setEnabled(enabled);
-		userid.setEnabled(enabled);
-		passwordLabel.setEnabled(enabled);
-		password.setEnabled(enabled);
-	}
-
-	protected void toggleUseSameProtocol() {
-		boolean useSameProtocol = useSameProxyButton.getSelection();
-		for (int index = 1; index < entryList.length; index++) {
-			entryList[index].setUseSameProtocol(useSameProtocol, entryList[0]);
-		}
-	}
-	
-	public void updateErrorMessage() {
-		for (int index = 0; index < entryList.length; index++) {
-			String message = entryList[index].getErrorMessage();
-			if (message != null) {
-				setErrorMessage(message);
-				return;
-			}
-		}
-		setErrorMessage(null);
-	}
-
-	private GridData newGridData(int span, int verticalIndent,
-			boolean horizontal, boolean vertical) {
-		int style = 0;
-
-		style |= horizontal ? GridData.FILL_HORIZONTAL : 0;
-		style |= vertical ? GridData.FILL_VERTICAL : 0;
-
-		GridData gridData = new GridData(style);
-
-		if (span != -1) {
-			gridData.horizontalSpan = span;
-		}
-
-		if (verticalIndent != -1) {
-			gridData.verticalIndent = verticalIndent;
-		}
-
-		return gridData;
-	}
-
-	private class Entry {
-		Label nameLabel;
-		Text hostname;
-		Label portLabel;
-		Text port;
-		String prevHostname;
-		int prevPort;
-		private final IProxyData proxyData;
-		private String errorMessage;
-
-		public Entry(IProxyData proxyData) {
-			this.proxyData = proxyData;
-		}
-
-		public void updateEnablement(boolean proxiesEnabled, boolean useSameProtocol) {
-			if (isHttpProxy()) {
-				setEnabled(proxiesEnabled);
-			} else {
-				if (proxiesEnabled) {
-					setUseSameProtocol(useSameProtocol);
-				} else {
-					setEnabled(false);
-				}
-			}
-			updateMessage();
-		}
-
-		public void setUseSameProtocol(boolean useSameProtocol, Entry httpEntry) {
-			setUseSameProtocol(useSameProtocol);
-			if (isSocksProxy() || isHttpProxy())
-				return;
-			if (useSameProtocol) {
-				recordPreviousValues();
-				copyValuesFrom(entryList[0]);
-			} else {
-				restorePreviousValues();
-			}
-		}
-		
-		public void setUseSameProtocol(boolean useSameProtocol) {
-			if (isSocksProxy()) {
-				setEnabled(true);
-			} else {
-				setEnabled(!useSameProtocol);
-			}
-		}
-
-		public void loadPreviousValues() {
-			IProxyData proxy = getProxy();
-			prevHostname = proxy.getHost();
-			prevPort = proxy.getPort();
-		}
-		
-		public void restorePreviousValues() {
-			hostname.setText(prevHostname);
-			port.setText(prevPort == -1 ? "" : String //$NON-NLS-1$
-					.valueOf(prevPort));
-		}
-
-		public void recordPreviousValues() {
-			prevHostname = hostname.getText();
-			try {
-				prevPort = Integer.parseInt(port.getText());
-			} catch (NumberFormatException e) {
-				prevPort = -1;
-			}
-		}
-
-		/**
-		 * The user has chosen to use the same entry for all protocols
-		 * @param entry the entry (the http entry to be exact)
-		 */
-		public void copyValuesFrom(Entry entry) {
-			// For SOCKS, don't use the general entry
-			if (!isSocksProxy()){
-	            hostname.setText( entry.hostname.getText() );
-	            port.setText( entry.port.getText() );
-			}
-		}
-		
-		public boolean isUseSameProtocol(Entry entry) {
-			// Always answer true for the SOCKS proxy since we never disable
-			if (isSocksProxy())
-				return true;
-			return (hostsEqual(proxyData.getHost(), entry.getProxy().getHost()) 
-					&& portsEqual(proxyData.getPort(), entry.getProxy().getPort()));
-		}
-
-		private boolean portsEqual(int port1, int port2) {
-			return port1 == port2;
-		}
-
-		private boolean hostsEqual(String host1, String host2) {
-			if (host1 == host2)
-				// If there are no hosts, don't enable the use same hosts button
-				return false;
-			if (host1 == null || host2 == null)
-				return false;
-			return host1.equals(host2);
-		}
-		
-		boolean isSocksProxy() {
-			return getProxy().getType().equals(IProxyData.SOCKS_PROXY_TYPE);
-		}
-		
-		boolean isHttpProxy() {
-			return getProxy().getType().equals(IProxyData.HTTP_PROXY_TYPE);
-		}
-		
-		boolean isHttpsProxy() {
-			return getProxy().getType().equals(IProxyData.HTTPS_PROXY_TYPE);
-		}
-
-		public IProxyData getProxy() {
-			return proxyData;
-		}
-
-		public boolean updateMessage() {
-			if (hostname.isEnabled()) {
-				if (isSocksProxy() || isHttpProxy()|| !useSameProxyButton.getSelection()) {
-					String hostString = hostname.getText();
-					if (hostString.startsWith(" ") || hostString.endsWith(" ")) { //$NON-NLS-1$ //$NON-NLS-2$
-						setErrorMessage(NetUIMessages.ProxyPreferencePage_41);
-						return false;
-					}
-					String portString = port.getText();
-					if (portString.length() > 0) {
-						try {
-							int port = Integer.valueOf(portString).intValue();
-							if (port < 0) {
-								setErrorMessage(NetUIMessages.ProxyPreferencePage_42);
-								return false;
-							}
-						} catch (NumberFormatException e) {
-							setErrorMessage(NetUIMessages.ProxyPreferencePage_43);
-							return false;
-						}
-					}
-				}
-			}
-			setErrorMessage(null);
-			return true;
-		}
-		
-		private void setErrorMessage(String message) {
-			errorMessage = message;
-			updateErrorMessage();
-		}
-		
-		public void applyValues() {
-			IProxyData proxy = getProxy();
-			boolean enableAuth = enableProxyAuth.getSelection();
-
-			String hostString;
-			String portString;
-			if (useSameProxyButton.getSelection() && !isSocksProxy()) {
-				hostString = entryList[0].hostname.getText();
-				portString = entryList[0].port.getText();
-			} else {
-				hostString = hostname.getText();
-				portString = port.getText();
-			}
-			
-			proxy.setHost(hostString);
-			try {
-				int port = Integer.valueOf(portString).intValue();
-				proxy.setPort(port);
-			} catch (NumberFormatException e) {
-				proxy.setPort(-1);
-			}
-			proxy.setUserid(enableAuth ? userid.getText() : null);
-			proxy.setPassword(enableAuth ? password.getText() : null);
-		}
-		
-		public void addProtocolEntry(Composite parent) {
-			GridData gridData;
-			IProxyData proxy = getProxy();
-
-			nameLabel = new Label(parent, SWT.NONE);
-			nameLabel.setText(getLabel(proxy));
-
-			hostname = new Text(parent, SWT.BORDER);
-			gridData = new GridData(GridData.FILL_HORIZONTAL);
-			gridData.widthHint = 120;
-			hostname.setLayoutData(gridData);
-			hostname.setText(getHostName(proxy));
-			hostname.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					Entry.this.updateMessage();
-				}
-			});
-
-			portLabel = new Label(parent, SWT.NONE);
-			portLabel.setText(NetUIMessages.ProxyPreferencePage_22);
-
-			port = new Text(parent, SWT.BORDER);
-			gridData = new GridData();
-			gridData.widthHint = 50;
-			port.setLayoutData(gridData);
-			port.setText(getPortString(proxy));
-			port.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					Entry.this.updateMessage();
-				}
-			});
-		}
-
-		private String getLabel(IProxyData data) {
-			if (data.getType().equals(IProxyData.HTTP_PROXY_TYPE)) {
-				return NetUIMessages.ProxyPreferencePage_37;
-			}
-			if (data.getType().equals(IProxyData.HTTPS_PROXY_TYPE)) {
-				return NetUIMessages.ProxyPreferencePage_38;
-			}
-			if (data.getType().equals(IProxyData.SOCKS_PROXY_TYPE)) {
-				return NetUIMessages.ProxyPreferencePage_39;
-			}
-			return ""; //$NON-NLS-1$
-		}
-		
-		private String getPortString(IProxyData proxy) {
-			int portInt = proxy.getPort();
-			String portString;
-			if (portInt == -1) {
-				portString = ""; //$NON-NLS-1$
-			} else {
-				portString = String.valueOf(portInt);
-			}
-			return portString;
-		}
-
-		private String getHostName(IProxyData proxy) {
-			String hostnameString = proxy.getHost();
-			if (hostnameString == null) {
-				hostnameString = ""; //$NON-NLS-1$
-			}
-			return hostnameString;
-		}
-		
-		public void reset() {
-			hostname.setText(""); //$NON-NLS-1$
-			port.setText(""); //$NON-NLS-1$
-			prevHostname = ""; //$NON-NLS-1$
-			prevPort = -1;
-		}
-		
-		private void setEnabled(boolean enabled) {
-			hostname.setEnabled(enabled);
-			nameLabel.setEnabled(enabled);
-			portLabel.setEnabled(enabled);
-			port.setEnabled(enabled);
-		}
-
-		public String getErrorMessage() {
-			return errorMessage;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/Authentication.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/Authentication.java
deleted file mode 100644
index c7d8a0b..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/Authentication.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.net.auth;
-
-/**
- * Keeps user and password strings.
- */
-public class Authentication {
-	protected String user;
-	protected String password;
-	public Authentication(String user, String password){
-		this.user = user;
-		this.password = password;
-	}
-
-	/**
-	 * @return Returns the password.
-	 */
-	public String getPassword() {
-		return password;
-	}
-	/**
-	 * @return Returns the user.
-	 */
-	public String getUser() {
-		return user;
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/NetAuthenticator.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/NetAuthenticator.java
deleted file mode 100644
index 4f5dade..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/NetAuthenticator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.net.auth;
-
-import java.net.*;
-
-public class NetAuthenticator extends Authenticator {
-	
-	/*
-	 * @see Authenticator#getPasswordAuthentication()
-	 */
-	protected PasswordAuthentication getPasswordAuthentication() {
-		// String protocol = getRequestingProtocol();
-		InetAddress address = getRequestingSite(); // can be null;
-		// int port = getRequestingPort();
-		String prompt = getRequestingPrompt(); // realm or message, not documented that can be null
-		// String scheme = getRequestingScheme(); // not documented that can be null
-
-		 // get the host name from the address since #getRequestingHost
-		 // is not available in the foundation 1.0 class libraries
-		String hostString = null;
-		if (address != null) {
-			hostString = address.getHostName();
-		}
-		if (hostString == null) {
-			hostString = ""; //$NON-NLS-1$
-		}
-		String promptString = prompt;
-		if (prompt == null) {
-			promptString = ""; //$NON-NLS-1$
-		}
-
-		Authentication auth = UserValidationDialog.getAuthentication(
-				hostString, promptString);
-		if (auth != null)
-			return new PasswordAuthentication(auth.getUser(), auth
-					.getPassword().toCharArray());
-		else
-			return null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/UserValidationDialog.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/UserValidationDialog.java
deleted file mode 100644
index 05a967b..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/UserValidationDialog.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.net.auth;
-
-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.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.net.NetUIMessages;
-
-/**
- * User authentication dialog
- */
-public class UserValidationDialog extends Dialog {
-	protected Text usernameField;
-	protected Text passwordField;
-
-	protected String host;
-	protected String message;
-	protected Authentication userAuthentication = null;
-	/**
-	 * Gets user and password from a user. May be called from any thread
-	 * @param host the host name
-	 * @param message the message to be displayed when prompting
-	 * 
-	 * @return UserAuthentication that contains the userid and the password or
-	 *         <code>null</code> if the dialog has been cancelled
-	 */
-	public static Authentication getAuthentication(final String host,
-			final String message) {
-		class UIOperation implements Runnable {
-			public Authentication authentication;
-			public void run() {
-				authentication = UserValidationDialog.askForAuthentication(
-						host, message);
-			}
-		}
-
-		UIOperation uio = new UIOperation();
-		if (Display.getCurrent() != null) {
-			uio.run();
-		} else {
-			Display.getDefault().syncExec(uio);
-		}
-		return uio.authentication;
-	}
-	/**
-	 * Gets user and password from a user Must be called from UI thread
-	 * 
-	 * @return UserAuthentication that contains the userid and the password or
-	 *         <code>null</code> if the dialog has been cancelled
-	 */
-	protected static Authentication askForAuthentication(String host,
-			String message) {
-		UserValidationDialog ui = new UserValidationDialog(null, host, message); 
-		ui.open();
-		return ui.getAuthentication();
-	}
-	/**
-	 * Creates a new UserValidationDialog.
-	 * 
-	 * @param parentShell
-	 *            parent Shell or null
-	 */
-	protected UserValidationDialog(Shell parentShell, String host,
-			String message) {
-		super(parentShell);
-		this.host = host;
-		this.message = message;
-		setBlockOnOpen(true);
-	}
-	/**
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(NetUIMessages.UserValidationDialog_0); 
-	}
-	/**
-	 */
-	public void create() {
-		super.create();
-		//give focus to username field
-		usernameField.selectAll();
-		usernameField.setFocus();
-	}
-	/**
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite main = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		main.setLayout(layout);
-		main.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label label = new Label(main, SWT.WRAP);
-		String text = NLS.bind(NetUIMessages.UserValidationDialog_1, host); 
-		text += "\n\n" + message; //$NON-NLS-1$ 
-		label.setText(text);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		label.setLayoutData(data);
-
-		createUsernameFields(main);
-		createPasswordFields(main);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(main,
-				"org.eclipse.update.ui.UserValidationDialog"); //$NON-NLS-1$
-		return main;
-	}
-	/**
-	 * Creates the three widgets that represent the user name entry area.
-	 */
-	protected void createPasswordFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(NetUIMessages.UserValidationDialog_2); 
-
-		passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		passwordField.setLayoutData(data);
-
-		new Label(parent, SWT.NONE); //spacer
-	}
-	/**
-	 * Creates the three widgets that represent the user name entry area.
-	 */
-	protected void createUsernameFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(NetUIMessages.UserValidationDialog_3); 
-
-		usernameField = new Text(parent, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		usernameField.setLayoutData(data);
-
-		new Label(parent, SWT.NONE); //spacer
-	}
-	/**
-	 * Returns the UserAuthentication entered by the user, or null if the user
-	 * canceled.
-	 * @return the authentication information
-	 */
-	public Authentication getAuthentication() {
-		return userAuthentication;
-	}
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */
-	protected void okPressed() {
-		userAuthentication = new Authentication(usernameField.getText(),
-				passwordField.getText());
-		super.okPressed();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/messages.properties b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/messages.properties
deleted file mode 100644
index f0c10fa..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/messages.properties
+++ /dev/null
@@ -1,51 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-# yyyymmdd bug      Email and other contact information
-# -------- -------- -----------------------------------------------------------
-# 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
-###############################################################################
-
-#
-# Messages in InternetPreferencePage
-#
-BUTTON_PREFERENCE_ADD=Add &Host...
-BUTTON_PREFERENCE_EDIT=Ed&it...
-BUTTON_PREFERENCE_REMOVE=&Remove
-TITLE_PREFERENCE_HOSTS_DIALOG=Non Proxy host names
-LABEL_PREFERENCE_HOSTS_DIALOG=Enter host names separated by a vertical bar, space, or comma.
-
-ProxyPreferencePage_2=Proxy Preferences
-ProxyPreferencePage_3=Direct &connection to the Internet
-ProxyPreferencePage_4=&Manual proxy configuration:
-ProxyPreferencePage_5=&Use this proxy server for SSL
-ProxyPreferencePage_6=&No Proxy for:
-ProxyPreferencePage_7=&Enable proxy authentication:
-ProxyPreferencePage_8=Us&er Name:
-ProxyPreferencePage_9=&Password:
-ProxyPreferencePage_1=Specifies that no configuration is needed to access the Internet.
-ProxyPreferencePage_0=Specifies that a proxy server is required to access the Internet.
-ProxyPreferencePage_22=Port:
-ProxyPreferencePage_23=Specifies that the HTTP protocol settings should be used for the protocols below.
-ProxyPreferencePage_24=Specifies which hosts should not be routed via a proxy server.
-ProxyPreferencePage_25=Specifies that basic authentication is required.
-ProxyPreferencePage_26=Specifies the basic authentication user name.
-ProxyPreferencePage_27=Specifies the basic authentication password
-ProxyPreferencePage_37=&HTTP proxy:
-ProxyPreferencePage_38=&SSL proxy:
-ProxyPreferencePage_39=S&OCKS proxy:
-ProxyPreferencePage_40=The proxy service is not available
-ProxyPreferencePage_41=The host name cannot begin or end with a space character
-ProxyPreferencePage_42=Invalid port
-ProxyPreferencePage_43=The port must be an integer
-UserValidationDialog_0=Password Required
-UserValidationDialog_1=Connect to: {0}
-UserValidationDialog_2=&Password:
-UserValidationDialog_3=&User name:
-NonProxyHostsComposite_0=You can use the wildcard character * to specify a host name pattern and | to combine multiple patterns
diff --git a/examples/org.eclipse.compare.examples.xml/.classpath b/examples/org.eclipse.compare.examples.xml/.classpath
deleted file mode 100644
index ef70f95..0000000
--- a/examples/org.eclipse.compare.examples.xml/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="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/examples/org.eclipse.compare.examples.xml/.cvsignore b/examples/org.eclipse.compare.examples.xml/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.compare.examples.xml/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.compare.examples.xml/.project b/examples/org.eclipse.compare.examples.xml/.project
deleted file mode 100644
index 3df3ab3..0000000
--- a/examples/org.eclipse.compare.examples.xml/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.compare.examples.xml</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>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6eb6ae3..0000000
--- a/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Tue Nov 30 15:50:49 CET 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 85347de..0000000
--- a/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Jun 01 18:31:47 CEST 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.compare.examples.xml/IdMaps/ant_test.xml b/examples/org.eclipse.compare.examples.xml/IdMaps/ant_test.xml
deleted file mode 100644
index 5587170..0000000
--- a/examples/org.eclipse.compare.examples.xml/IdMaps/ant_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE idmap SYSTEM "idmap.dtd">
-
-<idmap name="ANT">
-	<element signature="root.project." id="name"/>
-	<element signature="root.project.target." id="name"/>
-</idmap>
diff --git a/examples/org.eclipse.compare.examples.xml/IdMaps/idmap.dtd b/examples/org.eclipse.compare.examples.xml/IdMaps/idmap.dtd
deleted file mode 100644
index b60a2fa..0000000
--- a/examples/org.eclipse.compare.examples.xml/IdMaps/idmap.dtd
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!ELEMENT idmap (element)*>

-<!ATTLIST idmat

-          name      CDATA #REQUIRED>

-<!ELEMENT element EMPTY>

-<!ATTLIST element

-          signature ID #REQUIRED

-          id_attr   CDATA #REQUIRED>

diff --git a/examples/org.eclipse.compare.examples.xml/about.html b/examples/org.eclipse.compare.examples.xml/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.compare.examples.xml/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.compare.examples.xml/build.properties b/examples/org.eclipse.compare.examples.xml/build.properties
deleted file mode 100644
index 678cea0..0000000
--- a/examples/org.eclipse.compare.examples.xml/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.xmlcompareexamples.jar = src/
-
-bin.includes = doc-html/,\
-				about.html,\
-				plugin.properties,\
-				plugin.xml,\
-				icons/,\
-				xmlcompareexamples.jar
-
-src.includes = about.html
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/CreateNewIDMapButton.gif b/examples/org.eclipse.compare.examples.xml/doc-html/CreateNewIDMapButton.gif
deleted file mode 100644
index 907a80b..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/CreateNewIDMapButton.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/EditCopy.gif b/examples/org.eclipse.compare.examples.xml/doc-html/EditCopy.gif
deleted file mode 100644
index 6e7eb1d..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/EditCopy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMapContextMenu.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMapContextMenu.gif
deleted file mode 100644
index e7f2052..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMapContextMenu.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_GeneralMatching.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_GeneralMatching.gif
deleted file mode 100644
index 9ff7062..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_GeneralMatching.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_MyPlugin.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_MyPlugin.gif
deleted file mode 100644
index 1ddf171..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_MyPlugin.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewIDMapScheme.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewIDMapScheme.gif
deleted file mode 100644
index 7c1d274..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewIDMapScheme.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_ContextMenu.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_ContextMenu.gif
deleted file mode 100644
index 93d1dc8..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_ContextMenu.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_PreferencePage.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_PreferencePage.gif
deleted file mode 100644
index 6d6e02b..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_PreferencePage.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_SelectMyPlugin.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_SelectMyPlugin.gif
deleted file mode 100644
index 3b16c75..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_SelectMyPlugin.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_MyANT.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_MyANT.gif
deleted file mode 100644
index d4278fe..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_MyANT.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewIDMapScheme.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewIDMapScheme.gif
deleted file mode 100644
index b9ac0da..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewIDMapScheme.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_ContextMenu.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_ContextMenu.gif
deleted file mode 100644
index 8c88298..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_ContextMenu.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_PreferencePage.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_PreferencePage.gif
deleted file mode 100644
index 0485d3c..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_PreferencePage.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_UnorderedScheme.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_UnorderedScheme.gif
deleted file mode 100644
index c58e567..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_UnorderedScheme.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/PreferencePage.gif b/examples/org.eclipse.compare.examples.xml/doc-html/PreferencePage.gif
deleted file mode 100644
index ba7912b..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/PreferencePage.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/addidmap.gif b/examples/org.eclipse.compare.examples.xml/doc-html/addidmap.gif
deleted file mode 100644
index 62dad8b..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/addidmap.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/idMapping.html b/examples/org.eclipse.compare.examples.xml/doc-html/idMapping.html
deleted file mode 100644
index bab1295..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/idMapping.html
+++ /dev/null
@@ -1,102 +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>XML Compare Extension Points: idMapping</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-idMapping</h1></center>
-<b><i>Identifier: </i></b>org.eclipse.compare.examples.xml.idMapping
-<p><b><i>Description: </i></b>This extension point allows to define internal XML ID Mapping
-schemes using the <i>mapping</i> element. These schemes can then be used when performing an XML compare to uniquely identify XML elements by the value of an
-attribute or the text in a child element.
-<br>Additionally, <i>ordered</i> elements can be used to specify that the direct children of an element should be compared in ordered fashion instead of the
-default unordered way.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT idmap (mapping*)></tt>
-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST idmap</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extension&nbsp;
-CDATA</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>name</b> - the name of the ID Mapping scheme. Should be unique.</li>
-<li>
-<b>extension</b> - (optional) a file extension associated with this ID Mapping Scheme.
-When comparing files with this extension, the current ID Mapping Scheme will automatically be used.
-<br>If an extension is specified, then the extension should also be added in the plugin.xml file of the XML Compare Plugin.
-For example, if we create an ID Mapping Scheme with extension cd, the plugin.xml of the XML Compare Plugin is updated as follows
-(update shown in bold):
-<tt>
-<p>&lt;extension
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point="org.eclipse.compare.structureMergeViewers">
-<br>&nbsp;&nbsp;&nbsp;&lt;structureMergeViewer
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extensions="xml,classpath,<b>cd</b>"
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class="org.eclipse.compare.xml.XMLStructureViewerCreator">
-<br>&nbsp;&nbsp;&nbsp;&lt;/structureMergeViewer>
-</tt>
-<p><b>Warning: </b>If an extension is associated more than once, only the first association will be considered.
-Also, internal ID Mapping schemes have priority over user ID Mapping schemes when duplicate extensions are defined.
-<p><b>Warning: </b>When an internal ID Mapping scheme with extension association is removed (from a <tt>plugin.xml</tt>), the XML Compare plugin has to be reloaded to disassociate itself from the extension.
-If not, on the first compare of files with this extension, the XML Compare plugin will be used with the default <em>Unordered</em> algorithm.
-(However, at this point the extension will have been disassociated from the XML Plugin, as the plugin has been loaded.)
-</ul>
-<br>
-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT mapping EMPTY></tt>
-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST mapping</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; signature&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id-source &nbsp;CDATA</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>signature</b> - the XML path from the root to the current element (see examples below).</li>
-
-<li>
-<b>id</b> - the attribute that identifies this element or the name of the child element
-whose text identifies this element.</li>
-
-<li>
-<b>id-source</b> - (optional) if <em>id</em> is the name of a child element, then this attribute must have
-the value <em>body</em>. If <em>id-source</em> is left out, it is assumed that <em>id</em> is an attribute.</li>
-</ul>
-<br>
-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT ordered EMPTY></tt>
-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST ordered</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; signature&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>signature</b> - the XML path from the root to the element whose direct children will be compared in ordered fashion instead of the default unordered way.</li>
-</li>
-</ul>
-<b><i>Examples:</i></b>
-<br>The following is an example ID Mappings Scheme for ANT files.
-<br><i>project</i> elements are identified by an attribute <i>name</i>. <i>target</i> elements (which are children of <i>project</i>) are also identified by an attribute <i>name</i>.
-Also, the children of <i>target</i> will be compared in the order in which they appear in the document.
-<tt>
-<p>&lt;idmap name="ANT">
-<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;mapping signature="project" id="name"/>
-<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;mapping signature="project>target" id="name"/>
-<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;ordered signature="project>target"/>
-<br>&lt;idmap>
-</tt>
-<p>The following example illustrates a case where the text of a child element is used as id:
-<tt>
-<p>&lt;idmap name="Book Catalog" extension="book">
-<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;mapping signature="catalog>book" id="isbn" id-source="body"/>
-<br>&lt;idmap>
-</tt>
-<p><b><i>Supplied Implementation:</i></b>
-<br>The XML Compare plugin defines an ID Mapping scheme for Eclipse <tt>plugin.xml</tt> files, one for <tt>.classpath</tt> files and one for ANT files.
-</body>
-</html>
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/smartmode_co.gif b/examples/org.eclipse.compare.examples.xml/doc-html/smartmode_co.gif
deleted file mode 100644
index 542dddc..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/smartmode_co.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/tutorial_and_examples.html b/examples/org.eclipse.compare.examples.xml/doc-html/tutorial_and_examples.html
deleted file mode 100644
index 1ec2421..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/tutorial_and_examples.html
+++ /dev/null
@@ -1,242 +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>Tutorial and Examples</title>
-</head>
-
-<h1>Tutorial and Examples</h1>
-<h2><a id="id_mapping" name="id_mapping">
-General Matching vs. ID Mapping Schemes:<br>How to create an ID Mapping Scheme to improve compare results
-</a></h2>
-Consider an example XML file in two slightly different versions, left and right. Assume that the element <tt>extension-point</tt> is uniquely identified by the attribute <tt>id</tt>.
-The textual differences are shown in bold.
-<table>
-<tr>
-<td><tt>
-<br>
-<p>&lt;?xml version="1.0" encoding="UTF-8"?>
-<p>&lt;plugin
-<br>
-&nbsp;&nbsp;&nbsp;name="%Plugin.name"
-<br>
-&nbsp;&nbsp;&nbsp;id="org.eclipse.ui"
-<br>
-&nbsp;&nbsp;&nbsp;version="1.0"
-<br>
-&nbsp;&nbsp;&nbsp;provider-name="Object Technology International, Inc."
-<br>
-&nbsp;&nbsp;&nbsp;class="org.eclipse.ui.internal.WorkbenchPlugin">
-<br>
-<br>&lt;extension-point name="%ExtPoint.editorMenus " id="editorActions"/>
-<br>&lt;extension-point name="%ExtPoint.popupMenus " id="popupMenus"/>
-<br>&lt;extension-point name="%ExtPoint.<b>importWizards</b>" id="<b>importWizards</b>"/>
-<br>
-<p>&lt;/plugin>
-</tt>
-</td>
-<td>
-&nbsp;&nbsp;
-</td>
-<td><tt>
-<p>&lt;?xml version="1.0" encoding="UTF-8"?>
-<p>&lt;plugin
-<br>
-&nbsp;&nbsp;&nbsp;name="%Plugin.name"
-<br>
-&nbsp;&nbsp;&nbsp;id="org.eclipse.ui"
-<br>
-&nbsp;&nbsp;&nbsp;version="1.0"
-<br>
-&nbsp;&nbsp;&nbsp;provider-name="Object Technology International, Inc."
-<br>
-&nbsp;&nbsp;&nbsp;class="org.eclipse.ui.internal.WorkbenchPlugin">
-<br>
-<br>&lt;extension-point name="%ExtPoint.editorMenus " id="editorActions"/>
-<br>&lt;extension-point name="%ExtPoint.popupMenus " id="popupMenus"/>
-<br>&lt;extension-point name="%ExtPoint.<b>exportWizards</b>" id="<b>exportWizards</b>"/>
-<br>
-<p>&lt;/plugin>
-</tt>
-</td>
-</tr>
-</table>
-<br>
-Assume that the order of the elements should be ignored. The structural difference between the two documents consists in the <tt>extension-point</tt> element on the left with <tt>id="importWizards"</tt> being replaced on the right with a new <tt>extension-point</tt> with <tt>id="exportWizards"</tt>.
-Using the general matching algorithm called <em>Unordered</em>, because it ignores the order in which the XML elements appear in the document, we obtain the following tree of differences.
-<br>
-<br>
-<img src="IDMap_GeneralMatching.gif" alt="Difference Tree using General Matching Algorithm">
-<br>
-<br>
-The first two <tt>extension-point</tt> elements are identical and are therefore matched and are not shown in the difference tree. There remains the third <tt>extension-point</tt> element on both sides which, having the same element name, are also matched.
-The difference tree then shows the differences between the third <tt>extension-point</tt> element left and the third <tt>extension-point</tt> element right.
-These differences consist in the values of the attributes <tt>id</tt> and <tt>name</tt>.
-<br>
-However, this is not what we would like to see. We would like the difference tree to show us that an <tt>extension-point</tt> element was removed from the left side and a new <tt>extension-point</tt> element was added on the right side.
-<br>
-To achieve this, we create a new ID Mapping Scheme. We can do this by using the appropriate button on toolbar.
-<br><br>
-<img src="IDMap_NewIDMapScheme.gif" alt="Creating a new ID Mapping Scheme">
-<br><br>
-Assume we call the ID Mapping Scheme <em>MyPlugin</em>. We now select the ID Mapping Scheme MyPlugin from the drop-down list in the Toolbar
-<br><br>
-<img src="IDMap_SelectMyPlugin.gif" alt="Select MyPlugin ID Map Scheme">
-<br><br>
-and add to it the following Mapping:
-<br><br>
-<table>
-<tr>
-<td>
-<img src="IDMap_NewMapping_PreferencePage.gif" alt="Creating a new mapping from the preference page">
-</td>
-<td>
-&nbsp;&nbsp;&nbsp;
-</td>
-<td>
-<img src="IDMap_NewMapping_ContextMenu.gif" alt="Creating a new mapping using the context menu">
-</td>
-</tr>
-</table>
-<br>
-This can be done from the preference page (left) or from the context menu in the structure view (right).
-<br>
-The difference tree now becomes:
-<br>
-(To refresh the structure view, click on the <img src="smartmode_co.gif" alt="Button for updating view"> button of the drop-down list in the toolbar.)
-<br><br>
-<img src="IDMap_MyPlugin.gif" alt="Difference Tree using MyPlugin ID Mapping Scheme">
-<br><br>
-This is the compare result that we wanted and that we achieved by created an ID Mapping Scheme.
-<br>
-<br>
-The XML Compare Plugin already comes with a ID Mapping Scheme for Plugin files, which can be customized for particular Plugin files.
-<br><br>
-<b>Warning:</b>
-<br>
-If an ID Mapping is created, it is assumed that the id is unique, i.e. there are no two XML elements with the same name and path that have the same id.
-Should this not be the case, the ID Mapping Scheme may not deliver a sensible difference tree.
-<br>
-When an id can appear more than once, one should rely on the general algorithm.
-<br>
-<br>
-Also, when an ID Mapping Scheme is used and there are elements with no id mapping specified, the <em>Unordered</em> compare method will be used, i.e. elements are matched by their similarity and not by the order in which they appear in the document.
-To specify that the children of an element should be compared in order of appearance. See the next section on Ordered entries.
-
-<h2>Adding Ordered entries</h2>
-Ordered entries are used to specify that the direct children (excluding attributes) of an xml element - identified by its path - should be compared in ordered way instead of the default unordered method.
-<br> As an example consider the following ANT file in two slightly different versions:
-<table>
-<tr>
-<td>
-<tt>
-<p>&lt;?xml version="1.0" encoding="UTF-8"?>
-<p>&lt;project name="org.junit.wizards" default="export" basedir="..">
-<br>
-&nbsp;&nbsp;&nbsp;&lt;target name="export" depends="build">
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir dir="${destdir}" />
-<br>
-<b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;delete dir="${dest}" />
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir dir="${dest}" />
-<br>
-</b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;jar
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jarfile="${dest}/JUnitWizard.jar"
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;basedir="bin"
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/>
-<br>&lt;/project>
-</tt>
-</td>
-<td>
-&nbsp;&nbsp;
-</td>
-<td>
-<tt>
-<p>&lt;?xml version="1.0" encoding="UTF-8"?>
-<p>&lt;project name="org.junit.wizards" default="export" basedir="..">
-<br>
-&nbsp;&nbsp;&nbsp;&lt;target name="export" depends="build">
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir dir="${destdir}"/>
-<br>
-<b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir dir="${dest}"/>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;delete dir="${dest}"/>
-<br>
-</b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;jar
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jarfile="${dest}/JUnitWizard.jar"
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;basedir="bin"
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/>
-<br>
-<b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;copy file="plugin.xml" todir="${dest}"/>
-</b>
-<br>&lt;/project>
-</tt>
-</td>
-</tr>
-</table>
-<br>
-The differences between the two documents are shown in bold. Two elements have been swapped (<tt>&lt;mkdir dir="${dest}"/></tt> and <tt>&lt;delete dir="${dest}"/></tt>) and a new element (<tt>&lt;copy .../></tt>) has been appended to the target element.
-<br>
-Performing an unordered compare will result in the following tree of differences:
-<br>
-<br>
-<img src="Ordered_UnorderedScheme.gif" alt="Difference Tree using Unordered Matching">
-<br>
-<br>
-The fact that two elements have been swapped is not shown since the order of elements is ignored.
-<br>
-However, from an ANT point of view, the two documents cause very different behaviour, because the order of the elements inside a <tt>target</tt> is important.
-We therefore want to create an <i>ordered entry</i> for target to instruct the compare engine to compare the direct children of target in ordered fashion.
-<br>
-We do so by first creating a new ID Mapping Scheme. This can be done using the appropriate button in the toolbar.
-<br><br>
-<img src="Ordered_NewIDMapScheme.gif" alt="Creating a new ID Mapping Scheme">
-<br><br>
-Assume we call the ID Mapping Scheme <em>MyANT</em>.
-<br>We now select the ID Mapping Scheme MyANT from the drop-down list in the Toolbar and add to it the following Ordered Entry:
-<br><br>
-<table>
-<tr>
-<td>
-<img src="Ordered_NewOrderedEntry_PreferencePage.gif" alt="Creating a new orderered entry from the preference page">
-</td>
-<td>
-&nbsp;&nbsp;&nbsp;
-</td>
-<td>
-<img src="Ordered_NewOrderedEntry_ContextMenu.gif" alt="Creating a new ordered entry using the context menu">
-</td>
-</tr>
-</table>
-<br>
-This can be done from the preference page (left) or from the context menu in the structure view (right).
-<br>
-The difference tree now becomes:
-<br>
-(To refresh the structure view, click on the <img src="smartmode_co.gif" alt="Button for updating view"> button of the drop-down list in the toolbar.)
-<br><br>
-<img src="Ordered_MyANT.gif" alt="Difference Tree using MyANT ID Mapping Scheme">
-<br><br>
-This is the compare result that we wanted and that we achieved by creating an Ordered Entry.
-<br>
-<br>
-Additionally, Id Mappings (see <a href="#id_mapping">previous section</a>) can be used to uniquely identify ordered children. Especially when there are many changes, this will improve compare results.
-<br>
-<br>
-The XML Compare Plugin already comes with a ID Mapping Scheme for ANT files, which can be customized for particular ANT files.
-</body>
-</html>
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/ui_xmlcompare_ex.html b/examples/org.eclipse.compare.examples.xml/doc-html/ui_xmlcompare_ex.html
deleted file mode 100644
index e2de251..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/ui_xmlcompare_ex.html
+++ /dev/null
@@ -1,83 +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>XML Compare Plugin</title>
-</head>
-
-<center><h1>Eclipse Platform XML Compare</h1></center>
-The XML Compare plugin allows you to perform a structural compare of two XML documents. It returns
-a difference tree which indicates which XML elements have been added or removed and - for modified XML elements -
-what differences there are with respect to attributes or body text.
-<h2>Installing the plugin</h2>
-<ul>
-<li>Copy the folder <tt>org.eclipse.compare.examples.xml</tt> to the <tt>plugins</tt> subfolder of Eclipse.
-</ul>
-<h2>Using the plugin</h2>
-The plugin is automatically used when comparing files with the extension .xml.
-<br>
-By default, the XML compare uses the <em>Unordered</em> compare method, which ignores the order in which the XML elements appear in the document and matches them so that elements which are most similar are matched.
-There is also an <em>Ordered</em> compare method, which simply compares the XML elements exactly in the order in which they appear in the document. In most cases, this compare method will not be of much use.
-<br>
-The compare method can be changed from a drop-down list in the toolbar of the structure view.
-<br>
-<br>
-When an XML document
-contains elements that can uniquely be identified by an attribute or the text of a child element,
-it is recommended that an ID Mapping Scheme be created for this type of XML document.
-<br>
-<br>
-See <a href="tutorial_and_examples.html">Tutorial and Examples</a> for more information on using the plugin.
-<br>
-<h3>ID Mapping Schemes</h3>
-An ID Mapping Scheme specifies for XML elements an attribute or the text of a child element that
-uniquely identifies this element. This assures that - in the compare process - the right elements will be 
-matched and therefore compared with each other. If for an XML element no ID Mapping is specified, a general matching algorithm
-is be used. However, this general matching algorithm does not always return the desired result.
-The reason for this is that the general matching algorithm looks for a matching of the nodes of the two parsed trees
-to compare that minimizes the differences. The effect is that often two XML elements are matched with are
-structurally similar but represent two completely different entities of information.
-<br>
-<h3>Ordered entries</h3>
-When using the default Unordered compare (with or without id mappings) it is sometimes desired to specify that the children of certain elements be compared in ordered fashion intead of the usual unordered method.
-For example, when comparing ANT files the order of appearance of the children of <tt>target</tt> elements is important.
-<br>In such cases one can create an <i>Ordered entry</i>. An Ordered entry specifies that the direct children of an xml element, identified by its path, will be compared in ordered fashion (attributes however are still compared in unordered way).
-The children of these children will continue to be compared in unordered way, unless otherwise specified.
-<h3>Defining ID Mapping Schemes and Ordered entries</h3>
-ID Mapping Schemes can be created in three different ways:
-<ol>
-<li>By extending the extension point <a href="idMapping.html"><em>idMapping</em></a></li>
-<li>Using the <a href="PreferencePage.gif">XML Compare Preference page</a>.</li>
-<li>Using the <a href="CreateNewIDMapButton.gif">Create new Id Map Scheme button</a> in the toolbar and the <a href="IDMapContextMenu.gif">context menu</a>
-</ol>
-Method 1 creates a so-called <em>internal</em> mapping scheme. An internal ID Mapping Scheme
-cannot be edited at runtime. However, using the <a href="EditCopy.gif"><em>Edit Copy</em></a> button in the Preference Page, an editable copy of the
-internal ID Mapping Scheme can be created.
-<br>
-Methods 2 and 3 create so-called <em>user</em> mapping schemes. These are created by the user at runtime and
-can be modified anytime in the Preference Page.
-<p>Internal and user mapping schemes can be associated with a file extension. As a result, when comparing two XML files with this file extension, the particular ID Mapping scheme with this extension
-is automatically used.
-<br>
-<br>
-When creating or editing the ID mapping for a particular XML element, four items must be specified (see <a href="IDMap_NewMapping_PreferencePage.gif">example</a>):
-<ol>
-<li>The element name.</li>
-<li>The element path. This is the path of the element from the root of the XML document to the element's parent.</li>
-<li>The name of the id which will identify the element</li>
-<li>Whether the id name in point 3 is the name of an attribute of the element or the name of one of its children (in which case the text of this child element
-will be used as id).</li>
-</ol>
-<br>
-<hr WIDTH="100%">
-<h1>
-Extension Points</h1>
-Only one extension point is available in the XML Compare plugin. It is used to create
-internal ID Mapping Schemes:
-<ul>
-<li>
-<a href="idMapping.html">org.eclipse.compare.examples.xml.idMapping</a></li>
-</ul>
-</body>
-</html>
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/addidmap.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/addidmap.gif
deleted file mode 100644
index 62dad8b..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/addidmap.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/attribute_obj.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/attribute_obj.gif
deleted file mode 100644
index 00bb7b4..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/attribute_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_obj.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_obj.gif
deleted file mode 100644
index 01f4889..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_ordered_obj.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_ordered_obj.gif
deleted file mode 100644
index e9adf7d..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_ordered_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/smartmode_co.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/smartmode_co.gif
deleted file mode 100644
index 542dddc..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/smartmode_co.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/text_obj.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/text_obj.gif
deleted file mode 100644
index 2a2b4b6..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/text_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/plugin.properties b/examples/org.eclipse.compare.examples.xml/plugin.properties
deleted file mode 100644
index 99b8b3a..0000000
--- a/examples/org.eclipse.compare.examples.xml/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Resource strings for XML Compare Examples plugin.xml file
-#
-pluginName= XML Compare Support
-providerName= Eclipse.org
-pluginNamePreferencePage= XML Compare
-idMapping= ID Mapping
-
-antMap=ANT
-eclipsePluginMap=Eclipse Plugin
-classpathMap=Eclipse ClassPath
diff --git a/examples/org.eclipse.compare.examples.xml/plugin.xml b/examples/org.eclipse.compare.examples.xml/plugin.xml
deleted file mode 100644
index 61908d5..0000000
--- a/examples/org.eclipse.compare.examples.xml/plugin.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.compare.examples.xml"
-   name="%pluginName"
-   version="3.3.0.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.compare.examples.xml.XMLPlugin">
-
-   <runtime>
-      <library name="xmlcompareexamples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.compare"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.junit"/>
-   </requires>
-
-
-   <extension-point id="idMapping" name="%idMapping" schema="schema/idMapping.exsd"/>
-
-   <extension
-         point="org.eclipse.compare.examples.xml.idMapping">
-      <idmap
-            name="%antMap"
-            id="antMap">
-         <mapping
-               signature="project"
-               id="name">
-         </mapping>
-         <mapping
-               signature="project&gt;target"
-               id="name">
-         </mapping>
-         <ordered
-               signature="project&gt;target">
-         </ordered>
-      </idmap>
-      <idmap
-            name="%eclipsePluginMap"
-            id="eclipsePluginMap">
-         <mapping
-               signature="plugin"
-               id="id">
-         </mapping>
-         <mapping
-               signature="plugin&gt;requires&gt;import"
-               id="plugin">
-         </mapping>
-         <mapping
-               signature="plugin&gt;runtime&gt;library"
-               id="name">
-         </mapping>
-         <mapping
-               signature="plugin&gt;runtime&gt;library&gt;export"
-               id="name">
-         </mapping>
-         <mapping
-               signature="plugin&gt;extension-point"
-               id="id">
-         </mapping>
-         <mapping
-               signature="plugin&gt;extension"
-               id="point">
-         </mapping>
-      </idmap>
-      <idmap
-            name="%classpathMap"
-            extension="CLASSPATH"
-            id="classpathMap">
-         <mapping
-               signature="classpath&gt;classpathentry"
-               id="path">
-         </mapping>
-      </idmap>
-   </extension>
-   
-   <extension
-         point="org.eclipse.compare.structureMergeViewers">
-      <viewer
-            extensions="xml,classpath"
-            class="org.eclipse.compare.examples.xml.XMLStructureViewerCreator"
-            id="org.eclipse.compare.examples.xml.XMLStructureViewerCreator">
-      </viewer>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%pluginNamePreferencePage"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.compare.examples.xml.XMLComparePreferencePage"
-            id="org.eclipse.compare.examples.xml.XMLComparePreferencePage">
-      </page>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd b/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd
deleted file mode 100644
index 3ab94af..0000000
--- a/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.compare.examples.xml">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.compare.examples.xml" id="idMapping" name="XML Id Mapping"/>
-      </appInfo>
-      <documentation>
-         This extension point allows to define internal XML ID Mapping schemes using the &lt;i&gt;mapping&lt;/i&gt; element.
-These schemes can then be used when performing an XML compare to uniquely identify XML elements by the
-value of an attribute or the text in a child element.
-Additionally, &lt;i&gt;ordered&lt;/i&gt; elements can be used to specify that the direct children of an element
-should be compared in an ordered fashion instead of the default unordered way.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="idMap" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="idMap">
-      <complexType>
-         <sequence>
-            <element ref="mapping"/>
-            <element ref="ordered"/>
-         </sequence>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the ID Mapping scheme. Should be unique.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="extension" type="string">
-            <annotation>
-               <documentation>
-                  a file extension associated with this ID Mapping Scheme.
-When comparing files with this extension, the current ID Mapping
-Scheme will automatically be used. 
-If an extension is specified, then the extension should also be added
-in the plugin.xml file of the XML Compare Plugin. For example, if we
-create an ID Mapping Scheme with extension cd, the plugin.xml of the
-XML Compare Plugin is updated as follows (update shown in bold): 
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension 
-ÊÊÊÊÊÊpoint=&quot;org.eclipse.compare.structureMergeViewers&quot;&gt; 
- &lt;structureMergeViewer 
-ÊÊÊÊÊÊÊÊÊextensions=&quot;xml,classpath,cd&quot;
-ÊÊÊÊÊÊÊÊÊclass=&quot;org.eclipse.compare.xml.XMLStructureViewerCreator&quot;
- /&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-Warning: If an extension is associated more than once, only the first
-association will be considered. Also, internal ID Mapping schemes have
-priority over user ID Mapping schemes when duplicate extensions are defined. 
-&lt;/p&gt;
-&lt;p&gt;
-Warning: When an internal ID Mapping scheme with extension association is
-removed (from a plugin.xml ), the XML Compare plugin has to be reloaded
-to disassociate itself from the extension. If not, on the first compare
-of files with this extension, the XML Compare plugin will be used with
-the default Unordered algorithm. (However, at this point the extension
-will have been disassociated from the XML Plugin, as the plugin has been loaded.)
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="mapping">
-      <complexType>
-         <attribute name="signature" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the XML path from the root to the current element (see examples below).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the attribute that identifies this element or the name of the child element whose text identifies this element.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id-source" type="string">
-            <annotation>
-               <documentation>
-                  if id is the name of a child element, then this attribute must have the value body.
-If id-source is left out, it is assumed that id is an attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="ordered">
-      <complexType>
-         <attribute name="signature" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the XML path from the root to the element whose direct children will be
-compared in ordered fashion instead of the default unordered way.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example ID Mappings Scheme for ANT files. 
-&lt;i&gt;project&lt;/i&gt; elements are identified by an &lt;i&gt;attribute name&lt;/i&gt;. &lt;i&gt;target&lt;/i&gt; elements (which are children of &lt;i&gt;project&lt;/i&gt;) are also identified by an attribute &lt;i&gt;name&lt;/i&gt;. Also, the children of &lt;i&gt;target&lt;/i&gt; will be compared in the order in which they appear in the document.
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point = &quot;org.eclipse.compare.examples.xml.idMapping&quot;&gt; 
- &lt;idmap name=&quot;ANT&quot;&gt;
-  &lt;mapping signature=&quot;project&quot; id=&quot;name&quot;/&gt;
-  &lt;mapping signature=&quot;project&gt;target&quot; id=&quot;name&quot;/&gt;
-  &lt;ordered signature=&quot;project&gt;target&quot;/&gt;
- &lt;idmap&gt;
-&lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-The following example illustrates a case where the text of a child element is used as the id:
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point = &quot;org.eclipse.compare.examples.xml.idMapping&quot;&gt; 
- &lt;idmap name=&quot;Book Catalog&quot; extension=&quot;book&quot;&gt;
-  &lt;mapping signature=&quot;catalog&gt;book&quot; id=&quot;isbn&quot; id-source=&quot;body&quot;/&gt;
- &lt;idmap&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The XML Compare plugin defines an ID Mapping scheme for Eclipse &lt;samp&gt;plugin.xml&lt;/samp&gt; files, one for &lt;samp&gt;.classpath&lt;/samp&gt; files and one for Ant files.
-      </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/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AbstractMatching.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AbstractMatching.java
deleted file mode 100644
index 158b624..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AbstractMatching.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.ArrayList;
-import java.util.Vector;
-
-import org.eclipse.compare.rangedifferencer.IRangeComparator;
-import org.eclipse.compare.rangedifferencer.RangeDifference;
-import org.eclipse.compare.rangedifferencer.RangeDifferencer;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * @version 	1.0
- * @author
- */
-public abstract class AbstractMatching {
-
-	protected static final int NO_ENTRY = -1;//value with which fDT elements are initialized
-	protected static final String SIGN_ELEMENT= XMLStructureCreator.SIGN_ELEMENT;
-	int[][] fDT;//Distance Table; 1st index from fNLeft, 2nd index from fNRight
-	ArrayList[][] fDT_Matchings;//Mathing entries of children for a match. 1st index from fNLeft, 2nd index from fNRight
-	Vector fNLeft;
-	Vector fNRight;
-	Vector fMatches;
-	
-	/* methods used for match */
-
-	/* finds all the leaves of a tree and puts them in a vector */
-	protected void findLeaves(XMLNode root, ArrayList leaves) {
-		if (isLeaf(root)) {
-			leaves.add(root);			
-		} else {
-			Object[] children = root.getChildren();
-			for (int i=0; i<children.length; i++)
-				findLeaves((XMLNode) children[i], leaves);
-		}
-	}
-
-	/* true if x is a leaf */
-	protected boolean isLeaf(XMLNode x) {
-		if (x == null) return true;
-		return x.getChildren() == null || x.getChildren().length <= 0;
-	}
-
-	/* Numbers all nodes of tree. The number of x is its index in the vector numbering */
-	protected void numberNodes(XMLNode root, Vector numbering) {
-		if (root != null) {
-			numbering.add(root);
-			Object[] children = root.getChildren();
-			if (children != null) {
-				for (int i=0; i<children.length; i++)
-					numberNodes((XMLNode) children[i], numbering);
-			}
-		}
-	}
-	
-	/* counts # of nodes in tree including root */
-	protected int countNodes(XMLNode root) {
-		if (root == null) return 0;
-		int count = 1;
-		if (isLeaf(root)) return count;
-		Object[] children = root.getChildren();
-		for (int i=0; i<children.length; i++)
-			count+=countNodes((XMLNode) children[i]);
-		return count;
-	}
-
-	/* returns index of node x in fNLeft */
-	protected int indexOfLN (XMLNode x) {
-		int i= 0;
-		while ((i<fNLeft.size()) && (fNLeft.elementAt(i) != x))
-			i++;
-		return i;
-	}
-	
-	/* returns index of node y in fNRight */
-	protected int indexOfRN (XMLNode y) {
-		int j= 0;
-		while ((j<fNRight.size()) && (fNRight.elementAt(j) != y))
-			j++;
-		return j;
-	}
-
-/* for testing */
- 	public Vector getMatches() {
-  		return fMatches;
-   	}
-
-	protected class XMLComparator implements IRangeComparator {
-	
-		private Object[] fXML_elements;
-	
-		public XMLComparator(Object[] xml_elements) {
-			fXML_elements= xml_elements;
-		}
-	
-		/*
-		 * @see IRangeComparator#getRangeCount()
-		 */
-		public int getRangeCount() {
-			return fXML_elements.length;
-		}
-	
-		/*
-		 * @see IRangeComparator#rangesEqual(int, IRangeComparator, int)
-		 */
-		public boolean rangesEqual(
-			int thisIndex,
-			IRangeComparator other_irc,
-			int otherIndex) {
-			
-			if (other_irc instanceof XMLComparator) {
-				XMLComparator other= (XMLComparator) other_irc;
-				//return ((XMLNode)fXML_elements[thisIndex]).subtreeEquals(other.getXML_elements()[otherIndex]);
-				
-				//ordered compare of subtrees
-				//boolean result= ((XMLNode)fXML_elements[thisIndex]).subtreeEquals(other.getXML_elements()[otherIndex]);
-				
-				//taking ids into account
-				boolean sameId= false;
-				XMLNode thisNode= (XMLNode)fXML_elements[thisIndex];
-				XMLNode otherNode= (XMLNode)other.getXML_elements()[otherIndex]; 
-				if ( thisNode.usesIDMAP() && otherNode.usesIDMAP() ) {
-					if ( otherNode.getOrigId().equals(thisNode.getOrigId()) ) {
-						sameId= true;
-					}
-				}
-				
-				//unordered compare of subtrees
-				// TODO The dist method is order dependent but should not be
-				int distance= dist(thisNode, otherNode);
-				return sameId || distance == 0;
-			}
-			return false;
-		}
-	
-		/*
-		 * @see IRangeComparator#skipRangeComparison(int, int, IRangeComparator)
-		 */
-		public boolean skipRangeComparison(
-			int length,
-			int maxLength,
-			IRangeComparator other) {
-			return false;
-		}
-	
-		public Object[] getXML_elements() {
-			return fXML_elements;
-		}
-	
-	}
-
-	/* represents a matching between a node in the Left tree and a node in the Right tree */
-	class Match {
-		public XMLNode fx;
-		public XMLNode fy;
-		
-		Match(XMLNode x, XMLNode y) {
-			fx = x;
-			fy = y;	
-		}
-		
-		public boolean equals(Object obj) {
-			if (obj instanceof Match) {
-				Match m = (Match) obj;
-				if (m != null)
-					return fx == m.fx && fy == m.fy;
-			}
-			return false;
-		}
-	}
-	
-	protected int handleRangeDifferencer(Object[] xc_elements, Object[] yc_elements, ArrayList DTMatching, int distance) {
-		RangeDifference[] differences= RangeDifferencer.findDifferences(new XMLComparator(xc_elements), new XMLComparator(yc_elements));
-		
-		int cur_pos_left= 0;
-		int cur_pos_right= 0;
-		for (int i= 0; i < differences.length; i++) {
-			RangeDifference rd= differences[i];
-			int equal_length= rd.leftStart();
-			//handle elements before current range which are unchanged
-			while (cur_pos_left < equal_length) {
-				//assuming XMLComparator has already filled fDT and fDT_Matchings for subtrees
-				//rooted at xc_elements[cur_pos_left] and yc_elements[cur_pos_right]
-//				if ( fDT[indexOfLN( (XMLNode)xc_elements[cur_pos_left])][indexOfRN( (XMLNode)yc_elements[cur_pos_right])] != 0)
-//					System.out.println("distance not 0");
-//				distance += fDT[indexOfLN( (XMLNode)xc_elements[cur_pos_left])][indexOfRN( (XMLNode)yc_elements[cur_pos_right])];
-				//DTMatching.addAll(fDT_Matchings[index_left][index_right]);
-				DTMatching.add(new Match( (XMLNode)xc_elements[cur_pos_left], (XMLNode)yc_elements[cur_pos_right]));
-				cur_pos_left++;
-				cur_pos_right++;
-			}
-			//now handle RangeDifference rd[i]
-			int smaller_length, greater_length;
-			boolean leftGreater= rd.leftLength() > rd.rightLength();
-			if (leftGreater) {
-				smaller_length= rd.rightLength();
-				greater_length= rd.leftLength();
-			} else {
-				smaller_length= rd.leftLength();
-				greater_length= rd.rightLength();
-			}
-			
-			//handle elements elements in range
-			for (int j=0; j < smaller_length; j++) {
-				distance += dist((XMLNode) xc_elements[cur_pos_left], (XMLNode) yc_elements[cur_pos_right]);
-				DTMatching.add(new Match( (XMLNode)xc_elements[cur_pos_left], (XMLNode)yc_elements[cur_pos_right]));
-				cur_pos_left++;
-				cur_pos_right++;
-			}
-			//int cur_pos_greater= (leftGreater)?cur_pos_left:cur_pos_right;
-			if (leftGreater) {
-				for (int j=smaller_length; j < greater_length; j++) {
-					distance += countNodes((XMLNode) xc_elements[cur_pos_left]);
-					DTMatching.add(new Match( (XMLNode)xc_elements[cur_pos_left], null));
-					cur_pos_left++;
-				}
-			} else {
-				for (int j=smaller_length; j < greater_length; j++) {
-					distance += countNodes((XMLNode) yc_elements[cur_pos_right]);
-				DTMatching.add(new Match( null, (XMLNode)yc_elements[cur_pos_right]));
-					cur_pos_right++;
-				}
-			}
-//			for (int j=smaller_length; j < greater_length; j++) {
-//				distance += countNodes((XMLNode) xc_elements[cur_pos_greater]);
-//				cur_pos_greater++;
-//			}
-//			if (leftGreater)
-//				cur_pos_left= cur_pos_greater;
-//			else
-//				cur_pos_right= cur_pos_greater;
-		}
-		
-		for (int i= cur_pos_left; i < xc_elements.length; i++) {
-			//distance += fDT[indexOfLN( (XMLNode)xc_elements[cur_pos_left])][indexOfRN( (XMLNode)yc_elements[cur_pos_right])];
-			//DTMatching.addAll(fDT_Matchings[index_left][index_right]);
-			DTMatching.add(new Match( (XMLNode)xc_elements[cur_pos_left], (XMLNode)yc_elements[cur_pos_right]));
-			cur_pos_left++;
-			cur_pos_right++;
-		}
-		
-		return distance;
-	}
-
-	abstract public void match(XMLNode LeftTree, XMLNode RightTree, boolean rightTreeIsAncestor, IProgressMonitor monitor);
-
-	protected int dist(XMLNode x, XMLNode y) {
-		//System.out.println("dist( "+x.getSignature()+" , "+y.getSignature()+")");
-		int ret= NO_ENTRY;
-
-		int index_x= indexOfLN(x);
-		int index_y= indexOfRN(y);
-		if (fDT[index_x][index_y] != NO_ENTRY) return fDT[index_x][index_y];
-		
-		if (isLeaf(x) && isLeaf(y)) {
-			if (x.getXMLType() == XMLStructureCreator.TYPE_ELEMENT) {
-				if ( x.getSignature().equals(y.getSignature()) ) {
-					ret= 0;
-					fDT[index_x][index_y] = ret;
-				} else {
-					ret= 2;
-					fDT[index_x][index_y] = ret;
-				}
-				return ret;
-			} else if (x.getXMLType() == XMLStructureCreator.TYPE_ATTRIBUTE || x.getXMLType() == XMLStructureCreator.TYPE_TEXT) {
-				if ( x.getSignature().equals(y.getSignature()) ) {
-					if (x.getValue().equals(y.getValue())) {
-						ret= 0;
-						fDT[index_x][index_y] = ret;
-					} else {
-						ret= 1;
-						fDT[index_x][index_y] = ret;
-					}
-				} else {
-					ret= 2;
-					fDT[index_x][index_y] = ret;
-				}
-				return ret;
-			}
-		} else {//x or y are not leaves
-			if ( !x.getSignature().equals(y.getSignature()) ) {
-				ret= countNodes(x) + countNodes(y);
-				fDT[index_x][index_y] = ret;
-				return ret;
-			}
-			//x.getSignature().equals(y.getSignature())
-			if (isLeaf(x)) {
-				ret= countNodes(y)-1;
-				fDT[index_x][index_y] = ret;
-				return ret;
-			}
-			if (isLeaf(y)) {
-				ret= countNodes(x)-1;
-				fDT[index_x][index_y] = ret;
-				return ret;
-			}
-			//both x and y have children
-			return handleXandYnotLeaves(x,y);
-		}
-		return ret;
-	}
-	
-	abstract int handleXandYnotLeaves(XMLNode x, XMLNode y);
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java
deleted file mode 100644
index 0e4b257..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.xml.sax.Attributes;
-
-/**
- * An Attributes implementation that can perform more operations
- * than the attribute list helper supplied with the standard SAX2
- * distribution.
- */
-public class AttributesImpl implements Attributes {
-
-	/** Head node. */
-	private ListNode fHead;
-
-	/** Tail node. */
-	private ListNode fTail;
-
-	/** Length. */
-	private int fLength;
-
-
-	/* Returns the number of attributes. */
-	public int getLength() {
-		return fLength;
-	}
-
-	/* Returns the index of the specified attribute. */
-	public int getIndex(String raw) {
-		ListNode place= fHead;
-		int index= 0;
-		while (place != null) {
-			if (place.raw.equals(raw)) {
-				return index;
-			}
-			index++;
-			place= place.next;
-		}
-		return -1;
-	}
-
-	/* Returns the index of the specified attribute. */
-	public int getIndex(String uri, String local) {
-		ListNode place= fHead;
-		int index= 0;
-		while (place != null) {
-			if (place.uri.equals(uri) && place.local.equals(local)) {
-				return index;
-			}
-			index++;
-			place= place.next;
-		}
-		return -1;
-	}
-
-	/* Returns the attribute URI by index. */
-	public String getURI(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return node != null ? node.uri : null;
-	}
-
-	/* Returns the attribute local name by index. */
-	public String getLocalName(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return node != null ? node.local : null;
-	}
-
-	/* Returns the attribute raw name by index. */
-	public String getQName(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return node != null ? node.raw : null;
-
-	}
-
-	/* Returns the attribute type by index. */
-	public String getType(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return (node != null) ? node.type : null;
-	}
-
-	/* Returns the attribute type by uri and local. */
-	public String getType(String uri, String local) {
-
-		ListNode node= getListNode(uri, local);
-		return (node != null) ? node.type : null;
-
-	}
-
-	/* Returns the attribute type by raw name. */
-	public String getType(String raw) {
-
-		ListNode node= getListNode(raw);
-		return (node != null) ? node.type : null;
-	}
-
-	/* Returns the attribute value by index. */
-	public String getValue(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return (node != null) ? node.value : null;
-	}
-
-	/* Returns the attribute value by uri and local. */
-	public String getValue(String uri, String local) {
-
-		ListNode node= getListNode(uri, local);
-		return (node != null) ? node.value : null;
-	}
-
-	/* Returns the attribute value by raw name. */
-	public String getValue(String raw) {
-
-		ListNode node= getListNode(raw);
-		return (node != null) ? node.value : null;
-	}
-
-	/* Adds an attribute. */
-	public void addAttribute(String raw, String type, String value) {
-		addAttribute(null, null, raw, type, value);
-	}
-
-	/* Adds an attribute. */
-	public void addAttribute(
-		String uri,
-		String local,
-		String raw,
-		String type,
-		String value) {
-
-		ListNode node= new ListNode(uri, local, raw, type, value);
-		if (fLength == 0) {
-			fHead= node;
-		} else {
-			fTail.next= node;
-		}
-		fTail= node;
-		fLength++;
-	}
-
-	/* Inserts an attribute. */
-	public void insertAttributeAt(
-		int index,
-		String raw,
-		String type,
-		String value) {
-		insertAttributeAt(index, null, null, raw, type, value);
-	}
-
-	/* Inserts an attribute. */
-	public void insertAttributeAt(
-		int index,
-		String uri,
-		String local,
-		String raw,
-		String type,
-		String value) {
-
-		// if list is empty, add attribute
-		if (fLength == 0 || index >= fLength) {
-			addAttribute(uri, local, raw, type, value);
-			return;
-		}
-
-		// insert at beginning of list
-		ListNode node= new ListNode(uri, local, raw, type, value);
-		if (index < 1) {
-			node.next= fHead;
-			fHead= node;
-		} else {
-			ListNode prev= getListNodeAt(index - 1);
-			node.next= prev.next;
-			prev.next= node;
-		}
-		fLength++;
-	}
-
-	/* Removes an attribute. */
-	public void removeAttributeAt(int index) {
-
-		if (fLength == 0)
-			return;
-
-		if (index == 0) {
-			fHead= fHead.next;
-			if (fHead == null) {
-				fTail= null;
-			}
-			fLength--;
-		} else {
-			ListNode prev= getListNodeAt(index - 1);
-			ListNode node= getListNodeAt(index);
-			if (node != null) {
-				prev.next= node.next;
-				if (node == fTail) {
-					fTail= prev;
-				}
-				fLength--;
-			}
-		}
-	}
-
-	/* Removes the specified attribute. */
-	public void removeAttribute(String raw) {
-		removeAttributeAt(getIndex(raw));
-	}
-
-	/* Removes the specified attribute. */
-	public void removeAttribute(String uri, String local) {
-		removeAttributeAt(getIndex(uri, local));
-	}
-
-	/* Returns the node at the specified index. */
-	private ListNode getListNodeAt(int i) {
-
-		for (ListNode place= fHead; place != null; place= place.next) {
-			if (--i == -1) {
-				return place;
-			}
-		}
-		return null;
-	}
-
-	/* Returns the first node with the specified uri and local. */
-	public ListNode getListNode(String uri, String local) {
-
-		if (uri != null && local != null) {
-			ListNode place= fHead;
-			while (place != null) {
-				if (place.uri != null
-					&& place.local != null
-					&& place.uri.equals(uri)
-					&& place.local.equals(local)) {
-					return place;
-				}
-				place= place.next;
-			}
-		}
-		return null;
-	}
-
-	/* Returns the first node with the specified raw name. */
-	private ListNode getListNode(String raw) {
-
-		if (raw != null) {
-			for (ListNode place= fHead; place != null; place= place.next) {
-				if (place.raw != null && place.raw.equals(raw)) {
-					return place;
-				}
-			}
-		}
-
-		return null;
-	}
-
-	/* Returns a string representation of this object. */
-	public String toString() {
-		StringBuffer str= new StringBuffer();
-
-		str.append('[');
-		str.append("len="); //$NON-NLS-1$
-		str.append(fLength);
-		str.append(", {"); //$NON-NLS-1$
-		for (ListNode place= fHead; place != null; place= place.next) {
-			str.append(place.toString());
-			if (place.next != null) {
-				str.append(", "); //$NON-NLS-1$
-			}
-		}
-		str.append("}]"); //$NON-NLS-1$
-
-		return str.toString();
-	}
-
-	/*
-	 * An attribute node.
-	 */
-	static class ListNode {
-
-		/** Attribute uri. */
-		public String uri;
-
-		/** Attribute local. */
-		public String local;
-
-		/** Attribute raw. */
-		public String raw;
-
-		/** Attribute type. */
-		public String type;
-
-		/** Attribute value. */
-		public String value;
-
-		/** Next node. */
-		public ListNode next;
-
-		/* Constructs a list node. */
-		public ListNode(
-			String uri0,
-			String local0,
-			String raw0,
-			String type0,
-			String value0) {
-
-			this.uri= uri0;
-			this.local= local0;
-			this.raw= raw0;
-			this.type= type0;
-			this.value= value0;
-
-		}
-
-		/* Returns string representation of this object. */
-		public String toString() {
-			return raw != null ? raw : local;
-		}
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ChooseMatcherDropDownAction.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ChooseMatcherDropDownAction.java
deleted file mode 100644
index cd2f2d6..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ChooseMatcherDropDownAction.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.jface.action.*;
-
-
-/**
- * Drop down menu to select a particular id mapping scheme
- */
-class ChooseMatcherDropDownAction extends Action implements IMenuCreator {
-
-	private XMLStructureViewer fViewer;
-
-	public ChooseMatcherDropDownAction(XMLStructureViewer viewer) {
-		fViewer = viewer;
-		setText(XMLCompareMessages.ChooseMatcherDropDownAction_text); 
-		setImageDescriptor(XMLPlugin.getDefault().getImageDescriptor("obj16/smartmode_co.gif")); //$NON-NLS-1$
-		setToolTipText(XMLCompareMessages.ChooseMatcherDropDownAction_tooltip); 
-		setMenuCreator(this);
-	}
-
-	public void dispose() {
-		// nothing to do
-	}
-
-	public Menu getMenu(Menu parent) {
-		return null;
-	}
-
-	public Menu getMenu(Control parent) {
-		XMLPlugin plugin= XMLPlugin.getDefault();
-		Menu menu= new Menu(parent);
-		addActionToMenu(menu, new SelectMatcherAction(XMLStructureCreator.USE_UNORDERED, fViewer));
-		addActionToMenu(menu, new SelectMatcherAction(XMLStructureCreator.USE_ORDERED, fViewer));
-		new MenuItem(menu, SWT.SEPARATOR);
-		HashMap IdMaps = plugin.getIdMaps();
-		HashMap IdMapsInternal = plugin.getIdMapsInternal();
-
-		Set keySetIdMaps = IdMaps.keySet();
-		Set keySetIdMapsInternal = IdMapsInternal.keySet();
-		ArrayList internalIdMapsAL= new ArrayList();
-		for (Iterator iter_internal = keySetIdMapsInternal.iterator(); iter_internal.hasNext(); ) {
-			String idmap_name = (String)iter_internal.next();
-			internalIdMapsAL.add(idmap_name);
-		}
-		Object[] internalIdMapsA= internalIdMapsAL.toArray();
-		Arrays.sort(internalIdMapsA);
-		for (int i= 0; i < internalIdMapsA.length; i++) {
-			addActionToMenu(menu, new SelectMatcherAction((String)internalIdMapsA[i], fViewer));
-		}
-		new MenuItem(menu, SWT.SEPARATOR);
-
-		ArrayList userIdMapsAL= new ArrayList();
-		for (Iterator iter_idmaps = keySetIdMaps.iterator(); iter_idmaps.hasNext(); ) {
-			String idmap_name = (String)iter_idmaps.next();
-			userIdMapsAL.add(idmap_name);
-		}
-		
-		HashMap OrderedElements= plugin.getOrderedElements();
-		Set keySetOrdered= OrderedElements.keySet();
-		for (Iterator iter_orderedElements= keySetOrdered.iterator(); iter_orderedElements.hasNext();) {
-			String idmap_name= (String) iter_orderedElements.next();
-			if (!keySetIdMaps.contains(idmap_name)) {
-				userIdMapsAL.add(idmap_name);
-			}
-		}
-
-		Object[] userIdMapsA= userIdMapsAL.toArray();
-		Arrays.sort(userIdMapsA);
-		for (int i= 0; i < userIdMapsA.length; i++) {
-			addActionToMenu(menu, new SelectMatcherAction((String)userIdMapsA[i], fViewer));
-		}
-		
-		return menu;
-	}
-
-	protected void addActionToMenu(Menu parent, Action action) {
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-
-	public void run() {
-		fViewer.contentChanged();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/CreateNewIdMapAction.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/CreateNewIdMapAction.java
deleted file mode 100644
index f7741b1..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/CreateNewIdMapAction.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.compare.examples.xml;
-
-import java.util.*;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-
-/**
- * Button to create a new id mapping scheme
- */
-public class CreateNewIdMapAction extends Action {
-
-	private HashMap fIdMaps;// HashMap ( idname -> HashMap (signature -> id) )
-	private HashMap fIdMapsInternal;
-	private HashMap fIdExtensionToName;
-	
-	public CreateNewIdMapAction(XMLStructureViewer viewer) {		
-		setImageDescriptor(XMLPlugin.getDefault().getImageDescriptor("obj16/addidmap.gif")); //$NON-NLS-1$
-		setToolTipText(XMLCompareMessages.XMLStructureViewer_newtask); 
-	}
-	
-	public void run() {
-		XMLPlugin plugin= XMLPlugin.getDefault();
-		fIdMapsInternal= plugin.getIdMapsInternal();//fIdMapsInternal is only read, not modified
-		
-		fIdMaps = new HashMap();
-		HashMap PluginIdMaps = plugin.getIdMaps();
-		Set keySet = PluginIdMaps.keySet();
-		for (Iterator iter = keySet.iterator(); iter.hasNext(); ) {
-			String key = (String) iter.next();
-			fIdMaps.put(key, ((HashMap)PluginIdMaps.get(key)).clone());
-		}
-		
-		fIdExtensionToName= new HashMap();
-		HashMap PluginIdExtensionToName= plugin.getIdExtensionToName();
-		keySet= PluginIdExtensionToName.keySet();
-		for (Iterator iter= keySet.iterator(); iter.hasNext(); ) {
-			String key= (String) iter.next();
-			fIdExtensionToName.put(key, PluginIdExtensionToName.get(key));
-		}
-		
-		IdMap idmap = new IdMap(false);
-		XMLCompareAddIdMapDialog dialog= new XMLCompareAddIdMapDialog(XMLPlugin.getActiveWorkbenchShell(),idmap,fIdMaps,fIdMapsInternal,fIdExtensionToName,false);
-		if (dialog.open() == Window.OK) {
-			if (!fIdMaps.containsKey(idmap.getName())) {
-				fIdMaps.put(idmap.getName(),new HashMap());
-				if (!idmap.getExtension().equals("")) //$NON-NLS-1$
-					fIdExtensionToName.put(idmap.getExtension(),idmap.getName());
-				XMLPlugin.getDefault().setIdMaps(fIdMaps,fIdExtensionToName,null,false);
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/IdMap.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/IdMap.java
deleted file mode 100644
index 96c4f72..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/IdMap.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.ArrayList;
-import java.util.Vector;
-
-/** This class is used to represent a id mapping scheme in the XML Compare preference page
- */
-public class IdMap {
-
-	private String fName;
-	private boolean fInternal;
-	private Vector fMappings;
-	private String fExtension;
-	private ArrayList fOrdered;//contains Mapping elements for list of ordered entries (the children of these elements will be compared in ordered fashion)
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme
-	 * @param internal true if the IdMap is internal
-	 */
-	public IdMap(boolean internal) {
-		this("", internal); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme
-	 * @param name The name of the mapping, as in fIdMaps/fIdMapsInternal HashMaps and fOrderedElements/fOrderedElementsInternal HashMaps
-	 * @param internal true if the IdMap is internal
-	 */
-	public IdMap(String name, boolean internal) {
-		this(name, internal, new Vector());
-	}
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme
-	 * @param name The name of the mapping, as in fIdMaps/fIdMapsInternal HashMaps and fOrderedElements/fOrderedElementsInternal HashMaps
-	 * @param internal true if the IdMap is internal
-	 * @param mappings Vector of Mapping elements which represent the id mappings of this id mapping scheme
-	 */
-	public IdMap(String name, boolean internal, Vector mappings) {
-		this(name, internal, mappings, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme.
-	 * @param name The name of the mapping, as in fIdMaps/fIdMapsInternal HashMaps and fOrderedElements/fOrderedElementsInternal HashMaps.
-	 * @param internal true if the IdMap is internal.
-	 * @param mappings Vector of Mapping elements which represent the id mappings of this id mapping scheme.
-	 * @param extension Optional extension to be associated with this id mapping scheme.
-	 */
-	public IdMap(String name, boolean internal, Vector mappings, String extension) {
-		this(name, internal, mappings, extension, null);
-	}
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme.
-	 * @param name The name of the mapping, as in fIdMaps/fIdMapsInternal HashMaps and fOrderedElements/fOrderedElementsInternal HashMaps.
-	 * @param internal true if the IdMap is internal.
-	 * @param mappings Vector of Mapping elements which represent the id mappings of this id mapping scheme.
-	 * @param extension Optional extension to be associated with this id mapping scheme.
-	 * @param ordered Optional ArrayList of Mapping elements representing ordered entries.
-	 */
-	public IdMap(String name, boolean internal, Vector mappings, String extension, ArrayList ordered) {
-		fName = name;
-		fInternal = internal;
-		fMappings = mappings;
-		fExtension= extension.toLowerCase();
-		fOrdered= ordered;
-	}
-	
-	/*
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof IdMap))
-			return false;
-			
-		IdMap idmap= (IdMap) object;
-
-		if (idmap == this)
-			return true;		
-
-		return
-			idmap.getName().equals(fName) &&
-			idmap.getMappings().equals(fMappings);
-	}
-	
-	/*
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return fName.hashCode() ^ fMappings.hashCode();
-	}
-
-	public void setName(String name) {
-		fName = name;
-	}
-	
-	public String getName() {
-		return fName;
-	}
-
-	public void setMappings(Vector mappings) {
-		fMappings = mappings;
-	}
-	
-	public Vector getMappings() {
-		return fMappings;
-	}
-
-	public void setInternal(boolean bool) {
-		fInternal = bool;
-	}
-	
-	public boolean isInternal() {
-		return fInternal;
-	}
-	
-	public void setExtension(String extension) {
-		fExtension= extension;
-	}
-	
-	public String getExtension() {
-		return fExtension;
-	}
-	public void setOrdered(ArrayList ordered) {
-		fOrdered= ordered;
-	}
-	public ArrayList getOrdered() {
-		return fOrdered;
-	}
-
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Mapping.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Mapping.java
deleted file mode 100644
index 4bf6f5b..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Mapping.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-/**
- * This class is used to represent a particular id mapping or ordered entry in the XML Compare preference page
- */
-public class Mapping {
-
-	private String fElement;
-	private String fSignature;
-	private String fIdAttribute;
-
-	public Mapping() {
-		this("", "", ""); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-	}
-
-	public Mapping(String element, String signature) {
-		this(element, signature, ""); //$NON-NLS-1$
-	}
-
-	public Mapping(String element, String signature, String idattribute) {
-		fElement = element;
-		fSignature = signature;
-		fIdAttribute = idattribute;
-	}
-	
-	/*
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof Mapping))
-			return false;
-			
-		Mapping mapping= (Mapping) object;
-
-		if (mapping == this)
-			return true;		
-
-		return
-			mapping.fElement.equals(fElement) &&
-			mapping.fSignature.equals(fSignature) &&
-			mapping.fIdAttribute.equals(fIdAttribute);
-	}
-	
-	/*
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return fElement.hashCode() ^ fSignature.hashCode();
-	}
-
-	public void setElement(String element) {
-		fElement = element;
-	}
-	public String getElement() {
-		return fElement;
-	}	
-
-	public void setSignature(String signature) {
-		fSignature = signature;
-	}
-	public String getSignature() {
-		return fSignature;
-	}
-	
-	public void setIdAttribute(String idattribute) {
-		fIdAttribute = idattribute;
-	}
-	public String getIdAttribute() {
-		return fIdAttribute;
-	}
-	
-	public String getKey() {
-		return getKey(fSignature, fElement);
-	}
-	
-	public static String getKey(String signature, String element) {
-		if (signature == "") //$NON-NLS-1$
-			return XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + element + XMLStructureCreator.SIGN_SEPARATOR;
-		return XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + signature + XMLStructureCreator.SIGN_SEPARATOR + element + XMLStructureCreator.SIGN_SEPARATOR;
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Messages.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Messages.java
deleted file mode 100644
index 1a327aa..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Messages.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.compare.examples.xml;
-
-import java.text.MessageFormat;
-
-/**
- * Helper class to format message strings.
- * 
- * @since 3.1
- */
-public class Messages {
-
-	public static String format(String message, Object object) {
-		return MessageFormat.format(message, new Object[] { object});
-	}
-
-	public static String format(String message, Object[] objects) {
-		return MessageFormat.format(message, objects);
-	}
-
-	private Messages() {
-		// Not for instantiation
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/OrderedMatching.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/OrderedMatching.java
deleted file mode 100644
index 325a6ce..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/OrderedMatching.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.ListIterator;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public class OrderedMatching extends AbstractMatching {
-
-	public OrderedMatching() {
-		super();
-	}
-
-	protected int orderedMath(XMLNode x, XMLNode y) {
-		//assumes x and y have children
-		Object[] xc= x.getChildren();
-		Object[] yc= y.getChildren();
-
-		ArrayList xc_elementsAL= new ArrayList();
-		ArrayList xc_attrsAL= new ArrayList();
-
-		ArrayList yc_elementsAL= new ArrayList();
-		ArrayList yc_attrsAL= new ArrayList();
-
-		//find attributes and elements and put them in xc_elementsAL and xc_attrsAL, respectively
-		for (int i= 0; i < xc.length; i++) {
-			XMLNode x_i= (XMLNode) xc[i];
-			if (x_i.getXMLType().equals(XMLStructureCreator.TYPE_ELEMENT)) {
-				xc_elementsAL.add(x_i);
-			} else if (
-				x_i.getXMLType().equals(XMLStructureCreator.TYPE_ATTRIBUTE)) {
-				xc_attrsAL.add(x_i);
-			}
-		}
-
-		//do the same for yc				
-		for (int i= 0; i < yc.length; i++) {
-			XMLNode y_i= (XMLNode) yc[i];
-			if (y_i.getXMLType().equals(XMLStructureCreator.TYPE_ELEMENT)) {
-				yc_elementsAL.add(y_i);
-			} else if (
-				y_i.getXMLType().equals(XMLStructureCreator.TYPE_ATTRIBUTE)) {
-				yc_attrsAL.add(y_i);
-			}
-		}
-
-		Object[] xc_elements= xc_elementsAL.toArray();
-		Object[] yc_elements= yc_elementsAL.toArray();
-
-		ArrayList DTMatching= new ArrayList();
-		// Matching to be added to Entry in fDT_Matchings
-		int distance= 0; //distance to be added to entry in fDT
-
-		// perform unordered matching on attributes
-		// this updates fDT and fDT_Matchings
-		if (xc_attrsAL.size() > 0 || yc_attrsAL.size() > 0) {
-			if (xc_attrsAL.size() == 0)
-				distance += yc_attrsAL.size();
-			else if (yc_attrsAL.size() == 0)
-				distance += xc_attrsAL.size();
-			else {
-				//unorderedMatch(x, y, xc_attrs, yc_attrs);
-				//				distance += fDT[indexOfLN(x)][indexOfRN(y)];
-				//				DTMatching= fDT_Matchings[indexOfLN(x)][indexOfRN(y)];
-				distance= handleAttributes(xc_attrsAL, yc_attrsAL, DTMatching);
-			}
-		}
-
-		//perform ordered matching on element children, i.e. number them in order of appearance
-
-		/* start new */
-		distance=
-			handleRangeDifferencer(
-				xc_elements,
-				yc_elements,
-				DTMatching,
-				distance);
-		/* end new */
-
-		/* start: Naive ordered compare /*
-		//			int minlength= (xc_elements.length > yc_elements.length)?yc_elements.length:xc_elements.length;
-		//			for (int i= 0; i < minlength; i++) {
-		//				distance += dist((XMLNode) xc_elements[i], (XMLNode) yc_elements[i]);
-		//				DTMatching.add(new Match( (XMLNode)xc_elements[i], (XMLNode)yc_elements[i]));
-		//			}
-		//			if (xc_elements.length > yc_elements.length) {
-		//				for (int i= minlength; i < xc_elements.length; i++) {
-		//					distance += countNodes((XMLNode) xc_elements[i]);
-		//				}
-		//			} else if (xc_elements.length < yc_elements.length) {
-		//				for (int i= minlength; i < yc_elements.length; i++) {
-		//					distance += countNodes((XMLNode) yc_elements[i]);
-		//				}
-		//			}
-		/* end: Naive ordered compare */
-
-		fDT[indexOfLN(x)][indexOfRN(y)]= distance;
-		fDT_Matchings[indexOfLN(x)][indexOfRN(y)]= DTMatching;
-		return distance;
-
-	}
-
-	/* matches two trees according to paper "X-Diff", p. 16 */
-	public void match(
-		XMLNode LeftTree,
-		XMLNode RightTree,
-		boolean rightTreeIsAncestor,
-		IProgressMonitor monitor) {
-
-		fNLeft= new Vector();
-		//numbering LeftTree: Mapping nodes in LeftTree to numbers to be used as array indexes
-		fNRight= new Vector();
-		//numbering RightTree: Mapping nodes in RightTree to numbers to be used as array indexes
-		numberNodes(LeftTree, fNLeft);
-		numberNodes(RightTree, fNRight);
-		fDT= new int[fNLeft.size()][fNRight.size()];
-		fDT_Matchings= new ArrayList[fNLeft.size()][fNRight.size()];
-		for (int i= 0; i < fDT.length; i++) {
-			fDT[i]= new int[fNRight.size()];
-			for (int j= 0; j < fDT[0].length; j++) {
-				fDT[i][j]= NO_ENTRY;
-			}
-		}
-
-		dist(LeftTree, RightTree);
-		//		/* mark matchings on LeftTree and RightTree */
-		fMatches= new Vector();
-		if (!LeftTree.getSignature().equals(RightTree.getSignature())) {
-			//matching is empty	
-		} else {
-			fMatches.add(new Match(LeftTree, RightTree));
-			for (int i_M= 0; i_M < fMatches.size(); i_M++) {
-				Match m= (Match) fMatches.elementAt(i_M);
-				if (!isLeaf(m.fx) && !isLeaf(m.fy)) {
-					//					if (fDT_Matchings[ indexOfLN(m.fx) ][ indexOfRN(m.fy) ] == null)
-					//						System.out.println("Error: ID not unique for " + m.fx.getId());
-					//					else
-					//						fMatches.addAll(fDT_Matchings[ indexOfLN(m.fx) ][ indexOfRN(m.fy) ]);
-					if (fDT_Matchings[indexOfLN(m.fx)][indexOfRN(m.fy)]
-						!= null)
-						fMatches.addAll(
-							fDT_Matchings[indexOfLN(m.fx)][indexOfRN(m.fy)]);
-				}
-			}
-		}
-		//end of Step2
-		/* Renumber Id of Nodes to follow Matches. Or for ancestor, copy over Id to ancestor */
-		if (rightTreeIsAncestor) {
-			for (ListIterator it_M= fMatches.listIterator(); it_M.hasNext();) {
-				Match m= (Match) it_M.next();
-				if (m.fx != null && m.fy != null)
-					m.fy.setId(m.fx.getId());
-			}
-		} else {
-			int newId= 0;
-			for (ListIterator it_M= fMatches.listIterator();
-				it_M.hasNext();
-				newId++) {
-				Match m= (Match) it_M.next();
-				if (m.fx != null)
-					m.fx.setId(Integer.toString(newId));
-				if (m.fy != null)
-					m.fy.setId(Integer.toString(newId));
-				//				System.out.println("Matching: "+ ((m.fx != null)?m.fx.getOrigId():"null")+" -> "+((m.fx != null)?m.fx.getId():"null")+" , "+((m.fy != null)?m.fy.getOrigId():"null")+" -> "+((m.fy != null)?m.fy.getId():"null")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			}
-		}
-		//if (monitor != null) monitor.done();
-	}
-
-	public int handleAttributes(
-		ArrayList xc_attrs,
-		ArrayList yc_attrs,
-		ArrayList DTMatching) {
-		int distance= 0;
-		x_for : for (
-			Iterator iter_xc= xc_attrs.iterator(); iter_xc.hasNext();) {
-			XMLNode x_attr= (XMLNode) iter_xc.next();
-			String x_attr_name= x_attr.getName();
-			for (Iterator iter_yc= yc_attrs.iterator(); iter_yc.hasNext();) {
-				XMLNode y_attr= (XMLNode) iter_yc.next();
-				if (y_attr.getName().equals(x_attr_name)) {
-					if (!y_attr.getValue().equals(x_attr.getValue()))
-						distance += 1;
-					DTMatching.add(new Match(x_attr, y_attr));
-					yc_attrs.remove(y_attr);
-					continue x_for;
-				}
-			}
-			DTMatching.add(new Match(x_attr, null));
-			distance += 1;
-		}
-
-		for (Iterator iter_yc= yc_attrs.iterator(); iter_yc.hasNext();) {
-			DTMatching.add(new Match(null, (XMLNode) iter_yc.next()));
-			distance += 1;
-		}
-
-		return distance;
-	}
-
-	protected int handleXandYnotLeaves(XMLNode x, XMLNode y) {
-		/* handle entries as ordered*/
-		return orderedMath(x, y);
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SWTUtil.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SWTUtil.java
deleted file mode 100644
index 67daa33..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SWTUtil.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.util.Assert;
-
-/**
- * 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;	
-	}
-	
-	private static double getVerticalDialogUnitSize(Control control) {
-		GC gc= new GC(control);
-		try {
-			int height = gc.getFontMetrics().getHeight();
-			return height * 0.125;
-		} finally {
-			gc.dispose();
-		}
-	}
-	
-	private static double getHorizontalDialogUnitSize(Control control) {
-		GC gc= new GC(control);
-		try {
-			int averageWidth= gc.getFontMetrics().getAverageCharWidth();
-			return averageWidth * 0.25;
-		} finally {
-			gc.dispose();
-		}
-	}	
-	
-	/*
-	 * @see DialogPage#convertHeightInCharsToPixels
-	 */
-	public static int convertHeightInCharsToPixels(int chars, Control control) {
-		return convertVerticalDLUsToPixels(chars * 8, control);
-	}
-
-	/*
-	 * @see DialogPage#convertHorizontalDLUsToPixels
-	 */
-	public static int convertHorizontalDLUsToPixels(int dlus, Control control) {
-		return (int)Math.round(dlus * getHorizontalDialogUnitSize(control));
-	}
-
-	/*
-	 * @see DialogPage#convertVerticalDLUsToPixels
-	 */
-	public static int convertVerticalDLUsToPixels(int dlus, Control control) {
-		return (int)Math.round(dlus * getVerticalDialogUnitSize(control));
-	}
-	
-	/*
-	 * @see DialogPage#convertWidthInCharsToPixels
-	 */
-	public static int convertWidthInCharsToPixels(int chars, Control control) {
-		return convertHorizontalDLUsToPixels(chars * 4, control);
-	}
-	
-	/*
-	 * Returns a width hint for a button control.
-	 */
-	public static int getButtonWidthHint(Button button) {
-		int widthHint= convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH, button);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/*
-	 * Returns a height hint for a button control.
-	 */		
-//	public static int getButtonHeigthHint(Button button) {
-//		return convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT, button);
-//	}		
-
-	/*
-	 * Sets width and height hint for the button control.
-	 * <b>Note:</b> This is a NOP if the button's layout data is not
-	 * an instance of <code>GridData</code>.
-	 * 
-	 * @param	the button for which to set the dimension hint
-	 */		
-	public static void setButtonDimensionHint(Button button) {
-		Assert.isNotNull(button);
-		Object gd= button.getLayoutData();
-		if (gd instanceof GridData) {
-			//((GridData)gd).heightHint= getButtonHeigthHint(button);
-			((GridData)gd).widthHint= getButtonWidthHint(button);		 
-		}
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SelectMatcherAction.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SelectMatcherAction.java
deleted file mode 100644
index a586233..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SelectMatcherAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.jface.action.Action;
-
-class SelectMatcherAction extends Action {
-
-	private XMLStructureViewer fViewer;
-	private String fDesc;
-
-	public SelectMatcherAction(String desc, XMLStructureViewer viewer) {
-		fViewer= viewer;
-		fDesc= desc;
-		setText(fDesc);
-		setToolTipText(fDesc);
-	}
-
-	public void run() {
-		((XMLStructureCreator) fViewer.getStructureCreator()).setIdMap(fDesc);
-		fViewer.contentChanged();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLChildren.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLChildren.java
deleted file mode 100644
index 300255b..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLChildren.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.text.IDocument;
-
-/** XMLNode that has children elements */
-public class XMLChildren extends XMLNode {
-	
-	public int children;	// counts the number of children
-	public HashMap childElements;	// maps the name of XML child elements to their # of occurence
-	
-	public XMLChildren(String XMLType, String id, String value, String signature, IDocument doc, int start, int length) {
-		super(XMLType, id, value, signature, doc, start, length);
-		children= 0;
-		childElements = new HashMap();
-	}
-}
-
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareAddIdMapDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareAddIdMapDialog.java
deleted file mode 100644
index 7e0eb96..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareAddIdMapDialog.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.compare.examples.xml;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.compare.examples.xml.ui.StatusDialog;
-import org.eclipse.compare.examples.xml.ui.StatusInfo;
-
-/**
- * This class is used to add or edit an ID Mapping Scheme
- */
-public class XMLCompareAddIdMapDialog extends StatusDialog {
-	
-	private IdMap fIdMap;
-	private HashMap fIdMaps;
-	private HashMap fIdMapsInternal;
-	private HashMap fIdExtensionToName;
-	private boolean fEdit;
-	
-	private Text fIdMapText;
-	private Text fIdMapExtText;
-
-	public XMLCompareAddIdMapDialog(Shell parent, IdMap idmap, HashMap idmaps, HashMap idmapsInternal, HashMap idextensiontoname, boolean edit) {
-		super(parent);
-	
-		fEdit= edit;
-		if (fEdit)
-			setTitle(XMLCompareMessages.XMLCompareAddIdMapDialog_editTitle); 
-		else
-			setTitle(XMLCompareMessages.XMLCompareAddIdMapDialog_newTitle); 
-
-		fIdMap= idmap;
-		fIdMaps= idmaps;
-		fIdMapsInternal= idmapsInternal;
-		fIdExtensionToName= idextensiontoname;
-	}
-	
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param ancestor the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */		
-	protected Control createDialogArea(Composite ancestor) {
-		Composite composite= (Composite) super.createDialogArea(ancestor);
-		
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Label label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareAddIdMapDialog_label); 
-		label.setLayoutData(new GridData());
-
-		fIdMapText= new Text(inner, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertWidthInCharsToPixels(30);
-		fIdMapText.setLayoutData(data);
-		fIdMapText.setText(fIdMap.getName());
-		fIdMapText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-	
-		label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareAddIdMapDialog_extlabel); 
-		label.setLayoutData(new GridData());
-
-		fIdMapExtText= new Text(inner, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertWidthInCharsToPixels(30);
-		fIdMapExtText.setLayoutData(data);
-		fIdMapExtText.setText(fIdMap.getExtension());
-		fIdMapExtText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		
-		fIdMapText.setFocus();
-
-		return composite;
-	}
-	
-	/**
-	 * Validate user input
-	 */		
-	private void doValidation() {
-		StatusInfo status= new StatusInfo();
-		String newText= fIdMapText.getText();
-		if (newText.length() == 0)
-			status.setError(XMLCompareMessages.XMLCompareAddIdMapDialog_error_noname); 
-		else if (XMLComparePreferencePage.containsInvalidCharacters(newText))
-			status.setError(XMLCompareMessages.XMLCompareAddIdMapDialog_error_invalidname); 
-		else if ( (!fEdit && (fIdMaps.containsKey(newText) || fIdMapsInternal.containsKey(newText)) )
-					|| (fEdit && !newText.equals(fIdMap.getName()) && (fIdMaps.containsKey(newText) || fIdMapsInternal.containsKey(newText)) )
-				 )
-			status.setError(XMLCompareMessages.XMLCompareAddIdMapDialog_error_idmapExists); 
-		newText= fIdMapExtText.getText().toLowerCase();
-		if (newText.length() > 0) {
-			if (newText.indexOf(".") > -1) //$NON-NLS-1$
-				status.setError(XMLCompareMessages.XMLCompareAddIdMapDialog_error_extfullstop); 
-			else if (fIdExtensionToName.containsKey(newText) && !fIdExtensionToName.get(newText).equals(fIdMap.getName()))
-				status.setError(MessageFormat.format("{0} {1}",new String[] {XMLCompareMessages.XMLCompareAddIdMapDialog_error_extExists,(String)fIdExtensionToName.get(newText)}));  //$NON-NLS-1$
-		}
-		updateStatus(status);
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */	
-	protected void okPressed() {
-		fIdMap.setName(fIdMapText.getText());
-		fIdMap.setExtension(fIdMapExtText.getText().toLowerCase());
-		super.okPressed();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditCopyIdMapDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditCopyIdMapDialog.java
deleted file mode 100644
index cd0881b..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditCopyIdMapDialog.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.HashMap;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.compare.examples.xml.ui.StatusDialog;
-import org.eclipse.compare.examples.xml.ui.StatusInfo;
-
-/**
- * This class is used to create an editable ID Mapping Scheme from an internal ID Mappping Scheme
- */
-public class XMLCompareEditCopyIdMapDialog extends StatusDialog {
-	
-	private HashMap fIdMaps;
-	private HashMap fIdMapsInternal;
-	
-	private Text fIdMapText;
-	private String fResult;
-
-	/*
-	 * Constructs a new edit copy mapping dialog.
-	 */	
-	public XMLCompareEditCopyIdMapDialog(Shell parent, IdMap idmap, HashMap idmaps, HashMap idmapsInternal) {
-		super(parent);
-	
-		setTitle(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_title); 
-
-		fIdMaps= idmaps;
-		fIdMapsInternal= idmapsInternal;
-	}
-	
-	public String getResult() {
-		return fResult;
-	}
-	
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param ancestor the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */		
-	protected Control createDialogArea(Composite ancestor) {
-		Composite composite= (Composite) super.createDialogArea(ancestor);
-		
-		Label comment= new Label(composite, SWT.NONE);
-		comment.setText(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_comment); 
-		GridData data= new GridData();
-		data.horizontalAlignment= GridData.FILL;
-		data.verticalAlignment= GridData.BEGINNING;
-		comment.setLayoutData(data);
-		
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Label label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_label); 
-		label.setLayoutData(new GridData());
-
-		fIdMapText= new Text(inner, SWT.BORDER);
-		fIdMapText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fIdMapText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		fIdMapText.setFocus();
-		
-		return composite;
-	}
-	
-	/**
-	 * Validate user input
-	 */		
-	private void doValidation() {
-		StatusInfo status= new StatusInfo();
-		String newText= fIdMapText.getText();
-		if (newText.length() == 0)
-			status.setError(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_error_noname); 
-		else if (XMLComparePreferencePage.containsInvalidCharacters(newText))
-			status.setError(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_error_invalidname); 
-		else if (fIdMaps.containsKey(newText) || fIdMapsInternal.containsKey(newText))
-			status.setError(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_error_nameExists); 
-		updateStatus(status);
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */		
-	protected void okPressed() {
-		fResult= fIdMapText.getText();
-		super.okPressed();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditMappingDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditMappingDialog.java
deleted file mode 100644
index 7b3d24c..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditMappingDialog.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.HashMap;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.compare.examples.xml.ui.StatusDialog;
-import org.eclipse.compare.examples.xml.ui.StatusInfo;
-
-/**
- * This class is used to add or edit a particular ID Mapping
- */
-public class XMLCompareEditMappingDialog extends StatusDialog {
-	
-	private Mapping fMapping;
-	private HashMap fIdmapHM;
-	private boolean fEdit;
-	
-	private Text fElementText;
-	private Text fSignatureText;
-	private Text fIdAttributeText;
-
-	private Button fIdTypeAttributeButton;
-	private Button fIdTypeChildBodyButton;
-	
-	/*
-	 * Constructs a new edit mapping dialog.
-	 */		
-	public XMLCompareEditMappingDialog(Shell parent, Mapping mapping, HashMap idmapHM, boolean edit) {
-		super(parent);
-	
-		int shellStyle= getShellStyle();
-		setShellStyle(shellStyle | SWT.MAX | SWT.RESIZE);
-
-	
-		fEdit= edit;
-		if (fEdit)
-			setTitle(XMLCompareMessages.XMLCompareEditMappingDialog_editTitle); 
-		else
-			setTitle(XMLCompareMessages.XMLCompareEditMappingDialog_newTitle); 
-
-		fMapping= mapping;
-		fIdmapHM= idmapHM;
-	}
-	
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param ancestor the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */	
-	protected Control createDialogArea(Composite ancestor) {
-		Composite composite= (Composite) super.createDialogArea(ancestor);
-		
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		//Element
-		Label label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_element); 
-		label.setLayoutData(new GridData());
-
-		fElementText= new Text(inner, SWT.BORDER);
-		fElementText.setText(fMapping.getElement());
-		fElementText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fElementText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		//Signature
-		label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_signature); 
-		label.setLayoutData(new GridData());
-
-		fSignatureText= new Text(inner, SWT.BORDER);
-		fSignatureText.setText(fMapping.getSignature());
-		GridData data= new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint= convertWidthInCharsToPixels(50);
-		fSignatureText.setLayoutData(data);
-		fSignatureText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-		
-		//Id Attribute
-		label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_idattribute); 
-		label.setLayoutData(new GridData());
-
-		fIdAttributeText= new Text(inner, SWT.BORDER);
-
-		fIdAttributeText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fIdAttributeText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		//Id Source
-		createIdSourceGroup(inner);
-
-		fElementText.setFocus();
-
-		return composite;
-	}
-	
-	/**
-	 * Validate user input
-	 */	
-	private void doValidation() {
-		StatusInfo status= new StatusInfo();
-		String text= fElementText.getText();
-		String mappingKey= Mapping.getKey(fSignatureText.getText(), text);
-		String errormsg= ""; //$NON-NLS-1$
-		boolean isError= false;
-		if (text.length() == 0) {
-			errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_noname; 
-			isError= true;
-		} else if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalidname;  //$NON-NLS-1$
-			isError= true;
-		} else if (!fEdit && fIdmapHM != null && fIdmapHM.containsKey(mappingKey)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_mappingExists;  //$NON-NLS-1$
-			isError= true;
-		}
-		text= fSignatureText.getText();
-		if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalidsignature;  //$NON-NLS-1$
-			isError= true;
-		}
-		text= fIdAttributeText.getText();
-		if (text.length() == 0)
-			isError= true;
-		else if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalididattribute;  //$NON-NLS-1$
-			isError= true;
-		}
-		if (isError) status.setError(errormsg);
-		updateStatus(status);
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */	
-	protected void okPressed() {
-		fMapping.setElement(fElementText.getText());
-		fMapping.setSignature(fSignatureText.getText());
-		String idtext= fIdAttributeText.getText();
-		if (fIdTypeChildBodyButton.getSelection()) {
-			idtext= new Character(XMLStructureCreator.ID_TYPE_BODY) + idtext;
-		}
-		fMapping.setIdAttribute(idtext);
-		super.okPressed();
-	}
-	
-	private void createIdSourceGroup(Composite composite) {
-		Label titleLabel= new Label(composite, SWT.NONE);
-		titleLabel.setText(XMLCompareMessages.XMLCompareEditMappingDialog_idtype); 
-		titleLabel.setToolTipText(XMLCompareMessages.XMLCompareEditMappingDialog_idtype_tooltip); 
-	
-		Composite buttonComposite= new Composite(composite, SWT.LEFT);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		buttonComposite.setLayout(layout);
-		composite.setData(new GridData());
-	
-		//attribute button
-		fIdTypeAttributeButton= createRadioButton(buttonComposite, XMLCompareMessages.XMLComparePreference_idtype_attribute); 
-		fIdTypeAttributeButton.setToolTipText(XMLCompareMessages.XMLCompareEditMappingDialog_idtype_attribute_tooltip); 
-	
-		//child body button
-		fIdTypeChildBodyButton= createRadioButton(buttonComposite, XMLCompareMessages.XMLComparePreference_idtype_child_body); 
-		fIdTypeChildBodyButton.setToolTipText(XMLCompareMessages.XMLCompareEditMappingDialog_idtype_childbody_tooltip); 
-	
-		String idtext= fMapping.getIdAttribute();
-		if (fEdit && idtext.charAt(0) == XMLStructureCreator.ID_TYPE_BODY) {
-			idtext= idtext.substring(1,idtext.length());
-			fIdTypeChildBodyButton.setSelection(true);
-		} else
-			fIdTypeAttributeButton.setSelection(true);
-		fIdAttributeText.setText(idtext);
-	
-	}
-
-	private Button createRadioButton(Composite parent, String label) {
-		Button button= new Button(parent, SWT.RADIO | SWT.LEFT);
-		button.setText(label);
-		GridData data= new GridData();
-		button.setLayoutData(data);
-		return button;
-	}	
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditOrderedDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditOrderedDialog.java
deleted file mode 100644
index c519224..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditOrderedDialog.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.ArrayList;
-
-import org.eclipse.compare.examples.xml.ui.StatusDialog;
-import org.eclipse.compare.examples.xml.ui.StatusInfo;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * This class is used to add or edit a particular ID Mapping
- */
-public class XMLCompareEditOrderedDialog extends StatusDialog {
-	
-	private Mapping fMapping;
-	private ArrayList fIdmapAL;
-	private boolean fEdit;
-	
-	private Text fElementText;
-	private Text fSignatureText;
-
-	/*
-	 * Constructs a new edit mapping dialog.
-	 */		
-	public XMLCompareEditOrderedDialog(Shell parent, Mapping mapping, ArrayList idmapAL, boolean edit) {
-		super(parent);
-	
-		int shellStyle= getShellStyle();
-		setShellStyle(shellStyle | SWT.MAX | SWT.RESIZE);
-
-	
-		fEdit= edit;
-		if (fEdit)
-			setTitle(XMLCompareMessages.XMLCompareEditOrderedDialog_editTitle); 
-		else
-			setTitle(XMLCompareMessages.XMLCompareEditOrderedDialog_newTitle); 
-
-		fMapping= mapping;
-		fIdmapAL= idmapAL;
-	}
-	
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param ancestor the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */	
-	protected Control createDialogArea(Composite ancestor) {
-		Composite composite= (Composite) super.createDialogArea(ancestor);
-		
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		//Element
-		Label label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_element); 
-		label.setLayoutData(new GridData());
-
-		fElementText= new Text(inner, SWT.BORDER);
-		fElementText.setText(fMapping.getElement());
-		fElementText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fElementText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		//Signature
-		label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_signature); 
-		label.setLayoutData(new GridData());
-
-		fSignatureText= new Text(inner, SWT.BORDER);
-		fSignatureText.setText(fMapping.getSignature());
-		GridData data= new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint= convertWidthInCharsToPixels(50);
-		fSignatureText.setLayoutData(data);
-		fSignatureText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-		
-		fElementText.setFocus();
-
-		return composite;
-	}
-	
-	/**
-	 * Validate user input
-	 */	
-	private void doValidation() {
-		StatusInfo status= new StatusInfo();
-		String text= fElementText.getText();
-		String mappingKey= Mapping.getKey(fSignatureText.getText(), text);
-		String errormsg= ""; //$NON-NLS-1$
-		boolean isError= false;
-		if (text.length() == 0) {
-			errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_noname; 
-			isError= true;
-		} else if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalidname;  //$NON-NLS-1$
-			isError= true;
-		} else if (!fEdit && fIdmapAL.contains(mappingKey)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditOrderedDialog_error_orderedExists;  //$NON-NLS-1$
-			isError= true;
-		}
-		text= fSignatureText.getText();
-		if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalidsignature;  //$NON-NLS-1$
-			isError= true;
-		}
-		if (isError) status.setError(errormsg);
-		updateStatus(status);
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */	
-	protected void okPressed() {
-		fMapping.setElement(fElementText.getText());
-		fMapping.setSignature(fSignatureText.getText());
-		super.okPressed();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareMessages.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareMessages.java
deleted file mode 100644
index aefee54..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareMessages.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class XMLCompareMessages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.compare.examples.xml.xmlcompare";//$NON-NLS-1$
-
-	private XMLCompareMessages() {
-		// Do not instantiate
-	}
-
-	public static String XMLStructureCreator_pluginname;
-	public static String XMLStructureCreator_unordered;
-	public static String XMLStructureCreator_ordered;
-	public static String XMLStructureCreator_idmap_unordered;
-	public static String XMLStructureCreator_id_map_scheme;
-	public static String XMLStructureCreator_body;
-	public static String ChooseMatcherDropDownAction_text;
-	public static String ChooseMatcherDropDownAction_tooltip;
-	public static String XMLComparePreference_idtype_attribute;
-	public static String XMLComparePreference_idtype_child_body;
-	public static String XMLComparePreference_topTableLabel;
-	public static String XMLComparePreference_topTableColumn1;
-	public static String XMLComparePreference_topTableColumn2;
-	public static String XMLComparePreference_topTableColumn2internal;
-	public static String XMLComparePreference_topTableColumn2user;
-	public static String XMLComparePreference_topTableColumn3;
-	public static String XMLComparePreference_topAdd;
-	public static String XMLComparePreference_topRename;
-	public static String XMLComparePreference_topRemove;
-	public static String XMLComparePreference_topEdit;
-	public static String XMLComparePreference_middleTableColumn1;
-	public static String XMLComparePreference_middleTableColumn2;
-	public static String XMLComparePreference_middleTableColumn3;
-	public static String XMLComparePreference_middleTableColumn4;
-	public static String XMLComparePreference_middleNew;
-	public static String XMLComparePreference_middleEdit;
-	public static String XMLComparePreference_middleRemove;
-	public static String XMLComparePreference_middleTableLabel;
-	public static String XMLComparePreference_bottomTableLabel;
-	public static String XMLComparePreference_bottomTableColumn1;
-	public static String XMLComparePreference_bottomTableColumn2;
-	public static String XMLComparePreference_bottomNew;
-	public static String XMLComparePreference_bottomEdit;
-	public static String XMLComparePreference_bottomRemove;
-	public static String XMLCompareAddIdMapDialog_editTitle;
-	public static String XMLCompareAddIdMapDialog_newTitle;
-	public static String XMLCompareAddIdMapDialog_label;
-	public static String XMLCompareAddIdMapDialog_extlabel;
-	public static String XMLCompareAddIdMapDialog_error_noname;
-	public static String XMLCompareAddIdMapDialog_error_invalidname;
-	public static String XMLCompareAddIdMapDialog_error_idmapExists;
-	public static String XMLCompareAddIdMapDialog_error_extfullstop;
-	public static String XMLCompareAddIdMapDialog_error_extExists;
-	public static String XMLCompareEditCopyIdMapDialog_title;
-	public static String XMLCompareEditCopyIdMapDialog_comment;
-	public static String XMLCompareEditCopyIdMapDialog_label;
-	public static String XMLCompareEditCopyIdMapDialog_error_noname;
-	public static String XMLCompareEditCopyIdMapDialog_error_invalidname;
-	public static String XMLCompareEditCopyIdMapDialog_error_nameExists;
-	public static String XMLCompareEditMappingDialog_editTitle;
-	public static String XMLCompareEditMappingDialog_newTitle;
-	public static String XMLCompareEditMappingDialog_element;
-	public static String XMLCompareEditMappingDialog_signature;
-	public static String XMLCompareEditMappingDialog_idattribute;
-	public static String XMLCompareEditMappingDialog_idtype;
-	public static String XMLCompareEditMappingDialog_idtype_tooltip;
-	public static String XMLCompareEditMappingDialog_idtype_attribute_tooltip;
-	public static String XMLCompareEditMappingDialog_idtype_childbody_tooltip;
-	public static String XMLCompareEditMappingDialog_error_noname;
-	public static String XMLCompareEditMappingDialog_error_invalidname;
-	public static String XMLCompareEditMappingDialog_error_mappingExists;
-	public static String XMLCompareEditMappingDialog_error_invalidsignature;
-	public static String XMLCompareEditMappingDialog_error_invalididattribute;
-	public static String XMLCompareEditOrderedDialog_newTitle;
-	public static String XMLCompareEditOrderedDialog_editTitle;
-	public static String XMLCompareEditOrderedDialog_error_orderedExists;
-	public static String XMLStructureViewer_newtask;
-	public static String XMLStructureViewer_action_notUserIdMap;
-	public static String XMLStructureViewer_action_setId_text1;
-	public static String XMLStructureViewer_action_setId_text2;
-	public static String XMLStructureViewer_action_setId_text3;
-	public static String XMLStructureViewer_action_setOrdered_exists;
-	public static String XMLStructureViewer_action_setOrdered;
-	public static String XMLStructureViewer_matching_beginTask;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, XMLCompareMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLComparePreferencePage.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLComparePreferencePage.java
deleted file mode 100644
index 4319fa8..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLComparePreferencePage.java
+++ /dev/null
@@ -1,839 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-
-import org.eclipse.ui.*;
-
-/**
- * The XMLComparePreferencePage is the page used to set ID Mappings for XML Compare
- */
-public class XMLComparePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, Listener {
-
-	private Table fIdMapsTable;
-	private Button fAddIdMapButton;
-	private Button fRenameIdMapButton;
-	private Button fRemoveIdMapButton;
-	private Button fEditIdMapButton;
-
-	private Table fMappingsTable;
-	private Button fNewMappingsButton;
-	private Button fEditMappingsButton;
-	private Button fRemoveMappingsButton;
-
-	private Table fOrderedTable;
-	private Button fNewOrderedButton;
-	private Button fEditOrderedButton;
-	private Button fRemoveOrderedButton;
-
-	private HashMap fIdMapsInternal;
-	private HashMap fIdMaps;// HashMap ( idname -> HashMap (signature -> id) )
-	private HashMap fIdExtensionToName;
-	
-	//fOrderedElements contains signature of xml element whose children must be compared in ordered fashion
-	private HashMap fOrderedElements;// HashMap ( idname -> ArrayList (signature) )
-	private HashMap fOrderedElementsInternal;
-	
-	protected static char[] invalidCharacters;
-	protected static final char SIGN_SEPARATOR = XMLStructureCreator.SIGN_SEPARATOR;
-
-	public static String IDTYPE_ATTRIBUTE= XMLCompareMessages.XMLComparePreference_idtype_attribute; 
-	public static String IDTYPE_CHILDBODY= XMLCompareMessages.XMLComparePreference_idtype_child_body; 
-
-	
-	static {
-		invalidCharacters = new char[] {XMLPlugin.IDMAP_SEPARATOR,XMLPlugin.IDMAP_FIELDS_SEPARATOR,XMLStructureCreator.SIGN_ENCLOSING};
-	}
-
-	
-	public XMLComparePreferencePage() {
-		super();
-		
-		fIdMaps = new HashMap();
-		XMLPlugin plugin= XMLPlugin.getDefault();
-		HashMap PluginIdMaps = plugin.getIdMaps();
-		Set keySet = PluginIdMaps.keySet();
-		for (Iterator iter = keySet.iterator(); iter.hasNext(); ) {
-			String key = (String) iter.next();
-			fIdMaps.put(key, ((HashMap)PluginIdMaps.get(key)).clone() );
-		}
-		fIdMapsInternal = plugin.getIdMapsInternal();
-		
-		fIdExtensionToName= new HashMap();
-		HashMap PluginIdExtensionToName= plugin.getIdExtensionToName();
-		keySet= PluginIdExtensionToName.keySet();
-		for (Iterator iter= keySet.iterator(); iter.hasNext(); ) {
-			String key= (String) iter.next();
-			fIdExtensionToName.put(key, PluginIdExtensionToName.get(key));
-		}
-		
-		fOrderedElements= new HashMap();
-		HashMap PluginOrderedElements= plugin.getOrderedElements();
-		keySet= PluginOrderedElements.keySet();
-		for (Iterator iter= keySet.iterator(); iter.hasNext();) {
-			String key= (String) iter.next();
-			fOrderedElements.put(key, ((ArrayList)PluginOrderedElements.get(key)).clone());
-		}
-		
-		fOrderedElementsInternal= plugin.getOrderedElementsInternal();
-	}
-
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-		Composite parent= new Composite(ancestor, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		parent.setLayout(layout);				
-		
-		//layout the top table & its buttons
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(XMLCompareMessages.XMLComparePreference_topTableLabel); 
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-	
-		fIdMapsTable = new Table(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-		fIdMapsTable.setHeaderVisible(true);	
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = fIdMapsTable.getItemHeight()*4;
-		fIdMapsTable.setLayoutData(data);
-		fIdMapsTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectionChanged();
-			}
-		});
-
-		String column2Text= XMLCompareMessages.XMLComparePreference_topTableColumn2; 
-		String column3Text= XMLCompareMessages.XMLComparePreference_topTableColumn3; 
-		ColumnLayoutData columnLayouts[]= {
-			new ColumnWeightData(1),
-			new ColumnPixelData(convertWidthInCharsToPixels(column2Text.length()+2), true),
-			new ColumnPixelData(convertWidthInCharsToPixels(column3Text.length()+5), true)};
-		TableLayout tablelayout = new TableLayout();
-		fIdMapsTable.setLayout(tablelayout);
-		for (int i=0; i<3; i++)
-			tablelayout.addColumnData(columnLayouts[i]);
-		TableColumn column = new TableColumn(fIdMapsTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_topTableColumn1); 
-		column = new TableColumn(fIdMapsTable, SWT.NONE);
-		column.setText(column2Text);
-		column = new TableColumn(fIdMapsTable, SWT.NONE);
-		column.setText(column3Text);
-		
-		fillIdMapsTable();
-
-		Composite buttons= new Composite(parent, SWT.NULL);
-		buttons.setLayout(new GridLayout());
-		data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		buttons.setLayoutData(data);
-
-		fAddIdMapButton = new Button(buttons, SWT.PUSH);
-		fAddIdMapButton.setText(XMLCompareMessages.XMLComparePreference_topAdd); 
-		fAddIdMapButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addIdMap(fAddIdMapButton.getShell());
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		//data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, fAddIdMapButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		fAddIdMapButton.setLayoutData(data);
-	
-		fRenameIdMapButton = new Button(buttons, SWT.PUSH);
-		fRenameIdMapButton.setText(XMLCompareMessages.XMLComparePreference_topRename); 
-		fRenameIdMapButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				renameIdMap(fRenameIdMapButton.getShell());
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		//data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, fAddIdMapButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		fRenameIdMapButton.setLayoutData(data);
-
-		fRemoveIdMapButton = new Button(buttons, SWT.PUSH);
-		fRemoveIdMapButton.setText(XMLCompareMessages.XMLComparePreference_topRemove); 
-		fRemoveIdMapButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-				removeIdMap(fRemoveIdMapButton.getShell());
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		//data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-			widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, fRemoveIdMapButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		fRemoveIdMapButton.setLayoutData(data);
-
-		createSpacer(buttons);
-
-		fEditIdMapButton = new Button(buttons, SWT.PUSH);
-		fEditIdMapButton.setText(XMLCompareMessages.XMLComparePreference_topEdit); 
-		fEditIdMapButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editIdMap(fEditIdMapButton.getShell());
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		//data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, fEditIdMapButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		fEditIdMapButton.setLayoutData(data);
-	
-		//Spacer
-		label = new Label(parent, SWT.LEFT);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		//layout the middle table & its buttons
-		label = new Label(parent, SWT.LEFT);
-		label.setText(XMLCompareMessages.XMLComparePreference_middleTableLabel); 
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		fMappingsTable = new Table(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-		fMappingsTable.setHeaderVisible(true);	
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = fMappingsTable.getItemHeight()*4;
-		data.widthHint= convertWidthInCharsToPixels(70);
-		fMappingsTable.setLayoutData(data);
-		
-		column3Text= XMLCompareMessages.XMLComparePreference_middleTableColumn3; 
-		String column4Text= XMLCompareMessages.XMLComparePreference_middleTableColumn4; 
-		columnLayouts= new ColumnLayoutData[] {
-			new ColumnWeightData(10),
-			new ColumnWeightData(18),
-			new ColumnPixelData(convertWidthInCharsToPixels(column3Text.length()+1), true),
-			new ColumnPixelData(convertWidthInCharsToPixels(column4Text.length()+3), true)};
-		tablelayout = new TableLayout();
-		fMappingsTable.setLayout(tablelayout);
-		for (int i=0; i<4; i++)
-			tablelayout.addColumnData(columnLayouts[i]);
-		column = new TableColumn(fMappingsTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_middleTableColumn1); 
-		column = new TableColumn(fMappingsTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_middleTableColumn2); 
-		column = new TableColumn(fMappingsTable, SWT.NONE);
-		column.setText(column3Text);
-		column = new TableColumn(fMappingsTable, SWT.NONE);
-		column.setText(column4Text);
-	
-		buttons= new Composite(parent, SWT.NULL);
-		buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-		layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		buttons.setLayout(layout);
-		
-		fNewMappingsButton= new Button(buttons, SWT.PUSH);
-		fNewMappingsButton.setLayoutData(getButtonGridData(fNewMappingsButton));
-		fNewMappingsButton.setText(XMLCompareMessages.XMLComparePreference_middleNew); 
-		fNewMappingsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addMapping(fAddIdMapButton.getShell());
-			}
-		});
-
-		fEditMappingsButton= new Button(buttons, SWT.PUSH);
-		fEditMappingsButton.setLayoutData(getButtonGridData(fEditMappingsButton));
-		fEditMappingsButton.setText(XMLCompareMessages.XMLComparePreference_middleEdit); 
-		fEditMappingsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editMapping(fEditMappingsButton.getShell());
-			}
-		});
-
-		fRemoveMappingsButton= new Button(buttons, SWT.PUSH);
-		fRemoveMappingsButton.setLayoutData(getButtonGridData(fRemoveMappingsButton));
-		fRemoveMappingsButton.setText(XMLCompareMessages.XMLComparePreference_middleRemove); 
-		fRemoveMappingsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeMapping(fRemoveMappingsButton.getShell());
-			}
-		});
-
-		createSpacer(buttons);
-
-		//layout the botton table & its buttons
-		label = new Label(parent, SWT.LEFT);
-		label.setText(XMLCompareMessages.XMLComparePreference_bottomTableLabel); 
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		fOrderedTable = new Table(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-		fOrderedTable.setHeaderVisible(true);	
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = fOrderedTable.getItemHeight()*2;
-		data.widthHint= convertWidthInCharsToPixels(70);
-		fOrderedTable.setLayoutData(data);
-		
-		columnLayouts= new ColumnLayoutData[] {
-			new ColumnWeightData(1),
-			new ColumnWeightData(1)};
-		tablelayout = new TableLayout();
-		fOrderedTable.setLayout(tablelayout);
-		for (int i=0; i<2; i++)
-			tablelayout.addColumnData(columnLayouts[i]);
-		column = new TableColumn(fOrderedTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_bottomTableColumn1); 
-		column = new TableColumn(fOrderedTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_bottomTableColumn2); 
-	
-		buttons= new Composite(parent, SWT.NULL);
-		buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-		layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		buttons.setLayout(layout);
-		
-		fNewOrderedButton= new Button(buttons, SWT.PUSH);
-		fNewOrderedButton.setLayoutData(getButtonGridData(fNewOrderedButton));
-		fNewOrderedButton.setText(XMLCompareMessages.XMLComparePreference_bottomNew); 
-		fNewOrderedButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addOrdered(fNewOrderedButton.getShell());
-			}
-		});
-
-		fEditOrderedButton= new Button(buttons, SWT.PUSH);
-		fEditOrderedButton.setLayoutData(getButtonGridData(fEditOrderedButton));
-		fEditOrderedButton.setText(XMLCompareMessages.XMLComparePreference_bottomEdit); 
-		fEditOrderedButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editOrdered(fEditOrderedButton.getShell());
-			}
-		});
-
-		fRemoveOrderedButton= new Button(buttons, SWT.PUSH);
-		fRemoveOrderedButton.setLayoutData(getButtonGridData(fRemoveOrderedButton));
-		fRemoveOrderedButton.setText(XMLCompareMessages.XMLComparePreference_bottomRemove); 
-		fRemoveOrderedButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeOrdered(fRemoveOrderedButton.getShell());
-			}
-		});
-
-		createSpacer(buttons);
-
-
-
-		fIdMapsTable.setSelection(0);
-		fIdMapsTable.setFocus();
-		selectionChanged();
-		
-		return parent;
-	}
-	
-	protected void createSpacer(Composite parent) {
-		Label spacer= new Label(parent, SWT.NONE);
-		GridData data= new GridData();
-		data.horizontalAlignment= GridData.FILL;
-		data.verticalAlignment= GridData.BEGINNING;
-		data.heightHint= 4;		
-		spacer.setLayoutData(data);
-	}
-	
-	private static GridData getButtonGridData(Button button) {
-		GridData data= new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint= SWTUtil.getButtonWidthHint(button);
-		//data.heightHint= SWTUtil.getButtonHeigthHint(button);
-		return data;
-	}
-	
-	public void init(IWorkbench workbench) {
-		noDefaultAndApplyButton();
-	}
-
-	public void handleEvent(Event event) {
-		// empty implementation
-	}
-
-	private void addIdMap(Shell shell) {
-		IdMap idmap = new IdMap(false);
-		XMLCompareAddIdMapDialog dialog= new XMLCompareAddIdMapDialog(shell,idmap,fIdMaps,fIdMapsInternal,fIdExtensionToName,false);
-		if (dialog.open() == Window.OK) {
-			if (!fIdMaps.containsKey(idmap.getName())) {
-				fIdMaps.put(idmap.getName(),new HashMap());
-				if (!idmap.getExtension().equals("")) //$NON-NLS-1$
-					fIdExtensionToName.put(idmap.getExtension(),idmap.getName());
-				newIdMapsTableItem(idmap,true);
-			}
-		}
-	}
-
-	private void renameIdMap(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();
-		if (itemsIdMaps.length > 0) {
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			String old_name = idmap.getName();
-			String old_extension= idmap.getExtension();
-			HashMap idmapHS = (HashMap) fIdMaps.get(old_name);
-			XMLCompareAddIdMapDialog dialog= new XMLCompareAddIdMapDialog(shell,idmap,fIdMaps,fIdMapsInternal,fIdExtensionToName,true);
-			if (dialog.open() == Window.OK) {
-				fIdMaps.remove(old_name);
-				fIdExtensionToName.remove(old_extension);
-				fIdMaps.put(idmap.getName(),idmapHS);
-				if (!idmap.getExtension().equals("")) //$NON-NLS-1$
-					fIdExtensionToName.put(idmap.getExtension(),idmap.getName());
-				fIdMapsTable.remove(fIdMapsTable.indexOf(itemsIdMaps[0]));
-				newIdMapsTableItem(idmap,true);
-			}
-		}
-	}
-
-	private void removeIdMap(Shell shell) {
-		TableItem[] itemsIdMap = fIdMapsTable.getSelection();
-		if (itemsIdMap.length > 0) {
-//			fIdMaps.remove(itemsIdMap[0].getText());
-			String IdMapName= ((IdMap)itemsIdMap[0].getData()).getName();
-			fIdMaps.remove( IdMapName );
-			fOrderedElements.remove( IdMapName );
-			//All the corresponding ID Mappings must be removed as well
-			TableItem[] itemsMappings = fMappingsTable.getItems();
-			for (int i=0; i<itemsMappings.length; i++) {
-				itemsMappings[i].dispose();
-			}
-			//All the corresponding Ordered entries must be removed as well
-			TableItem[] itemsOrdered= fOrderedTable.getItems();
-			for (int i= 0; i < itemsOrdered.length; i++) {
-				itemsOrdered[i].dispose();
-			}
-			//Remove extension
-			if (!itemsIdMap[0].getText(2).equals("")) { //$NON-NLS-1$
-				fIdExtensionToName.remove(itemsIdMap[0].getText(2));
-			}
-			itemsIdMap[0].dispose();  //Table is single selection
-		}
-	}
-	
-	private void editIdMap(Shell shell) {
-		TableItem[] items = fIdMapsTable.getSelection();
-		if (items.length > 0) {
-			IdMap idmap = (IdMap) items[0].getData();
-			XMLCompareEditCopyIdMapDialog dialog= new XMLCompareEditCopyIdMapDialog(shell,idmap,fIdMaps,fIdMapsInternal);
-			if (dialog.open() == Window.OK) {
-				String new_idmapName = dialog.getResult();
-				if (!fIdMaps.containsKey(new_idmapName)) {
-					//copy over id mappings
-					Vector newMappings = new Vector();
-					IdMap newIdMap = new IdMap(new_idmapName, false, newMappings);
-					HashMap newIdmapHM = new HashMap();
-					fIdMaps.put(newIdMap.getName(),newIdmapHM);
-					Vector Mappings = idmap.getMappings();
-					for (Enumeration enumeration= Mappings.elements(); enumeration.hasMoreElements(); ) {
-						Mapping mapping = (Mapping) enumeration.nextElement();
-						Mapping newMapping = new Mapping(mapping.getElement(), mapping.getSignature(), mapping.getIdAttribute());
-						newMappings.add(newMapping);
-						newIdmapHM.put(newMapping.getKey(), newMapping.getIdAttribute());
-					}
-					//copy over ordered entries
-					ArrayList orderedAL= idmap.getOrdered();
-					if (orderedAL != null && orderedAL.size() > 0) {
-						ArrayList newOrderedAL= new ArrayList();
-						newIdMap.setOrdered(newOrderedAL);
-						ArrayList idmapOrdered= new ArrayList();
-						fOrderedElements.put(newIdMap.getName(),idmapOrdered);
-						for (Iterator iter= orderedAL.iterator(); iter.hasNext();) {
-							Mapping ordered= (Mapping) iter.next();
-							Mapping newOrdered= new Mapping(ordered.getElement(), ordered.getSignature());
-							newOrderedAL.add(newOrdered);
-							idmapOrdered.add(newOrdered.getKey());
-						}
-					}
-					
-					newIdMapsTableItem(newIdMap,true);
-					selectionChanged();
-				}
-			}
-		}
-	}
-
-	private void addMapping(Shell shell) {
-		TableItem[] items = fIdMapsTable.getSelection();
-		if (items.length > 0) {
-			IdMap idmap = (IdMap) items[0].getData();
-			Mapping mapping = new Mapping();
-			HashMap idmapHM = (HashMap) fIdMaps.get(idmap.getName());
-			XMLCompareEditMappingDialog dialog= new XMLCompareEditMappingDialog(shell,mapping,idmapHM,false);
-			if (dialog.open() == Window.OK) {
-				String idmapHMKey = mapping.getKey();
-				if (idmapHM == null)
-					idmapHM= new HashMap();
-				if (!idmapHM.containsKey(idmapHMKey)) {
-					idmapHM.put(idmapHMKey, mapping.getIdAttribute());
-					newMappingsTableItem(mapping, true);
-					Vector mappings = idmap.getMappings();
-					mappings.add(mapping);
-				}
-			}
-		}
-	}
-
-	private void editMapping(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();		
-		TableItem[] itemsMappings = fMappingsTable.getSelection();
-		if (itemsMappings.length > 0) {
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			HashMap idmapHM = (HashMap) fIdMaps.get(idmap.getName());
-			Mapping mapping = (Mapping)itemsMappings[0].getData();
-			String idmapHMKey = mapping.getKey();
-			idmapHM.remove(idmapHMKey);
-			XMLCompareEditMappingDialog dialog= new XMLCompareEditMappingDialog(shell,mapping,null,true);
-			if (dialog.open() == Window.OK) {
-				idmapHMKey = mapping.getKey();
-				idmapHM.put(idmapHMKey, mapping.getIdAttribute());
-				fMappingsTable.remove(fMappingsTable.indexOf(itemsMappings[0]));
-				newMappingsTableItem(mapping, true);
-			}
-		}
-	}
-
-	private void removeMapping(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();
-		TableItem[] itemsMappings = fMappingsTable.getSelection();
-		
-		if (itemsMappings.length > 0 && itemsIdMaps.length > 0) {
-			Mapping mapping = (Mapping)itemsMappings[0].getData();
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			HashMap idmapHS = (HashMap) fIdMaps.get( idmap.getName() );
-			idmapHS.remove(mapping.getKey());
-			Vector mappings= idmap.getMappings();
-			mappings.remove(mapping);
-			itemsMappings[0].dispose();  //Table is single selection
-		}
-	}
-
-	private void addOrdered(Shell shell) {
-		TableItem[] items = fIdMapsTable.getSelection();
-		if (items.length > 0) {
-//			Set orderedSet= fOrderedElements.keySet();
-//			for (Iterator iter= orderedSet.iterator(); iter.hasNext(); ) {
-//				String IdMapName= (String) iter.next();
-//				ArrayList ordered= (ArrayList) fOrderedElements.get(IdMapName);
-//				for (Iterator iter2= ordered.iterator(); iter2.hasNext(); ) {
-//					System.out.println(IdMapName + ": " + iter2.next()); //$NON-NLS-1$
-//				}
-//			}
-			IdMap idmap = (IdMap) items[0].getData();
-			Mapping mapping = new Mapping();
-			ArrayList idmapAL= (ArrayList) fOrderedElements.get(idmap.getName());
-			if (idmapAL == null)
-				idmapAL= new ArrayList();
-			XMLCompareEditOrderedDialog dialog= new XMLCompareEditOrderedDialog(shell,mapping,idmapAL,false);
-			if (dialog.open() == Window.OK) {
-				String idmapALKey = mapping.getKey();
-				if (!idmapAL.contains(idmapALKey)) {
-					idmapAL.add(idmapALKey);
-					newOrderedTableItem(mapping, true);
-					ArrayList ordered= idmap.getOrdered();
-					if (ordered == null) {
-						ordered= new ArrayList();
-						ordered.add(mapping);
-						idmap.setOrdered(ordered);
-					} else {
-						ordered.add(mapping);
-					}
-					if (!fOrderedElements.containsKey(idmap.getName()))
-						fOrderedElements.put(idmap.getName(), idmapAL);
-				}
-			}
-		}
-	}
-	
-	private void editOrdered(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();		
-		TableItem[] itemsOrdered = fOrderedTable.getSelection();
-		if (itemsOrdered.length > 0) {
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			ArrayList idmapAL = (ArrayList) fOrderedElements.get(idmap.getName());
-			Mapping mapping = (Mapping)itemsOrdered[0].getData();
-			String idmapALKey = mapping.getKey();
-			idmapAL.remove(idmapALKey);
-			XMLCompareEditOrderedDialog dialog= new XMLCompareEditOrderedDialog(shell,mapping,null,true);
-			if (dialog.open() == Window.OK) {
-				idmapALKey = mapping.getKey();
-				idmapAL.add(idmapALKey);
-				fOrderedTable.remove(fOrderedTable.indexOf(itemsOrdered[0]));
-				newOrderedTableItem(mapping, true);
-			}
-		}
-		
-	}
-	
-	private void removeOrdered(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();
-		TableItem[] itemsOrdered = fOrderedTable.getSelection();
-		if (itemsOrdered.length > 0 && itemsIdMaps.length > 0) {
-			Mapping mapping = (Mapping)itemsOrdered[0].getData();
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			ArrayList idmapAL = (ArrayList) fOrderedElements.get( idmap.getName() );
-			idmapAL.remove(mapping.getKey());
-			if (idmapAL.size() <= 0)
-				fOrderedElements.remove(idmap.getName());
-			ArrayList ordered= idmap.getOrdered();
-			ordered.remove(mapping);
-			if (ordered.size() <= 0)
-				idmap.setOrdered(null);
-			itemsOrdered[0].dispose();  //Table is single selection
-		}		
-	}
-
-	protected TableItem newIdMapsTableItem(IdMap idmap, boolean selected) {
-		//find index where to insert table entry
-		TableItem[] items = fIdMapsTable.getItems();
-		int i= 0;
-		while (i<items.length && idmap.getName().compareToIgnoreCase(items[i].getText(0)) > 0)
-			i++;
-		TableItem item = new TableItem(fIdMapsTable, SWT.NULL, i);
-		String[] values = new String[] {idmap.getName(), (idmap.isInternal())?XMLCompareMessages.XMLComparePreference_topTableColumn2internal:XMLCompareMessages.XMLComparePreference_topTableColumn2user,idmap.getExtension()}; 
-		item.setText(values);
-		item.setData(idmap);
-		if (selected) {
-			fIdMapsTable.setSelection(i);
-			fIdMapsTable.setFocus();
-			selectionChanged();
-		}
-		return item;
-	}
-	
-	protected TableItem newMappingsTableItem(Mapping mapping, boolean selected) {
-		TableItem[] items = fMappingsTable.getItems();
-		int i= 0;
-		while (i<items.length && mapping.getElement().compareToIgnoreCase(items[i].getText(0)) > 0)
-			i++;
-		TableItem item = new TableItem(fMappingsTable, SWT.NULL, i);
-		String idtext = mapping.getIdAttribute();
-		String idtype;
-		if (idtext.charAt(0)==XMLStructureCreator.ID_TYPE_BODY) {
-			idtext = idtext.substring(1,idtext.length());
-			idtype = IDTYPE_CHILDBODY;
-		} else
-			idtype = IDTYPE_ATTRIBUTE;
-		
-		String[] values = new String[] {mapping.getElement(), mapping.getSignature(), idtext, idtype};
-		item.setText(values);
-		item.setData(mapping);
-		if (selected)
-			fMappingsTable.setSelection(i);
-	
-		return item;
-	}
-
-	protected TableItem newOrderedTableItem(Mapping mapping, boolean selected) {
-		TableItem[] items = fOrderedTable.getItems();
-		int i= 0;
-		while (i<items.length && mapping.getElement().compareToIgnoreCase(items[i].getText(0)) > 0)
-			i++;
-
-		TableItem item = new TableItem(fOrderedTable, SWT.NULL, i);
-		
-		String[] values = new String[] {mapping.getElement(), mapping.getSignature()};
-		item.setText(values);
-		item.setData(mapping);
-		if (selected)
-			fOrderedTable.setSelection(i);
-	
-		return item;
-	}
-
-	
-	protected void fillIdMapsTable() {
-		//fill user idmaps from plugin.xml
-		fillIdMaps(true);
-		
-		//fill user idmaps from Preference Store
-		fillIdMaps(false);
-				
-		//add user idmaps that have ordered entries but no id mappings
-		//they do not appear in the preference store with name IDMAP_PREFERENCE_NAME
-		Set OrderedKeys= fOrderedElements.keySet();
-		Set IdMapKeys= fIdMaps.keySet();
-		for (Iterator iter_orderedElements= OrderedKeys.iterator(); iter_orderedElements.hasNext();) {
-			String IdMapName= (String) iter_orderedElements.next();
-			if (!IdMapKeys.contains(IdMapName)) {
-				IdMap idmap= new IdMap(IdMapName, false);
-				ArrayList idmapOrdered= (ArrayList) fOrderedElements.get(IdMapName);
-				setOrdered(idmap, idmapOrdered);
-				newIdMapsTableItem(idmap, false);
-			}
-		}
-	}
-
-	private void fillIdMaps(boolean internal) {
-		HashMap IdMaps= (internal)?fIdMapsInternal:fIdMaps;
-		HashMap OrderedElements= (internal)?fOrderedElementsInternal:fOrderedElements;
-		Set IdMapKeys = IdMaps.keySet();
-		for (Iterator iter_internal = IdMapKeys.iterator(); iter_internal.hasNext(); ) {
-			String IdMapName = (String) iter_internal.next();
-			Vector Mappings = new Vector();
-			IdMap idmap = new IdMap(IdMapName, internal, Mappings);
-			//create mappings of internal idmaps
-			HashMap idmapHM = (HashMap) IdMaps.get(IdMapName);
-			Set idmapKeys = idmapHM.keySet();
-			for (Iterator iter_idmap = idmapKeys.iterator(); iter_idmap.hasNext(); ) {
-				Mapping mapping = new Mapping();
-				String signature = (String) iter_idmap.next();
-				int end_of_signature = signature.lastIndexOf(SIGN_SEPARATOR,signature.length()-2);
-				if (end_of_signature < XMLStructureCreator.ROOT_ID.length() + 1)
-					mapping.setSignature(""); //$NON-NLS-1$
-				else
-					mapping.setSignature(signature.substring(XMLStructureCreator.ROOT_ID.length() + 1,end_of_signature));
-				mapping.setElement(signature.substring(end_of_signature+1,signature.length()-1));
-				mapping.setIdAttribute((String)idmapHM.get(signature));
-				Mappings.add(mapping);
-			}
-			//create ordered mappings
-			ArrayList idmapOrdered= (ArrayList) OrderedElements.get(IdMapName);
-			if (idmapOrdered != null) {
-				setOrdered(idmap, idmapOrdered);
-			}
-			//set extension
-			if (fIdExtensionToName.containsValue(IdMapName)) {
-				Set keySet= fIdExtensionToName.keySet();
-				String extension= new String();
-				for (Iterator iter= keySet.iterator(); iter.hasNext(); ) {
-					extension= (String)iter.next();
-					if ( ((String)fIdExtensionToName.get(extension)).equals(IdMapName) )
-						break;
-				}
-				idmap.setExtension(extension);
-			}
-			newIdMapsTableItem(idmap, false);
-		}
-	}
-
-	protected static void setOrdered(IdMap idmap, ArrayList idmapOrdered) {
-		ArrayList Ordered= new ArrayList();
-		for (Iterator iter_ordered= idmapOrdered.iterator(); iter_ordered.hasNext();) {
-			Mapping mapping= new Mapping();
-			String signature= (String) iter_ordered.next();
-			int end_of_signature = signature.lastIndexOf(SIGN_SEPARATOR,signature.length()-2);
-			if (end_of_signature < XMLStructureCreator.ROOT_ID.length() + 1)
-				mapping.setSignature(""); //$NON-NLS-1$
-			else
-				mapping.setSignature(signature.substring(XMLStructureCreator.ROOT_ID.length() + 1,end_of_signature));
-			mapping.setElement(signature.substring(end_of_signature+1,signature.length()-1));
-			Ordered.add(mapping);
-		}				
-		idmap.setOrdered(Ordered);
-	}
-
-	/*
-	 * @see IWorkbenchPreferencePage#performDefaults
-	 */	
-	public boolean performOk() {
-		XMLPlugin plugin= XMLPlugin.getDefault();
-		if (!plugin.getIdMaps().equals(fIdMaps)
-			|| !plugin.getIdExtensionToName().equals(fIdExtensionToName)
-			|| !plugin.getOrderedElements().equals(fOrderedElements) )
-			plugin.setIdMaps(fIdMaps,fIdExtensionToName,fOrderedElements,true);
-			//XMLPlugin.getDefault().setIdMaps(fIdMaps,fIdExtensionToName,null);
-		return super.performOk();
-	}	
-	
-	public boolean performCancel() {
-		fIdMaps = (HashMap) XMLPlugin.getDefault().getIdMaps().clone();
-		return super.performCancel();
-	}
-	
-	protected void selectionChanged() {
-		TableItem[] items = fIdMapsTable.getSelection();
-		if (items.length > 0) {
-			//Refresh Mappings Table
-			fMappingsTable.removeAll();
-			Vector Mappings = ((IdMap)items[0].getData()).getMappings();
-			for (Enumeration enumeration = Mappings.elements(); enumeration.hasMoreElements(); ) {
-				newMappingsTableItem((Mapping)enumeration.nextElement(), false);
-			}
-			//Refresh Ordered Table
-			fOrderedTable.removeAll();
-			ArrayList Ordered= ((IdMap)items[0].getData()).getOrdered();
-			if (Ordered != null) {
-				for (Iterator iter_ordered= Ordered.iterator(); iter_ordered.hasNext();) {
-					newOrderedTableItem((Mapping)iter_ordered.next(), false);
-				}
-			}
-		}
-		updateEnabledState();
-	}
-
-	/**
-	 * Updates the state (enabled, not enabled) of the buttons
-	 */
-	private void updateEnabledState() {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();
-		if (itemsIdMaps.length > 0) {
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			if (idmap.isInternal()) {
-				fRenameIdMapButton.setEnabled(false);
-				fRemoveIdMapButton.setEnabled(false);
-				fEditIdMapButton.setEnabled(true);
-				
-				fNewMappingsButton.setEnabled(false);
-				fEditMappingsButton.setEnabled(false);
-				fRemoveMappingsButton.setEnabled(false);
-				
-				fNewOrderedButton.setEnabled(false);
-				fEditOrderedButton.setEnabled(false);
-				fRemoveOrderedButton.setEnabled(false);
-			} else {
-				fRenameIdMapButton.setEnabled(true);
-				fRemoveIdMapButton.setEnabled(true);
-				fEditIdMapButton.setEnabled(false);
-				
-				fNewMappingsButton.setEnabled(true);
-				fEditMappingsButton.setEnabled(true);
-				fRemoveMappingsButton.setEnabled(true);
-				
-				fNewOrderedButton.setEnabled(true);
-				fEditOrderedButton.setEnabled(true);
-				fRemoveOrderedButton.setEnabled(true);
-			}
-		}
-	}
-
-	static protected boolean containsInvalidCharacters(String text) {
-		for (int i=0; i<invalidCharacters.length; i++) {
-			if (text.indexOf(invalidCharacters[i]) > -1)
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLNode.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLNode.java
deleted file mode 100644
index 8adba4b..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLNode.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.compare.CompareUI;
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.compare.structuremergeviewer.DocumentRangeNode;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Objects that make up the parse tree.
- */
-public class XMLNode extends DocumentRangeNode implements ITypedElement {
-
-	private String fValue;
-	private String fName;
-	private String fSignature;
-	private String fOrigId;
-	private XMLNode parent;
-	private String fXMLType;
-	private boolean fUsesIDMAP;
-	private boolean fOrderedChild;
-
-	public int bodies; // counts the number of bodies
-
-	public XMLNode(String XMLType, String id, String value, String signature, IDocument doc, int start, int length) {
-		super(0, id, doc, start, length);
-		fXMLType= XMLType;
-		fValue= value;
-		fSignature= signature;
-		fOrigId= id;
-		if (XMLStructureCreator.DEBUG_MODE)
-			System.out.println("Created XMLNode with XMLType: " + XMLType + ", id: " + id + ", value: " + value + ", signature: " + fSignature); //$NON-NLS-1$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$
-		bodies= 0;
-		fUsesIDMAP= false;
-		fOrderedChild= false;
-	}
-
-	void setValue(String value) {
-		fValue= value;
-	}
-
-	String getValue() {
-		return fValue;
-	}
-
-	/*
-	 * @see ITypedElement#getName
-	 */
-	public String getName() {
-		if (fName != null)
-			return fName;
-		return this.getId();
-	}
-
-	public void setName(String name) {
-		fName= name;
-	}
-
-	/*
-	 * Every xml node is of type "txt" so that the builtin TextMergeViewer is used automatically.
-	 * @see ITypedElement#getType
-	 */
-	public String getType() {
-		return "txt"; //$NON-NLS-1$
-	}
-
-	public void setIsOrderedChild(boolean isOrderedChild) {
-		fOrderedChild= isOrderedChild;
-	}
-	
-	/*
-	 * @see ITypedElement#getImage
-	 */
-	public Image getImage() {
-		if (fOrderedChild)
-			return CompareUI.getImage(XMLPlugin.IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_ELEMENT + XMLPlugin.IMAGE_TYPE_ORDERED_SUFFIX);
-		return CompareUI.getImage(XMLPlugin.IMAGE_TYPE_PREFIX + getXMLType());
-	}
-
-	public void setParent(XMLNode parent0) {
-		this.parent= parent0;
-	}
-
-	public XMLNode getParent() {
-		return this.parent;
-	}
-
-	String getXMLType() {
-		return fXMLType;
-	}
-
-	String getSignature() {
-		return fSignature;
-	}
-
-	void setOrigId(String id) {
-		fOrigId= id;
-	}
-
-	public String getOrigId() {
-		return fOrigId;
-	}
-
-	public void setUsesIDMAP(boolean b) {
-		fUsesIDMAP= b;
-	}
-
-	public boolean usesIDMAP() {
-		return fUsesIDMAP;
-	}
-
-	//for tests
-	public boolean testEquals(Object obj) {
-		if (obj instanceof XMLNode) {
-			XMLNode n= (XMLNode) obj;
-			return fValue.equals(n.getValue())
-				&& fSignature.equals(n.getSignature())
-				&& fXMLType.equals(n.getXMLType())
-				&& fUsesIDMAP == n.usesIDMAP();
-		}
-		return false;
-	}
-
-	/*
-	 * Returns true if the subtree rooted at this node is equals to the subtree rooted at <code>obj</code>
-	 */
-	public boolean subtreeEquals(Object obj) {
-		if (!testEquals(obj))
-			return false;
-		if (obj instanceof XMLNode) {
-			XMLNode n= (XMLNode) obj;
-			if (getXMLType().equals(XMLStructureCreator.TYPE_ATTRIBUTE)
-				&& n.getXMLType().equals(XMLStructureCreator.TYPE_ATTRIBUTE))
-				return true;
-			Object[] children= getChildren();
-			Object[] n_children= n.getChildren();
-			//if both nodes have no children, return true;
-			if ((children == null || children.length <= 0)
-				&& (n_children == null || n_children.length <= 0))
-				return true;
-			//now at least one of the two nodes has children;
-			/* so if one of the two nodes has no children, or they don't have the same number of children,
-			 * return false;
-			 */
-			if ((children == null || children.length <= 0)
-				|| (n_children == null || n_children.length <= 0)
-				|| (children.length != n_children.length))
-				return false;
-			//now both have children and the same number of children
-			for (int i= 0; i < children.length; i++) {
-				/* if the subtree rooted at children[i] is not equal to the subtree rooted at n_children[i],
-				 * return false
-				 */
-				if (!((XMLNode) children[i]).subtreeEquals(n_children[i]))
-					return false;
-			}
-		}
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLPlugin.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLPlugin.java
deleted file mode 100644
index fa98c3d..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLPlugin.java
+++ /dev/null
@@ -1,398 +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.compare.examples.xml;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.core.runtime.ListenerList;
-
-import org.eclipse.compare.CompareUI;
-import org.eclipse.core.runtime.*;
-import org.osgi.framework.BundleContext;
-
-/**
- * This class is the plug-in runtime class for the 
- * <code>"org.eclipse.compare.xml"</code> plug-in.
- * </p>
- */
-public final class XMLPlugin extends AbstractUIPlugin {
-	
-	public static final String PLUGIN_ID= "org.eclipse.compare.examples.xml"; //$NON-NLS-1$
-
-	private static final String ID_MAPPING_EXTENSION_POINT= "idMapping"; //$NON-NLS-1$
-	private static final String MAPPING_ELEMENT_NAME= "mapping"; //$NON-NLS-1$
-	private static final String IDMAP_NAME_ATTRIBUTE= "name"; //$NON-NLS-1$
-	private static final String EXTENSION_NAME_ATTRIBUTE= "extension"; //$NON-NLS-1$
-	private static final String MAPPING_SIGNATURE_ATTRIBUTE= "signature"; //$NON-NLS-1$
-	private static final String MAPPING_ID_ATTRIBUTE= "id"; //$NON-NLS-1$
-	private static final String MAPPING_ID_SOURCE= "id-source"; //$NON-NLS-1$
-	private static final String MAPPING_ID_SOURCE_BODY= "body"; //$NON-NLS-1$
-	private static final String ORDERED_ELEMENT_NAME= "ordered"; //$NON-NLS-1$
-	private static final String ORDERED_SIGNATURE_ATTRIBUTE= "signature"; //$NON-NLS-1$
-	
-	public static final String DEFAULT_PREFIX = "XML"; //$NON-NLS-1$
-	public static final String IMAGE_TYPE_PREFIX = "xml_"; //$NON-NLS-1$
-	public static final String IMAGE_TYPE_ORDERED_SUFFIX = "_ordered"; //$NON-NLS-1$
-	public static final String IDMAP_PREFERENCE_NAME = "idmap"; //$NON-NLS-1$
-	public static final String IDMAP_PREFIX = "idmap"; //$NON-NLS-1$
-	public static final char IDMAP_SEPARATOR = '*';
-	public static final char IDMAP_FIELDS_SEPARATOR = '!';
-	
-	public static final String ORDERED_PREFERENCE_NAME = "ordered"; //$NON-NLS-1$
-	public static final char ORDERED_FIELDS_SEPARATOR = IDMAP_FIELDS_SEPARATOR;
-	
-	private static XMLPlugin fgXMLPlugin;
-	private IPreferenceStore fPrefStore;
-	
-	private HashMap fIdMapsInternal;
-	private HashMap fIdMaps;
-	private HashMap fIdExtensionToName;
-	private HashMap fOrderedElementsInternal;
-	private HashMap fOrderedElements;
-	
-	private ListenerList fViewers= new ListenerList();
-
-
-	/**
-	 * Creates the <code>XMLPlugin</code> object and registers all
-	 * structure creators, content merge viewers, and structure merge viewers
-	 * contributed to this plug-in's extension points.
-	 * <p>
-	 * Note that instances of plug-in runtime classes are automatically created 
-	 * by the platform in the course of plug-in activation.
-	 */
-	public XMLPlugin() {
-		super();
-		Assert.isTrue(fgXMLPlugin == null);
-		fgXMLPlugin= this;
-	}
-	
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		CompareUI.removeAllStructureViewerAliases(DEFAULT_PREFIX);
-		initPrefStore();
-		CompareUI.registerImageDescriptor(IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_ELEMENT, getImageDescriptor("obj16/element_obj.gif")); //$NON-NLS-1$
-		CompareUI.registerImageDescriptor(IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_ATTRIBUTE, getImageDescriptor("obj16/attribute_obj.gif")); //$NON-NLS-1$
-		CompareUI.registerImageDescriptor(IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_TEXT, getImageDescriptor("obj16/text_obj.gif")); //$NON-NLS-1$
-		CompareUI.registerImageDescriptor(IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_ELEMENT + IMAGE_TYPE_ORDERED_SUFFIX, getImageDescriptor("obj16/element_ordered_obj.gif")); //$NON-NLS-1$
-		registerExtensions();
-	}
-		
-	protected ImageDescriptor getImageDescriptor(String relativePath) {
-		
-		//URL installURL= getDescriptor().getInstallURL();
-		
-		URL installURL= fgXMLPlugin.getBundle().getEntry("/"); //$NON-NLS-1$
-		if (installURL != null) {
-			try {
-				URL url= new URL(installURL, "icons/full/" + relativePath); //$NON-NLS-1$
-				return ImageDescriptor.createFromURL(url);
-			} catch (MalformedURLException e) {
-				Assert.isTrue(false);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the singleton instance of this plug-in runtime class.
-	 *
-	 * @return the XMLPlugin instance
-	 */
-	public static XMLPlugin getDefault() {
-		return fgXMLPlugin;
-	}
-
-	/**
-	 * Reads the Preference Store associated with XMLPlugin and initializes ID Mappings.
-	 */	
-	public void initPrefStore() {
-		fIdMaps = new HashMap();
-		fIdExtensionToName= new HashMap();
-		fPrefStore = getPreferenceStore();
-		String IdMapPrefValue = fPrefStore.getString(IDMAP_PREFERENCE_NAME);
-		int start = 0;
-		int end = IdMapPrefValue.indexOf(IDMAP_SEPARATOR);
-		while (end >= 0) {
-			String CurrentIdMap = IdMapPrefValue.substring(start,end);
-			int end_of_IdMapName = CurrentIdMap.indexOf(IDMAP_FIELDS_SEPARATOR);
-			String IdMapName = CurrentIdMap.substring(0,end_of_IdMapName);
-			int end_of_signature = CurrentIdMap.indexOf(IDMAP_FIELDS_SEPARATOR,end_of_IdMapName+1);
-			String IdMapSignature = CurrentIdMap.substring(end_of_IdMapName+1,end_of_signature);
-			int end_of_attribute= CurrentIdMap.indexOf(IDMAP_FIELDS_SEPARATOR,end_of_signature+1);
-			String IdMapAttribute;
-			if (end_of_attribute < 0) {//for backward compatibility
-				IdMapAttribute = CurrentIdMap.substring(end_of_signature+1,CurrentIdMap.length());
-			} else {//normal case
-				IdMapAttribute = CurrentIdMap.substring(end_of_signature+1,end_of_attribute);
-				String IdMapExtension= CurrentIdMap.substring(end_of_attribute+1,CurrentIdMap.length());
-				//if extension already associated, do not associate with this idmap
-				if (!IdMapExtension.equals("") && !fIdExtensionToName.containsKey(IdMapExtension)) { //$NON-NLS-1$
-					fIdExtensionToName.put(IdMapExtension,IdMapName);
-					CompareUI.addStructureViewerAlias(DEFAULT_PREFIX, IdMapExtension);
-				}
-			}
-			
-			if (fIdMaps.containsKey(IdMapName)) {
-				HashMap Mappings = (HashMap) fIdMaps.get(IdMapName);
-				Mappings.put(IdMapSignature,IdMapAttribute);
-			} else {
-				HashMap Mappings = new HashMap();
-				Mappings.put(IdMapSignature,IdMapAttribute);
-				fIdMaps.put(IdMapName,Mappings);
-			}
-			start = end+1;
-			end = IdMapPrefValue.indexOf(IDMAP_SEPARATOR,end+1);
-		}
-		
-		fOrderedElements= new HashMap();
-		String OrderedPrefValue= fPrefStore.getString(ORDERED_PREFERENCE_NAME);
-		StringTokenizer orderedTokens= new StringTokenizer(OrderedPrefValue, (new Character(ORDERED_FIELDS_SEPARATOR)).toString());
-		while (orderedTokens.hasMoreTokens()) {
-			String IdMapName= orderedTokens.nextToken();
-			String signature= orderedTokens.nextToken();
-			if (fOrderedElements.containsKey(IdMapName)) {
-				ArrayList idmapAL= (ArrayList) fOrderedElements.get(IdMapName);
-				idmapAL.add(signature);
-			} else {
-				ArrayList idmapAL= new ArrayList();
-				idmapAL.add(signature);
-				fOrderedElements.put(IdMapName, idmapAL);
-			}
-		}
-
-	}
-	
-	/*
-	 * Updates the user Id Mappings, the IdExtensionToName mappings and refreshes the preference store.
-	 * @param IdMap the new Id Mappings
-	 * @param IdExtensionToName the new IdExtensionToName mappings
-	 * @param refresh whether all the open StructureViewers should be refreshed with the new IdMapping settings
-	 */
-	public void setIdMaps(HashMap IdMap, HashMap IdExtensionToName, HashMap OrderedElements, boolean refresh) {
-		fIdMaps = IdMap;
-		if (IdExtensionToName != null && !IdExtensionToName.equals(fIdExtensionToName)) {
-			CompareUI.removeAllStructureViewerAliases(DEFAULT_PREFIX);
-			fIdExtensionToName= IdExtensionToName;
-			Set newkeySet= fIdExtensionToName.keySet();
-			for (Iterator iter= newkeySet.iterator(); iter.hasNext(); ) {
-				String extension= (String)iter.next();
-				CompareUI.addStructureViewerAlias(DEFAULT_PREFIX, extension);
-			}
-		}
-		StringBuffer IdMapPrefValue = new StringBuffer();
-		Set idmapKeys = fIdMaps.keySet();
-		for (Iterator iter_idmap = idmapKeys.iterator(); iter_idmap.hasNext(); ) {
-			String IdMapName = (String) iter_idmap.next();
-			HashMap idmapHM = (HashMap) fIdMaps.get(IdMapName);
-			Set mappingKeys = idmapHM.keySet();
-			String extension= ""; //$NON-NLS-1$
-			if (fIdExtensionToName.containsValue(IdMapName)) {
-				Set keySet= fIdExtensionToName.keySet();
-				for (Iterator iter= keySet.iterator(); iter.hasNext(); ) {
-					extension= (String)iter.next();
-					if ( ((String)fIdExtensionToName.get(extension)).equals(IdMapName) )
-						break;
-				}
-			}
-			for (Iterator iter_mapping = mappingKeys.iterator(); iter_mapping.hasNext(); ) {
-				String signature = (String) iter_mapping.next();
-				IdMapPrefValue.append(IdMapName+IDMAP_FIELDS_SEPARATOR+signature+IDMAP_FIELDS_SEPARATOR+idmapHM.get(signature)+IDMAP_FIELDS_SEPARATOR+extension+IDMAP_SEPARATOR);
-			}
-		}
-		fPrefStore.setValue(IDMAP_PREFERENCE_NAME,IdMapPrefValue.toString());
-		//fPrefStore.setValue(IDMAP_PREFERENCE_NAME,"");
-		
-		//stores OrderedElements
-		if (OrderedElements != null) {
-			fOrderedElements= OrderedElements;
-			StringBuffer OrderedPrefValue= new StringBuffer();
-			Set orderedKeys= fOrderedElements.keySet();
-			for (Iterator iter_ordered= orderedKeys.iterator(); iter_ordered.hasNext();) {
-				String IdMapName= (String) iter_ordered.next();
-				ArrayList idmapAL= (ArrayList) fOrderedElements.get(IdMapName);
-				for (Iterator iter_idmapAL= idmapAL.iterator(); iter_idmapAL.hasNext();) {
-					String signature= (String) iter_idmapAL.next();
-					OrderedPrefValue.append(IdMapName+ORDERED_FIELDS_SEPARATOR+signature+ORDERED_FIELDS_SEPARATOR);
-				}
-			}
-			fPrefStore.setValue(ORDERED_PREFERENCE_NAME,OrderedPrefValue.toString());
-			//fPrefStore.setValue(ORDERED_PREFERENCE_NAME,"");
-		}
-
-		if (refresh) {
-			Object[] viewers = fViewers.getListeners();
-			for (int i = 0; i < viewers.length; ++i) {
-				XMLStructureViewer viewer = (XMLStructureViewer) viewers[i];
-				viewer.updateIdMaps();
-				viewer.contentChanged();
-			}
-		}
-	}
-	
-	public HashMap getIdMaps() {
-		return fIdMaps;
-	}
-	
-	public HashMap getIdMapsInternal() {
-		return fIdMapsInternal;
-	}
-	
-	public HashMap getIdExtensionToName() {
-		return fIdExtensionToName;
-	}
-
-	public HashMap getOrderedElements() {
-		return fOrderedElements;
-	}
-
-	public HashMap getOrderedElementsInternal() {
-		return fOrderedElementsInternal;
-	}
-
-	/**
-	 * Registers all internal Id Mapping schemes
-	 * that are found in plugin.xml files.
-	 */
-	private void registerExtensions() {
-		IExtensionRegistry registry= Platform.getExtensionRegistry();
-		
-		// collect all Id Mappings
-		IConfigurationElement[] idmaps= registry.getConfigurationElementsFor(PLUGIN_ID, ID_MAPPING_EXTENSION_POINT);
-		fIdMapsInternal = new HashMap();
-		fOrderedElementsInternal= new HashMap();
-		for (int i_idmap= 0; i_idmap < idmaps.length; i_idmap++) {
-			final IConfigurationElement idmap= idmaps[i_idmap];
-			//handle IDMAP_NAME_ATTRIBUTE
-			String idmap_name= idmap.getAttribute(IDMAP_NAME_ATTRIBUTE);
-			//ignores idmap if its name equals the reserved name for unordered matching or the the name for ordered matching
-			if ( !idmap_name.equals(XMLStructureCreator.USE_UNORDERED) && !idmap_name.equals(XMLStructureCreator.USE_ORDERED) ) {
-				//handle mappings
-				HashMap idmapHM = new HashMap();
-				fIdMapsInternal.put(idmap_name, idmapHM);
-				IConfigurationElement[] mappings = idmap.getChildren(MAPPING_ELEMENT_NAME);
-				for (int i_mapping= 0; i_mapping < mappings.length; i_mapping++) {
-					IConfigurationElement mapping = mappings[i_mapping];
-					//add SIGN_SEPARATOR at the end because not contained in signatures of plugin.xml
-					//also add prefix at beginning
-					String signature= mapping.getAttribute(MAPPING_SIGNATURE_ATTRIBUTE);
-					String attribute= mapping.getAttribute(MAPPING_ID_ATTRIBUTE);
-					String idsource= mapping.getAttribute(MAPPING_ID_SOURCE);
-					String bodyid= ""; //$NON-NLS-1$
-					if (signature != null && !signature.equals("") //$NON-NLS-1$
-						&& attribute != null && !attribute.equals("")) { //$NON-NLS-1$
-						if (idsource != null && idsource.equals(MAPPING_ID_SOURCE_BODY))
-							bodyid= (new Character(XMLStructureCreator.ID_TYPE_BODY)).toString();
-						idmapHM.put(XMLStructureCreator.ROOT_ID	+ XMLStructureCreator.SIGN_SEPARATOR
-								+ signature	+ XMLStructureCreator.SIGN_SEPARATOR, bodyid + attribute);
-					}
-				}
-				//handles ordered entries
-				IConfigurationElement[] orderedEntries= idmap.getChildren(ORDERED_ELEMENT_NAME);
-				if (orderedEntries.length > 0) {
-					ArrayList orderedAL= new ArrayList();
-					for (int i_ordered= 0; i_ordered < orderedEntries.length; i_ordered++) {
-						IConfigurationElement ordered= orderedEntries[i_ordered];
-						//add SIGN_SEPARATOR at the end because not contained in signatures of plugin.xml
-						//also add prefix at beginning
-						String signature= ordered.getAttribute(ORDERED_SIGNATURE_ATTRIBUTE);
-						if (signature != null && !signature.equals("")) //$NON-NLS-1$
-							orderedAL.add(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + signature + XMLStructureCreator.SIGN_SEPARATOR);
-					}
-					if (orderedAL.size() > 0)
-						fOrderedElementsInternal.put(idmap_name, orderedAL);
-				}
-				//handle EXTENSION_NAME_ATTRIBUTE
-				String ext_name= idmap.getAttribute(EXTENSION_NAME_ATTRIBUTE);
-				if (ext_name != null && !fIdExtensionToName.containsKey(ext_name)) {
-					ext_name= ext_name.toLowerCase();
-					fIdExtensionToName.put(ext_name,idmap_name);
-					CompareUI.addStructureViewerAlias(DEFAULT_PREFIX, ext_name);
-				}				
-			}
-		}
-	}
-
-	public ListenerList getViewers() {
-		return fViewers;
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		if (window != null)
-			return window.getShell();
-		return null;
-	}
-	
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		IWorkbenchWindow window= fgXMLPlugin.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null) {
-			final WindowRef windowRef= new WindowRef();
-			Display.getDefault().syncExec(new Runnable() {
-				public void run() {
-					setActiveWorkbenchWindow(windowRef);
-				}
-			});
-			return windowRef.window;
-		}
-		return window;
-	}
-
-	private static class WindowRef {
-		public IWorkbenchWindow window;
-	}
-
-	private static void setActiveWorkbenchWindow(WindowRef windowRef) {
-		windowRef.window= null;
-		Display display= Display.getCurrent();
-		if (display == null)
-			return;
-		Control shell= display.getActiveShell();
-		while (shell != null) {
-			Object data= shell.getData();
-			if (data instanceof IWorkbenchWindow) {
-				windowRef.window= (IWorkbenchWindow)data;
-				return;
-			}
-			shell= shell.getParent();
-		}
-		Shell shells[]= display.getShells();
-		for (int i= 0; i < shells.length; i++) {
-			Object data= shells[i].getData();
-			if (data instanceof IWorkbenchWindow) {
-				windowRef.window= (IWorkbenchWindow)data;
-				return;
-			}
-		}
-	}	
-	
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, "Internal Error", e)); //$NON-NLS-1$
-	}
-	
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	public static String getPluginId() {
-		return getDefault().getBundle().getSymbolicName();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureCreator.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureCreator.java
deleted file mode 100644
index eda121f..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureCreator.java
+++ /dev/null
@@ -1,807 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-
-import java.text.MessageFormat;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.helpers.LocatorImpl;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-
-import org.eclipse.compare.IEditableContent;
-import org.eclipse.compare.IEncodedStreamContentAccessor;
-import org.eclipse.compare.IStreamContentAccessor;
-import org.eclipse.compare.structuremergeviewer.Differencer;
-import org.eclipse.compare.structuremergeviewer.IDiffContainer;
-import org.eclipse.compare.structuremergeviewer.IStructureComparator;
-import org.eclipse.compare.structuremergeviewer.IStructureCreator;
-
-/**
- * This structure analyzer builds a parse tree of an XML document found in a
- * <code>IByteContentAccessor</code> input by calling getStructure(Object)
- */
-public class XMLStructureCreator implements IStructureCreator {
-
-    protected static final boolean DEBUG_MODE= false;
-    
-    public static final String DEFAULT_NAME= XMLCompareMessages.XMLStructureCreator_pluginname; 
-
-    public static final String USE_UNORDERED= XMLCompareMessages.XMLStructureCreator_unordered; 
-    public static final String USE_ORDERED= XMLCompareMessages.XMLStructureCreator_ordered; 
-    public static final String DEFAULT_IDMAP= USE_ORDERED;
-
-    public static final String TYPE_ELEMENT= "element"; //$NON-NLS-1$
-    public static final String TYPE_TEXT= "text"; //$NON-NLS-1$
-    public static final String TYPE_ATTRIBUTE= "attribute"; //$NON-NLS-1$
-
-    // for signatures
-    public static final String ROOT_ID= "root"; //$NON-NLS-1$
-    public static final char SIGN_SEPARATOR= '>';//'.'
-    public static final char SIGN_ENCLOSING= '$';
-    public static final String SIGN_ELEMENT= SIGN_ENCLOSING + TYPE_ELEMENT + SIGN_ENCLOSING;
-    public static final String SIGN_TEXT= SIGN_ENCLOSING + TYPE_TEXT + SIGN_ENCLOSING;
-    public static final String SIGN_ATTRIBUTE= SIGN_ENCLOSING + TYPE_ATTRIBUTE + SIGN_ENCLOSING;
-    
-    public static final String IDMAP_UNORDERED= XMLCompareMessages.XMLStructureCreator_idmap_unordered; 
-    public static final char ID_SEPARATOR= '<';
-    public static final char ID_TYPE_BODY= '<';
-
-    private XMLNode fcurrentParent;
-    private String fsignature;
-    private Document fdoc;
-    private boolean ignoreBodies= false;
-    private HashMap fIdMapsInternal;
-    private HashMap fIdMaps;
-    private HashMap fIdExtensionToName;
-    private HashMap fOrderedElementsInternal;
-    private HashMap fOrderedElements;
-    private HashMap idMap;
-    private ArrayList fOrdered;
-    private String fIdMapToUse;
-    private boolean fUseIdMap;
-    private String fFileExt;
-    private boolean fFirstCall= true;
-    private boolean fRemoveWhiteSpace;
-
-    protected class XMLHandler extends DefaultHandler {
-
-        protected Locator prevlocator; //previous locator
-        protected Locator locator; //current locator
-
-        public void setDocumentLocator(Locator locator0) {
-            this.locator= locator0;
-        }
-
-        // DocumentHandler methods
-        
-        /* Processing instruction. */
-        public void processingInstruction(String target, String data) {
-
-            //    	System.out.println("target: " + target);
-            //    	System.out.println("data: " + data);
-            //        System.out.print("<?");
-            //        System.out.print(target);
-            //        if (data != null && data.length() > 0) {
-            //            System.out.print(' ');
-            //            System.out.print(data);
-            //        }
-            //        System.out.print("?>");
-            //        System.out.flush();
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /** Start document. */
-        public void startDocument() {
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /* Start element. */
-        public void startElement(String uri, String local, String raw, Attributes attrs) {
-            XMLNode currentElement;
-
-            /* add root node for this element */
-
-            if (XMLStructureCreator.DEBUG_MODE) {
-                if (locator != null && prevlocator != null) {
-                    System.out.println("prevlocator: line " + prevlocator.getLineNumber() + "  column " + prevlocator.getColumnNumber() + "  id " + prevlocator.getPublicId()); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-                    System.out.println("locator: line " + locator.getLineNumber() + "  column " + locator.getColumnNumber() + "  id " + locator.getPublicId()); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-                }
-            }
-
-            try {
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("Node where children field accessed: " + fcurrentParent.getId()); //$NON-NLS-1$
-                XMLChildren currentParent= (XMLChildren) fcurrentParent;
-                currentParent.children++;
-                String elementId;
-                String elementName;
-                IRegion r= fdoc.getLineInformation(prevlocator.getLineNumber() - 1);
-
-                String parentSig= fsignature;
-                fsignature= fsignature + raw + SIGN_SEPARATOR;
-
-                if (isUseIdMap() && idMap.containsKey(fsignature)) {
-                    String attrName= (String) idMap.get(fsignature);
-                    elementId= raw + new Character(ID_SEPARATOR) + attrs.getValue(attrName);
-                    elementName= raw + " [" + attrName + "=" + attrs.getValue(attrName) + "]"; //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-                } else {
-                    if (!currentParent.childElements.containsKey(raw)) {
-                        currentParent.childElements.put(raw, new Integer(1));
-                    } else {
-                        currentParent.childElements.put(raw, new Integer(((Integer) currentParent.childElements.get(raw)).intValue() + 1));
-                    }
-                    elementId= raw + new Character(ID_SEPARATOR) + "[" + currentParent.childElements.get(raw) + "]"; //$NON-NLS-2$ //$NON-NLS-1$
-                    elementName= MessageFormat.format("{0} [{1}]", new String[] { raw, currentParent.childElements.get(raw).toString()}); //$NON-NLS-1$
-                }
-                int start= r.getOffset() + prevlocator.getColumnNumber() - 1;
-                if (start < 0)
-                    start= 0;
-                currentElement= new XMLChildren(TYPE_ELEMENT, elementId, elementId, (fsignature + SIGN_ELEMENT), fdoc, start, 0);
-                currentElement.setName(elementName);
-                if (isUseIdMap() && idMap.containsKey(fsignature))
-                    currentElement.setUsesIDMAP(true);
-                if (fOrdered != null && fOrdered.contains(parentSig))
-                    currentElement.setIsOrderedChild(true);
-
-                fcurrentParent.addChild(currentElement);
-                currentElement.setParent(fcurrentParent);
-                fcurrentParent= currentElement;
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("\nAdded Element " + raw + "  with offset " + r.getOffset()); //$NON-NLS-2$ //$NON-NLS-1$
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("fcurrentParent1: " + fcurrentParent.getId()); //$NON-NLS-1$
-
-                if (attrs != null) {
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("attrs != null, fcurrentParent is " + fcurrentParent.getId()); //$NON-NLS-1$
-                    //attrs = sortAttributes(attrs);
-                    int len= attrs.getLength();
-                    int element_lines_length_size;
-                    int[] element_lines_length;
-                    int column_offset;
-                    String element_string;
-                    if (fcurrentParent.getParent().getId().equals(ROOT_ID)) {
-                        element_lines_length_size= locator.getLineNumber() - prevlocator.getLineNumber();
-                        element_lines_length= new int[element_lines_length_size];
-                        column_offset= 0;
-                        element_string= ""; //$NON-NLS-1$
-                        for (int i_ell= 0; i_ell < element_lines_length.length; i_ell++) {
-                            IRegion attr_r= fdoc.getLineInformation(i_ell + prevlocator.getLineNumber());
-                            element_lines_length[i_ell]= fdoc.get(attr_r.getOffset(), attr_r.getLength()).length() + 1;
-                            element_string= element_string + fdoc.get(attr_r.getOffset(), attr_r.getLength()) + " "; //$NON-NLS-1$
-                        }
-                    } else {
-                        element_lines_length_size= locator.getLineNumber() - prevlocator.getLineNumber() + 1;
-                        //if (element_lines_length_size < 1)
-                        // element_lines_length_size = 1;
-                        element_lines_length= new int[element_lines_length_size];
-                        IRegion first_line= fdoc.getLineInformation(prevlocator.getLineNumber() - 1);
-                        column_offset= prevlocator.getColumnNumber() - 1;
-                        int first_line_relevant_offset= first_line.getOffset() + column_offset;
-                        int first_line_relevant_length= first_line.getLength() - column_offset;
-                        element_string= fdoc.get(first_line_relevant_offset, first_line_relevant_length) + " "; //$NON-NLS-1$
-                        element_lines_length[0]= element_string.length();
-                        for (int i_ell= 1; i_ell < element_lines_length.length; i_ell++) {
-                            IRegion attr_r= fdoc.getLineInformation(i_ell + prevlocator.getLineNumber() - 1);
-                            element_lines_length[i_ell]= fdoc.get(attr_r.getOffset(), attr_r.getLength()).length() + 1;
-                            element_string= element_string + fdoc.get(attr_r.getOffset(), attr_r.getLength()) + " "; //$NON-NLS-1$
-                        }
-                    }
-
-                    for (int i_attr= 0; i_attr < len; i_attr++) {
-                        String attr_name= attrs.getQName(i_attr);
-                        String attr_value= attrs.getValue(i_attr);
-
-                        /*
-                         * find range of attribute in doc; manually parses the
-                         * line
-                         */
-                        boolean found= false;
-                        int first_quotes= -1;
-                        int second_quotes= -1;
-                        int id_index= -1;
-                        while (!found) {
-                            first_quotes= element_string.indexOf("\"", second_quotes + 1); //$NON-NLS-1$
-                            second_quotes= element_string.indexOf("\"", first_quotes + 1); //$NON-NLS-1$
-                            String value;
-                            try {
-                                value= element_string.substring(first_quotes + 1, second_quotes);
-                            } catch (Exception e) {
-                                value= ""; //$NON-NLS-1$
-                            }
-                            if (value.equals("")) //$NON-NLS-1$
-                                found= true;
-                            else if (value.equals(attr_value)) {
-                                id_index= element_string.lastIndexOf(attr_name, first_quotes - 1);
-                                boolean wrong= false;
-                                boolean found_equal= false;
-                                for (int i_char= id_index + attr_name.length(); i_char < first_quotes && !wrong; i_char++) {
-                                    if (element_string.charAt(i_char) == '=')
-                                        if (!found_equal)
-                                            found_equal= true;
-                                        else
-                                            wrong= true;
-                                    else if (!Character.isWhitespace(element_string.charAt(i_char)))
-                                        wrong= true;
-                                }
-                                if (!wrong)
-                                    found= true;
-                            }
-                        }
-                        //id_index has one char missing for every line (the
-                        // final cr)
-                        int line_of_index= 0;
-                        for (line_of_index= 0; id_index > element_lines_length[line_of_index] - 1; line_of_index++)
-                            id_index-= (element_lines_length[line_of_index]);
-                        if (line_of_index == 0)
-                            id_index+= column_offset;
-                        if (fcurrentParent.getParent().getId().equals(ROOT_ID))
-                            line_of_index+= prevlocator.getLineNumber();
-                        else
-                            line_of_index+= prevlocator.getLineNumber() - 1;
-                        //index at line line_of_index, line offset id_index
-                        int line_of_end_of_value= 0;
-                        int end_of_value_index= second_quotes;
-                        for (line_of_end_of_value= 0; end_of_value_index > element_lines_length[line_of_end_of_value] - 1; line_of_end_of_value++)
-                            end_of_value_index-= (element_lines_length[line_of_end_of_value]);
-                        if (line_of_end_of_value == 0)
-                            end_of_value_index+= column_offset;
-                        if (fcurrentParent.getParent().getId().equals(ROOT_ID))
-                            line_of_end_of_value+= prevlocator.getLineNumber();
-                        else
-                            line_of_end_of_value+= prevlocator.getLineNumber() - 1;
-                        //end of value at line line_of_end_of_value, line
-                        // offset end_of_value_index
-
-                        int attr_start_doc_offset= fdoc.getLineInformation(line_of_index).getOffset() + id_index;
-                        //int attr_length_doc_offset =
-                        // fdoc.getLineInformation(line_of_value).getOffset()+value_index+attr_value.length()+1+(line_of_end_of_value-line_of_index)
-                        // - attr_start_doc_offset;
-                        int attr_length_doc_offset= fdoc.getLineInformation(line_of_end_of_value).getOffset() + end_of_value_index + 1 - attr_start_doc_offset;
-                        currentElement= new XMLNode(TYPE_ATTRIBUTE, attr_name, attr_value, (fsignature + attr_name + SIGN_SEPARATOR + SIGN_ATTRIBUTE), fdoc, attr_start_doc_offset, attr_length_doc_offset);
-                        currentElement.setName(attr_name);
-                        fcurrentParent.addChild(currentElement);
-                        currentElement.setParent(fcurrentParent);
-                        if (XMLStructureCreator.DEBUG_MODE)
-                            System.out.println("added attribute " + currentElement.getId() + " with value >" + currentElement.getValue() + "<" + " to element " + fcurrentParent.getId() + " which has parent " + fcurrentParent.getParent().getId()); //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-                    }
-                }
-            } catch (BadLocationException ex) {
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("BadLocationException in startElement(...) " + ex); //$NON-NLS-1$
-                currentElement= new XMLChildren(TYPE_ELEMENT, raw + "_(" + ((XMLChildren) fcurrentParent).children + ")", raw + "_(" + ((XMLChildren) fcurrentParent).children + ")", (fsignature + SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-            }
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("At the end of startElement(...), fcurrentParent is " + fcurrentParent.getId()); //$NON-NLS-1$
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /* Characters. */
-        public void characters(char ch[], int start, int length) {
-            if (!ignoreBodies) {
-                //			String chars = (new String(ch, start, length)).trim();
-                String chars= new String(ch, start, length);
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("characters: >" + chars + "<"); //$NON-NLS-2$ //$NON-NLS-1$
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("Body Location: line " + locator.getLineNumber() + "  column " + locator.getColumnNumber()); //$NON-NLS-2$ //$NON-NLS-1$
-
-                //if text contains only white space, it will be ignored.
-                if (!trimWhiteSpace(chars).equals("")) { //$NON-NLS-1$
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("Adding body"); //$NON-NLS-1$
-                    try {
-                        IRegion r= fdoc.getLineInformation(locator.getLineNumber() - 1);
-                        //location returns the END of the characters
-                        //offset of BEGINNING of characters:
-                        int offset= r.getOffset() + locator.getColumnNumber() - 1 - length;
-                        fcurrentParent.bodies++;
-                        String body_value= new String(ch, start, length);
-                        if (fRemoveWhiteSpace) {
-                            body_value= removeWhiteSpace(body_value);
-                        }
-                        XMLNode bodynode= new XMLNode(TYPE_TEXT, "body_(" + fcurrentParent.bodies + ")", body_value, (fsignature + SIGN_TEXT), fdoc, offset, length); //$NON-NLS-2$ //$NON-NLS-1$
-                        bodynode.setName(MessageFormat.format("{0} ({1})", new String[] { XMLCompareMessages.XMLStructureCreator_body, Integer.toString(fcurrentParent.bodies)}));  //$NON-NLS-1$
-                        fcurrentParent.addChild(bodynode);
-                        bodynode.setParent(fcurrentParent);
-                        if (XMLStructureCreator.DEBUG_MODE)
-                            System.out.println("Created body " + fcurrentParent.bodies //$NON-NLS-1$
-                                    + " with offset " + offset + " and length " + length //$NON-NLS-2$ //$NON-NLS-1$
-                                    + " with parent " + bodynode.getParent().getId()); //$NON-NLS-1$
-                        //bodies as id attributes
-                        String popsig= fcurrentParent.getParent().getSignature(); //signature of parent of
-                        // parent
-                        popsig= popsig.substring(0, popsig.lastIndexOf(SIGN_ELEMENT));
-                        if (isUseIdMap() && fcurrentParent.bodies == 1 && idMap.containsKey(popsig)) {
-                            String pid= fcurrentParent.getId();//id of parent
-                            String pelementname= pid.substring(0, pid.indexOf("<")); //name of parent element //$NON-NLS-1$
-                            if (((String) idMap.get(popsig)).equals(ID_TYPE_BODY + pelementname)) {
-                                XMLNode pop= fcurrentParent.getParent();
-                                String popid= pop.getId();
-                                String popelementname= popid.substring(0, popid.indexOf("<")); //$NON-NLS-1$
-                                pop.setId(popelementname + "<" + body_value); //$NON-NLS-1$
-                                pop.setOrigId(popelementname + "<" + body_value); //$NON-NLS-1$
-                                pop.setName(MessageFormat.format("{0} [{1}={2}]", new String[] { popelementname, pelementname, body_value})); //$NON-NLS-1$
-                                pop.setUsesIDMAP(true);
-                            }
-                        }
-                    } catch (BadLocationException ex) {
-                        if (XMLStructureCreator.DEBUG_MODE)
-                            System.out.println("BadLocationException in characters(...) " + ex); //$NON-NLS-1$
-                        fcurrentParent.addChild(new XMLNode(TYPE_TEXT, "body_(" + fcurrentParent.bodies + ")", new String(ch, start, length), (fsignature + SIGN_TEXT), fdoc, 0, 0)); //$NON-NLS-2$ //$NON-NLS-1$
-                    }
-                }
-            }
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /* Ignorable whitespace. */
-        public void ignorableWhitespace(char ch[], int start, int length) {
-            //
-            //// characters(ch, start, length);
-            //// System.out.flush();
-            //
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /* End element. */
-        public void endElement(String uri, String local, String raw) {
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("\nExiting element " + fcurrentParent.getId()); //$NON-NLS-1$
-
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("prevlocator: line " + prevlocator.getLineNumber() + "  column " + prevlocator.getColumnNumber() + "  id " + prevlocator.getPublicId()); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("locator: line " + locator.getLineNumber() + "  column " + locator.getColumnNumber() + "  id " + locator.getPublicId()); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-
-            if (fcurrentParent.getParent() != null) {
-                try {
-                    IRegion r2= fdoc.getLineInformation(locator.getLineNumber() - 1);
-                    Position pos= fcurrentParent.getRange();
-
-                    int elem_length= r2.getOffset() + locator.getColumnNumber() - 1 - pos.getOffset();//length of element from
-                    // start tag to end tag
-                    fcurrentParent.setLength(elem_length);
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("pos.getOffset: " + pos.getOffset() + "  elem_length: " + elem_length); //$NON-NLS-2$ //$NON-NLS-1$
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("fdoc.get(pos.getOffset()+elem_length-5,4): >" + fdoc.get(pos.getOffset() + elem_length - 5, 4) + "<"); //$NON-NLS-2$ //$NON-NLS-1$
-                    //if (fdoc.get(pos.getOffset()+elem_length-2,1) != ">")
-                    // elem_length-=1;
-                    try {
-                        fcurrentParent.setValue(fdoc.get(pos.getOffset(), elem_length));
-                    } catch (BadLocationException ex) {
-                        try {
-                            fcurrentParent.setValue(fdoc.get(pos.getOffset(), elem_length - 1));
-                        } catch (BadLocationException ex2) {
-                            if (XMLStructureCreator.DEBUG_MODE) {
-                                System.out.println("BadLocationException in endElement(...) while attempting fcurrentParent.setValue(...): " + ex); //$NON-NLS-1$
-                                System.out.println("Attempt to correct BadLocationException failed: " + ex2); //$NON-NLS-1$
-                            }
-                        }
-                    }
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("Value of " + fcurrentParent.getId() + "  is >" + fcurrentParent.getValue() + "<"); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-
-                    //going from ending element to parent element
-                    fcurrentParent= fcurrentParent.getParent();
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("fcurrentParent = fcurrentParent.getParent();"); //$NON-NLS-1$
-                } catch (BadLocationException ex) {
-                    if (XMLStructureCreator.DEBUG_MODE) {
-                        System.out.println("BadLocationException in endElement(...): " + ex); //$NON-NLS-1$
-                        System.out.println("fcurrentParent.getId(): " + fcurrentParent.getId()); //$NON-NLS-1$
-                    }
-                }
-            } else {
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("Error: Cannot reach Parent of Parent"); //$NON-NLS-1$
-            }
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("fcurrentParent is now " + fcurrentParent.getId()); //$NON-NLS-1$
-
-            prevlocator= new LocatorImpl(locator);
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("Signature before cutting: " + fsignature); //$NON-NLS-1$
-            int ssi= fsignature.lastIndexOf(SIGN_SEPARATOR);//fsignature
-            // separator index
-            ssi= fsignature.lastIndexOf(SIGN_SEPARATOR, ssi - 1);//second-last
-            // ".", e.g. in
-            // root.a.b. to
-            // obtain
-            // root.a.
-            fsignature= fsignature.substring(0, ssi + 1);
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("Signature after cutting: " + fsignature); //$NON-NLS-1$
-        }
-
-        //
-        // ErrorHandler methods
-        //
-
-        /* Warning. */
-        public void warning(SAXParseException ex) {
-            System.err.println("[Warning] " + //$NON-NLS-1$
-                    getLocationString(ex) + ": " + //$NON-NLS-1$
-                    ex.getMessage());
-        }
-
-        /* Error. */
-        public void error(SAXParseException ex) {
-            System.err.println("[Error] " + //$NON-NLS-1$
-                    getLocationString(ex) + ": " + //$NON-NLS-1$
-                    ex.getMessage());
-        }
-
-        /* Fatal error. */
-        public void fatalError(SAXParseException ex) throws SAXException {
-            System.err.println("[Fatal Error] " + //$NON-NLS-1$
-                    getLocationString(ex) + ": " + //$NON-NLS-1$
-                    ex.getMessage());
-            //System.out.println(ex);
-            //throw ex;
-        }
-
-        /* Returns a string of the location. */
-        private String getLocationString(SAXParseException ex) {
-            StringBuffer str= new StringBuffer();
-
-            String systemId= ex.getSystemId();
-            if (systemId != null) {
-                int index= systemId.lastIndexOf('/');
-                if (index != -1)
-                    systemId= systemId.substring(index + 1);
-                str.append(systemId);
-            }
-            str.append(':');
-            str.append(ex.getLineNumber());
-            str.append(':');
-            str.append(ex.getColumnNumber());
-
-            return str.toString();
-
-        }
-    }
-
-    public XMLStructureCreator() {
-        //set default idmap
-        fIdMapToUse= DEFAULT_IDMAP;
-        fUseIdMap= false;
-        XMLPlugin plugin= XMLPlugin.getDefault();
-        //if statement required for tests
-        if (plugin != null) {
-            fIdMaps= plugin.getIdMaps();
-            fIdMapsInternal= plugin.getIdMapsInternal();
-            fIdExtensionToName= plugin.getIdExtensionToName();
-            fOrderedElements= plugin.getOrderedElements();
-            fOrderedElementsInternal= plugin.getOrderedElementsInternal();
-        }
-        fRemoveWhiteSpace= false;
-    }
-
-    /*
-     * This title will be shown in the title bar of the structure compare pane.
-     */
-    public String getName() {
-        return DEFAULT_NAME;
-    }
-
-    /*
-     * Set File extension of the parsed file. This extension will be used to choose an Id Map scheme.
-     */
-    public void setFileExtension(String ext) {
-        fFileExt= ext;
-    }
-
-    /**
-     * Initialize the Id Mappings for the Id Mapping Scheme and the Ordered Elements
-     * This method must be called before getStructure(Object) is called on the two/three inputs of the compare
-     */
-    public void initIdMaps() {
-        if (fFirstCall && fFileExt != null) {
-            fFirstCall= false;
-            String fileExtLower= fFileExt.toLowerCase();
-            if (fIdExtensionToName.containsKey(fileExtLower))
-                setIdMap((String) fIdExtensionToName.get(fileExtLower));
-        }
-
-        setUseIdMap();
-        fOrdered= null;
-        if (!isUseIdMap())
-            idMap= null;
-        else if (fIdMaps.containsKey(fIdMapToUse)) {
-            idMap= (HashMap) fIdMaps.get(fIdMapToUse);
-        } else if (fIdMapsInternal.containsKey(fIdMapToUse)) {
-            idMap= (HashMap) fIdMapsInternal.get(fIdMapToUse);
-        }
-
-        if (fOrderedElements != null)
-            fOrdered= (ArrayList) fOrderedElements.get(fIdMapToUse);
-        if (fOrdered == null && fOrderedElementsInternal != null)
-            fOrdered= (ArrayList) fOrderedElementsInternal.get(fIdMapToUse);
-    }
-
-    /*
-     * Returns the XML parse tree of the input.
-     */
-    public IStructureComparator getStructure(Object input) {
-        if (XMLStructureCreator.DEBUG_MODE)
-            System.out.println("Starting parse"); //$NON-NLS-1$
-
-        if (!(input instanceof IStreamContentAccessor))
-            return null;
-
-        IStreamContentAccessor sca= (IStreamContentAccessor) input;
-
-        try {
-            // Input parsed with parser.parse(new InputSource(sca.getContents));	
-
-            String contents= readString(sca);
-            if (contents == null)
-                contents= ""; //$NON-NLS-1$
-            fdoc= new Document(contents);
-
-            fsignature= ROOT_ID + SIGN_SEPARATOR;
-            XMLChildren root= new XMLChildren(TYPE_ELEMENT, ROOT_ID, "", (fsignature + SIGN_ELEMENT), fdoc, 0, fdoc.getLength()); //$NON-NLS-1$
-            fcurrentParent= root;
-
-            XMLHandler handler= new XMLHandler();
-
-            try {
-                //            	/* original xerces code
-                //            	SAXParser parser = (SAXParser)Class.forName(parserName).newInstance();
-                //            	*/
-                //				XMLReader parser = XMLReaderFactory.createXMLReader(parserName);
-                //				
-                //	            parser.setFeature( "http://xml.org/sax/features/validation", setValidation); //$NON-NLS-1$
-                //    	        parser.setFeature( "http://xml.org/sax/features/namespaces", setNameSpaces ); //$NON-NLS-1$
-                //    	        /*
-                //    	        parser.setFeature( "http://apache.org/xml/features/nonvalidating/load-external-dtd", false); //$NON-NLS-1$
-                //        	    parser.setFeature( "http://apache.org/xml/features/validation/schema", setSchemaSupport ); //$NON-NLS-1$
-                //	            parser.setFeature( "http://apache.org/xml/features/validation/schema-full-checking", setSchemaFullSupport); //$NON-NLS-1$
-                //	           	*/
-                //	            parser.setContentHandler(handler);
-                //	            parser.setErrorHandler(handler);
-                //	            
-                //	            parser.parse(new InputSource(sca.getContents()));
-
-                SAXParserFactory factory= SAXParserFactory.newInstance();
-                factory.setNamespaceAware(true);
-                SAXParser parser= factory.newSAXParser();
-                parser.parse(new InputSource(new StringReader(contents)), handler);
-
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("End of parse"); //$NON-NLS-1$
-            } catch (SAXParseException e) {
-                XMLPlugin.log(e);
-                return null;
-            } catch (Exception e) {
-                //				MessageDialog.openError(XMLPlugin.getActiveWorkbenchShell(),"Error in XML parser","An error occured in the XML parser.\nNo structured compare can be shown");
-                XMLPlugin.log(e);
-                return null;
-            }
-            return root;
-        } catch (CoreException ex) {
-            XMLPlugin.log(ex);
-        }
-        return null;
-    }
-
-    public boolean canSave() {
-        return true;
-    }
-
-    public boolean canRewriteTree() {
-        return false;
-    }
-
-    public void rewriteTree(Differencer differencer, IDiffContainer root) {
-    		// nothing to do
-    }
-
-    public void save(IStructureComparator structure, Object input) {
-        if (input instanceof IEditableContent && structure instanceof XMLNode) {
-            IDocument document= ((XMLNode) structure).getDocument();
-            IEditableContent bca= (IEditableContent) input;
-			String contents= document.get();
-			String encoding= null;
-			if (input instanceof IEncodedStreamContentAccessor) {
-				try {
-					encoding= ((IEncodedStreamContentAccessor)input).getCharset();
-				} catch (CoreException e1) {
-					// ignore
-				}
-			}
-			if (encoding == null)
-				encoding= "UTF-8"; //$NON-NLS-1$
-			try {
-			    bca.setContent(contents.getBytes(encoding));
-			} catch (UnsupportedEncodingException e) {
-			    bca.setContent(contents.getBytes());	
-			}
-		}
-	}
-
-    public String getContents(Object node, boolean ignoreWhitespace) {
-        if (node instanceof XMLNode) {
-            String s= ((XMLNode) node).getValue();
-            if (ignoreWhitespace)
-                s= s.trim();
-            return s;
-        }
-        return null;
-    }
-
-    public IStructureComparator locate(Object path, Object source) {
-        return null;
-    }
-
-    static String readString(IStreamContentAccessor sa) throws CoreException {
-        InputStream is= sa.getContents();
-        String encoding= null;
-        if (sa instanceof IEncodedStreamContentAccessor)
-            encoding= ((IEncodedStreamContentAccessor) sa).getCharset();
-        if (encoding == null)
-            encoding= "UTF-8"; //$NON-NLS-1$
-        return readString(is, encoding);
-    }
-
-    /*
-     * Returns null if an error occurred.
-     */
-    private static String readString(InputStream is, String encoding) {
-        if (is == null)
-            return null;
-        BufferedReader reader= null;
-        try {
-            StringBuffer buffer= new StringBuffer();
-            char[] part= new char[2048];
-            int read= 0;
-            reader= new BufferedReader(new InputStreamReader(is, encoding));
-
-            while ((read= reader.read(part)) != -1)
-                buffer.append(part, 0, read);
-
-            return buffer.toString();
-
-        } catch (IOException ex) {
-            // NeedWork
-        } finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                } catch (IOException ex) {
-                    // silently ignored
-                }
-            }
-        }
-        return null;
-    }
-
-    /* Returns a sorted list of attributes.
-     */
-    protected Attributes sortAttributes(Attributes attrs) {
-
-        AttributesImpl attributes= new AttributesImpl();
-        int len= (attrs != null) ? attrs.getLength() : 0;
-        for (int i= 0; i < len; i++) {
-            String name= attrs.getQName(i);
-            int count= attributes.getLength();
-            int j= 0;
-            while (j < count) {
-                if (name.compareTo(attributes.getQName(j)) < 0)
-                    break;
-                j++;
-            }
-            attributes.insertAttributeAt(j, name, attrs.getType(i), attrs.getValue(i));
-        }
-
-        return attributes;
-
-    }
-
-    public void setIdMap(String idmap_name) {
-        fIdMapToUse= idmap_name;
-    }
-
-    /*
-     * Returns the name of the IdMap Scheme that will be used to set ids.
-     */
-    public String getIdMap() {
-        return fIdMapToUse;
-    }
-
-    public void setUseIdMap() {
-        if (fIdMaps != null && fIdMapsInternal != null)
-            fUseIdMap= fIdMaps.containsKey(fIdMapToUse) || fIdMapsInternal.containsKey(fIdMapToUse);
-    }
-
-    public boolean isUseIdMap() {
-        return fUseIdMap;
-    }
-
-    public void updateIdMaps() {
-        fIdMaps= XMLPlugin.getDefault().getIdMaps();
-        fOrderedElements= XMLPlugin.getDefault().getOrderedElements();
-    }
-
-    protected boolean isWhiteSpace(char c) {
-        return c == '\t' || c == '\n' || c == '\r' || c == ' ';
-    }
-
-    protected String removeWhiteSpace(String str) {
-        str= trimWhiteSpace(str);
-        StringBuffer retStr= new StringBuffer();
-        int start= 0, end= 0;
-        outer_while: while (true) {
-            while (end < str.length() && !isWhiteSpace(str.charAt(end))) {
-                end++;
-            }
-            if (end > str.length())
-                break outer_while;
-            if (start != 0)
-                retStr.append(' ');
-            retStr.append(str.substring(start, end));
-            end++;
-            while (end < str.length() && isWhiteSpace(str.charAt(end))) {
-                end++;
-            }
-            start= end;
-        }
-        return retStr.toString();
-    }
-
-    protected String trimWhiteSpace(String str) {
-        int start= 0, end= str.length() - 1;
-        while (start < str.length() && isWhiteSpace(str.charAt(start))) {
-            start++;
-        }
-        if (start == str.length())
-            return ""; //$NON-NLS-1$
-        while (end >= 0 && isWhiteSpace(str.charAt(end))) {
-            end--;
-        }
-        return str.substring(start, end + 1);
-    }
-
-    public void setRemoveWhiteSpace(boolean removeWhiteSpace) {
-        fRemoveWhiteSpace= removeWhiteSpace;
-    }
-
-    public boolean getRemoveWhiteSpace() {
-        return fRemoveWhiteSpace;
-    }
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewer.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewer.java
deleted file mode 100644
index 42eb3f9..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewer.java
+++ /dev/null
@@ -1,562 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.compare.*;
-import org.eclipse.compare.structuremergeviewer.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- * An XML diff tree viewer that can be configured with a <code>IStructureCreator</code>
- * to retrieve a hierarchical structure from the input object (an <code>ICompareInput</code>)
- * and perform a two-way or three-way compare on it.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed outside
- * this package.
- * </p>
- *
- * @see ICompareInput
- */
-public class XMLStructureViewer extends StructureDiffViewer {
-
-	private CompareViewerSwitchingPane fParent;
-
-	private HashMap fIdMapsInternal;
-	private HashMap fIdMaps;
-	private HashMap fOrderedElementsInternal;
-	private HashMap fOrderedElements;
-
-	protected static final char SIGN_SEPARATOR=
-		XMLStructureCreator.SIGN_SEPARATOR;
-
-	class XMLSorter extends ViewerSorter {
-
-		ArrayList fOrdered;
-		boolean fAlwaysOrderSort;
-
-		public XMLSorter() {
-			super();
-			fAlwaysOrderSort= false;
-		}
-
-		public void setOrdered(ArrayList ordered) {
-			fOrdered= ordered;
-		}
-
-		public void setAlwaysOrderSort(boolean alwaysOrderSort) {
-			fAlwaysOrderSort= alwaysOrderSort;
-		}
-
-		public int category(Object node) {
-			if (node instanceof DiffNode) {
-				Object o= ((DiffNode) node).getId();
-				if (o instanceof XMLNode) {
-					String xmlType= ((XMLNode) o).getXMLType();
-					if (xmlType.equals(XMLStructureCreator.TYPE_ATTRIBUTE))
-						return 1;
-					if (xmlType.equals(XMLStructureCreator.TYPE_ELEMENT))
-						return 2;
-					if (xmlType.equals(XMLStructureCreator.TYPE_TEXT))
-						return 2;
-				}
-			}
-			return 0;
-		}
-
-		public void sort(final Viewer viewer, Object[] elements) {
-			if ((fOrdered != null || fAlwaysOrderSort)
-				&& elements != null
-				&& elements.length > 0
-				&& elements[0] instanceof DiffNode) {
-				Object o= ((DiffNode) elements[0]).getId();
-				if (o instanceof XMLNode) {
-					XMLNode parent= ((XMLNode) o).getParent();
-					String sig= parent.getSignature();
-					if (sig.endsWith(XMLStructureCreator.SIGN_ELEMENT)) {
-						String newSig=
-							sig.substring(
-								0,
-								sig.length()
-									- XMLStructureCreator.SIGN_ELEMENT.length());
-						if (fAlwaysOrderSort || fOrdered.contains(newSig)) {
-							final ArrayList originalTree=
-								new ArrayList(
-									Arrays.asList(parent.getChildren()));
-							Arrays.sort(elements, new Comparator() {
-								public int compare(Object a, Object b) {
-									return XMLSorter.this.compare(
-										(DiffNode) a,
-										(DiffNode) b,
-										originalTree);
-								}
-							});
-							return;
-						}
-					}
-				}
-			}
-			super.sort(viewer, elements);
-		}
-
-		private int compare(DiffNode a, DiffNode b, ArrayList originalTree) {
-
-			int index_a= originalTree.indexOf(a.getId());
-			int index_b= originalTree.indexOf(b.getId());
-			if (index_a < index_b)
-				return -1;
-			return 1;
-		}
-	}
-
-	/**
-	 * Creates a new viewer for the given SWT tree control with the specified configuration.
-	 *
-	 * @param tree the tree control
-	 * @param configuration the configuration for this viewer
-	 */
-	public XMLStructureViewer(Tree tree, CompareConfiguration configuration) {
-		super(tree, configuration);
-		initialize();
-	}
-
-	/**
-	 * Creates a new viewer under the given SWT parent with the specified configuration.
-	 *
-	 * @param parent the SWT control under which to create the viewer
-	 * @param configuration the configuration for this viewer
-	 */
-	public XMLStructureViewer(
-		Composite parent,
-		CompareConfiguration configuration) {
-		super(parent, configuration);
-		if (parent instanceof CompareViewerSwitchingPane) {
-			fParent= (CompareViewerSwitchingPane) parent;
-		}
-		initialize();
-	}
-
-	private void initialize() {
-		setStructureCreator(new XMLStructureCreator());
-		XMLPlugin plugin= XMLPlugin.getDefault();
-
-		plugin.getViewers().add(this);
-
-		fIdMaps= plugin.getIdMaps();
-		fIdMapsInternal= plugin.getIdMapsInternal();
-		fOrderedElements= plugin.getOrderedElements();
-		fOrderedElementsInternal= plugin.getOrderedElementsInternal();
-
-		XMLSorter sorter= new XMLSorter();
-		setSorter(sorter);
-
-	}
-
-	protected XMLStructureCreator getXMLStructureCreator() {
-		return (XMLStructureCreator) getStructureCreator();
-	}
-
-	/* (non Javadoc)
-	 * Overridden to unregister all listeners.
-	 */
-	protected void handleDispose(DisposeEvent event) {
-
-		XMLPlugin.getDefault().getViewers().remove(this);
-
-		super.handleDispose(event);
-	}
-
-	/*
-	 * Recreates the comparable structures for the input sides.
-	 */
-	protected void compareInputChanged(ICompareInput input) {
-		if (input != null) {
-			ITypedElement t= input.getLeft();
-			if (t != null) {
-				String fileExtension= t.getType();
-				getXMLStructureCreator().setFileExtension(fileExtension);
-			}
-		}
-
-		getXMLStructureCreator().initIdMaps();
-		super.compareInputChanged(input);
-
-		if (input != null && fParent.getTitleArgument() == null)
-			appendToTitle(getXMLStructureCreator().getIdMap());
-	}
-
-	/**
-	 * Calls <code>diff</code> whenever the byte contents changes.
-	 */
-	protected void contentChanged() {
-		fIdMaps= XMLPlugin.getDefault().getIdMaps();
-		fOrderedElements= XMLPlugin.getDefault().getOrderedElements();
-		getXMLStructureCreator().updateIdMaps();
-		if (isIdMapRemoved()) {
-			getXMLStructureCreator().setIdMap(
-				XMLStructureCreator.DEFAULT_IDMAP);
-		}
-
-		getXMLStructureCreator().initIdMaps();
-
-		contentChanged(null);
-
-		if (fParent.getTitleArgument() == null)
-			appendToTitle(getXMLStructureCreator().getIdMap());
-
-	}
-
-	protected void preDiffHook(
-		IStructureComparator ancestor,
-		IStructureComparator left,
-		IStructureComparator right, IProgressMonitor monitor) {
-		//		if (!xsc.getIdMap().equals(XMLStructureCreator.USE_ORDERED)) {
-		//TimeoutContext.run(true, TIMEOUT, getControl().getShell(), runnable);
-		if (left != null && right != null) {
-			performMatching((XMLNode)left, (XMLNode)right, (XMLNode)ancestor, monitor);
-		}
-	}
-
-	/**
-	 * Overriden to create buttons in the viewer's pane control bar.
-	 * <p>
-	 *
-	 * @param toolBarManager the toolbar manager for which to add the buttons
-	 */
-	protected void createToolItems(ToolBarManager toolBarManager) {
-		super.createToolItems(toolBarManager);
-		toolBarManager.appendToGroup("modes", new ChooseMatcherDropDownAction(this)); //$NON-NLS-1$
-		toolBarManager.appendToGroup("modes", new CreateNewIdMapAction(this)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Overriden to create a context menu.
-	 * <p>
-	 *
-	 * @param manager the menu manager for which to add menu items
-	 */
-	protected void fillContextMenu(IMenuManager manager) {
-		super.fillContextMenu(manager);
-		ISelection s= getSelection();
-		if (s instanceof StructuredSelection
-			&& ((StructuredSelection) s).getFirstElement() instanceof DiffNode
-			&& ((DiffNode) ((StructuredSelection) s).getFirstElement()).getId()
-				instanceof XMLNode) {
-			DiffNode diffnode=
-				(DiffNode) ((StructuredSelection) s).getFirstElement();
-			String diffnodeIdSig= ((XMLNode) diffnode.getId()).getSignature();
-			fIdMaps= XMLPlugin.getDefault().getIdMaps();
-			String idmap_name= getXMLStructureCreator().getIdMap();
-			if (diffnodeIdSig.endsWith(XMLStructureCreator.SIGN_ATTRIBUTE) || (diffnodeIdSig.endsWith(XMLStructureCreator.SIGN_TEXT) && ((XMLNode) diffnode.getId()).getOrigId().endsWith("(1)"))) { //$NON-NLS-1$
-				Action action= new SetAsIdAction(diffnode);
-				if (!fIdMaps.containsKey(idmap_name)) {
-					action.setText(XMLCompareMessages.XMLStructureViewer_action_notUserIdMap); 
-					action.setEnabled(false);
-				} else {
-					HashMap idmapHM= (HashMap) fIdMaps.get(idmap_name);
-					XMLNode idNode= (XMLNode) diffnode.getId();
-					String signature= idNode.getSignature();
-					String idname= ""; //$NON-NLS-1$
-					if (idNode
-						.getSignature()
-						.endsWith(XMLStructureCreator.SIGN_ATTRIBUTE)) {
-						signature=
-							signature.substring(
-								0,
-								signature.indexOf(
-									XMLStructureCreator.SIGN_ATTRIBUTE));
-						int end_of_signature=
-							signature.lastIndexOf(
-								SIGN_SEPARATOR,
-								signature.length() - 2);
-						idname=
-							signature.substring(
-								end_of_signature + 1,
-								signature.length() - 1);
-						signature= signature.substring(0, end_of_signature + 1);
-					} else if (
-						idNode.getSignature().endsWith(
-							XMLStructureCreator.SIGN_TEXT)) {
-						XMLNode textNode= (XMLNode) diffnode.getId();
-						XMLNode idelem= textNode.getParent();
-						XMLNode elem= idelem.getParent();
-						signature=
-							elem.getSignature().substring(
-								0,
-								elem.getSignature().indexOf(
-									XMLStructureCreator.SIGN_ELEMENT));
-						idname= idelem.getOrigId();
-						idname=
-							idname.substring(
-								0,
-								idname.indexOf(
-									XMLStructureCreator.ID_SEPARATOR));
-						idname=
-							new Character(XMLStructureCreator.ID_TYPE_BODY)
-								+ idname;
-					}
-					if (idmapHM.containsKey(signature)) {
-						if (idmapHM.get(signature).equals(idname)) {
-							action.setText(XMLCompareMessages.XMLStructureViewer_action_setId_text1); 
-							action.setEnabled(false);
-						} else {
-							String oldId= (String) idmapHM.get(signature);
-							if (oldId
-								.startsWith(
-									(new Character(XMLStructureCreator
-										.ID_TYPE_BODY))
-										.toString()))
-								oldId= oldId.substring(1);
-							action.setText(MessageFormat.format("{0} {1}", new String[] { XMLCompareMessages.XMLStructureViewer_action_setId_text2, oldId }));  //$NON-NLS-1$
-							action.setEnabled(true);
-						}
-					} else {
-						action.setText(XMLCompareMessages.XMLStructureViewer_action_setId_text3); 
-						action.setEnabled(true);
-					}
-				}
-				manager.add(action);
-			} else if (
-				diffnodeIdSig.endsWith(XMLStructureCreator.SIGN_ELEMENT)) {
-				SetOrderedAction action= new SetOrderedAction(idmap_name);
-				if (!fIdMaps.containsKey(idmap_name)) {
-					action.setText(XMLCompareMessages.XMLStructureViewer_action_notUserIdMap); 
-					action.setEnabled(false);
-				} else {
-					ArrayList idmapOrdered=
-						(ArrayList) fOrderedElements.get(idmap_name);
-					XMLNode idNode= (XMLNode) diffnode.getId();
-					String signature= idNode.getSignature();
-					//					String idname= "";
-					signature=
-						signature.substring(
-							0,
-							signature.indexOf(
-								XMLStructureCreator.SIGN_ELEMENT));
-					if (idmapOrdered != null
-						&& idmapOrdered.contains(signature)) {
-						action.setText(XMLCompareMessages.XMLStructureViewer_action_setOrdered_exists); 
-						action.setEnabled(false);
-					} else {
-						action.setText(XMLCompareMessages.XMLStructureViewer_action_setOrdered); 
-						action.setSignature(signature);
-						action.setEnabled(true);
-					}
-				}
-
-				manager.add(action);
-			}
-		}
-	}
-
-	protected void appendToTitle(String idmap_name) {
-		if (fParent != null) {
-			getXMLStructureCreator().setIdMap(idmap_name);
-			fParent.setTitleArgument(idmap_name);
-		}
-	}
-
-	/*
-	 * Returns true if the current Id Map scheme has been removed.
-	 */
-	private boolean isIdMapRemoved() {
-		XMLStructureCreator xsc= getXMLStructureCreator();
-		String IdMapName= xsc.getIdMap();
-		return !IdMapName.equals(XMLStructureCreator.USE_UNORDERED)
-			&& !IdMapName.equals(XMLStructureCreator.USE_ORDERED)
-			&& !fIdMaps.containsKey(IdMapName)
-			&& !fIdMapsInternal.containsKey(IdMapName)
-			&& !fOrderedElements.containsKey(IdMapName);
-	}
-
-	protected class SetAsIdAction extends Action {
-
-		DiffNode fDiffNode;
-
-		public SetAsIdAction(DiffNode diffnode) {
-			fDiffNode= diffnode;
-		}
-
-		public void run() {
-			XMLStructureCreator sc= getXMLStructureCreator();
-			//			DiffNode diffnode = (DiffNode) ((StructuredSelection) getSelection()).getFirstElement();
-			String idmap_name= sc.getIdMap();
-			if (fIdMaps.containsKey(idmap_name)) {
-				HashMap idmapHM= (HashMap) fIdMaps.get(idmap_name);
-				if (((XMLNode) fDiffNode.getId())
-					.getSignature()
-					.endsWith(XMLStructureCreator.SIGN_ATTRIBUTE)) {
-					XMLNode attrNode= (XMLNode) fDiffNode.getId();
-					String signature= attrNode.getSignature();
-					signature=
-						signature.substring(
-							0,
-							signature.indexOf(
-								XMLStructureCreator.SIGN_ATTRIBUTE));
-					int end_of_signature=
-						signature.lastIndexOf(
-							SIGN_SEPARATOR,
-							signature.length() - 2);
-					String idattr=
-						signature.substring(
-							end_of_signature + 1,
-							signature.length() - 1);
-					signature= signature.substring(0, end_of_signature + 1);
-					idmapHM.put(signature, idattr);
-					XMLPlugin.getDefault().setIdMaps(
-						fIdMaps,
-						null,
-						null,
-						false);
-					//contentChanged();
-				} else if (
-					((XMLNode) fDiffNode.getId()).getSignature().endsWith(
-						XMLStructureCreator.SIGN_TEXT)) {
-					XMLNode textNode= (XMLNode) fDiffNode.getId();
-					XMLNode idelem= textNode.getParent();
-					XMLNode elem= idelem.getParent();
-					String signature=
-						elem.getSignature().substring(
-							0,
-							elem.getSignature().indexOf(
-								XMLStructureCreator.SIGN_ELEMENT));
-					String idname= idelem.getOrigId();
-					idname=
-						idname.substring(
-							0,
-							idname.indexOf(XMLStructureCreator.ID_SEPARATOR));
-					idname=
-						new Character(XMLStructureCreator.ID_TYPE_BODY)
-							+ idname;
-					idmapHM.put(signature, idname);
-					XMLPlugin.getDefault().setIdMaps(
-						fIdMaps,
-						null,
-						null,
-						false);
-					//contentChanged();
-				}
-			}
-		}
-	}
-
-	protected class SetOrderedAction extends Action {
-
-		String fIdMapName;
-		String fSignature;
-
-		public SetOrderedAction(String idmap_name) {
-			fIdMapName= idmap_name;
-		}
-
-		public void run() {
-			//String idmap_name= getXMLStructureCreator().getIdMap();
-			if (fSignature != null) {
-				ArrayList idmapOrdered=
-					(ArrayList) fOrderedElements.get(fIdMapName);
-				if (idmapOrdered == null) {
-					idmapOrdered= new ArrayList();
-					fOrderedElements.put(fIdMapName, idmapOrdered);
-				}
-				idmapOrdered.add(fSignature);
-			}
-		}
-
-		public void setSignature(String signature) {
-			fSignature= signature;
-		}
-	}
-
-	protected void updateIdMaps() {
-		getXMLStructureCreator().updateIdMaps();
-	}
-
-	/*
-	 * Tracks property changes of the configuration object.
-	 * Clients may override to track their own property changes.
-	 * In this case they must call the inherited method.
-	 */
-	protected void propertyChange(PropertyChangeEvent event) {
-		String key= event.getProperty();
-		if (key.equals(CompareConfiguration.IGNORE_WHITESPACE)) {
-			getXMLStructureCreator().setRemoveWhiteSpace(
-				!getXMLStructureCreator().getRemoveWhiteSpace());
-			contentChanged();
-		}
-	}
-
-	private void performMatching(final XMLNode left, final XMLNode right,
-			final XMLNode ancestor, IProgressMonitor monitor) {
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}
-		int totalWork;
-		if (ancestor != null)
-			totalWork= 1;
-		else
-			totalWork= 3;
-		monitor.beginTask(XMLCompareMessages.XMLStructureViewer_matching_beginTask, totalWork); 
-		ArrayList ordered= null;
-		if (!getXMLStructureCreator()
-			.getIdMap()
-			.equals(XMLStructureCreator.USE_UNORDERED)
-			&& !getXMLStructureCreator().getIdMap().equals(
-				XMLStructureCreator.USE_ORDERED)) {
-			ordered=
-				(ArrayList) fOrderedElements.get(
-					getXMLStructureCreator().getIdMap());
-			if (ordered == null)
-				ordered=
-					(ArrayList) fOrderedElementsInternal.get(
-						getXMLStructureCreator().getIdMap());
-		}
-		if (getSorter() instanceof XMLSorter)
-			 ((XMLSorter) getSorter()).setOrdered(ordered);
-		AbstractMatching m= null;
-		if (getXMLStructureCreator()
-			.getIdMap()
-			.equals(XMLStructureCreator.USE_ORDERED)) {
-			m= new OrderedMatching();
-			if (getSorter() instanceof XMLSorter)
-				 ((XMLSorter) getSorter()).setAlwaysOrderSort(true);
-		}
-		try {
-			if (m != null) {
-				m.match(left, right, false, monitor);
-				if (ancestor != null) {
-					m.match(
-						left,
-						ancestor,
-						true,
-						new SubProgressMonitor(monitor, 1));
-					m.match(
-						right,
-						ancestor,
-						true,
-						new SubProgressMonitor(monitor, 1));
-				}
-				//				} catch (InterruptedException e) {
-				//					System.out.println("in run");
-				//					e.printStackTrace();
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewerCreator.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewerCreator.java
deleted file mode 100644
index cd13d47..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewerCreator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.IViewerCreator;
-
-/**
- * A factory object for the <code>TextMergeViewer</code>.
- * This indirection is necessary because only objects with a default
- * constructor can be created via an extension point
- * (this precludes Viewers).
- */
-public class XMLStructureViewerCreator implements IViewerCreator {
-
-	public Viewer createViewer(Composite parent, CompareConfiguration mp) {
-		return new XMLStructureViewer(parent, mp);
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/MessageLine.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/MessageLine.java
deleted file mode 100644
index 5065017..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/MessageLine.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml.ui;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A message line. It distinguishs between "normal" messages and errors. 
- * Setting an error message hides a currently displayed message until 
- * <code>clearErrorMessage</code> is called.
- */
-public class MessageLine extends CLabel {
-
-	public static final RGB RED= new RGB(200, 0, 0);
-	private static RGB fgDefaultErrorRGB= RED;
-
-	private String fMessageText;
-	private String fErrorText;
-
-	private Color fDefaultColor;
-	private RGB fErrorRGB;
-	private Color fErrorColor;
-
-	/*
-	 * Creates a new message line as a child of the given parent.
-	 * Error message will be shown in <code>RED</code>.
-	 */
-	public MessageLine(Composite parent) {
-		this(parent, SWT.LEFT);
-	}
-
-	/*
-	 * Creates a new message line as a child of the parent and with the given SWT stylebits.
-	 * Error message will be shown in  <code>RED</code>.
-	 */
-	public MessageLine(Composite parent, int style) {
-		super(parent, style);
-		fDefaultColor= getForeground();
-		fErrorRGB= fgDefaultErrorRGB;
-	}
-
-	/*
-	 * Creates a new message line as a child of the parent and with the given SWT stylebits.
-	 * Error message will be shown with in the given rgb color.
-	 */
-	public MessageLine(Composite parent, int style, RGB errorRGB) {
-		super(parent, style);
-		fDefaultColor= getForeground();
-		fErrorRGB= errorRGB;
-	}
-
-	/**
-	 * Clears the currently displayed error message and redisplayes
-	 * the message which was active before the error message was set.
-	 */
-	public void clearErrorMessage() {
-		setErrorMessage(null);
-	}
-
-	/**
-	 * Clears the currently displayed message.
-	 */
-	public void clearMessage() {
-		setMessage(null);
-	}
-
-	/**
-	 * Get the currently displayed error text.
-	 * @return The error message. If no error message is displayed <code>null</code> is returned.
-	 */
-	public String getErrorMessage() {
-		return fErrorText;
-	}
-
-	/**
-	 * Get the currently displayed message.
-	 * @return The message. If no message is displayed <code>null<code> is returned.
-	 */
-	public String getMessage() {
-		return fMessageText;
-	}
-
-	/*
-	 * Sets the default error color used by all message lines.
-	 * Note: a call to this method only affects newly created MessageLines not existing ones. 
-	 */
-	public static void setDefaultErrorColor(RGB color) {
-		fgDefaultErrorRGB= color;
-	}
-
-	/*
-	 * Display the given error message. A currently displayed message
-	 * is saved and will be redisplayed when the error message is cleared.
-	 */
-	public void setErrorMessage(String message) {
-		fErrorText= message;
-
-		if (message == null) {
-			setMessage(fMessageText);
-		} else {
-			if (fErrorColor == null) {
-				fErrorColor= new Color(getDisplay(), fErrorRGB);
-				addDisposeListener(new DisposeListener() {
-					public void widgetDisposed(DisposeEvent e) {
-						fErrorColor.dispose();
-					}
-				});
-			}
-			setForeground(fErrorColor);
-			setText(message);
-		}
-	}
-
-	/*
-	 * Set the message text. If the message line currently displays an error,
-	 * the message is stored and will be shown after a call to clearErrorMessage
-	 */
-	public void setMessage(String message) {
-		fMessageText= message;
-		if (message == null)
-			message= ""; //$NON-NLS-1$
-		if (fErrorText == null) {
-			setForeground(fDefaultColor);
-			setText(message);
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusDialog.java
deleted file mode 100644
index 455dad1..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusDialog.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml.ui;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * An abstract base class for dialogs with a status bar and ok/cancel buttons.
- * The status message must be passed over as StatusInfo object and can be
- * an error, warning or ok. The OK button is enabled or disabled depending
- * on the status.
- */ 
-public abstract class StatusDialog extends Dialog {
-	
-	private Button fOkButton;
-	private MessageLine fStatusLine;
-	private IStatus fLastStatus;
-	private String fTitle;
-	private Image fImage;
-	
-	/*
-	 * Creates an instane of a status dialog.
-	 */
-	public StatusDialog(Shell parent) {
-		super(parent);
-	}
-	
-	/*
-	 * Specifies whether status line appears to the left of the buttons (default)
-	 * or above them.
-	 *
-	 * @param aboveButtons if <code>true</code> status line is placed above buttons; if
-	 * 	<code>false</code> to the right
-	 */
-	public void setStatusLineAboveButtons(boolean aboveButtons) {
-		// empty default implementation
-	}	
-	
-	/*
-	 * Update the dialog's status line to reflect the given status.
-	 * It is save to call this method before the dialog has been opened.
-	 */
-	protected void updateStatus(IStatus status) {
-		fLastStatus= status;
-		if (fStatusLine != null && !fStatusLine.isDisposed()) {
-			updateButtonsEnableState(status);
-			StatusUtil.applyToStatusLine(fStatusLine, status);	
-		}
-	}
-	
-	/*
-	 * Returns the last status.
-	 */
-	public IStatus getStatus() {
-		return fLastStatus;
-	}
-
-	/**
-	 * Updates the status of the ok button to reflect the given status.
-	 * Subclasses may override this method to update additional buttons.
-	 * @param status the status.
-	 */
-	protected void updateButtonsEnableState(IStatus status) {
-		if (fOkButton != null && !fOkButton.isDisposed())
-			fOkButton.setEnabled(!status.matches(IStatus.ERROR));
-	}
-	
-	/* 
-	 * @see Window#create(Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (fTitle != null)
-			shell.setText(fTitle);
-	}
-
-	/*
-	 * @see Window#create()
-	 */	
-	public void create() {
-		super.create();
-		if (fLastStatus != null) {
-			// policy: dialogs are not allowed to come up with an error message
-			if (fLastStatus.matches(IStatus.ERROR)) {
-				StatusInfo status= new StatusInfo();
-				status.setError(""); //$NON-NLS-1$
-				fLastStatus= status;
-			}
-			updateStatus(fLastStatus);
-		}
-	}
-
-	/*
-	 * @see Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		fOkButton= createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-	
-	/*
-	 * @see Dialog#createButtonBar(Composite)
-	 */				
-	protected Control createButtonBar(Composite parent) {
-		Composite composite= new Composite(parent, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 1;
-		layout.marginHeight= 0;
-		layout.marginWidth= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		fStatusLine= new MessageLine(composite);
-		fStatusLine.setAlignment(SWT.LEFT);
-		fStatusLine.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fStatusLine.setMessage(""); //$NON-NLS-1$
-
-		super.createButtonBar(composite);
-		return composite;
-	}
-	
-	/**
-	 * Sets the title for this dialog.
-	 * @param title the title.
-	 */
-	public void setTitle(String title) {
-		fTitle= title != null ? title : ""; //$NON-NLS-1$
-		Shell shell= getShell();
-		if ((shell != null) && !shell.isDisposed())
-			shell.setText(fTitle);
-	}
-
-	/**
-	 * Sets the image for this dialog.
-	 * @param image the image.
-	 */
-	public void setImage(Image image) {
-		fImage= image;
-		Shell shell= getShell();
-		if ((shell != null) && !shell.isDisposed())
-			shell.setImage(fImage);
-	}	
-	
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusInfo.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusInfo.java
deleted file mode 100644
index c5835e9..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusInfo.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml.ui;
-
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * A settable IStatus. 
- * Can be an error, warning, info or ok. For error, info and warning states,
- * a message describes the problem.
- */
-public class StatusInfo implements IStatus {
-	
-	private String fStatusMessage;
-	private int fSeverity;
-	
-	/**
-	 * Creates a status set to OK (no message)
-	 */
-	public StatusInfo() {
-		this(OK, null);
-	}
-
-	/**
-	 * Creates a status .
-	 * @param severity The status severity: ERROR, WARNING, INFO and OK.
-	 * @param message The message of the status. Applies only for ERROR,
-	 * WARNING and INFO.
-	 */	
-	public StatusInfo(int severity, String message) {
-		fStatusMessage= message;
-		fSeverity= severity;
-	}		
-	
-	/*
-	 *  Returns if the status' severity is OK.
-	 */
-	public boolean isOK() {
-		return fSeverity == IStatus.OK;
-	}
-
-	/*
-	 *  Returns if the status' severity is WARNING.
-	 */	
-	public boolean isWarning() {
-		return fSeverity == IStatus.WARNING;
-	}
-
-	/*
-	 *  Returns if the status' severity is INFO.
-	 */	
-	public boolean isInfo() {
-		return fSeverity == IStatus.INFO;
-	}	
-
-	/*
-	 *  Returns if the status' severity is ERROR.
-	 */	
-	public boolean isError() {
-		return fSeverity == IStatus.ERROR;
-	}
-	
-	/*
-	 * @see IStatus#getMessage
-	 */
-	public String getMessage() {
-		return fStatusMessage;
-	}
-	
-	/*
-	 * Sets the status to ERROR.
-	 * @param The error message (can be empty, but not null)
-	 */	
-	public void setError(String errorMessage) {
-		Assert.isNotNull(errorMessage);
-		fStatusMessage= errorMessage;
-		fSeverity= IStatus.ERROR;
-	}
-
-	/*
-	 * Sets the status to WARNING.
-	 * @param The warning message (can be empty, but not null)
-	 */		
-	public void setWarning(String warningMessage) {
-		Assert.isNotNull(warningMessage);
-		fStatusMessage= warningMessage;
-		fSeverity= IStatus.WARNING;
-	}
-
-	/*
-	 * Sets the status to INFO.
-	 * @param The info message (can be empty, but not null)
-	 */		
-	public void setInfo(String infoMessage) {
-		Assert.isNotNull(infoMessage);
-		fStatusMessage= infoMessage;
-		fSeverity= IStatus.INFO;
-	}	
-
-	/*
-	 * Sets the status to OK.
-	 */		
-	public void setOK() {
-		fStatusMessage= null;
-		fSeverity= IStatus.OK;
-	}
-	
-	/*
-	 * @see IStatus#matches(int)
-	 */
-	public boolean matches(int severityMask) {
-		return (fSeverity & severityMask) != 0;
-	}
-
-	/**
-	 * Returns always <code>false</code>.
-	 * @see IStatus#isMultiStatus()
-	 */
-	public boolean isMultiStatus() {
-		return false;
-	}
-
-	/*
-	 * @see IStatus#getSeverity()
-	 */
-	public int getSeverity() {
-		return fSeverity;
-	}
-
-	/*
-	 * @see IStatus#getPlugin()
-	 */
-	public String getPlugin() {
-		return "XMLPlugIn"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getException()
-	 */
-	public Throwable getException() {
-		return null;
-	}
-
-	/**
-	 * Returns always the error severity.
-	 * @see IStatus#getCode()
-	 */
-	public int getCode() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getChildren()
-	 */
-	public IStatus[] getChildren() {
-		return new IStatus[0];
-	}	
-
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusUtil.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusUtil.java
deleted file mode 100644
index 47c7c03..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusUtil.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml.ui;
-
-import org.eclipse.jface.dialogs.DialogPage;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A utility class to work with IStatus.
- */
-public class StatusUtil {
-
-	/*
-	 * Compares two instances of <code>IStatus</code>. The more severe is returned:
-	 * An error is more severe than a warning, and a warning is more severe
-	 * than ok. If the two stati have the same severity, the second is returned.
-	 */
-	public static IStatus getMoreSevere(IStatus s1, IStatus s2) {
-		if (s1.getSeverity() > s2.getSeverity())
-			return s1;
-		return s2;
-	}
-
-	/*
-	 * Finds the most severe status from a array of stati.
-	 * An error is more severe than a warning, and a warning is more severe
-	 * than ok.
-	 */
-	public static IStatus getMostSevere(IStatus[] status) {
-		IStatus max= null;
-		for (int i= 0; i < status.length; i++) {
-			IStatus curr= status[i];
-			if (curr.matches(IStatus.ERROR)) {
-				return curr;
-			}
-			if (max == null || curr.getSeverity() > max.getSeverity()) {
-				max= curr;
-			}
-		}
-		return max;
-	}
-	
-	/*
-	 * Returns error-message / warning-message for a status. 
-	 * @return Array of size 2. Index 0 is the error message or <null>
-	 * if not an error. Index 1 the warning message or <null> if not a warning.
-	 */
-	private static String[] getErrorMessages(IStatus status) {
-		String message= status.getMessage();
-		if (status.matches(IStatus.ERROR) && !"".equals(message)) { //$NON-NLS-1$
-			return new String[] { message, null };
-		} else if (status.matches(IStatus.WARNING | IStatus.INFO)) {
-			return new String[] { null, message };
-		} else {
-			return new String[] { null, null };
-		}
-	}
-	
-	/*
-	 * Applies the status to the status line of a dialog page.
-	 */
-	public static void applyToStatusLine(DialogPage page, IStatus status) {
-		String[] messages= getErrorMessages(status);
-		page.setErrorMessage(messages[0]);
-		page.setMessage(messages[1]);
-	}
-	
-	/*
-	 * Applies the status to a message line
-	 */
-	public static void applyToStatusLine(MessageLine messageLine, IStatus status) {
-		String[] messages= getErrorMessages(status);
-		messageLine.setErrorMessage(messages[0]);
-		messageLine.setMessage(messages[1]);
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/xmlcompare.properties b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/xmlcompare.properties
deleted file mode 100644
index 8f8ff32..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/xmlcompare.properties
+++ /dev/null
@@ -1,109 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-#
-# Structure Creator
-#
-XMLStructureCreator_pluginname= XML Compare
-XMLStructureCreator_unordered= Unordered
-XMLStructureCreator_ordered= Ordered
-XMLStructureCreator_idmap_unordered= Unordered
-XMLStructureCreator_id_map_scheme= Id Map Scheme:
-XMLStructureCreator_body= body
-
-
-#
-# Id Scheme Drop Down Menu
-#
-ChooseMatcherDropDownAction_text= Compare Mode
-ChooseMatcherDropDownAction_tooltip= Compare Mode
-
-#
-# Preference Page
-#
-XMLComparePreference_idtype_attribute= attribute
-XMLComparePreference_idtype_child_body= child text
-XMLComparePreference_topTableLabel= Id Mapping schemes:
-XMLComparePreference_topTableColumn1= Name
-XMLComparePreference_topTableColumn2= Internal/User
-XMLComparePreference_topTableColumn2internal= Internal
-XMLComparePreference_topTableColumn2user= User
-XMLComparePreference_topTableColumn3= Extension
-XMLComparePreference_topAdd= &Add...
-XMLComparePreference_topRename= &Edit...
-XMLComparePreference_topRemove= &Remove
-XMLComparePreference_topEdit= Edit &Copy...
-XMLComparePreference_middleTableColumn1= Element
-XMLComparePreference_middleTableColumn2= Path
-XMLComparePreference_middleTableColumn3= Id Attribute
-XMLComparePreference_middleTableColumn4= Id Source
-XMLComparePreference_middleNew= &New...
-XMLComparePreference_middleEdit= E&dit...
-XMLComparePreference_middleRemove= Re&move
-XMLComparePreference_middleTableLabel=Element mappings of selected Id Mapping Scheme:
-XMLComparePreference_bottomTableLabel=Elements whose children are compared in ordered fashion:
-XMLComparePreference_bottomTableColumn1=Element
-XMLComparePreference_bottomTableColumn2=Path
-XMLComparePreference_bottomNew=Ne&w...
-XMLComparePreference_bottomEdit=Edi&t...
-XMLComparePreference_bottomRemove=Remo&ve
-
-#
-# Dialogs
-#
-XMLCompareAddIdMapDialog_editTitle= Edit Id Mapping Scheme
-XMLCompareAddIdMapDialog_newTitle= New Id Mapping Scheme
-XMLCompareAddIdMapDialog_label= ID Map Name:
-XMLCompareAddIdMapDialog_extlabel= Extension (optional)
-XMLCompareAddIdMapDialog_error_noname= Enter Id Map Name.
-XMLCompareAddIdMapDialog_error_invalidname= Invalid Id Map Name.
-XMLCompareAddIdMapDialog_error_idmapExists= Id Map already exists.
-XMLCompareAddIdMapDialog_error_extfullstop= Extension cannot contain '.'
-XMLCompareAddIdMapDialog_error_extExists= Extension already set for
-
-XMLCompareEditCopyIdMapDialog_title= Create Editable Copy of Internal Scheme
-XMLCompareEditCopyIdMapDialog_comment= You cannon edit an internal Id Map Scheme.\nTherefore, a user copy of the Id Map Scheme will created for editing.\nThe extension associated with the internal Id Map Scheme will not be transferred.\n\nPlease Enter a new name for the Id Map Scheme copy.
-XMLCompareEditCopyIdMapDialog_label= ID Map Name of Copy:
-XMLCompareEditCopyIdMapDialog_error_noname= Enter Id Map Name.
-XMLCompareEditCopyIdMapDialog_error_invalidname= Invalid Id Map Name.
-XMLCompareEditCopyIdMapDialog_error_nameExists= Id Map Name already exists.
-
-XMLCompareEditMappingDialog_editTitle= Edit Mapping
-XMLCompareEditMappingDialog_newTitle= New Mapping
-XMLCompareEditMappingDialog_element= Element
-XMLCompareEditMappingDialog_signature= Path
-XMLCompareEditMappingDialog_idattribute= ID
-XMLCompareEditMappingDialog_idtype= ID Source
-XMLCompareEditMappingDialog_idtype_tooltip= Select whether the ID is an attribute of the element or the text of a child
-XMLCompareEditMappingDialog_idtype_attribute_tooltip= ID is an attribute of the element
-XMLCompareEditMappingDialog_idtype_childbody_tooltip= ID is the text of a child element
-XMLCompareEditMappingDialog_error_noname= Enter Element Name.
-XMLCompareEditMappingDialog_error_invalidname= Invalid Element Name.
-XMLCompareEditMappingDialog_error_mappingExists= Mapping already exists.
-XMLCompareEditMappingDialog_error_invalidsignature= Invalid Signature.
-XMLCompareEditMappingDialog_error_invalididattribute= Invalid ID Attribute.
-
-XMLCompareEditOrderedDialog_newTitle=New Ordered
-XMLCompareEditOrderedDialog_editTitle=Edit Ordered
-XMLCompareEditOrderedDialog_error_orderedExists=Ordered entry already exists
-
-#
-# XMLStructureViewer
-#
-XMLStructureViewer_newtask= Create new Id Map Scheme
-XMLStructureViewer_action_notUserIdMap= Please select a User Id Mapping Scheme
-XMLStructureViewer_action_setId_text1= Already set as Id
-XMLStructureViewer_action_setId_text2= Replace existing Id
-XMLStructureViewer_action_setId_text3= Set as Id
-XMLStructureViewer_action_setOrdered_exists= Ordered entry exists already
-XMLStructureViewer_action_setOrdered=Set children as ordered
-XMLStructureViewer_matching_beginTask=Running Matching algorithm...
-
diff --git a/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/AllXMLCompareTests.java b/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/AllXMLCompareTests.java
deleted file mode 100644
index ea90ecd..0000000
--- a/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/AllXMLCompareTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import junit.framework.*;
-
-/**
- * TestSuite that runs all the XML Compare tests.
- */
-public class AllXMLCompareTests {
-
-	public static void main (String[] args) {
-		junit.textui.TestRunner.run (suite());
-	}
-	
-	public static Test suite ( ) {
-		TestSuite suite= new TestSuite("All XML Compare Tests"); //$NON-NLS-1$
-		suite.addTest(TestXMLStructureCreator.suite());
-	    return suite;
-	}
-}
-
diff --git a/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/TestXMLStructureCreator.java b/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/TestXMLStructureCreator.java
deleted file mode 100644
index f3e0ed9..0000000
--- a/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/TestXMLStructureCreator.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import junit.framework.*;
-
-import org.eclipse.jface.text.Document;
-
-import org.eclipse.compare.IEncodedStreamContentAccessor;
-import org.eclipse.compare.examples.xml.XMLChildren;
-import org.eclipse.compare.examples.xml.XMLNode;
-import org.eclipse.compare.examples.xml.XMLStructureCreator;
-import org.eclipse.core.runtime.CoreException;
-
-public class TestXMLStructureCreator extends TestCase {
-	
-	Document fdoc;
-	XMLStructureCreator fsc;
-	
-	public class TestStream implements IEncodedStreamContentAccessor {
-		String fString;
-		
-		public TestStream(String string) {
-			fString= string;
-		}
-		
-		public InputStream getContents() throws CoreException {
-			try {
-				return new ByteArrayInputStream(fString.getBytes("UTF-16")); //$NON-NLS-1$
-			} catch (Exception e) {
-				return new ByteArrayInputStream(fString.getBytes());
-			}
-		}
-		
-		public String getCharset() {
-			return "UTF-16"; //$NON-NLS-1$
-		}
-	}
-	
-	public TestXMLStructureCreator(String name) {
-		super(name);
-	}
-
-	protected void setUp() {
-		System.out.println("TestXMLStructureCreator.name()==" + getName()); //$NON-NLS-1$
-		fdoc = new Document();
-		fsc = new XMLStructureCreator();
-	}
-	
-	protected void tearDown() throws Exception {
-		//remove set-up
-	}
-	
-	public static Test suite() {
-		return new TestSuite(TestXMLStructureCreator.class);
-	}
-
-	public void test0() {
-		TestStream s= new TestStream("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<a attr1=\"&lt;b&gt;&lt;/b&gt;\"\nattr2=\"he\n ll\n o2\" attr3=\"hello3\"\nattr4=\"hello4\"><b attr=\n\"battr\" attr2=\"battr2\">\n<c/>\n</b>\n<b2/>\n</a>\n"); //$NON-NLS-1$
-		XMLChildren Tree= (XMLChildren) fsc.getStructure(s);
-
-		XMLChildren ExpectedTree = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,XMLStructureCreator.ROOT_ID, "",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$
-		//create Expected Tree
-		XMLChildren parent = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"a<[1]","<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<a attr1=\"&lt;b&gt;&lt;/b&gt;\"\nattr2=\"he\n ll\n o2\" attr3=\"hello3\"\nattr4=\"hello4\"><b attr=\n\"battr\" attr2=\"battr2\">\n<c/>\n</b>\n<b2/>\n</a>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		parent.setName("a [1]"); //$NON-NLS-1$
-		ExpectedTree.addChild(parent);
-		parent.setParent(ExpectedTree);
-		XMLChildren current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr1","<b></b>",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "attr1" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("attr1"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr2","he  ll  o2",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "attr2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("attr2"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr3","hello3",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "attr3" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("attr3"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr4","hello4",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "attr4" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("attr4"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"b<[1]","<b attr=\n\"battr\" attr2=\"battr2\">\n<c/>\n</b>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR +"b" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("b [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = current;
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr","battr",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "attr" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("attr"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr2","battr2",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "attr2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("attr2"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"c<[1]","<c/>",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("c [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = (XMLChildren) parent.getParent();
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"b2<[1]","<b2/>",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR +"b2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("b2 [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		
-		checkTrees(Tree,ExpectedTree);
-	}
-		
-	public void test1() {
-		TestStream s= new TestStream("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<a>body_a_1\n  <b>body_b_1\n    <c>body_c_1\n      <d2>body_d2\n      </d2>\nbody_c_2\n    </c>\nbody_b_2\n  </b>\nbody_a_2\n  <b2>\n  </b2>\nbody_a_3\n</a>"); //$NON-NLS-1$
-		XMLChildren Tree= (XMLChildren) fsc.getStructure(s);
-
-		XMLChildren ExpectedTree = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,XMLStructureCreator.ROOT_ID, "",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$
-		//create Expected Tree
-		XMLChildren parent = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"a<[1]","<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<a>body_a_1\n  <b>body_b_1\n    <c>body_c_1\n      <d2>body_d2\n      </d2>\nbody_c_2\n    </c>\nbody_b_2\n  </b>\nbody_a_2\n  <b2>\n  </b2>\nbody_a_3\n</a>",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		parent.setName("a [1]"); //$NON-NLS-1$
-		ExpectedTree.addChild(parent);
-		parent.setParent(ExpectedTree);
-		XMLChildren current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(1)","body_a_1\n  ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		current.setName("body (1)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"b<[1]","<b>body_b_1\n    <c>body_c_1\n      <d2>body_d2\n      </d2>\nbody_c_2\n    </c>\nbody_b_2\n  </b>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("b [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = current;
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(1)","body_b_1\n    ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("body (1)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"c<[1]","<c>body_c_1\n      <d2>body_d2\n      </d2>\nbody_c_2\n    </c>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("c [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = current;
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(1)","body_c_1\n      ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("body (1)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"d2<[1]","<d2>body_d2\n      </d2>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + "d2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		current.setName("d2 [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = current;
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(1)","body_d2\n      ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + "d2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		current.setName("body (1)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = (XMLChildren) parent.getParent();
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(2)","\nbody_c_2\n    ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("body (2)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = (XMLChildren) parent.getParent();
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(2)","\nbody_b_2\n  ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("body (2)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = (XMLChildren) parent.getParent();
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(2)","\nbody_a_2\n  ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		current.setName("body (2)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"b2<[1]","<b2>\n  </b2>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("b2 [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(3)","\nbody_a_3\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		current.setName("body (2)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-
-		checkTrees(Tree,ExpectedTree);
-	}
-		
-	protected void checkTrees(XMLNode left, XMLNode right) {
-		if (left != null && right != null) {
-			//System.out.println(left.getName() + ", " + right.getName());
-			//System.out.println(">" + left.getValue() + "<\n>" + right.getValue() + "<");
-			assertTrue(left.testEquals(right));
-			Object[] leftChildren = left.getChildren();
-			Object[] rightChildren = right.getChildren();
-			if (leftChildren != null && rightChildren != null) {
-				if (leftChildren.length == rightChildren.length) {
-					for (int i=0; i<leftChildren.length; i++)
-						checkTrees((XMLNode) leftChildren[i], (XMLNode) rightChildren[i]);
-				} else
-					assertTrue(false);
-			}
-		} else if ( ((left == null) && (right != null)) || ((left != null) && (right == null)) ) {
-			assertTrue(false);
-		}
-	}
-}
-
diff --git a/examples/org.eclipse.compare.examples/.classpath b/examples/org.eclipse.compare.examples/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.compare.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.compare.examples/.cvsignore b/examples/org.eclipse.compare.examples/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.compare.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.compare.examples/.project b/examples/org.eclipse.compare.examples/.project
deleted file mode 100644
index 0729f0a..0000000
--- a/examples/org.eclipse.compare.examples/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.compare.examples</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>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.compare.examples/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.compare.examples/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 380a449..0000000
--- a/examples/org.eclipse.compare.examples/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Tue Nov 30 15:46:38 CET 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/examples/org.eclipse.compare.examples/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.compare.examples/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 85347de..0000000
--- a/examples/org.eclipse.compare.examples/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Jun 01 18:31:47 CEST 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.compare.examples/about.html b/examples/org.eclipse.compare.examples/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.compare.examples/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.compare.examples/build.properties b/examples/org.eclipse.compare.examples/build.properties
deleted file mode 100644
index 6a8c1a2..0000000
--- a/examples/org.eclipse.compare.examples/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.compareexamples.jar = src/
-
-bin.includes = doc-html/,\
-				about.html,\
-				plugin.properties,\
-				plugin.xml,\
-				compareexamples.jar
-
-src.includes = about.html
diff --git a/examples/org.eclipse.compare.examples/doc-html/ui_structurecreator_ex.html b/examples/org.eclipse.compare.examples/doc-html/ui_structurecreator_ex.html
deleted file mode 100644
index 3f1312a..0000000
--- a/examples/org.eclipse.compare.examples/doc-html/ui_structurecreator_ex.html
+++ /dev/null
@@ -1,82 +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>Structural Compare for Key/Value Pairs</title>
-</head>
-<body>
-
-<h2>Compare Example - Structural Compare for Key/Value Pairs</h2>
-
-<h3>Introduction</h3>
-
-This example demonstrates how to support structural compare for
-files consisting of key/value pairs. It shows how to implement and register a
-custom structure creator that parses key/value pairs into a tree structure
-that is used as the input to the structural compare framework provided by the
-Compare plugin. In addition, it registers a standard text viewer for the individual
-key/value pairs.
-
-<p>
-
-This example is only for demonstration purposes. Structural compare support
-for Java property files (another key/value format) is provided by the Eclipse Java Tooling. 
-
-<h3> Running the example</h3>
-
-<ol>
-	<li>Create a project (not necessarily a Java project)</li>
-	
-	<li>Create a key/value pair file f1.kv</li>
-	
-	<li>Open <strong>Window</strong> &gt; <strong>Preferences</strong> &gt; <strong>Workbench</strong> &gt; <strong>File Association</strong>
-	and associate the default text editor with the file extension "kv"</li>
-	
-	<li>Open f1.kv with the editor and enter this contents
-	<pre>
-lastname=Doe
-firstname=John
-city=Chicago
-state=IL
-</pre></li>
-	
-	<li>Make a copy of this file and rename it f2.kv</li>
-	
-	<li>Open f2.kv and change the firstname "John" to "Mary"</li>
-
-	<li>Add another key/value pair "country=US" to f2.kv</li>
-	
-	<li>Select both files f1.kv and f2.kv</li>
-	
-	<li>From the context menu select <strong>Compare With</strong> &gt; <strong>Each Other</strong></li>
-	
-	<li>A new compare editor opens that shows the structural differences of both files in its
-	top pane. Selecting one of the properties "firstname" or "country" feeds the text of the
-	corresponding key/value pair into the standard text compare viewer in the bottom pane.
-	</li>
-	
-</ol>
-
-<h3>Code organization of the example</h3>
-The example code is organized in a single package <tt>org.eclipse.compare.examples.structurecreator</tt>:
-
-<ul>
-	<li><tt>KeyValuePairStructureCreator</tt><br>
-	is the structure creator that parses the contents of a stream into a tree of
-	<tt>IStructureComparator</tt>s.
-	</li>
-	
-	<li><tt>TextMergeViewerCreator</tt><br>
-	is a factory for TextMergeViewers. It is registered for the type "kvtxt" which is the
-	type of an individual key/value pair.
-	</li>
-	
-	<li><tt>Util</tt><br>
-	provides utility methods for NLS support and for reading an InputStream as a String.
-	</li>
-	
-</ul>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.compare.examples/plugin.properties b/examples/org.eclipse.compare.examples/plugin.properties
deleted file mode 100644
index e74ae37..0000000
--- a/examples/org.eclipse.compare.examples/plugin.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
-###############################################################################
-#
-# Resource strings for Compare Examples plugin.xml file
-#
-pluginName= Compare Example
-providerName= Eclipse.org
diff --git a/examples/org.eclipse.compare.examples/plugin.xml b/examples/org.eclipse.compare.examples/plugin.xml
deleted file mode 100644
index ac45c4c..0000000
--- a/examples/org.eclipse.compare.examples/plugin.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin
-   id="org.eclipse.compare.examples"
-   name="%pluginName"
-   version="3.1.100.qualifier"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="compareexamples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.compare"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.compare.contentMergeViewers">
-      <viewer
-            extensions="kvtxt"
-            class="org.eclipse.compare.examples.structurecreator.TextMergeViewerCreator"
-            id="org.eclipse.compare.examples.TextMergeViewerCreator">
-      </viewer>
-   </extension>
-   
-   <extension
-         point="org.eclipse.compare.structureCreators">
-      <structureCreator
-            extensions="kv"
-            class="org.eclipse.compare.examples.structurecreator.KeyValuePairStructureCreator"
-            id="org.eclipse.compare.examples.KeyValuePairStructureCreator">
-      </structureCreator>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/CompareExampleMessages.properties b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/CompareExampleMessages.properties
deleted file mode 100644
index eac11f6..0000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/CompareExampleMessages.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
-###############################################################################
-#
-# Resource strings
-#
-KeyValuePairStructureCreator.title= Key/Value Pair Compare
-KeyValuePairStructureCreator.CoreException.message= CoreException 
-KeyValuePairStructureCreator.BadLocationException.message= BadLocationException
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java
deleted file mode 100644
index 6ffbe3f..0000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.structurecreator;
-
-import org.eclipse.swt.graphics.*;
-
-import org.eclipse.jface.text.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.compare.*;
-import org.eclipse.compare.structuremergeviewer.*;
-
-
-/**
- * This structure creator parses input containing key/value pairs
- * and returns the pairs as a tree of <code>IStructureComparator</code>s.
- * Each key/value pair must be on a separate line and keys are separated
- * from values by a '='.
- * <p>
- * Example:
- * <pre>
- *    foo=bar
- *    name=joe
- * </pre>
- */
-public class KeyValuePairStructureCreator implements IStructureCreator {
-	
-	static class KeyValueNode extends DocumentRangeNode implements ITypedElement {
-		
-		String fValue;
-		
-		public KeyValueNode(String id, String value, IDocument doc, int start, int length) {
-			super(0, id, doc, start, length);
-			fValue= value;
-		}
-		
-		String getValue() {
-			return fValue;
-		}
-				
-		/*
-		 * @see ITypedElement#getName
-		 */
-		public String getName() {
-			return this.getId();
-		}
-
-		/*
-		 * Every key/value pair is of type "kvtxt". We register a TextMergeViewer for it. 
-		 * @see ITypedElement#getType
-		 */
-		public String getType() {
-			return "kvtxt"; //$NON-NLS-1$
-		}
-		
-		/*
-		 * @see ITypedElement#getImage
-		 */
-		public Image getImage() {
-			return CompareUI.getImage(getType());
-		}
-	}
-		
-		
-	public KeyValuePairStructureCreator() {
-		// nothing to do
-	}
-	
-	/*
-	 * This title will be shown in the title bar of the structure compare pane.
-	 */
-	public String getName() {
-		return Util.getString("KeyValuePairStructureCreator.title"); //$NON-NLS-1$
-	}
-
-	/*
-	 * Returns a node.
-	 */
-	public IStructureComparator getStructure(Object input) {
-		
-		if (!(input instanceof IStreamContentAccessor))
-			return null;
-		
-		IStreamContentAccessor sca= (IStreamContentAccessor) input;
-		try {
-			String contents= Util.readString(sca);
-			if (contents == null)
-				contents= ""; //$NON-NLS-1$
-			Document doc= new Document(contents);
-							
-			KeyValueNode root= new KeyValueNode("root", "", doc, 0, doc.getLength()); //$NON-NLS-1$ //$NON-NLS-2$
-		
-			for (int i= 0; i < doc.getNumberOfLines(); i++) {
-				
-				IRegion r= doc.getLineInformation(i);
-				String s= doc.get(r.getOffset(), r.getLength());
-				int start= r.getOffset();
-					
-				String key= ""; //$NON-NLS-1$
-				String value= ""; //$NON-NLS-1$
-				int pos= s.indexOf('=');
-				if (pos >= 0) {
-					key= s.substring(0, pos);
-					value= s.substring(pos+1);
-				} else {
-					key= s;
-				}
-				if (key.length() > 0)
-					root.addChild(new KeyValueNode(key, value, doc, start, s.length()));
-			}
-			return root;
-		} catch (CoreException ex) {
-			String message= Util.getString("KeyValuePairStructureCreator.CoreException.message"); //$NON-NLS-1$
-			CompareUI.getPlugin().getLog().log(new Status(IStatus.ERROR, CompareUI.PLUGIN_ID, 0, message, ex));
-		} catch (BadLocationException ex) {
-			String message= Util.getString("KeyValuePairStructureCreator.BadLocationException.message"); //$NON-NLS-1$
-			CompareUI.getPlugin().getLog().log(new Status(IStatus.ERROR, CompareUI.PLUGIN_ID, 0, message, ex));
-		}
-				
-		return null;
-	}
-	
-	public void save(IStructureComparator structure, Object input) {
-		if (input instanceof IEditableContent && structure instanceof KeyValueNode) {
-			IDocument doc= ((KeyValueNode)structure).getDocument();
-			IEditableContent bca= (IEditableContent) input;
-			String c= doc.get();
-			bca.setContent(c.getBytes());
-		}
-	}
-	
-	public String getContents(Object node, boolean ignoreWhitespace) {
-		if (node instanceof KeyValueNode) {
-			String s= ((KeyValueNode)node).getValue();
-			if (ignoreWhitespace)
-				s= s.trim();
-			return s;
-		}
-		return null;
-	}
-	
-	public IStructureComparator locate(Object path, Object source) {
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/TextMergeViewerCreator.java b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/TextMergeViewerCreator.java
deleted file mode 100644
index 397a49e..0000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/TextMergeViewerCreator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.structurecreator;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.compare.*;
-import org.eclipse.compare.contentmergeviewer.TextMergeViewer;
-
-/**
- * A factory object for the <code>TextMergeViewer</code>.
- * This indirection is necessary because only objects with a default
- * constructor can be created via an extension point
- * (this precludes Viewers).
- */
-public class TextMergeViewerCreator implements IViewerCreator {
-
-	public Viewer createViewer(Composite parent, CompareConfiguration mp) {
-		return new TextMergeViewer(parent, mp);
-	}
-}
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/Util.java b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/Util.java
deleted file mode 100644
index 5522d83..0000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/Util.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.structurecreator;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.compare.IStreamContentAccessor;
-import org.eclipse.compare.IEncodedStreamContentAccessor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-
-public class Util {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.compare.examples.structurecreator.CompareExampleMessages"; //$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";	//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Reads the contents of the given input stream into a string.
-	 * The function assumes that the input stream uses the platform's default encoding
-	 * (<code>ResourcesPlugin.getEncoding()</code>).
-	 * Returns null if an error occurred.
-	 */
-	private static String readString(InputStream is, String encoding) {
-		if (is == null)
-			return null;
-		BufferedReader reader= null;
-		try {
-			StringBuffer buffer= new StringBuffer();
-			char[] part= new char[2048];
-			int read= 0;
-			reader= new BufferedReader(new InputStreamReader(is, encoding));
-
-			while ((read= reader.read(part)) != -1)
-				buffer.append(part, 0, read);
-			
-			return buffer.toString();
-			
-		} catch (IOException ex) {
-			// silently ignored
-		} finally {
-			if (reader != null) {
-				try {
-					reader.close();
-				} catch (IOException ex) {
-					// we don't log IOException when closing a file
-				}
-			}
-		}
-		return null;
-	}
-
-	static String readString(IStreamContentAccessor sa) throws CoreException {
-		InputStream is= sa.getContents();
-		String encoding= null;
-		if (sa instanceof IEncodedStreamContentAccessor)
-			encoding= ((IEncodedStreamContentAccessor)sa).getCharset();
-		if (encoding == null)
-			encoding= ResourcesPlugin.getEncoding();
-		return readString(is, encoding);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/.classpath b/examples/org.eclipse.team.examples.filesystem/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.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.team.examples.filesystem/.cvsignore b/examples/org.eclipse.team.examples.filesystem/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.team.examples.filesystem/.project b/examples/org.eclipse.team.examples.filesystem/.project
deleted file mode 100644
index 24dbef3..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.team.examples.filesystem</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.team.examples.filesystem/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 82f0a71..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,62 +0,0 @@
-#Thu May 11 13:20:53 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=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.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b35e41a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Mar 15 21:17:48 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
diff --git a/examples/org.eclipse.team.examples.filesystem/about.html b/examples/org.eclipse.team.examples.filesystem/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.team.examples.filesystem/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/build.properties b/examples/org.eclipse.team.examples.filesystem/build.properties
deleted file mode 100644
index 4a3d45d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/build.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
-###############################################################################
-# Eclipse build contribution
-source.teamfilesystem.jar=src/
-src.includes=about.html
-bin.includes=about.html,icons/,doc-html/,plugin.xml,plugin.properties,*.jar
diff --git a/examples/org.eclipse.team.examples.filesystem/doc-html/team_filesystem_ex.html b/examples/org.eclipse.team.examples.filesystem/doc-html/team_filesystem_ex.html
deleted file mode 100644
index d5167a1..0000000
--- a/examples/org.eclipse.team.examples.filesystem/doc-html/team_filesystem_ex.html
+++ /dev/null
@@ -1,48 +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>Team - File System Repository Provider Example</title>
-</head>
-<body>
-
-<h2>Team - File System Repository Provider Example</h2>
-
-<h3>Introduction</h3>
-<p>
-The File System and Pessimistic Repository Providers examples shows how to define your own repository provider. In particular you
-this example shows how to:
-<ul>
-<li>Extend the RepositoryProvider class and register a new repository provider.
-<li>Register a sharing wizard that will appear in the Team > Share... wizard.
-<li>Add resource actions to the Team menu.
-<li>Implement synchronization support that shows up the Synchronize View.
-<li>Use decorators to show the repository state of the local resources.
-<li>How to implement a file modification validator.
-<li>Add a repository provider to a capability.
-<li>Add a History page for the basic file system which will display both the local history revisions and the file system revisions in the
-History view.</li>
-</ul>
-The example includes two separate repository providers: the basic file system and the pessimistic file system. The basic provider illustrates
-the synchronization support whereas the pessimistic provider is more focused to allowing you to test the workbench behavior with pessimistic
-repository providers. There is a preference page for the pessimistic provider that allows configuring the behavior of the file modification
-validator.
-
-<h3>Running the example</h3>
-<p>
-To start using this example create a project and select <b>Team > Share Project...</b> from the project's popup menu. Click the show 
-all wizards button. This will show both the file system provider and the pessimistic provider.
-<ul>
-<li><b>Basic file system provider</b>: you will have to enter the location in the local file system where you would like to connect the project
-to. The Get and Put operations in the Team menu will now transfer to and from the selected location. And if you open the Synchronize View
-you can browse the synchronization between the local workspace and the remote file system location the files are stored in. If you edit
-a file and then create a Synchronization you can browse changes between the local and the remote.
-<li><b>Pessimistic file system provider</b>: the sharing wizard next page doesn't actually require any user input. The pessimistic
-provider doesn't actually copy the local files anywhere, and instead simply simulates a check in/check out by flipping the 
-read-only bit on files. Once a project is shared with the pessimistic provider you can add files to control and the check in and check out.
-</ul>
-<p>
-</body>
-</html>
-
diff --git a/examples/org.eclipse.team.examples.filesystem/doc-html/team_localhistory_ex.html b/examples/org.eclipse.team.examples.filesystem/doc-html/team_localhistory_ex.html
deleted file mode 100644
index 15f964b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/doc-html/team_localhistory_ex.html
+++ /dev/null
@@ -1,31 +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>Team - Local History Synchronize Participant Example</title>
-</head>
-<body>
-
-<h2>Team - Local History Synchronize Participant Example</h2>
-
-<h3>Introduction</h3>
-<p> The Local History Synchronize Participant example illustrates how to intergate 
-  a participant into the synchronize view. It covers such things as:
-<ul>
-  <li>Creating a simple subscriber for accessing the local history
-  <li>Creating a synchronize particpant
-  <li>Adding a cusotm action to a particpant
-  <li>Showing custom label decorations 
-  <li>Add a synchronize wizard
-</ul>
-<h3>Running the example</h3>
-<p> To start using this example, open the <strong>Team Synchronizing</strong> 
-  perspective, click on the global Synchronize toolbar action and choose <strong>Synchronize 
-  with Latest from Local History</strong>. A more detailed look at this example 
-  is available in the <a href="../../../guide/team_synchronize_localhistory_example.htm">Local 
-  History Synchronization Example</a> guide section.
-<p>
-</body>
-</html>
-
diff --git a/examples/org.eclipse.team.examples.filesystem/doc-html/team_model_ex.html b/examples/org.eclipse.team.examples.filesystem/doc-html/team_model_ex.html
deleted file mode 100644
index 93ae2c4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/doc-html/team_model_ex.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-   <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2006. 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>Team - Logical Model Integration Example</title>
-</head>
-<body>
-
-<h2>Team - Logical Model Integration Example</h2>
-
-<h3>Introduction</h3>
-<p>
-The Logical Model Integration example shows how to make a repository provider 
-logical-model-aware and how to make a logical model team-aware. In particular you
-this example shows how to:
-<ul>
-<li>Use ResourceMappings and ModelProviders to ensure that team operations are
-performed on the proper set of resources.</li>
-<li>Support model participation in synchronization and merge operations.</li>
-<li>Use the Common Navigator framework to show logical model trees.</li>
-</ul>
-The example consists of code for both the repository provider and the model provider arranged in the following packages:
-<ul>
-<li><em>org.eclipse.team.examples.filesystem.subscriber</em>: Low level repository synchronization/merge support.</li>
-<li><em>org.eclipse.team.examples.filesystem.ui</em>: Use of ResourceMapping to ensure operations are performed on 
-the proper set of resources and Synchronize view integration.</li>
-<li><em>org.eclipse.team.examples.model</em>: The core component of the example model.</li>
-<li><em>org.eclipse.team.examples.model.ui</em>: Use of the Common Navigator to provide a tree-based view
-of the example model.</li>
-<li><em>org.eclipse.team.examples.model.mapping</em>: ModelProvider/ResourceMapping support for the example model.</li>
-<li><em>org.eclipse.team.examples.model.mapping.ui</em>: Synchronize view integration for the model.</li>
-</ul>
-
-<h3>Running the example</h3>
-<p>
-To start using this example:
-<ul>
-<li>Create an Example model project (File/New/Other followed by Team Logical Model Example/Model Project)
-<li>Open the Project Explorer to see the new project
-<li>Add Folders and MOD files as desired.
-<li>Add MOE files to MOD files.
-<li>Share the project with the Basic file system provider.
-<li>Perform various team operations including synchronizations to see the results.
-</li>
-</ul>
-<p>
-</body>
-</html>
-
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/fldr_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/fldr_obj.gif
deleted file mode 100644
index 51e703b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/fldr_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/mod_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/mod_obj.gif
deleted file mode 100644
index 2e4de3d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/mod_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/moe_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/moe_obj.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/moe_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/prj_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/prj_obj.gif
deleted file mode 100644
index 8ce926b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/prj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/root_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/root_obj.gif
deleted file mode 100644
index 33be7d8..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/root_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/fsicon_wiz.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/fsicon_wiz.gif
deleted file mode 100644
index af038fa..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/fsicon_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/synced.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/synced.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/wizban/newconnect_wizban.png b/examples/org.eclipse.team.examples.filesystem/icons/full/wizban/newconnect_wizban.png
deleted file mode 100644
index fe515ff..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/wizban/newconnect_wizban.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/plugin.properties b/examples/org.eclipse.team.examples.filesystem/plugin.properties
deleted file mode 100644
index 96bcefe..0000000
--- a/examples/org.eclipse.team.examples.filesystem/plugin.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = Eclipse Team File System Example
-providerName=Eclipse.org
-
-Synchronize.name=Synchronize
-Synchronize.tooltip=Synchronize the selected resources
-Put.name=Put
-Put.tooltip=Copy resources to the shared file system location
-Get.name=Get
-Get.tooltip=Copy resources from the shared file system location to the workbench
-Unmanage.name=Disconnect
-Unmanage.tooltip=Disconnect the project from the shared file system locaton
-
-Replace.name=File System Contents
-Replace.tooltip=Overwrites the local copy of this resource with the one in the repository
-
-fspropertypage.name=FileSystem Provider
-fspropertypage.tooltip=An example repository provider that uses the filesystem to provide storage.
-fswizard.name=File System Example (Non-Versioning)
-fswizard.description=Associate a project with a file system location. This location can be used to shared resources with others.
-
-activity.team.examples.filesystem.name=Team File System Example
-activity.team.examples.filesystem.description=An example Team repository provider.
-activity.team.examples.pessimistic.name=Team Pessimistic Example
-activity.team.examples.pessimistic.description=An example Team repository provider that needs to checkout resources before they can be edited.
diff --git a/examples/org.eclipse.team.examples.filesystem/plugin.xml b/examples/org.eclipse.team.examples.filesystem/plugin.xml
deleted file mode 100644
index 19cb81a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/plugin.xml
+++ /dev/null
@@ -1,630 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- =================================================================================== -->
-<!-- Team Examples Plug-in Manifest 					                                 -->
-<!-- =================================================================================== -->
-<plugin
-   id="org.eclipse.team.examples.filesystem"
-   name="%pluginName"
-   version="3.4.0.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.team.examples.filesystem.FileSystemPlugin">
-
-<!-- =================================================================================== -->
-<!-- Libraries						 					                                 -->
-<!-- =================================================================================== -->
-
-<runtime>
-	<library name="teamfilesystem.jar">
-    	<export name="*"/>
-	</library>
-</runtime>
-   
-<!-- =================================================================================== -->
-<!-- Imports						 					                                 -->
-<!-- =================================================================================== -->
-   
-<requires>
-	<import plugin="org.eclipse.core.runtime.compatibility"/> 
-	<import plugin="org.eclipse.ui.ide" optional="true"/>
-	<import plugin="org.eclipse.ui.views" optional="true"/>
-	<import plugin="org.eclipse.jface.text" optional="true"/>
-	<import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
-	<import plugin="org.eclipse.ui.editors" optional="true"/>
-	<import plugin="org.eclipse.core.resources"/>
-	<import plugin="org.eclipse.team.core"/>
-	<import plugin="org.eclipse.team.ui"/>
-	<import plugin="org.eclipse.compare"/>
-	<import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.core.filesystem"/>
- <import plugin="org.eclipse.ui.navigator"/>
-</requires>
-
-<!-- =================================================================================== -->
-<!-- Repository Providers																 -->
-<!-- =================================================================================== -->
-
-<extension point="org.eclipse.team.core.repository">
-	<repository
-    	class="org.eclipse.team.examples.filesystem.FileSystemProvider"
-		id="org.eclipse.team.examples.filesystem.FileSystemProvider">
-	</repository>
-</extension>
-
-<extension point="org.eclipse.team.core.repository">
-	<repository
-		class="org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider"
-		id="org.eclipse.team.examples.pessimistic.pessimisticnature">
-	</repository>
-</extension>
-
-<!-- =================================================================================== -->
-<!-- Synchronize Participants -->
-<!-- =================================================================================== -->
-
- <extension
-       point="org.eclipse.team.ui.synchronizeParticipants">
-    <participant
-          persistent="false"
-          class="org.eclipse.team.examples.filesystem.ui.FileSystemSynchronizeParticipant"
-          icon="icons/full/wizards/fsicon_wiz.gif"
-          name="File System Example"
-          id="org.eclipse.team.examples.filesystem.participant"/>
- </extension>
- 
- <extension
-       point="org.eclipse.team.ui.synchronizeWizards">
-    <wizard
-          class="org.eclipse.team.examples.filesystem.ui.SynchronizeWizard"
-          icon="icons/full/wizards/fsicon_wiz.gif"
-          description="Synchronize files managed with the file system provider."
-          name="Synchronize File System Provider"
-          id="org.eclipse.team.examples.filesystem.synchronizeWizard"/>
- </extension>
- 
- <extension
-         point="org.eclipse.team.ui.synchronizeParticipants">
-      <participant
-            persistent="false"
-            icon="icons/full/wizards/synced.gif"
-            class="org.eclipse.team.examples.localhistory.LocalHistoryParticipant"
-            name="Latest From Local History"
-            id="org.eclipse.team.synchronize.example"/>
-   </extension>
-   
-   <extension
-         point="org.eclipse.team.ui.synchronizeWizards">
-      <wizard
-            class="org.eclipse.team.examples.localhistory.LocalHistorySynchronizeWizard"
-            icon="icons/full/wizards/synced.gif"
-            description="Synchronize resources with their previous contents in the local history"
-            name="Synchronize with Latest From Local History"
-            id="ExampleSynchronizeSupport.wizard1"/>
-   </extension>
-      
-<!-- =================================================================================== -->
-<!-- Common Navigator viewer for the file systen synchronizations						 -->
-<!-- =================================================================================== -->
-   <extension
-         point="org.eclipse.ui.navigator.viewer">
-       <viewer
-           viewerId="org.eclipse.team.examples.filesystem.syncViewer">
-           <popupMenu
-                allowsPlatformContributions="false"
-                id="org.eclipse.team.examples.filesystem.syncViewer#PopupMenu">  
-             <insertionPoint name="file"/>  
-             <insertionPoint name="edit"/>          
-             <insertionPoint name="synchronize"/>
-             <insertionPoint
-                   name="navigate"
-                   separator="true"/>
-             <insertionPoint
-                   name="merge"
-                   separator="true"/>
-             <insertionPoint
-                   name="put"
-                   separator="false"/>
-             <insertionPoint
-                   name="overwrite"
-                   separator="true"/> 
-             <insertionPoint
-                   name="other"
-                   separator="true"/> 
-             <insertionPoint
-                   name="sort"
-                   separator="true"/>
-             <insertionPoint
-                   name="additions"
-                   separator="true"/>              
-             <insertionPoint
-                   name="properties"
-                   separator="true"/>
-          </popupMenu>
-       </viewer>
-   </extension>
-   
-<!-- =================================================================================== -->
-<!-- Menus for File System Example														 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.mapping.ResourceMapping"
-            adaptable="true"
-            id="org.eclipse.team.examples.filesystem.ResourceContributions">
-         <enablement>
-               <adapt type="org.eclipse.core.resources.mapping.ResourceMapping">
-                   <test property="org.eclipse.core.resources.projectPersistentProperty"
-                         args="org.eclipse.team.core.repository,org.eclipse.team.examples.filesystem.FileSystemProvider"/>
-               </adapt>
-         </enablement>
-         <action
-               label="%Put.name"
-               tooltip="%Put.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.PutAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.filesystem.put">
-         </action>
-         <action
-               label="%Get.name"
-               tooltip="%Get.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.GetAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.filesystem.get">
-         </action>
-         <action
-               label="Merge"
-               tooltip="Merge"
-               class="org.eclipse.team.examples.filesystem.ui.MergeAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.filesystem.merge">
-         </action>
-         <action
-               label="%Synchronize.name"
-               tooltip="%Synchronize.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.SynchronizeAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.filesystem.synchronize">
-         </action>
-         <action
-               label="%Replace.name"
-               tooltip="%ReplaceAction.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.ReplaceAction"
-               menubarPath="replaceWithMenu/replaceWithGroup"
-               id="org.eclipse.team.examples.filesystem.replace">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            id="org.eclipse.team.examples.filesystem.ProjectContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.filesystem.FileSystemProvider">
-         </filter>
-         <action
-               label="%Unmanage.name"
-               tooltip="%Unmanage.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.DisconnectAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.filesystem.unmanage">
-         </action>
-      </objectContribution>
-      <objectContribution
-            adaptable="false"
-            id="org.eclipse.team.examples.filesystem.fileContribution"
-            objectClass="org.eclipse.core.resources.IFile">
-          <enablement>
-            <adapt type="org.eclipse.core.resources.mapping.ResourceMapping">
-              <test property="org.eclipse.core.resources.projectPersistentProperty"
-              args="org.eclipse.team.core.repository,org.eclipse.team.examples.filesystem.FileSystemProvider"/>
-            </adapt>
-         </enablement>
-         <action
-               class="org.eclipse.team.examples.filesystem.ui.ShowHistoryAction"
-               id="org.eclipse.team.examples.filesystem.showHistory"
-               label="Show History"
-               menubarPath="team.main/group4">
-         </action>
-      </objectContribution>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Sharing Wizards 														 			 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.team.ui.configurationWizards">
-      <wizard
-            name="%fswizard.name"
-            icon="icons/full/wizards/fsicon_wiz.gif"
-            class="org.eclipse.team.examples.filesystem.ui.ConfigurationWizard"
-            id="org.eclipse.team.examples.filesystem.ui.ConfigurationWizard">
-      </wizard>
-   </extension>
-   
-      <extension
-         point="org.eclipse.team.ui.configurationWizards">
-      <wizard
-            name="Pessimistic Simple Provider (Non-Versioning)"
-            icon="icons/full/wizards/fsicon_wiz.gif"
-            class="org.eclipse.team.examples.pessimistic.ui.ConfigurationWizard"
-            id="org.eclipse.team.examples.pessimistic.ui.ConfigurationWizard">
-      </wizard>
-   </extension>
-   
-<!-- =================================================================================== -->
-<!-- Property Pages																		 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IResource"
-            adaptable="true"
-            name="%fspropertypage.name"
-            class="org.eclipse.team.examples.filesystem.ui.FileSystemPropertiesPage"
-            id="org.eclipse.team.examples.filesystem.ui.FileSystemPropertiesPage">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.filesystem.FileSystemProvider">
-         </filter>
-      </page>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Preference Pages																	 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="Pessimistic Filesystem Provider"
-            category="org.eclipse.team.ui.TeamPreferences"
-            class="org.eclipse.team.examples.pessimistic.ui.PessimisticPreferencesPage"
-            id="org.eclipse.team.examples.pessimistic.ui.PessimisticPreferences">
-      </page>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Decorators																		 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.decorators">
-      <decorator
-            adaptable="true"
-            label="Pessimistic Filesystem Provider Decorator"
-            state="true"
-            class="org.eclipse.team.examples.pessimistic.ui.PessimisticDecorator"
-            id="org.eclipse.team.pessimistic.ui.decorator">
-         <description>
-            Provides simple checked-in, checked-out decorations on files.
-         </description>
-         <enablement>
-             <objectClass name="org.eclipse.core.resources.IResource"/> 
-         </enablement>
-      </decorator>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Menus for Pessimistic Provider														 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IResource"
-            adaptable="true"
-            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
-         </filter>
-         <action
-               label="Checkout"
-               tooltip="Check resources out of the repository"
-               class="org.eclipse.team.examples.pessimistic.ui.CheckOutAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.pessimistic.checkout">
-         </action>
-         <action
-               label="Checkin"
-               tooltip="Check resources into the repository"
-               class="org.eclipse.team.examples.pessimistic.ui.CheckInAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.pessimistic.checkin">
-         </action>
-         <action
-               label="Uncheckout"
-               tooltip="Revert checked out status of resources"
-               class="org.eclipse.team.examples.pessimistic.ui.UncheckOutAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.pessimistic.uncheckout">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
-         </filter>            
-         <action
-               label="Add to control"
-               class="org.eclipse.team.examples.pessimistic.ui.AddToControlAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.pessimistic.addFileToControl">
-         </action>
-         <action
-               label="Remove from control"
-               class="org.eclipse.team.examples.pessimistic.ui.RemoveFromControlAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.pessimistic.removeFileFromControl">
-         </action>
-      </objectContribution>              
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFolder"
-            adaptable="true"
-            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
-         </filter>            
-         <action
-               label="Add to control"
-               class="org.eclipse.team.examples.pessimistic.ui.AddToControlAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.pessimistic.addFolderToControl">
-         </action>
-         <action
-               label="Remove from control"
-               class="org.eclipse.team.examples.pessimistic.ui.RemoveFromControlAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.pessimistic.removeFolderFromControl">
-         </action>
-      </objectContribution>              
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
-         </filter>
-         <action
-               label="Stop sharing"
-               tooltip="Stop sharing the project using the pessimistic file provider"
-               class="org.eclipse.team.examples.pessimistic.ui.DisconnectAction"
-               menubarPath="team.main/projectGroup"
-               id="org.eclipse.team.examples.pessimistic.disconnect">
-         </action>
-      </objectContribution>
-   </extension>
-   
-<!-- =================================================================================== -->
-<!-- Definitions used for the example logical model										 -->
-<!-- =================================================================================== -->
-
-   <!-- ================================================================================ -->
-   <!-- Nature that identifies model projects											 -->
-   <!-- ================================================================================ -->
-   <extension
-        id="modelNature"
-        point="org.eclipse.core.resources.natures">
-     <runtime>
-        <run class="org.eclipse.team.examples.model.ModelNature"/>
-     </runtime>
-   </extension>
-    
-   <!-- ================================================================================ -->
-   <!-- Common Navigator viewer for use in the Project Explorer							 -->
-   <!-- ================================================================================ -->
-   <extension
-         point="org.eclipse.ui.navigator.navigatorContent">
-      <navigatorContent
-            activeByDefault="true"
-            contentProvider="org.eclipse.team.examples.model.ui.ModelNavigatorContentProvider"
-            icon="$nl$/icons/full/obj/root_obj.gif"
-            id="org.eclipse.team.examples.model.navigator"
-            labelProvider="org.eclipse.team.examples.model.ui.ModelNavigatorLabelProvider"
-            name="Example Model"
-            providesSaveables="true">
-         <triggerPoints>
-            <or>
-               <instanceof value="org.eclipse.team.examples.model.ModelObject"/>
-               <instanceof value="org.eclipse.core.resources.IWorkspaceRoot"/>
-            </or>
-         </triggerPoints>
-         <possibleChildren>
-            <instanceof value="org.eclipse.team.examples.model.ModelObject"/>
-         </possibleChildren>
-         <override
-               policy="InvokeAlwaysRegardlessOfSuppressedExt"
-               suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>
-         <actionProvider
-               class="org.eclipse.team.examples.model.ui.ModelNavigatorActionProvider"
-               id="org.eclipse.team.examples.model.actionProvider"/>
-      </navigatorContent>
-   </extension>
-      <extension
-         point="org.eclipse.ui.navigator.viewer">
-      <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
-         <includes>
-            <contentExtension
-                  pattern="org.eclipse.team.examples.model.navigator"/>
-         </includes>
-      </viewerContentBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-         <category name="Team Logical Model Example" id="org.eclipse.team.examples.model.newWizards">
-         </category>
-      <wizard
-            category="org.eclipse.team.examples.model.newWizards"
-            icon="$nl$/icons/full/obj/root_obj.gif"
-            name="Model Project"
-            class="org.eclipse.team.examples.model.ui.NewModelProjectWizard"
-            project="true"
-            id="org.eclipse.team.examples.model.newModelProject">
-            <description> 
-              This wizard creates a model project that illustrates some of the logical model support in the Eclipse Platform
-            </description>
-      </wizard>
-   </extension>
-   
-   <!-- ================================================================================ -->
-   <!-- Model provider for the model example											 -->
-   <!-- ================================================================================ -->
-   <extension
-         id="modelProvider"
-         name="Example Model"
-         point="org.eclipse.core.resources.modelProviders">
-      <modelProvider class="org.eclipse.team.examples.model.mapping.ExampleModelProvider"/>
-      <extends-model id="org.eclipse.core.resources.modelProvider"/>
-      <enablement>
-          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.team.examples.filesystem.modelNature" />
-      </enablement>
-   </extension>
-   
-   <!-- ================================================================================ -->
-   <!-- Adapter factories for the model example											 -->
-   <!-- ================================================================================ -->
-      <extension
-            point="org.eclipse.core.runtime.adapters">
-         <factory
-               adaptableType="org.eclipse.team.examples.model.ModelObject"
-               class="org.eclipse.team.examples.model.ui.AdapterFactory">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-            <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-         </factory>
-         <factory
-               adaptableType="org.eclipse.team.examples.model.mapping.ExampleModelProvider"
-               class="org.eclipse.team.examples.model.ui.AdapterFactory">
-            <adapter type="org.eclipse.team.core.mapping.IResourceMappingMerger"/>
-            <adapter type="org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter"/>
-         </factory>
-         <factory
-               adaptableType="org.eclipse.team.core.history.provider.FileHistoryProvider"
-               class="org.eclipse.team.examples.model.ui.AdapterFactory">
-            <adapter type="org.eclipse.team.ui.history.IHistoryPageSource"/>
-         </factory>
-      </extension>
-      <extension
-            point="org.eclipse.team.ui.teamContentProviders">
-         <teamContentProvider
-               contentExtensionId="org.eclipse.team.examples.model.synchronizeContent"
-               icon="$nl$/icons/full/obj/root_obj.gif"
-               modelProviderId="org.eclipse.team.examples.filesystem.modelProvider"/>
-      </extension>
-      <extension
-            point="org.eclipse.ui.navigator.navigatorContent">
-         <navigatorContent
-               contentProvider="org.eclipse.team.examples.model.ui.mapping.ModelSyncContentProvider"
-               icon="$nl$/icons/full/obj/root_obj.gif"
-               id="org.eclipse.team.examples.model.synchronizeContent"
-               labelProvider="org.eclipse.team.examples.model.ui.mapping.ModelSyncLabelProvider"
-               name="Example Model"
-               priority="normal">
-            <actionProvider class="org.eclipse.team.examples.model.ui.mapping.ModelSyncActionProvider"/>
-            <override
-                  policy="InvokeAlwaysRegardlessOfSuppressedExt"
-                  suppressedExtensionId="org.eclipse.team.ui.resourceContent"/>
-            <triggerPoints>
-               <or>
-                  <instanceof value="org.eclipse.team.core.mapping.ISynchronizationScope"/>
-                  <instanceof value="org.eclipse.team.core.mapping.ISynchronizationContext"/>
-                  <instanceof value="org.eclipse.team.examples.model.ModelObject"/>
-                  <instanceof value="org.eclipse.team.examples.model.mapping.ExampleModelProvider"/>
-               </or>
-            </triggerPoints>
-            <possibleChildren>
-               <or>
-                  <instanceof value="org.eclipse.team.examples.model.ModelObject"/>
-                  <instanceof value="org.eclipse.team.examples.model.mapping.ExampleModelProvider"/>
-               </or>
-            </possibleChildren>
-         </navigatorContent>
-         <actionProvider
-               class="org.eclipse.team.examples.model.ui.mapping.ThirdPartyActionProvider"
-               id="org.eclipse.team.examples.model.ThirdPartyActionProvider">
-            <enablement>
-               <adapt type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-            </enablement>
-         </actionProvider>
-      </extension>
-      <extension
-            point="org.eclipse.ui.navigator.viewer">
-         <viewerActionBinding viewerId="org.eclipse.team.cvs.ui.workspaceSynchronization">
-            <includes>
-               <actionExtension pattern="org.eclipse.team.examples.model.ThirdPartyActionProvider"/>
-            </includes>
-         </viewerActionBinding>
-      </extension>
-
-  
-<!-- =================================================================================== -->
-<!-- Capability Support (a.k.a. Activities)														 -->
-<!-- Note: Uncomment the lines below to enable the capabilities. These can't be enabled in the -->
-<!-- examples because some products ship the examples with the product. -->
-<!-- =================================================================================== -->   
-<!--  
-	<extension point="org.eclipse.ui.activities">
-    
-	<activity
-		name="%activity.team.examples.filesystem.name"
-		description="%activity.team.examples.filesystem.description"
-		id="org.eclipse.team.examples.filesystem">
-	</activity> 
-	   
-	<activityRequirementBinding
-		activityId="org.eclipse.team.examples.filesystem"
-		requiredActivityId="org.eclipse.team">
-	</activityRequirementBinding>
-	  
-	<activityPatternBinding
-		activityId="org.eclipse.team.examples.filesystem"
-		pattern="org\.eclipse\.team\.examples\.filesystem/.*filesystem\.ui.*">
-	</activityPatternBinding>
-	  
-	<activityPatternBinding
-		activityId="org.eclipse.team.examples.filesystem"
-		pattern="org\.eclipse\.team\.examples\.filesystem/.*FileSystemProvider">
-	</activityPatternBinding>
-	  
-	<categoryActivityBinding
-		activityId="org.eclipse.team.examples.filesystem"
-		categoryId="org.eclipse.categories.teamCategory">
-	</categoryActivityBinding>
- 
-    <activity
-		name="%activity.team.examples.pessimistic.name"
-		description="%activity.team.examples.pessimistic.description"
-		id="org.eclipse.team.examples.pessimistic">
-	</activity> 
-	   
-	<activityRequirementBinding
-		activityId="org.eclipse.team.examples.pessimistic"
-		requiredActivityId="org.eclipse.team">
-	</activityRequirementBinding>
-	  
-	<activityPatternBinding
-		activityId="org.eclipse.team.examples.pessimistic"
-		pattern="org\.eclipse\.team\.examples\.filesystem/.*pessimistic\.ui.*">
-	</activityPatternBinding>
-	  
-	<activityPatternBinding
-		activityId="org.eclipse.team.examples.pessimistic"
-		pattern="org\.eclipse\.team\.examples\.filesystem/.*pessimisticnature">
-	</activityPatternBinding>
-	  
-	<categoryActivityBinding
-		activityId="org.eclipse.team.examples.pessimistic"
-		categoryId="org.eclipse.categories.teamCategory">
-	</categoryActivityBinding>
-
-	</extension>
--->
-</plugin>
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileModificationValidator.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileModificationValidator.java
deleted file mode 100644
index e0fd730..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileModificationValidator.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.team.examples.filesystem;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.team.FileModificationValidationContext;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-
-/**
- * This class models a sentry that verifies whether resources are available for editing or overwriting.
- * This has been made a separate class for illustration purposes. It may have been more appropriate
- * to have FileSystemProvider implement IFileModificationValidator itself since the interface
- * only has two methods and their implementation is straight forward.
- */
-public final class FileModificationValidator extends org.eclipse.core.resources.team.FileModificationValidator {
-	
-	private FileSystemOperations operations;
-
-	/**
-	 * Constructor for FileModificationValidator.
-	 */
-	public FileModificationValidator(RepositoryProvider provider) {
-		operations = ((FileSystemProvider)provider).getOperations();
-	}
-
-	/**
-	 * This method will convert any exceptions thrown by the SimpleAccessOperations.checkout() to a Status.
-	 * @param resources the resources that are to be checked out
-	 * @return IStatus a status indicator that reports whether the operation went smoothly or not.
-	 */
-	private IStatus checkout(IResource[] resources) {
-		try {
-			operations.checkout(resources, IResource.DEPTH_INFINITE, null);
-		} catch (TeamException e) {
-			return new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, e.getLocalizedMessage(), e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * This method will be called by the workbench/editor before it tries to edit one or more files.
-	 * The idea is to prevent anyone from accidentally working on a file that they won't be able to check in changes to.
-	 * @see org.eclipse.core.resources.IFileModificationValidator#validateEdit(IFile[], Object)
-	 */
-	public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-		Collection toBeCheckedOut = new ArrayList();
-
-		//Make a list of all the files that need to be checked out:
-		for (int i = 0; i < files.length; i++) {
-			if (!operations.isCheckedOut(files[i])) {
-				toBeCheckedOut.add(files[i]);
-			}
-		}
-		
-		return checkout((IResource[]) toBeCheckedOut.toArray(new IResource[toBeCheckedOut.size()]));
-	}
-
-	/**
-	 * This method will be called by the workbench before it tries to save a file.
-	 * It should not attempt to save any files that don't receive an OK status here.
-	 * @see org.eclipse.core.resources.IFileModificationValidator#validateSave(IFile)
-	 */
-	public IStatus validateSave(IFile file) {
-		if (file.isReadOnly()) {
-			return checkout(new IResource[] { file });
-		}
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemOperations.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemOperations.java
deleted file mode 100644
index 543ef42..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemOperations.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (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
- * 	   Andreas Voss <av@tonbeller.com> - Bug 181141 [Examples] Team: filesystem provider example can not handle deletions     
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-import org.eclipse.team.core.variants.ThreeWaySynchronizer;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemResourceVariant;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-
-/**
- * The get and put operations for the file system provider.
- */
-public class FileSystemOperations {
-
-	// A reference to the provider
-	private FileSystemProvider provider;
-
-	FileSystemOperations(FileSystemProvider provider) {
-		this.provider = provider;
-	}
-
-	/**
-	 * Make the local state of the project match the remote state by getting any out-of-sync 
-	 * resources. The overrideOutgoing flag is used to indicate whether locally modified
-	 * files should also be replaced or left alone.
-	 * @param resources the resources to get
-	 * @param depth the depth of the operation
-	 * @param overrideOutgoing whether locally modified resources should be replaced
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void get(IResource[] resources, int depth, boolean overrideOutgoing, IProgressMonitor progress) throws TeamException {
-		try {
-			// ensure the progress monitor is not null
-			progress = Policy.monitorFor(progress);
-			progress.beginTask(Policy.bind("GetAction.working"), 100); //$NON-NLS-1$
-			// Refresh the subscriber so we have the latest remote state
-			FileSystemSubscriber.getInstance().refresh(resources, depth, new SubProgressMonitor(progress, 30));
-			internalGet(resources, depth, overrideOutgoing, new SubProgressMonitor(progress, 70));
-		} finally {
-			progress.done();
-		}
-	}
-
-	/**
-	 * Make the local state of the traversals match the remote state by getting any out-of-sync 
-	 * resources. The overrideOutgoing flag is used to indicate whether locally modified
-	 * files should also be replaced or left alone.
-	 * @param traversals the traversals that cover the resources to get
-	 * @param overrideOutgoing whether locally modified resources should be replaced
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void get(ResourceTraversal[] traversals, boolean overrideOutgoing, IProgressMonitor monitor) throws TeamException {
-		try {
-			// ensure the progress monitor is not null
-			monitor = Policy.monitorFor(monitor);
-			monitor.beginTask(null, 100* traversals.length);
-			for (int i = 0; i < traversals.length; i++) {
-				ResourceTraversal traversal = traversals[i];
-				get(traversal.getResources(), traversal.getDepth(), overrideOutgoing, new SubProgressMonitor(monitor, 100));
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Checkout the given resources to the given depth by setting any files
-	 * to writable (i.e set read-only to <code>false</code>.
-	 * @param resources the resources to be checked out
-	 * @param depth the depth of the checkout
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void checkout(IResource[] resources, int depth, IProgressMonitor progress) throws TeamException {
-		try {
-			progress = Policy.monitorFor(progress);
-			progress.beginTask(Policy.bind("FileSystemSimpleAccessOperations.1"), resources.length); //$NON-NLS-1$
-			for (int i = 0; i < resources.length; i++) {
-				Policy.checkCanceled(progress);
-				resources[i].accept(new IResourceVisitor() {
-					public boolean visit(IResource resource) throws CoreException {
-						if (resource.getType() == IResource.FILE) {
-							//TODO: lock the file on the 'server'.
-							resource.setReadOnly(false);
-						}
-						return true;
-					}
-				}, depth, false /* include phantoms */);
-				progress.worked(1);
-			}
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		} finally {
-			progress.done();
-		}
-	}
-
-	/**
-	 * Check-in the given resources to the given depth by replacing the remote (i.e. file system)
-	 * contents with the local workspace contents. 
-	 * @param resources the resources
-	 * @param depth the depth of the operation
-	 * @param overrideIncoming indicate whether incoming remote changes should be replaced
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void checkin(IResource[] resources, int depth, boolean overrideIncoming, IProgressMonitor progress) throws TeamException {
-		try {
-			// ensure the progress monitor is not null
-			progress = Policy.monitorFor(progress);
-			progress.beginTask(Policy.bind("PutAction.working"), 100); //$NON-NLS-1$
-			// Refresh the subscriber so we have the latest remote state
-			FileSystemSubscriber.getInstance().refresh(resources, depth, new SubProgressMonitor(progress, 30));
-			internalPut(resources, depth, overrideIncoming, new SubProgressMonitor(progress, 70));
-		} finally {
-			progress.done();
-		}
-	}
-
-	/**
-	 * Check-in the given resources to the given depth by replacing the remote (i.e. file system)
-	 * contents with the local workspace contents. 
-	 * @param traversals the traversals that cover the resources to check in
-	 * @param overrideIncoming indicate whether incoming remote changes should be replaced
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void checkin(ResourceTraversal[] traversals, boolean overrideIncoming, IProgressMonitor monitor) throws TeamException {
-		try {
-			// ensure the progress monitor is not null
-			monitor = Policy.monitorFor(monitor);
-			monitor.beginTask(null, 100* traversals.length);
-			for (int i = 0; i < traversals.length; i++) {
-				ResourceTraversal traversal = traversals[i];
-				checkin(traversal.getResources(), traversal.getDepth(), overrideIncoming, new SubProgressMonitor(monitor, 100));
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Return whether the local resource is checked out. A resource
-	 * is checked out if it is a file that is not read-only. Folders
-	 * are always checked out.
-	 * @param resource the resource
-	 * @return whether the resource is checked out and can be modified
-	 */
-	public boolean isCheckedOut(IResource resource) {
-		if (resource.getType() != IResource.FILE) return true;
-		return !resource.isReadOnly();
-	}
-
-	/*
-	 * Get the resource variant for the given resource.
-	 */
-	private FileSystemResourceVariant getResourceVariant(IResource resource) {
-		return (FileSystemResourceVariant)provider.getResourceVariant(resource);
-	}
-	
-	private void internalGet(IResource[] resources, int depth, boolean overrideOutgoing, IProgressMonitor progress) throws TeamException {
-		// Traverse the resources and get any that are out-of-sync
-		progress.beginTask(Policy.bind("GetAction.working"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-		for (int i = 0; i < resources.length; i++) {
-			Policy.checkCanceled(progress);
-			if (resources[i].getType() == IResource.FILE) {
-				internalGet((IFile) resources[i], overrideOutgoing, progress);
-			} else if (depth != IResource.DEPTH_ZERO) {
-				internalGet((IContainer)resources[i], depth, overrideOutgoing, progress);
-			}
-			progress.worked(1);
-		}
-	}
-
-	/*
-	 * Get the folder and its children to the depth specified.
-	 */
-	private void internalGet(IContainer container, int depth, boolean overrideOutgoing, IProgressMonitor progress) throws TeamException {
-		try {
-			ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-			// Make the local folder state match the remote folder state
-			List toDelete = new ArrayList();
-			if (container.getType() == IResource.FOLDER) {
-				IFolder folder = (IFolder)container;
-				FileSystemResourceVariant remote = getResourceVariant(container);
-				if (!folder.exists() && remote != null) {
-					// Create the local folder
-					folder.create(false, true, progress);
-					synchronizer.setBaseBytes(folder, remote.asBytes());
-				} else if (folder.exists() && remote == null) {
-					// Schedule the folder for removal but delay in
-					// case the folder contains outgoing changes
-					toDelete.add(folder);
-				}
-			}
-			
-			// Get the children
-			IResource[] children = synchronizer.members(container);
-			if (children.length > 0) {
-				internalGet(children, depth == IResource.DEPTH_INFINITE ? IResource.DEPTH_INFINITE : IResource.DEPTH_ZERO, overrideOutgoing, progress);
-			}
-		
-			// Remove any empty folders
-			for (Iterator iter = toDelete.iterator(); iter.hasNext(); ) {
-				IFolder folder = (IFolder) iter.next();
-				if (folder.members().length == 0) {
-					folder.delete(false, true, progress);
-					synchronizer.flush(folder, IResource.DEPTH_INFINITE);
-				}
-			}
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-
-	/*
-	 * Get the file if it is out-of-sync.
-	 */
-	private void internalGet(IFile localFile, boolean overrideOutgoing, IProgressMonitor progress) throws TeamException {
-		ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-		IResourceVariantComparator comparator = FileSystemSubscriber.getInstance().getResourceComparator();
-		FileSystemResourceVariant remote = getResourceVariant(localFile);
-		byte[] baseBytes = synchronizer.getBaseBytes(localFile);
-		IResourceVariant base = provider.getResourceVariant(localFile, baseBytes);
-		if (!synchronizer.hasSyncBytes(localFile) 
-				|| (isLocallyModified(localFile) && !overrideOutgoing)) {
-			// Do not overwrite the local modification
-			return;
-		}
-		if (base != null && remote == null) {
-			// The remote no longer exists so remove the local
-			try {
-				localFile.delete(false, true, progress);
-				synchronizer.flush(localFile, IResource.DEPTH_ZERO);
-				return;
-			} catch (CoreException e) {
-				throw TeamException.asTeamException(e);
-			}
-		}
-		if (!synchronizer.isLocallyModified(localFile) 
-				&& base != null 
-				&& remote != null 
-				&& comparator.compare(base, remote)) {
-			// The base and remote are the same and there's no local changes
-			// so nothing needs to be done
-			return;
-		}
-		try {
-			//Copy from the local file to the remote file:
-			InputStream source = null;
-			try {
-				// Get the remote file content.
-				source = remote.getContents();
-				// Set the local file content to be the same as the remote file.
-				if (localFile.exists())
-					localFile.setContents(source, false, false, progress);
-				else
-					localFile.create(source, false, progress);
-			} finally {
-				if (source != null)
-					source.close();
-			}
-			// Mark as read-only to force a checkout before editing
-			localFile.setReadOnly(true);
-			synchronizer.setBaseBytes(localFile, remote.asBytes());
-		} catch (IOException e) {
-			throw FileSystemPlugin.wrapException(e);
-		} catch (CoreException e) {
-			throw FileSystemPlugin.wrapException(e);
-		}
-	}
-	
-	private void internalPut(IResource[] resources, int depth, boolean overrideIncoming, IProgressMonitor progress) throws TeamException {
-		// ensure the progress monitor is not null
-		progress = Policy.monitorFor(progress);
-		progress.beginTask(Policy.bind("PutAction.working"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-		for (int i = 0; i < resources.length; i++) {
-			Policy.checkCanceled(progress);
-			if (resources[i].getType() == IResource.FILE) {
-				internalPut((IFile)resources[i], overrideIncoming, progress);
-			} else if (depth > 0) { //Assume that resources are either files or containers.
-				internalPut((IContainer)resources[i], depth, overrideIncoming, progress);
-			}
-			progress.worked(1);
-		}
-		progress.done();
-	}
-	
-	/**
-	 * Put the file if the sync state allows it.
-	 * @param localFile the local file
-	 * @param overrideIncoming whether incoming changes should be overwritten
-	 * @param progress a progress monitor
-	 * @return whether the put succeeded (i.e. the local matches the remote)
-	 * @throws TeamException
-	 */
-	private boolean internalPut(IFile localFile, boolean overrideIncoming, IProgressMonitor progress) throws TeamException {
-		ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-		IResourceVariantComparator comparator = FileSystemSubscriber.getInstance().getResourceComparator();
-		FileSystemResourceVariant remote = getResourceVariant(localFile);
-		byte[] baseBytes = synchronizer.getBaseBytes(localFile);
-		IResourceVariant base = provider.getResourceVariant(localFile, baseBytes);
-		
-		// Check whether we are overriding a remote change
-		if (base == null && remote != null && !overrideIncoming) {
-			// The remote is an incoming (or conflicting) addition.
-			// Do not replace unless we are overriding
-			return false;
-		} else  if (base != null && remote == null) {
-			// The remote is an incoming deletion
-			if (!localFile.exists()) {
-				// Conflicting deletion. Clear the synchronizer.
-				synchronizer.flush(localFile, IResource.DEPTH_ZERO);
-			} else if (!overrideIncoming) {
-				// Do not override the incoming deletion
-				return false;
-			}
-		} else if (base != null && remote != null) {
-			boolean same = comparator.compare(base, remote);
-			if (!isLocallyModified(localFile) && same) {
-				// The base and remote are the same and there's no local changes
-				// so nothing needs to be done
-				return true;
-			}
-			if (!same && !overrideIncoming) {
-				// The remote has changed. Only override if specified
-				return false;
-			}
-		}
-		
-		// Handle an outgoing deletion
-		File diskFile = provider.getFile(localFile);
-		if (!localFile.exists()) { 
-			diskFile.delete();
-			synchronizer.flush(localFile, IResource.DEPTH_ZERO);
-		} else {
-			// Otherwise, upload the contents
-			try {
-				//Copy from the local file to the remote file:
-				InputStream in = null;
-				FileOutputStream out = null;
-				try {
-					if(! diskFile.getParentFile().exists()) {
-						diskFile.getParentFile().mkdirs();
-					}
-					in = localFile.getContents();
-					out = new FileOutputStream(diskFile);
-					//Copy the contents of the local file to the remote file:
-					StreamUtil.pipe(in, out, diskFile.length(), progress, diskFile.getName());
-					// Mark the file as read-only to require another checkout
-					localFile.setReadOnly(true);
-				} finally {
-					if (in != null)
-						in.close();
-					if (out != null)
-						out.close();
-				}
-				// Update the synchronizer base bytes
-				remote = getResourceVariant(localFile);
-				synchronizer.setBaseBytes(localFile, remote.asBytes());
-			} catch (IOException e) {
-				throw FileSystemPlugin.wrapException(e);
-			} catch (CoreException e) {
-				throw FileSystemPlugin.wrapException(e);
-			}
-		}
-		return true;
-	}
-	
-	private boolean isLocallyModified(IFile localFile) throws TeamException {
-		ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-		if (!localFile.exists()) {
-			// Extra check for bug 141415
-			return synchronizer.getBaseBytes(localFile) != null;
-		}
-		return synchronizer.isLocallyModified(localFile);
-	}
-
-	/*
-	 * Get the folder and its children to the depth specified.
-	 */
-	private void internalPut(IContainer container, int depth, boolean overrideIncoming, IProgressMonitor progress) throws TeamException {
-		try {
-			ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-			// Make the local folder state match the remote folder state
-			List toDelete = new ArrayList();
-			if (container.getType() == IResource.FOLDER) {
-				IFolder folder = (IFolder)container;
-				File diskFile = provider.getFile(container);
-				FileSystemResourceVariant remote = getResourceVariant(container);
-				if (!folder.exists() && remote != null) {
-					// Schedule the folder for removal but delay in
-					// case the folder contains incoming changes
-					toDelete.add(diskFile);
-				} else if (folder.exists() && remote == null) {
-					// Create the remote directory and sync up the local
-					diskFile.mkdir();
-					synchronizer.setBaseBytes(folder, provider.getResourceVariant(folder).asBytes());
-				}
-			}
-			
-			// Get the children
-			IResource[] children = synchronizer.members(container);
-			if (children.length > 0) {
-				internalPut(children, depth == IResource.DEPTH_INFINITE ? IResource.DEPTH_INFINITE : IResource.DEPTH_ZERO, overrideIncoming, progress);
-			}
-		
-			// Remove any empty folders
-			for (Iterator iter = toDelete.iterator(); iter.hasNext(); ) {
-				File diskFile = (File) iter.next();
-				if (diskFile.listFiles().length == 0) {
-					diskFile.delete();
-					synchronizer.flush(container, IResource.DEPTH_INFINITE);
-				}
-			}
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemPlugin.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemPlugin.java
deleted file mode 100644
index 3922f5f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemPlugin.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.model.PluginManifestChangeTracker;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * This is the plugin class for the file system examples. It provides the following:
- * 
- * <ol>
- * <li>public fields for the plugin and provider IDs as defined in the plugin.xml
- * <li>initialization on startup of Policy class that provides internationalization of strings
- * <li>helper methods for outputing IStatus objects to the log
- * <li>helper methods for converting CoreExceptions and IOExceptions to TeamExceptions
- * </ol>
- */
-public class FileSystemPlugin extends AbstractUIPlugin {
-	
-	/**
-	 * This is the ID of the plugin as defined in the plugin.xml
-	 */
-	public static final String ID = "org.eclipse.team.examples.filesystem"; //$NON-NLS-1$
-	
-	/**
-	 * This is the provider ID of the plugin as defined in the plugin.xml
-	 */
-	public static final String PROVIDER_ID = ID + ".FileSystemProvider"; //$NON-NLS-1$
-	
-	// This static field will hold the singleton instance of the plugin class
-	private static FileSystemPlugin plugin;
-	
-	private PessimisticFilesystemProviderPlugin pessPlugin;
-	
-	private PluginManifestChangeTracker tracker;
-	
-	/**
-	 * Override the standard plugin constructor.
-	 * 
-	 * @param descriptor the plugin descriptor
-	 */
-	public FileSystemPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		// record this instance as the singleton
-		plugin = this;
-		// Instanctiate pessimistic provider
-		pessPlugin = new PessimisticFilesystemProviderPlugin(descriptor);
-	}
-	
-	/**
-	 * Return the singlton instance of the plugin class to allow other
-	 * classes in the plugin access to plugin instance methods such as 
-	 * those for logging errors, etc.
-	 */
-	public static FileSystemPlugin getPlugin() {
-		return plugin;
-	}
-	
-	/**
-	 * Helper method to convert a CoreException into a TeamException.
-	 * We do this to maintain the core status and code. This type of
-	 * mapping may not be appropriate in more complicated exception 
-	 * handling situations.
-	 * 
-	 * @param e the CoreException
-	 */
-	public static TeamException wrapException(CoreException e) {
-		return new TeamException(e.getStatus());
-	}
-
-	/**
-	 * Helper method to convert an IOException into a TeamException.
-	 * This type of mapping may not be appropriate in more complicated 
-	 * exception handling situations.
-	 * 
-	 * @param e the CoreException
-	 */
-	public static TeamException wrapException(IOException e) {
-		return new TeamException(new Status(IStatus.ERROR, FileSystemPlugin.ID, 
-			TeamException.IO_FAILED, e.getMessage(), e));
-	}
-	
-	/**
-	 * Helper method to log an exception status.
-	 * 
-	 * @param status the status to be logged
-	 */
-	public static void log(IStatus status) {
-		plugin.getLog().log(status);
-	}
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display= Display.getCurrent();
-		if (display == null) {
-			display= Display.getDefault();
-		}
-		return display;		
-	}
-	
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		//Call startup on the Pessimistic Plugin
-		pessPlugin.startup();
-		tracker = new PluginManifestChangeTracker();
-		tracker.start();
-	}
-	
-	public void stop(BundleContext context) throws Exception {
-		try {
-			if (pessPlugin != null)
-				pessPlugin.shutdown();
-		} finally {
-			super.stop(context);
-		}
-		tracker.dispose();
-		tracker = null;
-	}
-}
-
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProvider.java
deleted file mode 100644
index 967b92e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProvider.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.team.examples.filesystem;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFileModificationValidator;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.team.FileModificationValidator;
-import org.eclipse.core.resources.team.ResourceRuleFactory;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.IFileHistoryProvider;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.examples.filesystem.history.FileSystemHistoryProvider;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemResourceVariant;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-
-/**
- * This example illustrates how to create a concrete implementation of a <code>RepositoryProvider</code>
- * that uses the file system to act as the repository. See the plugin.xml file for the xml required
- * to register this provider with the Team extension point <code>org.eclipse.team.core.repository</code>.
- * The plugin.xml file also contains examples of how to filter menu items using a repository provider's
- * ID.
- * 
- * <p>
- * This example provider illustrates the following:
- * <ol>
- * <li>simple working implementation of <code>RepositoyProvider</code>
- * <li>storage of a persistent property with the project (which provides the target location for the provider)
- * <li>access to an instance of <code>SimpleAccessOperations</code> for performing simple file operations
- * </ol>
- * 
- * <p>
- * Additional functionality that will be illustrated in the future include:
- * <ol>
- * <li>Validate Save/Validate Edit
- * <li>Move/Delete Hook
- * <li>Project Sets
- * <li>Use of the workspace synchronizer (ISynchronizer)
- * <li>Use of decorators
- * <li>combining streams and progress monitors to get responsive UI
- * </ol>
- * 
- */
-public class FileSystemProvider extends RepositoryProvider {
-	
-	/*
-	 * Create a custom rule factory to allow more optimistic concurrency
-	 */
-	private static final ResourceRuleFactory RESOURCE_RULE_FACTORY = new ResourceRuleFactory() {
-		// Just need a subclass to instantiate
-	};
-	
-	// The location of the folder on file system where the repository is stored.
-	private IPath root;
-	
-	// The QualifiedName that is used to persist the location across workspace as a persistent property on a resource
-	private static QualifiedName FILESYSTEM_REPO_LOC = new QualifiedName(FileSystemPlugin.ID, "disk_location"); //$NON-NLS-1$
-
-	private static FileSystemHistoryProvider fileHistoryProvider;
-	
-	/**
-	 * Create a new FileSystemProvider.
-	 */
-	public FileSystemProvider() {
-		super();
-	}
-	
-	/**
-	 * This method is invoked when the provider is mapped to a project.
-	 * Although we have access to the project at this point (using 
-	 * <code>getProject()</code>, we don't know the root location so
-	 * there is nothing we can do yet.
-	 * 
-	 * @see org.eclipse.team.core.RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-		FileSystemSubscriber.getInstance().handleRootChanged(getProject(), true /* added */);
-	}
-
-	/**
-	 * This method is invoked when the provider is unmapped from its
-	 * project.
-	 * 
-	 * @see org.eclipse.core.resources.IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-		// Clear the persistant property containing the location
-		getProject().setPersistentProperty(FILESYSTEM_REPO_LOC, null);
-		FileSystemSubscriber.getInstance().handleRootChanged(getProject(), false /* removed */);
-	}
-
-	/**
-	 * Return the provider ID as specified in the plugin.xml
-	 * 
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return FileSystemPlugin.PROVIDER_ID;
-	}
-		
-	/**
-	 * Set the file system location for the provider. This mist be invoked after 
-	 * the provider is mapped and configured but before the provider is used to 
-	 * perform any operations.
-	 * 
-	 * @param location the path representing the location where the project contents will be stored.
-	 * @throws TeamException
-	 */
-	public void setTargetLocation(String location) throws TeamException {
-		
-		// set the instance variable to the provided path
-		root = new Path(location);
-		
-		// ensure that the location is a folder (if it exists)
-		File file = new File(location);
-		if (file.exists() && !file.isDirectory()) {
-			throw new TeamException(Policy.bind("FileSystemProvider.mustBeFolder", location)); //$NON-NLS-1$
-		}
-		
-		// record the location as a persistant property so it will be remembered across platform invokations
-		try {
-			getProject().setPersistentProperty(FILESYSTEM_REPO_LOC, location);
-		} catch (CoreException e) {
-			throw FileSystemPlugin.wrapException(e);
-		}
-	}
-	
-	/**
-	 * Returns the folder in the file system to which the provider is connected.
-	 * Return <code>null</code> if there is no location or there was a problem
-	 * determining it.
-	 * 
-	 * @return IPath The path to the root of the repository.
-	 */
-	public IPath getRoot() {
-		if (root == null) {
-			try {
-				String location = getProject().getPersistentProperty(FILESYSTEM_REPO_LOC);
-				if (location == null) {
-					return null;
-				}
-				root = new Path(location);
-			} catch (CoreException e) {
-				// log the problem and carry on
-				FileSystemPlugin.log(e.getStatus());
-				return null;
-			}
-		}
-		return root;
-	}
-
-	/**
-	 * Return an object that provides the operations for transfering data 
-	 * to and from the provider's location.
-	 */
-	public FileSystemOperations getOperations() {
-		return new FileSystemOperations(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return getFileModificationValidator2();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getFileModificationValidator2()
-	 */
-	public FileModificationValidator getFileModificationValidator2() {
-		return new org.eclipse.team.examples.filesystem.FileModificationValidator(this);
-	}
-	
-	/**
-	 * Return the resource variant for the local resource using the bytes to
-	 * identify the variant.
-	 * @param resource the resource
-	 * @param bytes the bytes that identify the resource variant
-	 * @return the resource variant handle
-	 */
-	public IResourceVariant getResourceVariant(IResource resource, byte[] bytes) {
-		if (bytes == null) return null;
-		File file = getFile(resource);
-		if (file == null) return null;
-		return new FileSystemResourceVariant(file, bytes);
-	}
-	
-	/**
-	 * Return the resource variant for the local resource.
-	 * @param resource the resource
-	 * @return the resource variant
-	 */
-	public IResourceVariant getResourceVariant(IResource resource) {
-		File file = getFile(resource);
-		if (file == null || !file.exists()) return null;
-		return new FileSystemResourceVariant(file);
-	}
-	
-	/**
-	 * Return the <code>java.io.File</code> that the given resource maps to.
-	 * Return <code>null</code> if the resource is not a child of this provider's
-	 * project.
-	 * @param resource the resource
-	 * @return the file that the resource maps to.
-	 */
-	public java.io.File getFile(IResource resource) {
-		if (resource.getProject().equals(getProject())) {
-			IPath rootdir = getRoot();
-			return new File(rootdir.append(resource.getProjectRelativePath()).toOSString());
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getRuleFactory()
-	 */
-	public IResourceRuleFactory getRuleFactory() {
-		return RESOURCE_RULE_FACTORY;
-	}
-	
-	public IFileHistoryProvider getFileHistoryProvider() {
-		  if (FileSystemProvider.fileHistoryProvider == null) {
-			  FileSystemProvider.fileHistoryProvider = new FileSystemHistoryProvider();
-	        }
-	        return FileSystemProvider.fileHistoryProvider;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProviderType.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProviderType.java
deleted file mode 100644
index e947b92..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProviderType.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.team.examples.filesystem;
-
-import org.eclipse.team.core.ProjectSetCapability;
-import org.eclipse.team.core.RepositoryProviderType;
-
-/**
- * The file system repository provider types
- */
-public class FileSystemProviderType extends RepositoryProviderType {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProviderType#getProjectSetCapability()
-	 */
-	public ProjectSetCapability getProjectSetCapability() {
-		// Create an empty project set capability to test backwards compatibility
-		return new ProjectSetCapability() {};
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/Policy.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/Policy.java
deleted file mode 100644
index 08b794b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/Policy.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.team.examples.filesystem;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-
-/**
- * This class is a clone of the Policy classes many Eclipse plugin use to 
- * provide NLSing of strings and aid in proper progress monitoring.
- */
-public class Policy {
-	
-	private static ResourceBundle bundle = null;
-	private static final String bundleName = "org.eclipse.team.examples.filesystem.messages"; //$NON-NLS-1$
-
-	/*
-	 * Returns a resource bundle, creating one if it none is available. 
-	 */
-	private static ResourceBundle getResourceBundle() {
-		// thread safety
-		ResourceBundle tmpBundle = bundle;
-		if (tmpBundle != null)
-			return tmpBundle;
-		// always create a new classloader to be passed in 
-		// in order to prevent ResourceBundle caching
-		return bundle = ResourceBundle.getBundle(bundleName);
-	}
-	
-	/**
-	 * Lookup the message with the given ID in this catalog and bind its
-	 * substitution locations with the given string.
-	 */
-	public static String bind(String id, String binding) {
-		return bind(id, new String[] { binding });
-	}
-	
-	/**
-	 * Lookup the message with the given ID in this catalog and bind its
-	 * substitution locations with the given strings.
-	 */
-	public static String bind(String id, String binding1, String binding2) {
-		return bind(id, new String[] { binding1, binding2 });
-	}
-	
-	/**
-	 * Gets a string from the resource bundle. We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public static String bind(String key) {
-		try {
-			return getResourceBundle().getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	/**
-	 * Gets a string from the resource bundle and binds it with the given arguments. If the key is 
-	 * not found, return the key.
-	 */
-	public static String bind(String key, Object[] args) {
-		try {
-			return MessageFormat.format(bind(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	/**
-	 * Progress monitor helpers
-	 */
-	public static void checkCanceled(IProgressMonitor monitor) {
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-	}
-	
-	public static IProgressMonitor monitorFor(IProgressMonitor monitor) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		return monitor;
-	}	
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/StreamUtil.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/StreamUtil.java
deleted file mode 100644
index f12efa0..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/StreamUtil.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public class StreamUtil {
-
-	protected final static byte[] COPY_BUFFER = new byte[4096];
-
-	public static void pipe(
-		InputStream in,
-		OutputStream out,
-		long sizeEstimate,
-		IProgressMonitor progress,
-		String title)
-		throws IOException {
-
-		// Only show progress for files larger than 25Kb.
-		Long kilobytesEstimate = new Long(sizeEstimate / 1024);
-		boolean showProgress = (progress != null) && (sizeEstimate > 25000);
-		long bytesCopied = 0;
-
-		synchronized (COPY_BUFFER) {
-			// Read the initial chunk.
-			int read = in.read(COPY_BUFFER, 0, COPY_BUFFER.length);
-
-			while (read != -1) {
-				out.write(COPY_BUFFER, 0, read);
-
-				// Report progress
-				if (showProgress) {
-					bytesCopied = bytesCopied + read;
-					progress.subTask(
-						Policy.bind(
-							"filetransfer.monitor", //$NON-NLS-1$
-							new Object[] { title, new Long(bytesCopied / 1024), kilobytesEstimate }));
-				}
-
-				// Read the next chunk.
-				read = in.read(COPY_BUFFER, 0, COPY_BUFFER.length);
-			} // end while
-		} // end synchronized
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemFileRevision.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemFileRevision.java
deleted file mode 100644
index 0ace476..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemFileRevision.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.team.examples.filesystem.history;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.history.provider.FileRevision;
-
-public class FileSystemFileRevision extends FileRevision {
-
-	java.io.File remoteFile;
-
-	public FileSystemFileRevision(java.io.File file) {
-		this.remoteFile = file;
-	}
-
-	public String getName() {
-		return remoteFile.getName();
-	}
-
-	public long getTimestamp() {
-		return remoteFile.lastModified();
-	}
-
-	public IStorage getStorage(IProgressMonitor monitor) throws CoreException {
-		return new IStorage() {
-
-			public InputStream getContents() throws CoreException {
-				try {
-					return new FileInputStream(remoteFile);
-				} catch (FileNotFoundException e) {
-				}
-
-				return null;
-			}
-
-			public IPath getFullPath() {
-				return new Path(remoteFile.getAbsolutePath());
-			}
-
-			public String getName() {
-				return remoteFile.getName();
-			}
-
-			public boolean isReadOnly() {
-				return true;
-			}
-
-			public Object getAdapter(Class adapter) {
-				return null;
-			}
-
-		};
-	}
-
-	public boolean isPropertyMissing() {
-		return false;
-	}
-
-	public IFileRevision withAllProperties(IProgressMonitor monitor) throws CoreException {
-		return null;
-	}
-
-	public String getContentIdentifier() {
-		return "[File System Revision]"; //$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistory.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistory.java
deleted file mode 100644
index 918b960..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.team.examples.filesystem.history;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFileState;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.history.provider.FileHistory;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemResourceVariant;
-import org.eclipse.team.internal.core.history.LocalFileRevision;
-
-public class FileSystemHistory extends FileHistory {
-
-	private IFile file;
-	protected IFileRevision[] revisions;
-
-	public FileSystemHistory(IFile file) {
-		this.file = file;
-	}
-
-	public IFileRevision[] getContributors(IFileRevision revision) {
-		return null;
-	}
-
-	public IFileRevision getFileRevision(String id) {
-		return null;
-	}
-
-	public IFileRevision[] getFileRevisions() {
-		return revisions;
-	}
-
-	public IFileRevision[] getTargets(IFileRevision revision) {
-		return null;
-	}
-
-	public void refresh(IProgressMonitor monitor) {
-		try {
-			RepositoryProvider provider = RepositoryProvider.getProvider(file.getProject());
-			if (provider != null && provider instanceof FileSystemProvider) {
-				FileSystemProvider fileProvider = (FileSystemProvider) provider;
-				IResourceVariant resVar = fileProvider.getResourceVariant(file);
-				if (resVar instanceof FileSystemResourceVariant) {
-					FileSystemResourceVariant resVarF = (FileSystemResourceVariant) resVar;
-					java.io.File javaFile = resVarF.getFile();
-					//Get local history items
-					IFileState[] states = file.getHistory(monitor);
-					revisions = new IFileRevision[states.length + 1];
-					int i = 0;
-					for (; i < states.length; i++) {
-						revisions[i] = new LocalFileRevision(states[i]);
-					}
-					revisions[i] = new FileSystemFileRevision(javaFile);
-				}
-			}
-		} catch (TeamException e) {
-		} catch (CoreException e) {
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistoryProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistoryProvider.java
deleted file mode 100644
index f1e8a98..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistoryProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.team.examples.filesystem.history;
-
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.history.IFileHistory;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.history.provider.FileHistoryProvider;
-
-public class FileSystemHistoryProvider extends FileHistoryProvider {
-
-	public IFileHistory getFileHistoryFor(IResource resource, int flags, IProgressMonitor monitor) {
-		return null;
-	}
-
-	public IFileHistory getFileHistoryFor(IFileStore store, int flags, IProgressMonitor monitor) {
-		return null;
-	}
-
-	public IFileRevision getWorkspaceFileRevision(IResource resource) {
-		return null;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/messages.properties b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/messages.properties
deleted file mode 100644
index 9610ec6..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/messages.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-fileSystem.propertyLocation=Location:
-
-FileSystemMainPage.location=Location:
-FileSystemMainPage.browseDir=&Browse...
-FileSystemMainPage.notValidLocation=Location must be an existing directory
-
-fsMainPage.name=Select a file system location
-fsMainPage.description=This location will be used to share resources with a team 
-
-ConfigurationWizard.errorTitle=Error configuring the provider.
-ConfigurationWizard.error=File System provider could not be created
-
-ConfigurationWizard.name=File System Repository
-ConfigurationWizard.description=File System Repository Properties
-
-DisconnectAction.errorTitle=Error Disconnecting
-
-PutAction.working=Putting resources...
-PutAction.problemMessage=A problem occured putting the resources.
-
-GetAction.working=Getting resources...
-GetAction.problemMessage=A problem occured getting the resources.
-
-ReplaceAction.working=Replacing resources...
-ReplaceAction.problemMessage=A problem occured replacing the resources.
-
-FileSystemProvider.mustBeFolder=Target location ''{0}'' is a file and must be a folder.
-RemoteResource.mustBeFolder=Resource ''{0}'' is a file so it cannot have entries
-FileSystemRemoteResource.0=This resource is a container so it cannot have data.
-FileSystemSimpleAccessOperations.1=Checking resources out...
-FileSystemSimpleAccessOperations.3=Re-locking resources...
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemMergeContext.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemMergeContext.java
deleted file mode 100644
index 1c72e3a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemMergeContext.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.team.examples.filesystem.subscriber;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.diff.IThreeWayDiff;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.mapping.provider.MergeStatus;
-import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
-import org.eclipse.team.core.subscribers.SubscriberMergeContext;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-
-/**
- * A merge context for merging file system changes.
- */
-public class FileSystemMergeContext extends SubscriberMergeContext {
-
-	/**
-	 * Create the file system merge context for the given scope manager.
-	 * @param manager the scope manager
-	 */
-	public FileSystemMergeContext(ISynchronizationScopeManager manager) {
-		super(FileSystemSubscriber.getInstance(), manager);
-		initialize();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.provider.MergeContext#makeInSync(org.eclipse.team.core.diff.IDiff, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void makeInSync(IDiff diff, IProgressMonitor monitor)
-			throws CoreException {
-		IResource resource = ResourceDiffTree.getResourceFor(diff);
-		FileSystemSubscriber.getInstance().makeInSync(resource);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.IMergeContext#markAsMerged(org.eclipse.team.core.diff.IDiff, boolean, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void markAsMerged(IDiff diff, boolean inSyncHint,
-			IProgressMonitor monitor) throws CoreException {
-		// TODO if inSyncHint is true, we should test to see if the contents match
-		IResource resource = ResourceDiffTree.getResourceFor(diff);
-		FileSystemSubscriber.getInstance().markAsMerged(resource, monitor);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.IMergeContext#reject(org.eclipse.team.core.diff.IDiff, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void reject(IDiff diff, IProgressMonitor monitor)
-			throws CoreException {
-		markAsMerged(diff, false, monitor);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.provider.MergeContext#getMergeRule(org.eclipse.team.core.diff.IDiff)
-	 */
-	public ISchedulingRule getMergeRule(IDiff node) {
-		return ResourceDiffTree.getResourceFor(node).getProject();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.provider.MergeContext#merge(org.eclipse.team.core.diff.IDiff, boolean, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus merge(IDiff diff, boolean ignoreLocalChanges, IProgressMonitor monitor) throws CoreException {
-		// Only attempt the merge for non-conflicts. The reason we do this
-		// is because the file system provider doesn't really have the proper base
-		// so merging conflicts doesn't work properly
-		if (!ignoreLocalChanges) {
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			if (diff instanceof IThreeWayDiff && resource instanceof IFile) {
-				IThreeWayDiff twd = (IThreeWayDiff) diff;
-				if (twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-					return new MergeStatus(FileSystemPlugin.ID, "Cannot merge conflicting files", new IFile[] { (IFile)resource });
-				}
-			}
-		}
-		return super.merge(diff, ignoreLocalChanges, monitor);
-	}
-	
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemRemoteTree.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemRemoteTree.java
deleted file mode 100644
index c8aed49..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemRemoteTree.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.team.examples.filesystem.subscriber;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.ThreeWayRemoteTree;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-
-/**
- * The file system three-way remote resource variant tree that provides
- * the ability to traverse the file system for the creation of resource variants.
- */
-public class FileSystemRemoteTree extends ThreeWayRemoteTree {
-	
-	/**
-	 * Create the file system remote resource variant tree
-	 * @param subscriber the file system subscriber
-	 */
-	public FileSystemRemoteTree(FileSystemSubscriber subscriber) {
-		super(subscriber);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.AbstractResourceVariantTree#fetchMembers(org.eclipse.team.core.variants.IResourceVariant, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IResourceVariant[] fetchMembers(IResourceVariant variant, IProgressMonitor progress) throws TeamException {
-		return ((FileSystemResourceVariant)variant).members();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.AbstractResourceVariantTree#fetchVariant(org.eclipse.core.resources.IResource, int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IResourceVariant fetchVariant(IResource resource, int depth, IProgressMonitor monitor) throws TeamException {
-		RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), FileSystemPlugin.PROVIDER_ID);
-		if (provider != null) {
-			return ((FileSystemProvider)provider).getResourceVariant(resource);
-		}
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemResourceVariant.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemResourceVariant.java
deleted file mode 100644
index 8a06ae4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemResourceVariant.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.subscriber;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Date;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.CachedResourceVariant;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-
-/**
- * A file system resource variant. Although not strictly necessary, this
- * class extends <code>CachedResourceVariant</code> which will
- * cache the contents of the resource variant.
- */
-public class FileSystemResourceVariant extends CachedResourceVariant {
-	
-	private java.io.File ioFile;
-	private byte[] bytes;
-	
-	/**
-	 * Create a resource variant for the given file. The bytes will
-	 * be calculated when they are accessed.
-	 * @param file the file
-	 */
-	public FileSystemResourceVariant(java.io.File file) {
-		this.ioFile = file;
-	}
-	
-	/**
-	 * Create a resource variant for the given file and sync bytes.
-	 * @param file the file
-	 * @param bytes the timestamp bytes
-	 */
-	public FileSystemResourceVariant(java.io.File file, byte[] bytes) {
-		this.ioFile = file;
-		this.bytes = bytes;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.CachedResourceVariant#fetchContents(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void fetchContents(IProgressMonitor monitor) throws TeamException {
-		setContents(getContents(), monitor);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.CachedResourceVariant#getCachePath()
-	 */
-	protected String getCachePath() {
-		// append the timestamp to the file path to give each variant a unique path
-		return getFilePath() + " " + ioFile.lastModified(); //$NON-NLS-1$
-	}
-	
-	private String getFilePath() {
-		try {
-			return ioFile.getCanonicalPath();
-		} catch (IOException e) {
-			// Failed for some reason. Try the absolute path.
-			FileSystemPlugin.log(new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, 
-					"Failed to obtain canonical path for " + ioFile.getAbsolutePath(), e)); //$NON-NLS-1$
-			return ioFile.getAbsolutePath();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.CachedResourceVariant#getCacheId()
-	 */
-	protected String getCacheId() {
-		return FileSystemPlugin.ID;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#getName()
-	 */
-	public String getName() {
-		return ioFile.getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#isContainer()
-	 */
-	public boolean isContainer() {
-		return ioFile.isDirectory();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#getContentIdentifier()
-	 */
-	public String getContentIdentifier() {
-		// Use the modification timestamp as the content identifier
-		return new Date(ioFile.lastModified()).toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#asBytes()
-	 */
-	public byte[] asBytes() {
-		if (bytes == null) {
-			// For simplicity, convert the timestamp to it's string representation.
-			// A more optimal storage format would be the 8 bytes that make up the long.
-			bytes = Long.toString(ioFile.lastModified()).getBytes();
-		} 
-		return bytes;
-	}
-
-	/**
-	 * Return the files contained by the file of this resource variant.
-	 * @return the files contained by the file of this resource variant.
-	 */
-	public FileSystemResourceVariant[] members() {
-		if (isContainer()) {
-			java.io.File[] members = ioFile.listFiles();
-			FileSystemResourceVariant[] result = new FileSystemResourceVariant[members.length];
-			for (int i = 0; i < members.length; i++) {
-				result[i] = new FileSystemResourceVariant(members[i]);
-			}
-			return result;
-		}
-		return new FileSystemResourceVariant[0];
-	}
-
-	/**
-	 * @return
-	 */
-	public InputStream getContents() throws TeamException {
-		try {
-			return new BufferedInputStream(new FileInputStream(ioFile));
-		} catch (FileNotFoundException e) {
-			throw new TeamException("Failed to fetch contents for " + getFilePath(), e); //$NON-NLS-1$
-		}
-	}
-	
-	public java.io.File getFile(){
-		return ioFile;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSubscriber.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSubscriber.java
deleted file mode 100644
index 482a57d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSubscriber.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.team.examples.filesystem.subscriber;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.*;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-
-/**
- * This is an example file system subscriber that overrides
- * ThreeWaySubscriber. It uses a repository
- * provider (<code>FileSystemProvider</code>) to determine and
- * manage the roots and to create resource variants. It also makes
- * use of a file system specific remote tree (<code>FileSystemRemoteTree</code>)
- * for provided the remote tree access and refresh.
- * 
- * @see ThreeWaySubscriber
- * @see ThreeWaySynchronizer
- * @see FileSystemProvider
- * @see FileSystemRemoteTree
- */
-public class FileSystemSubscriber extends ThreeWaySubscriber {
-
-	private static FileSystemSubscriber instance;
-	
-	/**
-	 * Return the file system subscriber singleton.
-	 * @return the file system subscriber singleton.
-	 */
-	public static synchronized FileSystemSubscriber getInstance() {
-		if (instance == null) {
-			instance = new FileSystemSubscriber();
-		}
-		return instance;
-	}
-	
-	/**
-	 * Create the file system subscriber.
-	 */
-	private FileSystemSubscriber() {
-		super(new ThreeWaySynchronizer(new QualifiedName(FileSystemPlugin.ID, "workpsace-sync"))); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.ThreeWaySubscriber#getResourceVariant(org.eclipse.core.resources.IResource, byte[])
-	 */
-	public IResourceVariant getResourceVariant(IResource resource, byte[] bytes) throws TeamException {
-		RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), FileSystemPlugin.PROVIDER_ID);
-		if (provider != null) {
-			return ((FileSystemProvider)provider).getResourceVariant(resource, bytes);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.ThreeWaySubscriber#createRemoteTree()
-	 */
-	protected ThreeWayRemoteTree createRemoteTree() {
-		return new FileSystemRemoteTree(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.Subscriber#getName()
-	 */
-	public String getName() {
-		return "File System Example"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.Subscriber#roots()
-	 */
-	public IResource[] roots() {
-		List result = new ArrayList();
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (int i = 0; i < projects.length; i++) {
-			IProject project = projects[i];
-			if(project.isAccessible()) {
-				RepositoryProvider provider = RepositoryProvider.getProvider(project, FileSystemPlugin.PROVIDER_ID);
-				if(provider != null) {
-					result.add(project);
-				}
-			}
-		}
-		return (IProject[]) result.toArray(new IProject[result.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.ThreeWaySubscriber#handleRootChanged(org.eclipse.core.resources.IResource, boolean)
-	 */
-	public void handleRootChanged(IResource resource, boolean added) {
-		// Override to allow FileSystemProvider to signal the addition and removal of roots
-		super.handleRootChanged(resource, added);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.ResourceVariantTreeSubscriber#getSyncInfo(org.eclipse.core.resources.IResource, org.eclipse.team.core.variants.IResourceVariant, org.eclipse.team.core.variants.IResourceVariant)
-	 */
-	protected SyncInfo getSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote) throws TeamException {
-		// Override to use a custom sync info
-		FileSystemSyncInfo info = new FileSystemSyncInfo(local, base, remote, this.getResourceComparator());
-		info.init();
-		return info;
-	}
-
-	/**
-	 * Make the resource in-sync.
-	 * @param resource the resource
-	 * @throws TeamException
-	 */
-	public void makeInSync(IResource resource) throws TeamException {
-		ThreeWaySynchronizer synchronizer = getSynchronizer();
-		byte[] remoteBytes = synchronizer.getRemoteBytes(resource);
-		if (remoteBytes == null) {
-			if (!resource.exists())
-				synchronizer.flush(resource, IResource.DEPTH_ZERO);
-		} else {
-			synchronizer.setBaseBytes(resource, remoteBytes);
-		}
-	}
-
-	/**
-	 * Make the change an outgoing change
-	 * @param resource
-	 * @throws TeamException 
-	 */
-	public void markAsMerged(IResource resource, IProgressMonitor monitor) throws TeamException {
-		makeInSync(resource);
-		try {
-			resource.touch(monitor);
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSyncInfo.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSyncInfo.java
deleted file mode 100644
index b330bed..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSyncInfo.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.team.examples.filesystem.subscriber;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-/**
- * Provide a custom sync info that will report files that exist both 
- * locally and remotely as in-sync and will return a null base if there
- * is an incoming change.
- */
-public class FileSystemSyncInfo extends SyncInfo {
-
-	public FileSystemSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote, IResourceVariantComparator comparator) {
-		super(local, base, remote, comparator);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.SyncInfo#calculateKind(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected int calculateKind() throws TeamException {
-		if (getLocal().getType() != IResource.FILE) {
-			if (getLocal().exists() && getRemote() != null) {
-				return IN_SYNC;
-			}
-		}
-		return super.calculateKind();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.synchronize.SyncInfo#getBase()
-	 */
-	public IResourceVariant getBase() {
-		// If the kind has been set and there is an incoming change
-		// return null as the base since the server does not keep the
-		// base contents
-//		if ((getKind() & INCOMING) > 0) {
-//			return null;
-//		}
-		return super.getBase();
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/CompoundResourceTraversal.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/CompoundResourceTraversal.java
deleted file mode 100644
index 8fbb36d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/CompoundResourceTraversal.java
+++ /dev/null
@@ -1,289 +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.team.examples.filesystem.ui;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Helper class that accumulates several traversals in order
- * to generate a final set of traversals and to perform certain
- * queries on a set of traversals.
- * 
- * TODO: This class was copied from the Team Core plugin since it was an internal
- * class. It should probably be made API at some point.
- */
-public class CompoundResourceTraversal {
-	
-	private Set deepFolders = new HashSet();
-	private Set shallowFolders = new HashSet();
-	private Set zeroFolders = new HashSet();
-	private Set files = new HashSet();
-	
-	public void addTraversals(ResourceTraversal[] traversals) {
-		for (int i = 0; i < traversals.length; i++) {
-			ResourceTraversal traversal = traversals[i];
-			addTraversal(traversal);
-		}
-	}
-
-	public void addTraversal(ResourceTraversal traversal) {
-		IResource[] resources = traversal.getResources();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			addResource(resource, traversal.getDepth());
-		}
-	}
-
-	public void addResource(IResource resource, int depth) {
-		if (resource.getType() == IResource.FILE) {
-			if (!isCovered(resource, IResource.DEPTH_ZERO))
-				files.add(resource);
-		}
-		switch (depth) {
-		case IResource.DEPTH_INFINITE:
-			addDeepFolder(resource);
-			break;
-		case IResource.DEPTH_ONE:
-			addShallowFolder(resource);
-			break;
-		case IResource.DEPTH_ZERO:
-			addZeroFolder(resource);
-			break;
-		}
-	}
-
-	private void addShallowFolder(IResource resource) {
-		if (!isCovered(resource, IResource.DEPTH_ONE)) {
-			shallowFolders.add(resource);
-			removeDescendants(resource, IResource.DEPTH_ONE);
-		}
-	}
-
-	public boolean isCovered(IResource resource, int depth) {
-		IPath fullPath = resource.getFullPath();
-		// Regardless of the depth, look for a deep folder that covers the resource
-		for (Iterator iter = deepFolders.iterator(); iter.hasNext();) {
-			IResource deepFolder = (IResource) iter.next();
-			if (deepFolder.getFullPath().isPrefixOf(fullPath)) {
-				return true;
-			}
-		}
-		// For files, look in the shallow folders and files
-		if (resource.getType() == IResource.FILE) {
-			return (shallowFolders.contains(resource.getParent()) || files.contains(resource));
-		}
-		// For folders, look in appropriate sets
-		switch (depth) {
-		case IResource.DEPTH_ONE:
-			return (shallowFolders.contains(resource));
-		case IResource.DEPTH_ZERO:
-			return (shallowFolders.contains(resource.getParent()) || zeroFolders.contains(resource));
-		}
-		return false;
-	}
-
-	private void addZeroFolder(IResource resource) {
-		if (!isCovered(resource, IResource.DEPTH_ZERO))
-			zeroFolders.add(resource);
-	}
-
-	private void addDeepFolder(IResource resource) {
-		if (!isCovered(resource, IResource.DEPTH_INFINITE)) {
-			deepFolders.add(resource);
-			removeDescendants(resource, IResource.DEPTH_INFINITE);
-		}
-	}
-
-	private void removeDescendants(IResource resource, int depth) {
-		IPath fullPath = resource.getFullPath();
-		// First, remove any files that are now covered
-		for (Iterator iter = files.iterator(); iter.hasNext();) {
-			IResource child = (IResource) iter.next();
-			switch (depth) {
-			case IResource.DEPTH_INFINITE:
-				if (fullPath.isPrefixOf(child.getFullPath())) {
-					iter.remove();
-				}
-				break;
-			case IResource.DEPTH_ONE:
-				if (fullPath.equals(child.getFullPath().removeLastSegments(1))) {
-					iter.remove();
-				}
-				break;
-			}
-		}
-		// Now, remove any shallow folders
-		if (depth == IResource.DEPTH_INFINITE) {
-			for (Iterator iter = shallowFolders.iterator(); iter.hasNext();) {
-				IResource child = (IResource) iter.next();
-				if (fullPath.isPrefixOf(child.getFullPath())) {
-					iter.remove();
-				}
-			}
-		}
-		// Finally, remove any zero folders
-		for (Iterator iter = zeroFolders.iterator(); iter.hasNext();) {
-			IResource child = (IResource) iter.next();
-			switch (depth) {
-			case IResource.DEPTH_INFINITE:
-				if (fullPath.isPrefixOf(child.getFullPath())) {
-					iter.remove();
-				}
-				break;
-			case IResource.DEPTH_ONE:
-				// TODO: Is a zero folder covered by a shallow folder?
-				if (fullPath.equals(child.getFullPath().removeLastSegments(1))) {
-					iter.remove();
-				}
-				break;
-			}
-		}
-	}
-
-	public void add(CompoundResourceTraversal compoundTraversal) {
-		addResources(
-				(IResource[]) compoundTraversal.deepFolders.toArray(new IResource[compoundTraversal.deepFolders.size()]), 
-				IResource.DEPTH_INFINITE);
-		addResources(
-				(IResource[]) compoundTraversal.shallowFolders.toArray(new IResource[compoundTraversal.shallowFolders.size()]), 
-				IResource.DEPTH_ONE);
-		addResources(
-				(IResource[]) compoundTraversal.zeroFolders.toArray(new IResource[compoundTraversal.zeroFolders.size()]), 
-				IResource.DEPTH_ZERO);
-		addResources(
-				(IResource[]) compoundTraversal.files.toArray(new IResource[compoundTraversal.files.size()]), 
-				IResource.DEPTH_ZERO);
-	}
-
-	public void addResources(IResource[] resources, int depth) {
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			addResource(resource, depth);
-		}
-		
-	}
-
-	/**
-	 * Return the resources contained in the given traversals that are not covered by this traversal
-	 * @param traversals the traversals being testes
-	 * @return the resources contained in the given traversals that are not covered by this traversal
-	 */
-	public IResource[] getUncoveredResources(ResourceTraversal[] traversals) {
-		CompoundResourceTraversal newTraversals = new CompoundResourceTraversal();
-		newTraversals.addTraversals(traversals);
-		return getUncoveredResources(newTraversals);
-	}
-
-	/*
-	 * Return any resources in the other traversal that are not covered by this traversal
-	 */
-	private IResource[] getUncoveredResources(CompoundResourceTraversal otherTraversal) {
-		Set result = new HashSet();
-		for (Iterator iter = otherTraversal.files.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ZERO)) {
-				result.add(resource);
-			}
-		}
-		for (Iterator iter = otherTraversal.zeroFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ZERO)) {
-				result.add(resource);
-			}
-		}
-		for (Iterator iter = otherTraversal.shallowFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ONE)) {
-				result.add(resource);
-			}
-		}
-		for (Iterator iter = otherTraversal.deepFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_INFINITE)) {
-				result.add(resource);
-			}
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	public ResourceTraversal[] asTraversals() {
-		List result = new ArrayList();
-		if (!files.isEmpty() || ! zeroFolders.isEmpty()) {
-			Set combined = new HashSet();
-			combined.addAll(files);
-			combined.addAll(zeroFolders);
-			result.add(new ResourceTraversal((IResource[]) combined.toArray(new IResource[combined.size()]), IResource.DEPTH_ZERO, IResource.NONE));
-		}
-		if (!shallowFolders.isEmpty()) {
-			result.add(new ResourceTraversal((IResource[]) shallowFolders.toArray(new IResource[shallowFolders.size()]), IResource.DEPTH_ONE, IResource.NONE));
-		}
-		if (!deepFolders.isEmpty()) {
-			result.add(new ResourceTraversal((IResource[]) deepFolders.toArray(new IResource[deepFolders.size()]), IResource.DEPTH_INFINITE, IResource.NONE));
-		}
-		return (ResourceTraversal[]) result.toArray(new ResourceTraversal[result.size()]);
-	}
-
-	public IResource[] getRoots() {
-		List result = new ArrayList();
-		result.addAll(files);
-		result.addAll(zeroFolders);
-		result.addAll(shallowFolders);
-		result.addAll(deepFolders);
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	public ResourceTraversal[] getUncoveredTraversals(ResourceTraversal[] traversals) {
-		CompoundResourceTraversal other = new CompoundResourceTraversal();
-		other.addTraversals(traversals);
-		return getUncoveredTraversals(other);
-	}
-
-	public ResourceTraversal[] getUncoveredTraversals(CompoundResourceTraversal otherTraversal) {
-		CompoundResourceTraversal uncovered = new CompoundResourceTraversal();
-		for (Iterator iter = otherTraversal.files.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ZERO)) {
-				uncovered.addResource(resource, IResource.DEPTH_ZERO);
-			}
-		}
-		for (Iterator iter = otherTraversal.zeroFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ZERO)) {
-				uncovered.addResource(resource, IResource.DEPTH_ZERO);
-			}
-		}
-		for (Iterator iter = otherTraversal.shallowFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ONE)) {
-				uncovered.addResource(resource, IResource.DEPTH_ONE);
-			}
-		}
-		for (Iterator iter = otherTraversal.deepFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_INFINITE)) {
-				uncovered.addResource(resource, IResource.DEPTH_INFINITE);
-			}
-		}
-		return uncovered.asTraversals();
-	}
-
-	public void clear() {
-		deepFolders.clear();
-		shallowFolders.clear();
-		zeroFolders.clear();
-		files.clear();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ConfigurationWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ConfigurationWizard.java
deleted file mode 100644
index 75a5b94..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ConfigurationWizard.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.filesystem.*;
-import org.eclipse.team.ui.IConfigurationWizard;
-import org.eclipse.team.ui.IConfigurationWizardExtension;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * The file system configuration wizard used when associating a project
- * the the file system provider. It is registered as a Team configuration wizard
- * in the plugin.xml and is invoked when a user chooses to create a File System
- * Repository Provider. One invoked, this wizard makes use of the <code>FileSystemMainPage</code>
- * in order to obtain a target location on disk.
- */
-public class ConfigurationWizard extends Wizard implements IConfigurationWizard, IAdaptable {
-	
-	IProject[] projects;
-	
-	FileSystemMainPage mainPage;
-	
-	public ConfigurationWizard() {
-		// retrieve the remembered dialog settings
-		IDialogSettings workbenchSettings = FileSystemPlugin.getPlugin().getDialogSettings();
-		IDialogSettings section = workbenchSettings.getSection("ProviderExamplesWizard"); //$NON-NLS-1$
-		if (section == null) {
-			section = workbenchSettings.addNewSection("ProviderExamplesWizard"); //$NON-NLS-1$
-		}
-		setDialogSettings(section);
-	}
-
-	/**
-	 * Remember the project so we can map it on finish
-	 * 
-	 * @see org.eclipse.team.ui.IConfigurationWizard#init(IWorkbench, IProject)
-	 */
-	public void init(IWorkbench workbench, IProject project) {
-		setProjects(new IProject[] { project } );
-	}
-	
-	public void addPages() {
-		mainPage = new FileSystemMainPage(
-			"FileSystemMainPage", //$NON-NLS-1$
-			Policy.bind("ConfigurationWizard.name"),  //$NON-NLS-1$
-			Policy.bind("ConfigurationWizard.description"),  //$NON-NLS-1$
-			null);
-		addPage(mainPage);
-	}
-	
-	/*
-	 * Using the information entered in the main page set the provider for
-	 * the given project.
-	 */
-	public boolean performFinish() {
-		mainPage.finish(null);
-		try {
-			if (projects.length == 1) {
-				// Map the provider and set the location
-				RepositoryProvider.map(projects[0], FileSystemPlugin.PROVIDER_ID);
-				FileSystemProvider provider = (FileSystemProvider) RepositoryProvider.getProvider(projects[0]);
-				provider.setTargetLocation(mainPage.getLocation());
-			} else {
-				for (int i = 0; i < projects.length; i++) {
-					IProject project = projects[i];
-					RepositoryProvider.map(project, FileSystemPlugin.PROVIDER_ID);
-					FileSystemProvider provider = (FileSystemProvider) RepositoryProvider.getProvider(project);
-					String path = new Path(mainPage.getLocation()).append(project.getName()).toOSString();
-					provider.setTargetLocation(path);
-				}
-			}
-		} catch (TeamException e) {
-			ErrorDialog.openError(
-				getShell(),
-				Policy.bind("ConfigurationWizard.errorMapping"), //$NON-NLS-1$
-				Policy.bind("ConfigurationWizard.error"), //$NON-NLS-1$
-				e.getStatus());
-			return false;
-		}
-		return true;
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == IConfigurationWizardExtension.class) {
-			return new IConfigurationWizardExtension(){
-				public void init(IWorkbench workbench, IProject[] projects) {
-					setProjects(projects);
-				}
-			};
-		}
-		return null;
-	}
-
-	/* package */ void setProjects(IProject[] projects) {
-		this.projects = projects;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/DisconnectAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/DisconnectAction.java
deleted file mode 100644
index 0017419..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/DisconnectAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.filesystem.Policy;
-import org.eclipse.team.internal.ui.actions.TeamAction;
-
-/**
- * Action for getting the contents of the selected resources
- */
-public class DisconnectAction extends TeamAction {
-	
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		IProject projects[] = getSelectedProjects();
-		try {
-			for (int i = 0; i < projects.length; i++) {
-				RepositoryProvider.unmap(projects[i]);
-			}
-		} catch (TeamException e) {
-			ErrorDialog.openError(getShell(), Policy.bind("DisconnectAction.errorTitle"), null, e.getStatus()); //$NON-NLS-1$
-		} 
-	}
-	
-	/**
-	 * @see TeamAction#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemAction.java
deleted file mode 100644
index a2d46a5..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemAction.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.team.examples.filesystem.ui;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.internal.ui.actions.TeamAction;
-
-/**
- * An abstract class that acts as a super class for FileSystemProvider actions.
- * It provides some general methods applicable to multiple actions.
- */
-public abstract class FileSystemAction extends TeamAction {
-
-	/**
-	 * @see org.eclipse.team.internal.ui.actions.TeamAction#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return getSelectedMappings().length > 0;
-	}
-
-	/**
-	 * Split the resources into sets associated with their project/provider
-	 */
-	protected Map getRepositoryProviderMapping() {
-		HashMap result = new HashMap();
-		IResource[] resources = getSelectedResources();
-		for (int i = 0; i < resources.length; i++) {
-			RepositoryProvider provider = RepositoryProvider.getProvider(resources[i].getProject());
-			List list = (List) result.get(provider);
-			if (list == null) {
-				list = new ArrayList();
-				result.put(provider, list);
-			}
-			list.add(resources[i]);
-		}
-		return result;
-	}
-	
-	/**
-	 * Return the selected resource mappings that are associated with the
-	 * file system provider.
-	 * @return the selected resource mappings that are associated with the
-	 * file system provider.
-	 */
-	protected ResourceMapping[] getSelectedMappings() {
-		return getSelectedResourceMappings(FileSystemPlugin.PROVIDER_ID);
-	}
-	
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPage.java
deleted file mode 100644
index 738aabc..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPage.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-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.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.history.IFileHistory;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.history.FileSystemHistory;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.ui.history.HistoryPage;
-import org.eclipse.team.ui.history.IHistoryPageSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-
-public class FileSystemHistoryPage extends HistoryPage {
-
-	/* private */IFile file;
-	/* private */FileSystemHistory fileSystemHistory;
-	/* private */IFileRevision[] entries;
-	/* private */IFileRevision currentSelection;
-
-	private FileSystemTableProvider fileSystemTableProvider;
-	/* private */TableViewer tableViewer;
-	private Composite localComposite;
-
-	/* private */OpenFileSystemRevisionAction openAction;
-
-	boolean shutdown = false;
-
-	private RefreshFileHistory refreshFileHistoryJob;
-
-	private class RefreshFileHistory extends Job {
-		/* private */FileSystemHistory fileHistory;
-
-		public RefreshFileHistory() {
-			super("Fetching FileSystem revisions...");  //$NON-NLS-1$
-		}
-
-		public void setFileHistory(FileSystemHistory fileHistory) {
-			this.fileHistory = fileHistory;
-		}
-
-		public IStatus run(IProgressMonitor monitor) {
-
-			IStatus status = Status.OK_STATUS;
-
-			if (fileHistory != null && !shutdown) {
-				fileHistory.refresh(monitor);
-				//Internal code used for convenience - you can use 
-				//your own here
-				Utils.asyncExec(new Runnable() {
-					public void run() {
-						tableViewer.setInput(fileHistory);
-					}
-				}, tableViewer);
-			}
-
-			return status;
-		}
-	}
-
-	public boolean inputSet() {
-		IFile tempFile = getFile();
-		this.file = tempFile;
-		if (tempFile == null)
-			return false;
-
-		//blank current input only after we're sure that we have a file
-		//to fetch history for
-		this.tableViewer.setInput(null);
-
-		fileSystemHistory = new FileSystemHistory(file);
-
-		refreshHistory();
-		return true;
-	}
-
-	private IWorkbenchPartSite getWorkbenchSite(IHistoryPageSite parentSite) {
-		IWorkbenchPart part = parentSite.getPart();
-		if (part != null)
-			return part.getSite();
-		return null;
-	}
-
-	private IFile getFile() {
-		Object obj = getInput();
-		if (obj instanceof IFile)
-			return (IFile) obj;
-
-		return null;
-	}
-
-	public void createControl(Composite parent) {
-
-		localComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		localComposite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessVerticalSpace = true;
-		localComposite.setLayoutData(data);
-
-		tableViewer = createTable(localComposite);
-
-		contributeActions();
-
-	}
-
-	private void contributeActions() {
-		openAction = new OpenFileSystemRevisionAction("Open");  //$NON-NLS-1$
-		tableViewer.getTable().addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				openAction.selectionChanged((IStructuredSelection) tableViewer.getSelection());
-			}
-		});
-		openAction.setPage(this);
-		//Contribute actions to popup menu
-		MenuManager menuMgr = new MenuManager();
-		Menu menu = menuMgr.createContextMenu(tableViewer.getTable());
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager menuMgr) {
-				menuMgr.add(new Separator(IWorkbenchActionConstants.GROUP_FILE));
-				menuMgr.add(openAction);
-			}
-		});
-		menuMgr.setRemoveAllWhenShown(true);
-		tableViewer.getTable().setMenu(menu);
-	}
-
-	private TableViewer createTable(Composite parent) {
-		fileSystemTableProvider = new FileSystemTableProvider();
-		TableViewer viewer = fileSystemTableProvider.createTable(parent);
-		viewer.setContentProvider(new IStructuredContentProvider() {
-
-			public Object[] getElements(Object inputElement) {
-				// The entries of already been fetch so return them
-				if (entries != null)
-					return entries;
-
-				final IFileHistory fileHistory = (IFileHistory) inputElement;
-				entries = fileHistory.getFileRevisions();
-
-				return entries;
-			}
-
-			public void dispose() {
-				// TODO Auto-generated method stub
-
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				entries = null;
-			}
-
-		});
-		return viewer;
-	}
-
-	public Control getControl() {
-		return localComposite;
-	}
-
-	public void setFocus() {
-		localComposite.setFocus();
-	}
-
-	public String getDescription() {
-		if (file != null)
-			return file.getFullPath().toString();
-
-		return null;
-	}
-
-	public String getName() {
-		if (file != null)
-			return file.getName();
-
-		return ""; //$NON-NLS-1$
-	}
-
-	public boolean isValidInput(Object object) {
-
-		if (object instanceof IResource && ((IResource) object).getType() == IResource.FILE) {
-			RepositoryProvider provider = RepositoryProvider.getProvider(((IFile) object).getProject());
-			if (provider != null && provider instanceof FileSystemProvider)
-				return true;
-		}
-
-		return false;
-	}
-
-	public void refresh() {
-		refreshHistory();
-	}
-
-	private void refreshHistory() {
-		if (refreshFileHistoryJob == null)
-			refreshFileHistoryJob = new RefreshFileHistory();
-
-		if (refreshFileHistoryJob.getState() != Job.NONE) {
-			refreshFileHistoryJob.cancel();
-		}
-		refreshFileHistoryJob.setFileHistory(fileSystemHistory);
-		IHistoryPageSite parentSite = getHistoryPageSite();
-		//Internal code used for convenience - you can use your own here
-		Utils.schedule(refreshFileHistoryJob, getWorkbenchSite(parentSite));
-	}
-
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPageSource.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPageSource.java
deleted file mode 100644
index 54b19f5..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPageSource.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.ui.history.HistoryPageSource;
-import org.eclipse.ui.part.Page;
-
-public class FileSystemHistoryPageSource extends HistoryPageSource {
-
-	public boolean canShowHistoryFor(Object object) {
-		if (object instanceof IResource && ((IResource) object).getType() == IResource.FILE) {
-			RepositoryProvider provider = RepositoryProvider.getProvider(((IFile) object).getProject());
-			if (provider instanceof FileSystemProvider)
-				return true;
-		}
-
-		return false;
-	}
-
-	public Page createPage(Object object) {
-		FileSystemHistoryPage page = new FileSystemHistoryPage();
-		return page;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java
deleted file mode 100644
index 752d4b7..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (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
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.WizardPage;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.team.examples.filesystem.Policy;
-
-/**
- * This class provides the main page of the file system repository configuration wizard.
- * It allows the user to select a location on disk. Once the page is finished, the
- * location can be accessed using the <code>getLocation()</code> method.
- */
-public class FileSystemMainPage extends WizardPage {
-	
-	private static final int COMBO_HISTORY_LENGTH = 5;
-	
-	String location;
-	Combo locationCombo;
-	
-	/*
-	 * WizardPage constructor comment.
-	 * @param pageName  the name of the page
-	 * @param title  the title of the page
-	 * @param description  the description of the page
-	 * @param titleImage  the image for the page
-	 */
-
-	public FileSystemMainPage(String pageName, String title, String description, ImageDescriptor titleImage) {
-		super(pageName, title, titleImage);
-		setDescription(description);
-		setTitle(title);
-	}
-		
-	/*
-	 * Creates a 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
-	 */ 
-	protected Button createCheckBox(Composite group, String label) {
-		Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-		button.setText(label);
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		button.setLayoutData(data);
-		return button;
-	}
-	
-	/*
-	 * Utility method that creates a combo box
-	 *
-	 * @param parent  the parent for the new label
-	 * @return the new widget
-	 */
-	protected Combo createCombo(Composite parent) {
-		Combo combo = new Combo(parent, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		combo.setLayoutData(data);
-		return combo;
-	}
-	
-	/*
-	 * 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
-	 */
-	protected 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;
-	}
-	
-	/*
-	 * 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
-	 */
-	protected Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(text);
-		GridData data = new GridData();
-		data.horizontalSpan = 1;
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-	
-	/*
-	 * Create a text field specific for this application
-	 *
-	 * @param parent  the parent of the new text field
-	 * @return the new text field
-	 */
-	protected Text createTextField(Composite parent) {
-		Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.verticalAlignment = GridData.CENTER;
-		data.grabExcessVerticalSpace = false;
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		text.setLayoutData(data);
-		return text;
-	}
-	
-	/*
-	 * Adds an entry to a history, while taking care of duplicate history items
-	 * and excessively long histories.  The assumption is made that all histories
-	 * should be of length <code>ConfigurationWizardMainPage.COMBO_HISTORY_LENGTH</code>.
-	 *
-	 * @param history the current history
-	 * @param newEntry the entry to add to the history
-	 * @return the history with the new entry appended
-	 */
-	protected String[] addToHistory(String[] history, String newEntry) {
-		ArrayList l = new ArrayList(Arrays.asList(history));
-		addToHistory(l, newEntry);
-		String[] r = new String[l.size()];
-		l.toArray(r);
-		return r;
-	}
-	
-	/*
-	 * Adds an entry to a history, while taking care of duplicate history items
-	 * and excessively long histories.  The assumption is made that all histories
-	 * should be of length <code>ConfigurationWizardMainPage.COMBO_HISTORY_LENGTH</code>.
-	 *
-	 * @param history the current history
-	 * @param newEntry the entry to add to the history
-	 */
-	protected void addToHistory(List history, String newEntry) {
-		history.remove(newEntry);
-		history.add(0,newEntry);
-	
-		// since only one new item was added, we can be over the limit
-		// by at most one item
-		if (history.size() > COMBO_HISTORY_LENGTH)
-			history.remove(COMBO_HISTORY_LENGTH);
-	}
-	
-	/*
-	 * Utility method to create an editable combo box
-	 * 
-	 * @param parent  the parent of the combo box
-	 * @return the created combo
-	 */
-	protected Combo createEditableCombo(Composite parent) {
-		Combo combo = new Combo(parent, SWT.NULL);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		combo.setLayoutData(data);
-		return combo;
-	}
-	
-	// Dialog store id constants
-	private static final String STORE_LOCATION =
-		"ExamplesFSWizardMainPage.STORE_LOCATION";//$NON-NLS-1$
-	
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		setControl(composite);
-		
-		Label label = new Label(composite, SWT.NULL);
-		label.setText(Policy.bind("FileSystemMainPage.location")); //$NON-NLS-1$
-		label.setLayoutData(new GridData());
-		
-		locationCombo = createEditableCombo(composite);
-		locationCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		locationCombo.addListener(SWT.Modify, new Listener() {
-			public void handleEvent(Event e) {
-				location = ((Combo)e.widget).getText();
-				FileSystemMainPage.this.validateFields();		
-			}
-		});
-		
-		locationCombo.setFocus();
-		
-		new Label(composite, SWT.NULL);
-		Button browse = new Button(composite, SWT.NULL);
-		browse.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		browse.setText(Policy.bind("FileSystemMainPage.browseDir")); //$NON-NLS-1$
-		browse.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				DirectoryDialog d = new DirectoryDialog(getShell());
-				String directory = d.open();
-				if(directory!=null) {
-					locationCombo.setText(directory);
-				}			
-			}
-		});
-	
-		initializeValues();
-		validateFields();
-	}
-	
-	public String getLocation() {
-		return location;
-	}
-
-	public boolean finish(IProgressMonitor monitor) {
-		saveWidgetValues();
-		return true;
-	}
-	/**
-	 * Initializes states of the controls.
-	 */
-	private void initializeValues() {
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] locations = settings.getArray(STORE_LOCATION);
-			if (locations != null) {
-				for (int i = 0; i < locations.length; i++) {
-					locationCombo.add(locations[i]);
-				}
-				locationCombo.select(0);
-			}
-		}
-	}
-	/**
-	 * Saves the widget values
-	 */
-	private void saveWidgetValues() {
-		// Update history
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] locations = settings.getArray(STORE_LOCATION);
-			if (locations == null) locations = new String[0];
-			locations = addToHistory(locations, locationCombo.getText());
-			settings.put(STORE_LOCATION, locations);	
-		}
-	}
-	
-	/*
-	 * Validates the contents of the editable fields and set page completion 
-	 * and error messages appropriately.
-	 */
-	private void validateFields() {
-		String location = locationCombo.getText();
-		if (location.length() == 0) {
-			setErrorMessage(null);
-			setPageComplete(false);
-			return;
-		} else {
-			File file = new File(location);
-			if(!file.exists() || !file.isDirectory()) {
-				setErrorMessage(Policy.bind("FileSystemMainPage.notValidLocation")); //$NON-NLS-1$
-				setPageComplete(false);
-				return;				
-			}			
-		}
-		setErrorMessage(null);
-		setPageComplete(true);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemOperation.java
deleted file mode 100644
index 2991cf6..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemOperation.java
+++ /dev/null
@@ -1,152 +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.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.mapping.ISynchronizationScope;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.team.ui.synchronize.ModelOperation;
-import org.eclipse.ui.IWorkbenchPart;
-
-public abstract class FileSystemOperation extends ModelOperation {
-
-	/**
-	 * Create a scope manager for the file system example.
-	 * @param name the name of the manager
-	 * @param inputMappings the input mappings
-	 * @return a scope manager
-	 */
-	public static SubscriberScopeManager createScopeManager(String name, ResourceMapping[] inputMappings) {
-		return new SubscriberScopeManager(name, inputMappings, FileSystemSubscriber.getInstance(), true);
-	}
-	
-	/**
-	 * Create a file system operation.
-	 * @param part the part from which the operation was launched
-	 * @param manager the scope manager that provides the input to the operation
-	 */
-	protected FileSystemOperation(IWorkbenchPart part, SubscriberScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void execute(IProgressMonitor monitor) throws InvocationTargetException {
-		try {
-			Map providerToTraversals = getProviderToTraversalsMap();
-			monitor.beginTask(getTaskName(), providerToTraversals.size() * 100);
-			monitor.setTaskName(getTaskName());
-			for (Iterator iter = providerToTraversals.keySet().iterator(); iter.hasNext();) {
-				FileSystemProvider provider = (FileSystemProvider) iter.next();
-				ResourceTraversal[] traversals = getTraversals(providerToTraversals, provider);
-				execute(provider, 
-						traversals, 
-						new SubProgressMonitor(monitor, 100));
-			}
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/**
-	 * Return a map of FileSystemProvider to ResourceTraversals.
-	 * @return a map of FileSystemProvider to ResourceTraversals
-	 */
-	private Map getProviderToTraversalsMap() {
-		HashMap result = new HashMap();
-		ISynchronizationScope scope = getScope();
-		ResourceMapping[] mappings = scope.getMappings();
-		for (int i = 0; i < mappings.length; i++) {
-			ResourceMapping mapping = mappings[i];
-			ResourceTraversal[] traversals = scope.getTraversals(mapping);
-			for (int j = 0; j < traversals.length; j++) {
-				ResourceTraversal traversal = traversals[j];
-				IResource[] resources = traversal.getResources();
-				for (int k = 0; k < resources.length; k++) {
-					IResource resource = resources[k];
-					recordResourceAndDepth(result, resource, traversal.getDepth());
-				}
-			}
-		}
-		return result;
-	}
-	
-	/**
-	 * Return the file system provider associated with the given project or <code>null</code>
-	 * if the project is not mapped to the file system provider.
-	 * @param project the project
-	 * @return the file system provider associated with the given project
-	 */
-	protected FileSystemProvider getProviderFor(IProject project) {
-		return (FileSystemProvider)RepositoryProvider.getProvider(project, FileSystemPlugin.PROVIDER_ID);
-	}
-	
-	private void recordResourceAndDepth(HashMap providerToTraversals, IResource resource, int depth) {
-		FileSystemProvider provider = getProviderFor(resource.getProject());
-		if (provider != null) {
-			CompoundResourceTraversal traversal = (CompoundResourceTraversal)providerToTraversals.get(provider);
-			if (traversal == null) {
-				traversal = new CompoundResourceTraversal();
-				providerToTraversals.put(provider, traversal);
-			}
-			traversal.addResource(resource, depth);
-		}
-	}
-
-	/**
-	 * Return the traversals that were accumulated for the given provider by the
-	 * {@link #getProviderToTraversalsMap()} method.
-	 * @param providerToTraversals the provider to traversals map
-	 * @param provider the provider
-	 * @return the traversals for the given provider
-	 */
-	private ResourceTraversal[] getTraversals(Map providerToTraversals, FileSystemProvider provider) {
-		CompoundResourceTraversal traversal = (CompoundResourceTraversal)providerToTraversals.get(provider);
-		return traversal.asTraversals();
-	}
-
-	/**
-	 * Execute the operation for the given provider and traversals.
-	 * @param provider the provider
-	 * @param traversals the traversals to be operated on
-	 * @param monitor a progress monitor
-	 * @throws CoreException
-	 */
-	protected abstract void execute(FileSystemProvider provider, ResourceTraversal[] traversals, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Return the task name for this operation.
-	 * @return the task name for this operation
-	 */
-	protected abstract String getTaskName();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.TeamOperation#canRunAsJob()
-	 */
-	protected boolean canRunAsJob() {
-		return true;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemPropertiesPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemPropertiesPage.java
deleted file mode 100644
index e245a0a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemPropertiesPage.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.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyPage;
-/*
- * A property page which displays the  file system specific properties 
- * for the selected resource.
- */
-public class FileSystemPropertiesPage extends PropertyPage {
-	// The resource to show properties for
-	protected IResource resource;
-
-	/*	 
-	 * Creates a key-value property pair in the given parent.
-	 * 
-	 * @param parent  the parent for the labels
-	 * @param left  the string for the left label
-	 * @param right  the string for the right label
-	 */
-	protected void createPair(Composite parent, String left, String right) {
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(left);
-	
-		label = new Label(parent, SWT.NONE);
-		label.setText(right);
-		label.setToolTipText(right);
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	}
-
-	/*
-	 * Returns the element selected when the properties was run
-	 * @return the selected element
-	 */	
-	protected IResource getSelectedElement() {
-		// get the resource that is the source of this property page
-		IResource resource = null;
-		IAdaptable element = getElement();
-		if (element instanceof IResource) {
-			resource = (IResource)element;
-		} else {
-			Object adapter = element.getAdapter(IResource.class);
-			if (adapter instanceof IResource) {
-				resource = (IResource)adapter;
-			}
-		}
-		return resource;
-	}
-	
-	/*
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		return composite;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemRevisionEditorInput.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemRevisionEditorInput.java
deleted file mode 100644
index c123148..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemRevisionEditorInput.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.text.DateFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IFileState;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class FileSystemRevisionEditorInput extends PlatformObject implements IWorkbenchAdapter, IStorageEditorInput {
-
-	private IFileRevision fileRevision;
-	private IStorage storage;
-
-	public FileSystemRevisionEditorInput(IFileRevision revision) {
-		this.fileRevision = revision;
-		try {
-			this.storage = revision.getStorage(new NullProgressMonitor());
-		} catch (CoreException e) {
-		}
-	}
-
-	public Object[] getChildren(Object o) {
-		return new Object[0];
-	}
-
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return null;
-	}
-
-	public String getLabel(Object o) {
-		if (storage != null) {
-			return storage.getName();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public Object getParent(Object o) {
-		return null;
-	}
-
-	public IStorage getStorage() throws CoreException {
-		return storage;
-	}
-
-	public boolean exists() {
-		return true;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-
-	public String getName() {
-		if (fileRevision != null)
-			return fileRevision.getName() + " " + fileRevision.getContentIdentifier();  //$NON-NLS-1$
-
-		if (storage != null) {
-			return storage.getName() + " " + DateFormat.getInstance().format(new Date(((IFileState) storage).getModificationTime())); //$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	public String getToolTipText() {
-		if (fileRevision != null)
-			try {
-				return getStorage().getFullPath().toString();
-			} catch (CoreException e) {
-			}
-
-		if (storage != null)
-			return storage.getFullPath().toString();
-
-		return ""; //$NON-NLS-1$
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == IWorkbenchAdapter.class) {
-			return this;
-		}
-		if (adapter == IFileRevision.class)
-			return fileRevision;
-		else if  (adapter == IFileState.class){
-			if (storage != null && storage instanceof IFileState)
-				return storage;
-		} 
-		return super.getAdapter(adapter);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemSynchronizeParticipant.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemSynchronizeParticipant.java
deleted file mode 100644
index ac8eafd..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemSynchronizeParticipant.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.mapping.provider.MergeContext;
-import org.eclipse.team.core.mapping.provider.SynchronizationContext;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.team.internal.ui.TeamUIPlugin;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.mapping.SynchronizationActionProvider;
-import org.eclipse.team.ui.synchronize.*;
-
-
-/**
- * This is an example synchronize participant for the file system provider. It will allow
- * showing synchronization state for local resources mapped to a remote file system
- * location.
- * 
- * @since 3.0
- */
-public class FileSystemSynchronizeParticipant extends ModelSynchronizeParticipant {
-	
-	/**
-	 * The participant id for the org.eclipse.team.ui.synchronizeParticipant extension point.
-	 */
-	public static final String ID = "org.eclipse.team.examples.filesystem.participant"; //$NON-NLS-1$
-	
-	/**
-	 * The viewer id for the org.eclipse.ui.navigator.viewer extension point.
-	 */
-	public static final String VIEWER_ID = "org.eclipse.team.examples.filesystem.syncViewer"; //$NON-NLS-1$
-	
-	/**
-	 * Custom menu groups included in the viewer definition in the plugin.xml.
-	 */
-	public static final String CONTEXT_MENU_PUT_GROUP_1 = "put"; //$NON-NLS-1$
-	public static final String CONTEXT_MENU_OVERWRITE_GROUP_1 = "overwrite"; //$NON-NLS-1$
-	
-	/**
-	 * A custom label decorator that will show the remote mapped path for each
-	 * file.
-	 */
-	public class FileSystemParticipantLabelDecorator extends LabelProvider implements ILabelDecorator {
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
-		 */
-		public Image decorateImage(Image image, Object element) {
-			return image;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(java.lang.String, java.lang.Object)
-		 */
-		public String decorateText(String text, Object element) {
-			try {
-				if (element instanceof ISynchronizeModelElement) {
-					IResource resource = ((ISynchronizeModelElement) element).getResource();
-					if (resource != null && resource.getType() == IResource.FILE) {
-						SyncInfo info = FileSystemSubscriber.getInstance().getSyncInfo(resource);
-						IResourceVariant variant = info.getRemote();
-						if (variant != null) {
-							return text + " (" + variant.getContentIdentifier() + ")";
-						}
-					}
-				}
-			} catch (TeamException e) {
-				FileSystemPlugin.log(e.getStatus());
-			}
-			return null;
-		}
-	}
-	
-	/**
-	 * Action group that contributes the get an put menus to the context menu 
-	 * in the synchronize view
-	 */
-	public class FileSystemParticipantActionGroup extends ModelSynchronizeParticipantActionGroup {
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.ui.synchronize.SynchronizePageActionGroup#initialize(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
-		 */
-		public void initialize(ISynchronizePageConfiguration configuration) {
-			super.initialize(configuration);
-			appendToGroup(
-					ISynchronizePageConfiguration.P_CONTEXT_MENU, 
-					CONTEXT_MENU_PUT_GROUP_1,
-					new ModelPutAction("Put", configuration));
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.ui.operations.MergeActionGroup#configureMergeAction(java.lang.String, org.eclipse.jface.action.Action)
-		 */
-		protected void configureMergeAction(String mergeActionId, Action action) {
-			if (mergeActionId == SynchronizationActionProvider.MERGE_ACTION_ID) {
-				// Custom label for overwrite
-				action.setText("Get");
-			} else if (mergeActionId == SynchronizationActionProvider.MARK_AS_MERGE_ACTION_ID) {
-				// Custom label for mark-as-merged
-				action.setText("Ignore Remote");
-			} else {
-				super.configureMergeAction(mergeActionId, action);
-			}
-		}
-		
-		protected void addToContextMenu(String mergeActionId, Action action, IMenuManager manager) {
-			IContributionItem group = null;
-			if (mergeActionId == SynchronizationActionProvider.MERGE_ACTION_ID) {
-				// This could be left out since this is the default group but it is here for illustration
-				group = manager.find(MERGE_ACTION_GROUP);
-			} else if (mergeActionId == SynchronizationActionProvider.OVERWRITE_ACTION_ID) {
-				// This is a custom group for the overwrite command
-				group = manager.find(CONTEXT_MENU_OVERWRITE_GROUP_1);
-			} else if (mergeActionId == SynchronizationActionProvider.MARK_AS_MERGE_ACTION_ID) {
-				// This could be left out since this is the default group but it is here for illustration
-				group = manager.find(OTHER_ACTION_GROUP);
-			} else {
-				super.addToContextMenu(mergeActionId, action, manager);
-				return;
-			}
-			if (group != null) {
-				manager.appendToGroup(group.getId(), action);
-			} else {
-				manager.add(action);
-			}
-		}
-
-	}
-	
-	/**
-	 * Create a file system participant. This method is invoked by the
-	 * Synchronize view when a persisted participant is being restored.
-	 * Participants that are persisted must override the
-	 * {@link #restoreContext(ISynchronizationScopeManager)} method to recreate
-	 * the context and may also need to override the
-	 * {@link #createScopeManager(ResourceMapping[])} method if they require a
-	 * custom scope manager.
-	 */
-	public FileSystemSynchronizeParticipant() {
-		super();
-	}
-	
-	/**
-	 * Create the participant for the given context. This method is used
-	 * by the file system plugin to create a participant and then add it to
-	 * the sync view (or show it is some other container).
-	 * @param context the synchronization context
-	 */
-	public FileSystemSynchronizeParticipant(SynchronizationContext context) {
-		super(context);
-		try {
-			setInitializationData(TeamUI.getSynchronizeManager().getParticipantDescriptor(ID));
-		} catch (CoreException e) {
-			TeamUIPlugin.log(e);
-		}
-		setSecondaryId(Long.toString(System.currentTimeMillis()));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant#initializeConfiguration(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
-	 */
-	protected void initializeConfiguration(ISynchronizePageConfiguration configuration) {
-		super.initializeConfiguration(configuration);
-		configuration.setProperty(ISynchronizePageConfiguration.P_VIEWER_ID, VIEWER_ID);
-		
-		// Add the label decorator
-		configuration.addLabelDecorator(new FileSystemParticipantLabelDecorator());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelSynchronizeParticipant#createMergeActionGroup()
-	 */
-	protected ModelSynchronizeParticipantActionGroup createMergeActionGroup() {
-		return new FileSystemParticipantActionGroup();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelSynchronizeParticipant#restoreContext(org.eclipse.team.core.mapping.ISynchronizationScopeManager)
-	 */
-	protected MergeContext restoreContext(ISynchronizationScopeManager manager) {
-		return new FileSystemMergeContext(manager);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelSynchronizeParticipant#createScopeManager(org.eclipse.core.resources.mapping.ResourceMapping[])
-	 */
-	protected ISynchronizationScopeManager createScopeManager(ResourceMapping[] mappings) {
-		return FileSystemOperation.createScopeManager(getName(), mappings);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemTableProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemTableProvider.java
deleted file mode 100644
index e9fb5ec..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemTableProvider.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.text.DateFormat;
-import java.util.Date;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.examples.filesystem.history.FileSystemFileRevision;
-
-public class FileSystemTableProvider {
-
-	//column constants
-	private static final int COL_TYPE = 0;
-	private static final int COL_DATE = 1;
-
-	public TableViewer createTable(Composite parent) {
-		Table table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		table.setLayoutData(data);
-
-		TableLayout layout = new TableLayout();
-		table.setLayout(layout);
-
-		TableViewer viewer = new TableViewer(table);
-
-		createColumns(table, layout, viewer);
-
-		viewer.setLabelProvider(new HistoryLabelProvider());
-
-		// By default, reverse sort by revision.
-		HistorySorter sorter = new HistorySorter(COL_DATE);
-		sorter.setReversed(true);
-		viewer.setSorter(sorter);
-
-		return viewer;
-	}
-
-	/**
-	 * Creates the columns for the history table.
-	 */
-	private void createColumns(Table table, TableLayout layout, TableViewer viewer) {
-		SelectionListener headerListener = getColumnListener(viewer);
-		// revision
-		TableColumn col = new TableColumn(table, SWT.NONE);
-		col.setResizable(true);
-		col.setText("Revision"); //$NON-NLS-1$
-		col.addSelectionListener(headerListener);
-		layout.addColumnData(new ColumnWeightData(20, true));
-
-		// creation date
-		col = new TableColumn(table, SWT.NONE);
-		col.setResizable(true);
-		col.setText("Date"); //$NON-NLS-1$
-		col.addSelectionListener(headerListener);
-		layout.addColumnData(new ColumnWeightData(20, true));
-
-	}
-
-	class HistoryLabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider, IFontProvider {
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			IFileRevision entry = adaptToFileRevision(element);
-			if (entry == null)
-				return ""; //$NON-NLS-1$
-			switch (columnIndex) {
-				case COL_TYPE :
-					if (entry instanceof FileSystemFileRevision)
-						return "FileSystem revision";  //$NON-NLS-1$
-
-					return "Local history revision";  //$NON-NLS-1$
-				case COL_DATE :
-					long date = entry.getTimestamp();
-					Date dateFromLong = new Date(date);
-					return DateFormat.getInstance().format(dateFromLong);
-			}
-			return ""; //$NON-NLS-1$
-		}
-
-		public Color getBackground(Object element) {
-			return null;
-		}
-
-		public Color getForeground(Object element) {
-			return null;
-		}
-
-		public Font getFont(Object element) {
-			return null;
-		}
-
-	}
-
-	/**
-	 * The history sorter
-	 */
-	class HistorySorter extends ViewerSorter {
-		private boolean reversed = false;
-		private int columnNumber;
-
-		// column headings:	"Type" "Date" 
-		private int[][] SORT_ORDERS_BY_COLUMN = { {COL_DATE, COL_TYPE} /* date */, {COL_TYPE, COL_DATE} /* type */
-		};
-
-		/**
-		 * The constructor.
-		 * @param columnNumber 
-		 */
-		public HistorySorter(int columnNumber) {
-			this.columnNumber = columnNumber;
-		}
-
-		/**
-		 * Compares two log entries, sorting first by the main column of this sorter,
-		 * then by subsequent columns, depending on the column sort order.
-		 */
-		public int compare(Viewer compareViewer, Object o1, Object o2) {
-			/*if (o1 instanceof AbstractCVSHistoryCategory || o2 instanceof AbstractCVSHistoryCategory)
-			 return 0;*/
-
-			IFileRevision e1 = adaptToFileRevision(o1);
-			IFileRevision e2 = adaptToFileRevision(o2);
-			int result = 0;
-			if (e1 == null || e2 == null) {
-				result = super.compare(compareViewer, o1, o2);
-			} else {
-				int[] columnSortOrder = SORT_ORDERS_BY_COLUMN[columnNumber];
-				for (int i = 0; i < columnSortOrder.length; ++i) {
-					result = compareColumnValue(columnSortOrder[i], e1, e2);
-					if (result != 0)
-						break;
-				}
-			}
-			if (reversed)
-				result = -result;
-			return result;
-		}
-
-		/**
-		 * Compares two markers, based only on the value of the specified column.
-		 */
-		int compareColumnValue(int columnNumber, IFileRevision e1, IFileRevision e2) {
-			switch (columnNumber) {
-				case 0 : /* date */
-					long date1 = e1.getTimestamp();
-					long date2 = e2.getTimestamp();
-					if (date1 == date2)
-						return 0;
-
-					return date1 > date2 ? -1 : 1;
-
-				default :
-					return 0;
-			}
-		}
-
-		/**
-		 * Returns the number of the column by which this is sorting.
-		 * @return the column number
-		 */
-		public int getColumnNumber() {
-			return columnNumber;
-		}
-
-		/**
-		 * Returns true for descending, or false
-		 * for ascending sorting order.
-		 * @return returns true if reversed
-		 */
-		public boolean isReversed() {
-			return reversed;
-		}
-
-		/**
-		 * Sets the sorting order.
-		 * @param newReversed 
-		 */
-		public void setReversed(boolean newReversed) {
-			reversed = newReversed;
-		}
-	}
-
-	protected IFileRevision adaptToFileRevision(Object element) {
-		// Get the log entry for the provided object
-		IFileRevision entry = null;
-		if (element instanceof IFileRevision) {
-			entry = (IFileRevision) element;
-		} else if (element instanceof IAdaptable) {
-			entry = (IFileRevision) ((IAdaptable) element).getAdapter(IFileRevision.class);
-		}
-		return entry;
-	}
-
-	/**
-	 * Adds the listener that sets the sorter.
-	 */
-	private SelectionListener getColumnListener(final TableViewer tableViewer) {
-		/**
-		 * This class handles selections of the column headers.
-		 * Selection of the column header will cause resorting
-		 * of the shown tasks using that column's sorter.
-		 * Repeated selection of the header will toggle
-		 * sorting order (ascending versus descending).
-		 */
-		return new SelectionAdapter() {
-			/**
-			 * Handles the case of user selecting the
-			 * header area.
-			 * <p>If the column has not been selected previously,
-			 * it will set the sorter of that column to be
-			 * the current tasklist sorter. Repeated
-			 * presses on the same column header will
-			 * toggle sorting order (ascending/descending).
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				// column selected - need to sort
-				int column = tableViewer.getTable().indexOf((TableColumn) e.widget);
-				HistorySorter oldSorter = (HistorySorter) tableViewer.getSorter();
-				if (oldSorter != null && column == oldSorter.getColumnNumber()) {
-					oldSorter.setReversed(!oldSorter.isReversed());
-					tableViewer.refresh();
-				} else {
-					tableViewer.setSorter(new HistorySorter(column));
-				}
-			}
-		};
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetAction.java
deleted file mode 100644
index 39dd02f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.team.examples.filesystem.Policy;
-
-/**
- * Action for getting the contents of the selected resources
- */
-public class GetAction extends FileSystemAction {
-
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		try {
-			GetOperation operation = new GetOperation(getTargetPart(), 
-								FileSystemOperation.createScopeManager(Policy.bind("GetAction.working"), getSelectedMappings())); //$NON-NLS-1$
-			operation.setOverwriteOutgoing(isOverwriteOutgoing());
-			operation.run();
-		} catch (InvocationTargetException e) {
-			handle(e, null, Policy.bind("GetAction.problemMessage")); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			// Ignore
-		}
-	}
-	
-	/**
-	 * Indicate whether the action should overwrite outgoing changes.
-	 * By default, the get action does not override local modifications.
-	 * @return whether the action should overwrite outgoing changes.
-	 */
-	protected boolean isOverwriteOutgoing() {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetOperation.java
deleted file mode 100644
index 0a2e4f3..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetOperation.java
+++ /dev/null
@@ -1,94 +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.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.Policy;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Operation for getting the contents of the selected resources
- */
-public class GetOperation extends FileSystemOperation {
-
-	private boolean overwriteOutgoing;
-
-	public GetOperation(IWorkbenchPart part, SubscriberScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.FileSystemOperation#execute(org.eclipse.team.examples.filesystem.FileSystemProvider, org.eclipse.core.resources.mapping.ResourceTraversal[], org.eclipse.core.runtime.SubProgressMonitor)
-	 */
-	protected void execute(FileSystemProvider provider,
-			ResourceTraversal[] traversals, IProgressMonitor monitor)
-			throws CoreException {
-		provider.getOperations().get(traversals, isOverwriteOutgoing(), monitor);
-		if (!isOverwriteOutgoing() && hasIncomingChanges(traversals)) {
-			throw new TeamException("Could not get all changes due to conflicts.");
-		}
-
-	}
-
-	private boolean hasIncomingChanges(ResourceTraversal[] traversals) throws CoreException {
-		final RuntimeException found = new RuntimeException();
-		try {
-			FileSystemSubscriber.getInstance().accept(traversals, new IDiffVisitor() {
-				public boolean visit(IDiff diff) {
-					if (diff instanceof IThreeWayDiff) {
-						IThreeWayDiff twd = (IThreeWayDiff) diff;
-						if (twd.getDirection() == IThreeWayDiff.INCOMING || twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-							throw found;
-						}
-					}
-					return false;
-				}
-			});
-		} catch (RuntimeException e) {
-			if (e == found)
-				return true;
-			throw e;
-		}
-		return false;
-	}
-	
-	/**
-	 * Indicate whether the operation should overwrite outgoing changes.
-	 * By default, the get operation does not override local modifications.
-	 * @return whether the operation should overwrite outgoing changes.
-	 */
-	protected boolean isOverwriteOutgoing() {
-		return overwriteOutgoing;
-	}
-
-	/**
-	 * Set whether the operation should overwrite outgoing changes.
-	 * @param overwriteOutgoing whether the operation should overwrite outgoing changes
-	 */
-	public void setOverwriteOutgoing(boolean overwriteOutgoing) {
-		this.overwriteOutgoing = overwriteOutgoing;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.FileSystemOperation#getTaskName()
-	 */
-	protected String getTaskName() {
-		return Policy.bind("GetAction.working"); //$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/MergeAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/MergeAction.java
deleted file mode 100644
index 5289bba..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/MergeAction.java
+++ /dev/null
@@ -1,49 +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.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.team.ui.synchronize.ModelMergeOperation;
-
-/**
- * This merge action is contributed as a a popupmenu objectContribution in
- * the plugin.xml. You can change the value return from {@link #isUseSyncFramework()}
- * to try out different dialogs.
- * 
- * @since 3.2
- */
-public class MergeAction extends FileSystemAction {
-
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		try {
-			ModelMergeOperation operation;
-			if (isUseSyncFramework()) {
-				operation = new SyncDialogModelMergeOperation(getTargetPart(),
-						FileSystemOperation.createScopeManager("Merging", getSelectedMappings()));
-			} else {
-				operation = new NonSyncModelMergeOperation(getTargetPart(),
-						FileSystemOperation.createScopeManager("Merging", getSelectedMappings()));
-			}
-			operation.run();
-		} catch (InvocationTargetException e) {
-			handle(e, null, "Errors occurred while merging");
-		} catch (InterruptedException e) {
-			// Ignore
-		}
-	}
-
-	private boolean isUseSyncFramework() {
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ModelPutAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ModelPutAction.java
deleted file mode 100644
index 2eddf46..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ModelPutAction.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.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.team.ui.synchronize.ModelParticipantAction;
-
-/**
- * A put action for use in the file system synchronize participant.
- */
-public class ModelPutAction extends ModelParticipantAction {
-
-	public ModelPutAction(String text, ISynchronizePageConfiguration configuration) {
-		super(text, configuration);
-	}
-
-	protected boolean isEnabledForSelection(IStructuredSelection selection) {
-		// Only enable the put in outgoing or both modes
-		int mode = getConfiguration().getMode();
-		if (mode == ISynchronizePageConfiguration.OUTGOING_MODE || mode == ISynchronizePageConfiguration.BOTH_MODE) {
-			return getResourceMappings(selection).length > 0;
-		}
-		return false;
-	}
-
-	private ResourceMapping[] getResourceMappings(IStructuredSelection selection) {
-		List mappings = new ArrayList();
-		for (Iterator iter = selection.iterator(); iter.hasNext();) {
-			Object element = iter.next();
-			ResourceMapping mapping = Utils.getResourceMapping(element);
-			if (mapping != null)
-				mappings.add(mapping);
-		}
-		return (ResourceMapping[]) mappings.toArray(new ResourceMapping[mappings.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		ResourceMapping[] resourceMappings = getResourceMappings(getStructuredSelection());
-		SubscriberScopeManager manager = FileSystemOperation.createScopeManager("Put", resourceMappings);
-		try {
-			new PutOperation(getConfiguration().getSite().getPart(), manager).run();
-		} catch (InvocationTargetException e) {
-			IStatus status = getStatus(e);
-			ErrorDialog.openError(getConfiguration().getSite().getShell(), null, null, status);
-		} catch (InterruptedException e) {
-			// Ignore
-		}
-	}
-
-	private IStatus getStatus(Throwable throwable) {
-		if (throwable instanceof InvocationTargetException) {
-			return getStatus(((InvocationTargetException) throwable).getCause());
-		}
-		return new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, "An error occurred during the put.", throwable);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergeDialog.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergeDialog.java
deleted file mode 100644
index 9a4792e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergeDialog.java
+++ /dev/null
@@ -1,67 +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.team.examples.filesystem.ui;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.mapping.IMergeContext;
-import org.eclipse.team.ui.ISaveableWorkbenchPart;
-import org.eclipse.team.ui.SaveablePartDialog;
-
-/**
- * A dialog that can be used to merge conflicting model elements without 
- * using the Synchronization framework. This is experimental.
- * See {@link NonSyncModelMergeOperation}
- * for a description of this work flow and its shortcomings.
- */
-public class NonSyncMergeDialog extends SaveablePartDialog {
-
-	public static void openFor(NonSyncModelMergeOperation operation) {
-		NonSyncModelMergePage page = new NonSyncModelMergePage((IMergeContext) operation.getContext());
-		NonSyncMergePart part = new NonSyncMergePart(operation.getShell(), new CompareConfiguration(), page);
-		NonSyncMergeDialog dialog = new NonSyncMergeDialog(operation.getShell(), part);
-		dialog.open();
-	}
-	
-	public NonSyncMergeDialog(Shell shell, ISaveableWorkbenchPart input) {
-		super(shell, input);
-	}
-	
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == OK) {
-			NonSyncMergePart part = (NonSyncMergePart)getInput();
-			IMergeContext context = part.getContext();
-			if (hasUnmergedChanges(context)) {
-				if (!MessageDialog.openQuestion(getShell(), "Unmerged Changes", "There are still unmerged changes. Are you sure you want to close the dialog?"))
-					return;
-			}
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	private boolean hasUnmergedChanges(IMergeContext context) {
-		return context.getDiffTree().hasMatchingDiffs(
-				ResourcesPlugin.getWorkspace().getRoot().getFullPath(), 
-				new FastDiffFilter() {
-					public boolean select(IDiff diff) {
-						if (diff instanceof IThreeWayDiff) {
-							IThreeWayDiff twd = (IThreeWayDiff) diff;
-							return twd.getDirection() == IThreeWayDiff.INCOMING || twd.getDirection() == IThreeWayDiff.CONFLICTING;
-						}
-						return false;
-					}
-				});
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergePart.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergePart.java
deleted file mode 100644
index aa6fa1e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergePart.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.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.IContentChangeNotifier;
-import org.eclipse.compare.structuremergeviewer.ICompareInput;
-import org.eclipse.core.resources.mapping.ModelProvider;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.core.mapping.IMergeContext;
-import org.eclipse.team.internal.ui.Policy;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.ui.PageSaveablePart;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareInput;
-
-
-/**
- * This class is the compare container used by the {@link NonSyncModelMergeOperation}
- * to show a manual merge.
- */
-public class NonSyncMergePart extends PageSaveablePart {
-	
-	private final NonSyncModelMergePage page;
-
-	protected NonSyncMergePart(Shell shell, CompareConfiguration compareConfiguration, NonSyncModelMergePage page) {
-		super(shell, compareConfiguration);
-		this.page = page;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.PageSaveablePart#createPage(org.eclipse.swt.widgets.Composite, org.eclipse.jface.action.ToolBarManager)
-	 */
-	protected Control createPage(Composite parent, ToolBarManager toolBarManager) {
-		page.createControl(parent);
-		return page.getControl();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.PageSaveablePart#getSelectionProvider()
-	 */
-	protected ISelectionProvider getSelectionProvider() {
-		return page.getViewer();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.PageSaveablePart#getCompareInput(org.eclipse.jface.viewers.ISelection)
-	 */
-	protected ICompareInput getCompareInput(ISelection selection) {
-		ICompareInput compareInput = super.getCompareInput(selection);
-		if (compareInput != null)
-			return compareInput;
-		Object element = ((IStructuredSelection)selection).getFirstElement();
-		ISynchronizationCompareAdapter compareAdapter = getCompareAdapter(element);
-		if (element instanceof ResourceMapping) {
-			element = ((ResourceMapping) element).getModelObject();
-		}
-		if (compareAdapter != null){
-			return compareAdapter.asCompareInput(page.getContext(), element);
-		}
-		return null;
-	}
-	
-	protected static ISynchronizationCompareAdapter getCompareAdapter(Object element) {
-		if (element instanceof ResourceMapping) {
-			ResourceMapping mapping = (ResourceMapping) element;
-			ModelProvider provider = mapping.getModelProvider();
-			Object adapter = provider.getAdapter(ISynchronizationCompareAdapter.class);
-			if (adapter instanceof ISynchronizationCompareAdapter) {
-				return (ISynchronizationCompareAdapter) adapter;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.PageSaveablePart#prepareInput(org.eclipse.compare.structuremergeviewer.ICompareInput, org.eclipse.compare.CompareConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void prepareInput(ICompareInput input,
-			CompareConfiguration configuration, IProgressMonitor monitor)
-			throws InvocationTargetException {
-		try {
-			ISynchronizationCompareInput adapter = asSynchronizationCompareInput(input);
-			if (adapter != null) {
-				adapter.prepareInput(configuration, Policy.subMonitorFor(monitor, 90));
-			}
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-
-	/*
-	 * Convert the compare input to a synchronize compare input.
-	 */
-	private ISynchronizationCompareInput asSynchronizationCompareInput(ICompareInput input) {
-		return (ISynchronizationCompareInput)Utils.getAdapter(input, ISynchronizationCompareInput.class);
-	}
-
-	public void contentChanged(IContentChangeNotifier source) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return "File System Provider Merge";
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleImage()
-	 */
-	public Image getTitleImage() {
-		return null;
-	}
-
-	public IMergeContext getContext() {
-		return page.getContext();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergeOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergeOperation.java
deleted file mode 100644
index 272e16f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergeOperation.java
+++ /dev/null
@@ -1,106 +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.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.mapping.RemoteResourceMappingContext;
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.ui.synchronize.ModelMergeOperation;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This operation shows an example of how a repository tool could
- * perform the Preview (manual merge) phase of the merge operation
- * without using the Synchronize view. It will do so by showing the
- * user a flat list of all model elements that require a manual merge.
- * <p>
- * There are a couple of open issues here:
- * <ol>
- * <li>All the model provider UI is Common Navigator based so there is no model
- * provider contributed actions available to overwrite and mark-as-merged. This will
- * be a problem for models that have multiple resource mappings within a single file.
- * <li>The order in which model elements are merged may matter. There is currently
- * no Team API to determine this order.</li>
- * <li>This operation assumes that a compare input will be available for the
- * model objects that are obtained from the model provider. Although this
- * is a reasonable assumption, it is not enforced by the API specification.</li>
- * </ol>
- */
-public class NonSyncModelMergeOperation extends ModelMergeOperation {
-
-	private FileSystemMergeContext context;
-
-	/**
-	 * Create the operation
-	 * @param part the part from which the operation was launched
-	 * @param manager the scope of the operation
-	 */
-	protected NonSyncModelMergeOperation(IWorkbenchPart part, ISynchronizationScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelMergeOperation#initializeContext(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void initializeContext(IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor.beginTask(null, 100);
-			// Create the context
-			context = new FileSystemMergeContext(getScopeManager());
-			// Refresh the context to get the latest remote state
-			context.refresh(getScope().getTraversals(), 
-					RemoteResourceMappingContext.FILE_CONTENTS_REQUIRED, new SubProgressMonitor(monitor, 75));
-			// What for the context to asynchronously update the diff tree
-			try {
-				Platform.getJobManager().join(context, new SubProgressMonitor(monitor, 25));
-			} catch (InterruptedException e) {
-				// Ignore
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelOperation#getContext()
-	 */
-	protected ISynchronizationContext getContext() {
-		return context;
-	}
-	
-	/**
-	 * Handle the preview request by opening a dialog that allows the user to manually merge
-	 * any changes.
-	 * @see org.eclipse.team.ui.synchronize.ModelMergeOperation#handlePreviewRequest()
-	 */
-	protected void handlePreviewRequest() {
-		// We perform a syncExec so that the job will dispose of the scope manager
-		// after the dialog closes
-		Display.getDefault().syncExec(new Runnable() {
-			public void run() {
-				NonSyncMergeDialog.openFor(NonSyncModelMergeOperation.this);
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.TeamOperation#getShell()
-	 */
-	public Shell getShell() {
-		// Change method to public
-		return super.getShell();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergePage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergePage.java
deleted file mode 100644
index 99e7fce..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergePage.java
+++ /dev/null
@@ -1,311 +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.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.compare.structuremergeviewer.ICompareInput;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.mapping.IMergeContext;
-import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.internal.ui.mapping.SynchronizationResourceMappingContext;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
-import org.eclipse.team.ui.synchronize.ModelMergeOperation;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.Page;
-
-/**
- * This class provides the page for the {@link NonSyncMergePart}.
- */
-public class NonSyncModelMergePage extends Page {
-	
-	IMergeContext context;
-	private TreeViewer viewer;
-	List mappings;
-	
-	/*
-	 * Content provider that returns the list of conflicting mappings
-	 */
-	class PageContentProvider implements ITreeContentProvider {
-		public Object[] getChildren(Object parentElement) {
-			if (parentElement instanceof IMergeContext) {
-				if (mappings == null)
-					// TODO: should be using a real progress monitor
-					computeMappings(new NullProgressMonitor());
-				return mappings.toArray();
-			}
-			return new Object[0];
-		}
-		public Object getParent(Object element) {
-			if (element instanceof ResourceMapping) {
-				return context;
-			}
-			return null;
-		}
-		public boolean hasChildren(Object element) {
-			if (element instanceof IMergeContext) {
-				return true;
-			}
-			return false;
-		}
-		public Object[] getElements(Object inputElement) {
-			return getChildren(inputElement);
-		}
-		public void dispose() {
-			// Nothing to do
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			// Nothing to do
-		}
-	}
-	
-	/*
-	 * Label provider that provides a label and image for conflicting resource mappings
-	 */
-	class PageLabelProvider extends LabelProvider {
-		public String getText(Object element) {
-			if (element instanceof ResourceMapping) {
-				ResourceMapping mapping = (ResourceMapping) element;
-				ISynchronizationCompareAdapter adapter = NonSyncMergePart.getCompareAdapter(mapping);
-				if (adapter != null)
-					return adapter.getPathString(mapping) + "(" + mapping.getModelProvider().getDescriptor().getLabel() + ")";
-			}
-			if (element instanceof ICompareInput) {
-				ICompareInput ci = (ICompareInput) element;
-				ci.getName();
-			}
-			return super.getText(element);
-		}
-		public Image getImage(Object element) {
-			if (element instanceof ICompareInput) {
-				ICompareInput ci = (ICompareInput) element;
-				ci.getImage();
-			}
-			if (element instanceof ResourceMapping) {
-				ResourceMapping mapping = (ResourceMapping) element;
-				ISynchronizationCompareAdapter adapter = NonSyncMergePart.getCompareAdapter(mapping);
-				ICompareInput input = adapter.asCompareInput(context, mapping.getModelObject());
-				if (input != null)
-					return input.getImage();
-			}
-			return super.getImage(element);
-		}
-	}
-
-	/*
-	 * Sorter that sorts mappings by model and then name
-	 */
-	class PageSorter extends ViewerSorter {
-		public int compare(Viewer viewer, Object e1, Object e2) {
-			if (e1 instanceof ResourceMapping && e2 instanceof ResourceMapping) {
-				ResourceMapping m1 = (ResourceMapping) e1;
-				ResourceMapping m2 = (ResourceMapping) e2;
-				if (m1.getModelProvider() == m2.getModelProvider()) {
-					return getLabel(m1).compareTo(getLabel(m2));
-				}
-				return compare(m1, m2);
-			}
-			return super.compare(viewer, e1, e2);
-		}
-		private int compare(ResourceMapping m1, ResourceMapping m2) {
-			ModelProvider[] sorted = ModelMergeOperation.sortByExtension(new ModelProvider[] { m1.getModelProvider(), m2.getModelProvider() });
-			return sorted[0] == m1.getModelProvider() ? -1 : 1;
-		}
-		private String getLabel(ResourceMapping mapping) {
-			ISynchronizationCompareAdapter adapter = NonSyncMergePart.getCompareAdapter(mapping);
-			if (adapter != null)
-				return adapter.getPathString(mapping);
-			return "";
-		}
-	}
-	
-	public NonSyncModelMergePage(IMergeContext context) {
-		super();
-		this.context = context;
-	}
-	
-	/**
-	 * Create the list of all mappings that overlap with the out-of-sync files.
-	 */
-	public void computeMappings(IProgressMonitor monitor) {
-	    IModelProviderDescriptor[] descriptors = ModelProvider.getModelProviderDescriptors();
-	    mappings = new ArrayList();
-	    for (int i = 0; i < descriptors.length; i++) {
-	        IModelProviderDescriptor descriptor = descriptors[i];
-	        // Get the subset of files that this model provider cares about
-	        try {
-				IResource[] resources = descriptor.getMatchingResources(getOutOfSyncFiles());
-				if (resources.length > 0) {
-				    ModelProvider provider = descriptor.getModelProvider();
-				    // Get the mappings for those resources
-				    ResourceMapping[] mappings = provider.getMappings(resources, new SynchronizationResourceMappingContext(context), monitor);
-				    this.mappings.addAll(Arrays.asList(mappings ));
-				}
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e.getStatus());
-			}
-	    }
-	}
-
-	private IResource[] getOutOfSyncFiles() {
-		IDiff[] diffs = getContext().getDiffTree().getDiffs(ResourcesPlugin.getWorkspace().getRoot(), IResource.DEPTH_INFINITE);
-		List result = new ArrayList();
-		for (int i = 0; i < diffs.length; i++) {
-			IDiff diff = diffs[i];
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			if (resource.getType() == IResource.FILE)
-				result.add(resource);
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	/**
-	 * Return the merge context.
-	 * @return the merge context
-	 */
-	public IMergeContext getContext() {
-		return context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.Page#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		viewer = new TreeViewer(parent);
-		viewer.setContentProvider(new PageContentProvider());
-		viewer.setLabelProvider(new PageLabelProvider());
-		viewer.setSorter(new PageSorter());
-		hookContextMenu(viewer);
-		viewer.setInput(context);
-	}
-
-	/*
-	 * Hook the context menu to display the Overwrite and Mark-as-merged actions
-	 */
-	private void hookContextMenu(final TreeViewer viewer) {
-		final MenuManager menuMgr = new MenuManager(); 
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-	}
-
-	/**
-	 * Fill the context menu.
-	 * @param manager the context menu manager
-	 */
-	protected void fillContextMenu(IMenuManager manager) {
-		/*
-		 * Add a mark as merged action. Because we are not using the 
-		 * Synchronization framework and, more specifically, the
-		 * Common Navigator content provider for the model providers,
-		 * we do not have access to the merge handlers of the model.
-		 * Therefore, we are writing are action to detect whether there
-		 * are files that overlap between the selected model elements and
-		 * unselected model elements.
-		 */
-		Action markAsMerged = new Action("Mark as Merged") {
-			public void run() {
-				try {
-					final IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
-					PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-						public void run(IProgressMonitor monitor) throws InvocationTargetException {
-							IDiff[] diffs = getSelectedDiffs(selection, monitor);
-							if (!checkForModelOverlap(diffs, monitor)) {
-								return;
-							}
-							try {
-								context.markAsMerged(diffs, false, monitor);
-							} catch (CoreException e) {
-								throw new InvocationTargetException(e);
-							}
-						}
-					});
-				} catch (InvocationTargetException e) {
-					FileSystemPlugin.log(new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, e.getTargetException().getMessage(), e.getTargetException()));
-				} catch (InterruptedException e) {
-					// Ignore
-				}
-			}
-		};
-		manager.add(markAsMerged);
-	}
-
-	protected IDiff[] getSelectedDiffs(IStructuredSelection selection, IProgressMonitor monitor) {
-		Object[] elements = selection.toArray();
-		return getDiffs(elements, monitor);
-	}
-
-	private IDiff[] getDiffs(Object[] elements, IProgressMonitor monitor) {
-		Set result = new HashSet();
-		for (int i = 0; i < elements.length; i++) {
-			Object element = elements[i];
-			try {
-				if (element instanceof ResourceMapping) {
-					ResourceMapping mapping = (ResourceMapping) element;
-					ResourceTraversal[] traversals = mapping.getTraversals(new SynchronizationResourceMappingContext(context), monitor);
-					result.addAll(Arrays.asList(context.getDiffTree().getDiffs(traversals)));
-				}
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e.getStatus());
-			}
-		}
-		return (IDiff[]) result.toArray(new IDiff[result.size()]);
-	}
-
-	/**
-	 * Check whether any of the diffs overlap with mappings that are not selected
-	 * @param diffs
-	 * @return
-	 */
-	protected boolean checkForModelOverlap(IDiff[] diffs, IProgressMonitor monitor) {
-		// TODO: This check should see if the diffs are also part of mappings 
-		// that are not included in the selection. 
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.Page#getControl()
-	 */
-	public Control getControl() {
-		if (viewer != null)
-			return viewer.getControl();
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.Page#setFocus()
-	 */
-	public void setFocus() {
-		if (viewer != null)
-			viewer.getControl().setFocus();
-	}
-
-	public ISelectionProvider getViewer() {
-		return viewer;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/OpenFileSystemRevisionAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/OpenFileSystemRevisionAction.java
deleted file mode 100644
index 6752e9e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/OpenFileSystemRevisionAction.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.ui.history.HistoryPage;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.BaseSelectionListenerAction;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.progress.IProgressService;
-
-public class OpenFileSystemRevisionAction extends BaseSelectionListenerAction {
-
-	private IStructuredSelection selection;
-	private HistoryPage page;
-
-	public OpenFileSystemRevisionAction(String text) {
-		super(text);
-	}
-
-	public void run() {
-		IStructuredSelection structSel = selection;
-
-		Object[] objArray = structSel.toArray();
-
-		for (int i = 0; i < objArray.length; i++) {
-			Object tempRevision = objArray[i];
-
-			final IFileRevision revision = (IFileRevision) tempRevision;
-			if (revision == null || !revision.exists()) {
-				MessageDialog.openError(page.getSite().getShell(), "Deleted Revision", "Can't open a deleted revision");
-			} else {
-				IRunnableWithProgress runnable = new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-						IStorage file;
-						try {
-							file = revision.getStorage(monitor);
-							String id = getEditorID(file.getName(), file.getContents());
-
-							if (file instanceof IFile) {
-								//if this is the current workspace file, open it
-								IDE.openEditor(page.getSite().getPage(), (IFile) file);
-							} else {
-								FileSystemRevisionEditorInput fileRevEditorInput = new FileSystemRevisionEditorInput(revision);
-								if (!editorAlreadyOpenOnContents(fileRevEditorInput))
-									page.getSite().getPage().openEditor(fileRevEditorInput, id);
-							}
-						} catch (CoreException e) {
-							throw new InvocationTargetException(e);
-						}
-
-					}
-				};
-
-				IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
-				try {
-					progressService.run(false, false, runnable);
-				} catch (InvocationTargetException e) {
-				} catch (InterruptedException e) {
-				}
-			}
-
-		}
-	}
-
-	/* private */String getEditorID(String fileName, InputStream contents) {
-		IWorkbench workbench = FileSystemPlugin.getPlugin().getWorkbench();
-		IEditorRegistry registry = workbench.getEditorRegistry();
-		IContentType type = null;
-		if (contents != null) {
-			try {
-				type = Platform.getContentTypeManager().findContentTypeFor(contents, fileName);
-			} catch (IOException e) {
-
-			}
-		}
-		if (type == null) {
-			type = Platform.getContentTypeManager().findContentTypeFor(fileName);
-		}
-		IEditorDescriptor descriptor = registry.getDefaultEditor(fileName, type);
-		String id;
-		if (descriptor == null || descriptor.isOpenExternal()) {
-			id = "org.eclipse.ui.DefaultTextEditor"; //$NON-NLS-1$
-		} else {
-			id = descriptor.getId();
-		}
-
-		return id;
-	}
-
-	protected boolean updateSelection(IStructuredSelection selection) {
-		this.selection = selection;
-		return shouldShow();
-	}
-
-	public void setPage(HistoryPage page) {
-		this.page = page;
-	}
-
-	private boolean shouldShow() {
-		IStructuredSelection structSel = selection;
-		Object[] objArray = structSel.toArray();
-
-		if (objArray.length == 0)
-			return false;
-
-		for (int i = 0; i < objArray.length; i++) {
-			IFileRevision revision = (IFileRevision) objArray[i];
-			//check to see if any of the selected revisions are deleted revisions
-			if (revision != null && !revision.exists())
-				return false;
-		}
-
-		return true;
-	}
-
-	private boolean editorAlreadyOpenOnContents(FileSystemRevisionEditorInput input) {
-		IEditorReference[] editorRefs = page.getSite().getPage().getEditorReferences();
-		for (int i = 0; i < editorRefs.length; i++) {
-			IEditorPart part = editorRefs[i].getEditor(false);
-			if (part != null && part.getEditorInput() instanceof FileSystemRevisionEditorInput) {
-				IFileRevision inputRevision = (IFileRevision) input.getAdapter(IFileRevision.class);
-				IFileRevision editorRevision = (IFileRevision) part.getEditorInput().getAdapter(IFileRevision.class);
-
-				if (inputRevision.equals(editorRevision)) {
-					//make the editor that already contains the revision current
-					page.getSite().getPage().activate(part);
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ProjectSetSerializer.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ProjectSetSerializer.java
deleted file mode 100644
index 08d4b3b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ProjectSetSerializer.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.filesystem.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.*;
-import org.eclipse.team.examples.filesystem.*;
-
-/**
- * This is an old-style (pre-3.0) project set serializer used to test backwards compatibility
- */
-public class ProjectSetSerializer implements IProjectSetSerializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.IProjectSetSerializer#asReference(org.eclipse.core.resources.IProject[], java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public String[] asReference(IProject[] providerProjects, Object context, IProgressMonitor monitor) throws TeamException {
-		Assert.isTrue(context instanceof Shell);
-		List refs = new ArrayList();
-		for (int i = 0; i < providerProjects.length; i++) {
-			IProject project = providerProjects[i];
-			FileSystemProvider provider = (FileSystemProvider)RepositoryProvider.getProvider(project, FileSystemPlugin.PROVIDER_ID);
-			if (provider != null) {
-				refs.add(asReference(provider));
-			}
-		}
-		return (String[]) refs.toArray(new String[refs.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.IProjectSetSerializer#addToWorkspace(java.lang.String[], java.lang.String, java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IProject[] addToWorkspace(String[] referenceStrings, String filename, Object context, IProgressMonitor monitor) throws TeamException {
-		Assert.isTrue(context instanceof Shell);
-		List projects = new ArrayList();
-		for (int i = 0; i < referenceStrings.length; i++) {
-			String string = referenceStrings[i];
-			String projectName = getProjectName(string);
-			String path = getPath(string);
-			if (projectName != null && path != null) {
-				try {
-					IProject project = createProject(projectName, monitor);
-					RepositoryProvider.map(project, FileSystemPlugin.PROVIDER_ID);
-					FileSystemProvider provider = (FileSystemProvider) RepositoryProvider.getProvider(project);
-					provider.setTargetLocation(path);
-					projects.add(project);
-				} catch (CoreException e) {
-					ErrorDialog.openError(
-						(Shell)context,
-						Policy.bind("ConfigurationWizard.errorMapping"), //$NON-NLS-1$
-						Policy.bind("ConfigurationWizard.error"), //$NON-NLS-1$
-						e.getStatus());
-				}
-			}
-		}
-		return (IProject[]) projects.toArray(new IProject[projects.size()]);
-	}
-
-	/**
-	 * @param provider
-	 * @return
-	 */
-	private String asReference(FileSystemProvider provider) {
-		return provider.getProject().getName() + "," + provider.getRoot().toString(); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @param string
-	 * @return
-	 */
-	private String getProjectName(String string) {
-		int i = string.indexOf(',');
-		if (i == -1) return null;
-		return string.substring(0, i);
-	}
-	
-	/**
-	 * @param string
-	 * @return
-	 */
-	private String getPath(String string) {
-		int i = string.indexOf(',');
-		if (i == -1) return null;
-		return string.substring(i + 1);
-	}
-	
-	/**
-	 * @param projectName
-	 * @return
-	 * @throws CoreException
-	 */
-	private IProject createProject(String projectName, IProgressMonitor monitor) throws CoreException {
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		if (!project.exists()) {
-			project.create(monitor);
-		}
-		if (!project.isOpen()) {
-			project.open(monitor);
-		}
-		return project;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutAction.java
deleted file mode 100644
index ac44a2e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.team.examples.filesystem.Policy;
-
-/**
- * Action for checking in the selected resources
- */
-public class PutAction extends FileSystemAction {
-
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		try {
-			PutOperation operation = new PutOperation(getTargetPart(), 
-					FileSystemOperation.createScopeManager(Policy.bind("PutAction.working"), getSelectedMappings())); //$NON-NLS-1$
-			operation.setOverwriteIncoming(isOverrideIncoming());
-			operation.run();
-		} catch (InvocationTargetException e) {
-			handle(e, null, Policy.bind("PutAction.problemMessage")); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			// Ignore
-		}
-	}
-	
-	/**
-	 * Indicate whether the put should override incoming changes.
-	 * @return whether the put should override incoming changes.
-	 */
-	protected boolean isOverrideIncoming() {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutOperation.java
deleted file mode 100644
index 1e35eec..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutOperation.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.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.Policy;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Operation for copying the selected resources to the file system location
- */
-public class PutOperation extends FileSystemOperation {
-
-	private boolean overwriteIncoming;
-
-	/**
-	 * Create the put operation
-	 * @param part the originating part
-	 * @param manager the scope manager
-	 */
-	protected PutOperation(IWorkbenchPart part, SubscriberScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.FileSystemOperation#execute(org.eclipse.team.examples.filesystem.FileSystemProvider, org.eclipse.core.resources.mapping.ResourceTraversal[], org.eclipse.core.runtime.SubProgressMonitor)
-	 */
-	protected void execute(FileSystemProvider provider,
-			ResourceTraversal[] traversals, IProgressMonitor monitor)
-			throws CoreException {
-		provider.getOperations().checkin(traversals, isOverwriteIncoming(), monitor);
-		if (!isOverwriteIncoming() && hasOutgoingChanges(traversals)) {
-			throw new TeamException("Could not put all changes due to conflicts.");
-		}
-
-	}
-
-	private boolean hasOutgoingChanges(ResourceTraversal[] traversals) throws CoreException {
-		final RuntimeException found = new RuntimeException();
-		try {
-			FileSystemSubscriber.getInstance().accept(traversals, new IDiffVisitor() {
-				public boolean visit(IDiff diff) {
-					if (diff instanceof IThreeWayDiff) {
-						IThreeWayDiff twd = (IThreeWayDiff) diff;
-						if (twd.getDirection() == IThreeWayDiff.OUTGOING || twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-							throw found;
-						}
-					}
-					return false;
-				}
-			});
-		} catch (RuntimeException e) {
-			if (e == found)
-				return true;
-			throw e;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.FileSystemOperation#getTaskName()
-	 */
-	protected String getTaskName() {
-		return Policy.bind("PutAction.working"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Return whether incoming changes should be overwritten.
-	 * @return whether incoming changes should be overwritten
-	 */
-	public boolean isOverwriteIncoming() {
-		return overwriteIncoming;
-	}
-
-	/**
-	 * Set whether incoming changes should be overwritten.
-	 * @param overwriteIncoming whether incoming changes should be overwritten
-	 */
-	public void setOverwriteIncoming(boolean overwriteIncoming) {
-		this.overwriteIncoming = overwriteIncoming;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ReplaceAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ReplaceAction.java
deleted file mode 100644
index 542801f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ReplaceAction.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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-
-/**
- * A replace is simply a get that overwrite local changes
- */
-public class ReplaceAction extends GetAction {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.GetAction#isOverwriteOutgoing()
-	 */
-	protected boolean isOverwriteOutgoing() {
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ShowHistoryAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ShowHistoryAction.java
deleted file mode 100644
index 1d373ac..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ShowHistoryAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.internal.ui.TeamUIPlugin;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionDelegate;
-
-public class ShowHistoryAction extends ActionDelegate implements IObjectActionDelegate {
-
-	private IStructuredSelection fSelection;
-
-	public void run(IAction action) {
-		final Shell shell = Display.getDefault().getActiveShell();
-		try {
-			new ProgressMonitorDialog(shell).run(true, true, new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					final IResource resource = (IResource) fSelection.getFirstElement();
-					Runnable r = new Runnable() {
-						public void run() {
-							TeamUI.showHistoryFor(TeamUIPlugin.getActivePage(), resource, null);
-						}
-					};
-
-					FileSystemPlugin.getStandardDisplay().asyncExec(r);
-				}
-			});
-		} catch (InvocationTargetException exception) {
-		} catch (InterruptedException exception) {
-		}
-	}
-
-	public void selectionChanged(IAction action, ISelection sel) {
-		if (sel instanceof IStructuredSelection) {
-			fSelection = (IStructuredSelection) sel;
-		}
-	}
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SyncDialogModelMergeOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SyncDialogModelMergeOperation.java
deleted file mode 100644
index e820c54..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SyncDialogModelMergeOperation.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.team.examples.filesystem.ui;
-
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.mapping.provider.SynchronizationContext;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.ui.synchronize.ModelParticipantMergeOperation;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This merge operation will attempt a headless merge and then prompt
- * the user with a dialog if conflicts exist.
- */
-public class SyncDialogModelMergeOperation extends
-		ModelParticipantMergeOperation {
-
-	public SyncDialogModelMergeOperation(IWorkbenchPart part, ISynchronizationScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelParticipantMergeOperation#createMergeContext()
-	 */
-	protected SynchronizationContext createMergeContext() {
-		return new FileSystemMergeContext(getScopeManager());
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeAction.java
deleted file mode 100644
index 9381119..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeAction.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.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipant;
-
-/**
- * Action to synchronize the selected resources. This results
- * in a file-system participant being added to the synchronize view.
- */
-public class SynchronizeAction extends FileSystemAction {
-	
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		ResourceMapping[] mappings = getSelectedMappings();
-		if (mappings.length == 0)
-			return;
-		SubscriberScopeManager manager = FileSystemOperation.createScopeManager(FileSystemSubscriber.getInstance().getName(), mappings);
-		FileSystemMergeContext context = new FileSystemMergeContext(manager);
-		FileSystemSynchronizeParticipant participant = new FileSystemSynchronizeParticipant(context);
-		TeamUI.getSynchronizeManager().addSynchronizeParticipants(new ISynchronizeParticipant[] {participant});
-		participant.run(getTargetPart());
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeWizard.java
deleted file mode 100644
index 4950efb..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeWizard.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 20046 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipant;
-import org.eclipse.team.ui.synchronize.ModelParticipantWizard;
-
-/**
- * This class is registered as the file system synchronization wizard.
- */
-public class SynchronizeWizard extends ModelParticipantWizard {
-	private IWizard importWizard;
-	
-	/*
-	 * Default no-arg constructor
-	 */
-	public SynchronizeWizard() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelParticipantWizard#createParticipant(org.eclipse.core.resources.mapping.ResourceMapping[])
-	 */
-	protected ISynchronizeParticipant createParticipant(ResourceMapping[] selectedMappings) {
-		SubscriberScopeManager manager = FileSystemOperation.createScopeManager(FileSystemSubscriber.getInstance().getName(), selectedMappings);
-		FileSystemMergeContext context = new FileSystemMergeContext(manager);
-		FileSystemSynchronizeParticipant participant = new FileSystemSynchronizeParticipant(context);
-		return participant;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ParticipantSynchronizeWizard#getImportWizard()
-	 */
-	protected IWizard getImportWizard() {
-		// We don't have an import wizard for the file system example but
-		// if we did, we could return it here and it would be used if the
-		// getRoots method returned an empty array.
-		return importWizard;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ParticipantSynchronizeWizard#getPageTitle()
-	 */
-	protected String getPageTitle() {
-		return "Synchronize File System Example";
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ParticipantSynchronizeWizard#getRootResources()
-	 */
-	protected IResource[] getRootResources() {
-		return FileSystemSubscriber.getInstance().roots();
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryParticipant.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryParticipant.java
deleted file mode 100644
index 63ed669..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryParticipant.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.localhistory;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.ISynchronizeModelElement;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipantDescriptor;
-import org.eclipse.team.ui.synchronize.SubscriberParticipant;
-import org.eclipse.team.ui.synchronize.SynchronizeModelAction;
-import org.eclipse.team.ui.synchronize.SynchronizeModelOperation;
-import org.eclipse.team.ui.synchronize.SynchronizePageActionGroup;
-
-public class LocalHistoryParticipant extends SubscriberParticipant {
-	
-	public static final String ID = "org.eclipse.team.synchronize.example"; //$NON-NLS-1$
-	public static final String CONTEXT_MENU_CONTRIBUTION_GROUP = "context_group_1"; //$NON-NLS-1$
-	
-	private class LocalHistoryActionContribution extends SynchronizePageActionGroup {
-		public void initialize(ISynchronizePageConfiguration configuration) {
-			super.initialize(configuration);
-			appendToGroup(
-					ISynchronizePageConfiguration.P_CONTEXT_MENU, CONTEXT_MENU_CONTRIBUTION_GROUP, 
-					new SynchronizeModelAction("Revert to latest in local history", configuration) { //$NON-NLS-1$
-						protected SynchronizeModelOperation getSubscriberOperation(ISynchronizePageConfiguration configuration, IDiffElement[] elements) {
-							return new RevertAllOperation(configuration, elements);
-						}
-					});
-		}
-	}
-	
-	private class LocalHistoryDecorator extends LabelProvider implements ILabelDecorator {
-		public String decorateText(String text, Object element) {
-			if(element instanceof ISynchronizeModelElement) {
-				ISynchronizeModelElement node = (ISynchronizeModelElement)element;
-				if(node instanceof IAdaptable) {
-					SyncInfo info = (SyncInfo)((IAdaptable)node).getAdapter(SyncInfo.class);
-					if(info != null) {
-						LocalHistoryVariant state = (LocalHistoryVariant)info.getRemote();
-						return text+ " ("+ state.getContentIdentifier() + ")";
-					}
-				}
-			}
-			return text;
-		}
-		
-		public Image decorateImage(Image image, Object element) {
-			return null;
-		}
-	}
-	
-	public LocalHistoryParticipant() {
-		setSubscriber(new LocalHistorySubscriber());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.subscriber.SubscriberParticipant#setSubscriber(org.eclipse.team.core.subscribers.Subscriber)
-	 */
-	protected void setSubscriber(Subscriber subscriber) {
-		super.setSubscriber(subscriber);
-		try {
-			ISynchronizeParticipantDescriptor descriptor = TeamUI.getSynchronizeManager().getParticipantDescriptor(ID);
-			setInitializationData(descriptor);
-			setSecondaryId(Long.toString(System.currentTimeMillis()));
-		} catch (CoreException e) {
-		}
-	}
-	
-	protected void initializeConfiguration(ISynchronizePageConfiguration configuration) {
-		super.initializeConfiguration(configuration);
-		configuration.addMenuGroup(
-				ISynchronizePageConfiguration.P_CONTEXT_MENU, 
-				CONTEXT_MENU_CONTRIBUTION_GROUP);
-		configuration.addActionContribution(new LocalHistoryActionContribution());
-		configuration.addLabelDecorator(new LocalHistoryDecorator());	
-	}
-	
-	protected static SyncInfo getSyncInfo(ISynchronizeModelElement element) {
-	    if (element instanceof IAdaptable) {
-		    return (SyncInfo)((IAdaptable)element).getAdapter(SyncInfo.class);
-	    }
-	    return null;
-	}
-	
-	public void prepareCompareInput(ISynchronizeModelElement element,
-			CompareConfiguration config, IProgressMonitor monitor)
-			throws TeamException {
-		super.prepareCompareInput(element, config, monitor);
-
-		SyncInfo sync = getSyncInfo(element);
-		final IResourceVariant remote = sync.getRemote();
-		if (remote != null) {
-			config.setRightLabel(NLS.bind("Local History ({0})",
-					new String[] { remote.getContentIdentifier() }));
-		} else {
-			config.setRightLabel("Local History");
-		}
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySubscriber.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySubscriber.java
deleted file mode 100644
index 71abbe5..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySubscriber.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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-public class LocalHistorySubscriber extends Subscriber {
-
-	private LocalHistoryVariantComparator comparator;
-	
-	public LocalHistorySubscriber() {
-		this.comparator = new LocalHistoryVariantComparator();
-	}
-	
-	public String getName() {
-		return "Local History Subscriber"; //$NON-NLS-1$
-	}
-
-	public boolean isSupervised(IResource resource) throws TeamException {
-		// all resources in the workspace can potentially have resource history
-		return true;
-	}
-
-	public IResource[] members(IResource resource) throws TeamException {
-		try {
-			if(resource.getType() == IResource.FILE)
-				return new IResource[0];
-			IContainer container = (IContainer)resource;
-			List existingChildren = new ArrayList(Arrays.asList(container.members()));
-			existingChildren.addAll(Arrays.asList(container.findDeletedMembersWithHistory(IResource.DEPTH_INFINITE, null)));
-			return (IResource[]) existingChildren.toArray(new IResource[existingChildren.size()]);
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-
-	public IResource[] roots() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	}
-
-	public SyncInfo getSyncInfo(IResource resource) throws TeamException {
-		try {
-			IResourceVariant variant = null;
-			if(resource.getType() == IResource.FILE) {
-				IFile file = (IFile)resource;
-				IFileState[] states = file.getHistory(null);
-				if(states.length > 0) {
-					// last state only
-					variant = new LocalHistoryVariant(states[0]);
-				} 
-			}
-			SyncInfo info = new LocalHistorySyncInfo(resource, variant, comparator);
-			info.init();
-			return info;
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-
-	public IResourceVariantComparator getResourceComparator() {
-		return comparator;
-	}
-
-	public void refresh(IResource[] resources, int depth, IProgressMonitor monitor) throws TeamException {
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySyncInfo.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySyncInfo.java
deleted file mode 100644
index 0dd4704..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySyncInfo.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.team.examples.localhistory;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-public class LocalHistorySyncInfo extends SyncInfo {
-	
-	public LocalHistorySyncInfo(IResource local, IResourceVariant remote, IResourceVariantComparator comparator) {
-		super(local, null, remote, comparator);
-	}
-
-	protected int calculateKind() throws TeamException {
-		if (getRemote() == null)
-			return IN_SYNC;
-		else
-			return super.calculateKind();
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySynchronizeWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySynchronizeWizard.java
deleted file mode 100644
index c8f037d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySynchronizeWizard.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.localhistory;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.team.internal.ui.ITeamUIImages;
-import org.eclipse.team.ui.TeamImages;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.team.ui.synchronize.ISynchronizeManager;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipant;
-
-
-public class LocalHistorySynchronizeWizard extends Wizard {
-
-	private class MessagePage extends WizardPage {		
-		protected MessagePage(String pageName, String title, ImageDescriptor titleImage) {
-			super(pageName, title, titleImage);
-		}
-
-		public void createControl(Composite parent) {
-			Composite top = new Composite(parent, SWT.NONE);
-			top.setLayout(new GridLayout());
-			top.setLayoutData(new GridData(GridData.FILL_BOTH));
-			Label label = new Label(top, SWT.WRAP);
-			label.setText("This will create a synchronization against the latest file state in local history."); //$NON-NLS-1$
-			label.setLayoutData(new GridData(GridData.FILL_BOTH));
-			setControl(top);
-		}
-	}
-	
-	public LocalHistorySynchronizeWizard() {
-		super();
-	}
-	
-	public void addPages() {
-		addPage(new MessagePage("Local History", "Create a local history synchronization", TeamImages.getImageDescriptor(ITeamUIImages.IMG_WIZBAN_SHARE)));  //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	public boolean performFinish() {
-		LocalHistoryParticipant participant = new LocalHistoryParticipant();
-		ISynchronizeManager manager = TeamUI.getSynchronizeManager();
-		manager.addSynchronizeParticipants(new ISynchronizeParticipant[] {participant});
-		ISynchronizeView view = manager.showSynchronizeViewInActivePage();
-		view.display(participant);
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariant.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariant.java
deleted file mode 100644
index b1f9b53..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariant.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import java.text.DateFormat;
-import java.util.Date;
-import org.eclipse.core.resources.IFileState;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.IResourceVariant;
-
-public class LocalHistoryVariant implements IResourceVariant {
-
-	private final IFileState state;
-
-	public LocalHistoryVariant(IFileState state) {
-		this.state = state;
-	}
-	
-	public String getName() {
-		return state.getName();
-	}
-
-	public boolean isContainer() {
-		return false;
-	}
-
-	public IStorage getStorage(IProgressMonitor monitor) throws TeamException {
-		return state;
-	}
-
-	public String getContentIdentifier() {
-		return DateFormat.getDateTimeInstance().format(new Date(state.getModificationTime()));
-	}
-
-	public byte[] asBytes() {
-		return null;
-	}
-	
-	public IFileState getFileState() {
-		return state;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariantComparator.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariantComparator.java
deleted file mode 100644
index fd9995f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariantComparator.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.team.examples.localhistory;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-public class LocalHistoryVariantComparator implements IResourceVariantComparator {
-	public boolean compare(IResource local, IResourceVariant remote) {
-		return false;
-	}
-
-	public boolean compare(IResourceVariant base, IResourceVariant remote) {
-		return false;
-	}
-
-	public boolean isThreeWay() {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/RevertAllOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/RevertAllOperation.java
deleted file mode 100644
index f70f640..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/RevertAllOperation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.team.ui.synchronize.SynchronizeModelOperation;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-public class RevertAllOperation extends SynchronizeModelOperation {
-
-	protected RevertAllOperation(ISynchronizePageConfiguration configuration, IDiffElement[] elements) {
-		super(configuration, elements);
-	}
-	
-	protected boolean canRunAsJob() {
-		return true;
-	}
-
-	public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		final SyncInfo infos[] = getSyncInfoSet().getSyncInfos();
-		if(infos.length == 0) return;
-			
-		WorkspaceModifyOperation operation= new WorkspaceModifyOperation() {
-			public void execute(IProgressMonitor pm) throws InvocationTargetException {
-				try {
-					pm.beginTask("Reverting from local history", 100 * infos.length);	 //$NON-NLS-1$
-					for (int i = 0; i < infos.length; i++) {
-						SyncInfo info = infos[i];
-						LocalHistoryVariant state = (LocalHistoryVariant)info.getRemote();
-						IFile file = (IFile)info.getLocal();
-						if(file.exists()) {
-							file.setContents(state.getFileState(), false, true, new SubProgressMonitor(pm, 100));
-						} else {
-							// TODO: have to pre-create parents if they dont exist
-							file.create(state.getFileState().getContents(), false, new SubProgressMonitor(pm, 100));
-						}
-					}
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					pm.done();
-				}
-			}
-		};
-		operation.run(monitor);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelContainer.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelContainer.java
deleted file mode 100644
index c7e7808..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelContainer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-
-public abstract class ModelContainer extends ModelResource {
-
-	protected ModelContainer(IContainer container) {
-		super(container);
-	}
-	
-	protected IContainer getContainer() {
-		return (IContainer)getResource();
-	}
-	
-	public ModelObject[] getChildren() throws CoreException {
-		IResource[] members = getContainer().members();
-		List result = new ArrayList();
-		for (int i = 0; i < members.length; i++) {
-			IResource resource = members[i];
-			if (resource instanceof IFolder) {
-				result.add(new ModelFolder((IFolder) resource));
-			} else if (ModelObjectDefinitionFile.isModFile(resource)) {
-				result.add(new ModelObjectDefinitionFile((IFile)resource));
-			} else if (resource instanceof IProject && ModelProject.isModProject((IProject) resource)) {
-				result.add(new ModelProject((IProject) resource));
-			}
-		}
-		return (ModelObject[]) result.toArray(new ModelObject[result.size()]);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFile.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFile.java
deleted file mode 100644
index f334c0e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFile.java
+++ /dev/null
@@ -1,27 +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.team.examples.model;
-
-import org.eclipse.core.resources.IFile;
-
-public abstract class ModelFile extends ModelResource {
-
-	protected ModelFile(IFile file) {
-		super(file);
-	}
-	
-	public String getName() {
-		String name = super.getName();
-		int index = name.lastIndexOf(".");
-		return name.substring(0, index);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFolder.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFolder.java
deleted file mode 100644
index 7644738..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFolder.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.team.examples.model;
-
-import org.eclipse.core.resources.IFolder;
-
-public class ModelFolder extends ModelContainer {
-
-	public ModelFolder(IFolder folder) {
-		super(folder);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelNature.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelNature.java
deleted file mode 100644
index d4dbb8c..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelNature.java
+++ /dev/null
@@ -1,53 +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.team.examples.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-
-/**
- * Nature used to identify a model project
- */
-public class ModelNature implements IProjectNature {
-
-	public static final String NATURE_ID = "org.eclipse.team.examples.filesystem.modelNature";
-	
-    private IProject project;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IProjectNature#configure()
-     */
-    public void configure() {
-        // Nothing to do
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IProjectNature#deconfigure()
-     */
-    public void deconfigure() {
-        // Nothing to do
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IProjectNature#getProject()
-     */
-    public IProject getProject() {
-        return project;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IProjectNature#setProject(org.eclipse.core.resources.IProject)
-     */
-    public void setProject(IProject project) {
-        this.project = project;
-    }
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObject.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObject.java
deleted file mode 100644
index adbcd4e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObject.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.team.examples.model;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.PlatformObject;
-
-public abstract class ModelObject extends PlatformObject {
-
-	public static ModelObject create(IResource resource) {
-		switch (resource.getType()) {
-		case IResource.ROOT:
-			return new ModelWorkspace();
-		case IResource.PROJECT:
-			return new ModelProject((IProject)resource);
-		case IResource.FOLDER:
-			return new ModelFolder((IFolder)resource);
-		case IResource.FILE:
-			if (ModelObjectDefinitionFile.isModFile(resource)) {
-				return new ModelObjectDefinitionFile((IFile)resource);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Return the name of the model object.
-	 * @return the name of the model object
-	 */
-	public abstract String getName();
-
-	/**
-	 * Return the path of this object in the model namespace.
-	 * @return the path of this object in the model namespace
-	 */
-	public abstract String getPath();
-
-	/**
-	 * Return the children of this object.
-	 * @return the children of this object
-	 */
-	public abstract ModelObject[] getChildren() throws CoreException;
-
-	/**
-	 * Return the parent of this object.
-	 * @return the parent of this object
-	 */
-	public abstract ModelObject getParent();
-
-	/**
-	 * Delete the model object
-	 */
-	public abstract void delete() throws CoreException;
-
-	/**
-	 * Return the project that contains this model object.
-	 * @return the project that contains this model object
-	 */
-	public abstract ModelProject getProject();
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java
deleted file mode 100644
index a303780..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java
+++ /dev/null
@@ -1,173 +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.team.examples.model;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-
-public class ModelObjectDefinitionFile extends ModelFile {
-
-	public static final String MODEL_OBJECT_DEFINITION_FILE_EXTENSION = "mod";
-
-	public static boolean isModFile(IResource resource) {
-		if (resource instanceof IFile) {
-			String fileExtension = resource.getFileExtension();
-			if (fileExtension != null)
-				return fileExtension.equals(MODEL_OBJECT_DEFINITION_FILE_EXTENSION);
-		}
-		return false;
-	}
-	
-	public static IResource[] getReferencedResources(String projectName, IStorage storage) throws CoreException {
-		if (storage == null)
-			return new IResource[0];
-		List result = new ArrayList();
-		String[] filePaths = readLines(storage);
-		for (int i = 0; i < filePaths.length; i++) {
-			String path = filePaths[i];
-			IFile file = getFile(projectName, path);
-			if (file != null 
-					&& file.getFileExtension() != null 
-					&& file.getFileExtension().equals(ModelObjectElementFile.MODEL_OBJECT_ELEMENTFILE_EXTENSION)) {
-				result.add(file);
-			}
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-	
-	public ModelObjectDefinitionFile(IFile file) {
-		super(file);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.model.ModelObject#getChildren()
-	 */
-	public ModelObject[] getChildren() throws CoreException {
-		return getModelObjectElementFiles();
-	}
-
-	public ModelObjectElementFile[] getModelObjectElementFiles() throws CoreException {
-		List result = new ArrayList();
-		String[] filePaths = readLines((IFile)getResource());
-		for (int i = 0; i < filePaths.length; i++) {
-			String path = filePaths[i];
-			IFile file = getFile(getResource().getProject().getName(), path);
-			if (file != null) {
-				ModelObjectElementFile moeFile = getMoeFile(file);
-				if (moeFile != null)
-					result.add(moeFile);
-			}
-		}
-		return (ModelObjectElementFile[]) result.toArray(new ModelObjectElementFile[result.size()]);
-	}
-
-	private static String[] readLines(IStorage file) throws CoreException {
-		BufferedReader reader = new BufferedReader(new InputStreamReader(file.getContents()));
-		String line = null;
-		List result = new ArrayList();
-		try {
-			while ((line = reader.readLine()) != null) {
-				result.add(line.trim());
-			}
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, 
-					NLS.bind("Error reading from file {0}", file.getFullPath()), e));
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-				// Ignore
-			}
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	private void writeLines(String[] strings) throws CoreException {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < strings.length; i++) {
-			String string = strings[i];
-			buffer.append(string);
-			buffer.append("\n");
-		}
-		((IFile)getResource()).setContents(new ByteArrayInputStream(buffer.toString().getBytes()), false, true, null);
-	}
-	
-	private ModelObjectElementFile getMoeFile(IFile file) {
-		if (ModelObjectElementFile.isMoeFile(file)) {
-			return new ModelObjectElementFile(this, file);
-		}
-		return null;
-	}
-
-	private static IFile getFile(String projectName, String path) {
-		if (path.length() == 0)
-			return null;
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validatePath("/" + projectName + "/" + path, IResource.FILE);
-		if (status.isOK()) {
-			IProject project = workspace.getRoot().getProject(projectName);
-			return project.getFile(new Path(path));
-		}
-		FileSystemPlugin.log(status);
-		return null;
-	}
-
-	public void addMoe(IFile file) throws CoreException {
-		((IFile)getResource()).appendContents(new ByteArrayInputStream(("\n" + file.getProjectRelativePath()).getBytes()), false, true, null);
-	}
-
-	public void remove(ModelObjectElementFile file) throws CoreException {
-		ModelObjectElementFile[] files = getModelObjectElementFiles();
-		List paths = new ArrayList();
-		for (int i = 0; i < files.length; i++) {
-			ModelObjectElementFile child = files[i];
-			if (!child.equals(file)) {
-				paths.add(child.getResource().getProjectRelativePath().toString());
-			}
-		}
-		writeLines((String[]) paths.toArray(new String[paths.size()]));
-	}
-
-	public void delete() throws CoreException {
-		ModelObjectElementFile[] files = getModelObjectElementFiles();
-		super.delete();
-		for (int i = 0; i < files.length; i++) {
-			ModelObjectElementFile file = files[i];
-			file.getResource().delete(false, null);
-		}
-	}
-
-	public void setElements(IResource[] resources) throws CoreException {
-		List paths = new ArrayList();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			paths.add(resource.getProjectRelativePath().toString());
-		}
-		writeLines((String[]) paths.toArray(new String[paths.size()]));
-	}
-
-	public boolean hasMoe(IFile file) throws CoreException {
-		ModelObjectElementFile[] files = getModelObjectElementFiles();
-		for (int i = 0; i < files.length; i++) {
-			ModelObjectElementFile child = files[i];
-			if (child.getResource().equals(file))
-				return true;
-		}
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectElementFile.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectElementFile.java
deleted file mode 100644
index 84ec392..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectElementFile.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.team.examples.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-public class ModelObjectElementFile extends ModelFile {
-
-	public static final String MODEL_OBJECT_ELEMENTFILE_EXTENSION = "moe";
-	
-	private final ModelObjectDefinitionFile parent;
-
-	public static boolean isMoeFile(IResource resource) {
-		return resource instanceof IFile 
-			&& resource.getFileExtension().equals(MODEL_OBJECT_ELEMENTFILE_EXTENSION);
-	}
-	
-	public ModelObjectElementFile(ModelObjectDefinitionFile parent, IFile file) {
-		super(file);
-		this.parent = parent;
-	}
-
-	public ModelObject[] getChildren() {
-		return new ModelObject[0];
-	}
-	
-	public ModelObject getParent() {
-		return parent;
-	}
-	
-	public void delete() throws CoreException {
-		parent.remove(this);
-		super.delete();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelProject.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelProject.java
deleted file mode 100644
index a3f58a2..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelProject.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.team.examples.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public class ModelProject extends ModelContainer {
-
-	public static boolean isModProject(IProject project) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		return description.hasNature(ModelNature.NATURE_ID);
-	}
-	
-	public static void makeModProject(IProject project, IProgressMonitor monitor) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		String[] natureIds = description.getNatureIds();
-		List result = new ArrayList();
-		for (int i = 0; i < natureIds.length; i++) {
-			result.add(natureIds[i]);
-		}
-		result.add(ModelNature.NATURE_ID);
-		description.setNatureIds((String[]) result.toArray(new String[result.size()]));
-		project.setDescription(description, monitor);
-	}
-	
-	public ModelProject(IProject project) {
-		super(project);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelResource.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelResource.java
deleted file mode 100644
index c5e4a54..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelResource.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.team.examples.model;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A model object that has a corresponding resource.
- * This does not indicate that the model object only
- * consists of a single resource. It only means that at least
- * the resource of this model element makes up the model
- * element. There may be other resources included as well.
- * <p>
- * The model consists of the following:
- * <ol>
- * <li>Model object definition files (*.mod). A MOD file consists
- * of a pointer to one of more model object element (*.moe) files.</li>
- * <li>Model object element file (*.moe) contain one or more elements</li>
- * <li>Model object projects correspond to workspace projects but only show child
- * folders and MOD files when expanded.</li>
- * <li>Model object folders correspond to workspace folders but only show child
- * folders and MOD files when expanded.</li>
- * </ol>
- * 
- */
-public abstract class ModelResource extends ModelObject{
-	private final IResource resource;
-	
-	protected ModelResource(IResource resource) {
-		this.resource = resource;
-	}
-
-	public IResource getResource() {
-		return resource;
-	}
-	
-	public String getName() {
-		return getResource().getName();
-	}
-	
-	public String getPath() {
-		return getResource().getFullPath().makeRelative().toString();
-	}
-	
-	public ModelObject getParent() {
-		return ModelObject.create(getResource().getParent());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof ModelResource) {
-			ModelResource mr = (ModelResource) obj;
-			return getResource().equals(mr.getResource());
-		}
-		return super.equals(obj);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getResource().hashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.model.ModelObject#delete()
-	 */
-	public void delete() throws CoreException {
-		getResource().delete(false, null);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.model.ModelObject#getProject()
-	 */
-	public ModelProject getProject() {
-		return (ModelProject)ModelObject.create(getResource().getProject());
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelWorkspace.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelWorkspace.java
deleted file mode 100644
index bbd26ad..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelWorkspace.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-
-public class ModelWorkspace extends ModelContainer {
-
-	protected ModelWorkspace() {
-		super(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	
-	public String getName() {
-		return "Model Root";
-	}
-	
-	public ModelObject getParent() {
-		return null;
-	}
-
-	public static Object getRoot() {
-		return new ModelWorkspace();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/PluginManifestChangeTracker.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/PluginManifestChangeTracker.java
deleted file mode 100644
index ddccae0..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/PluginManifestChangeTracker.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.team.examples.model;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.mapping.ChangeTracker;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-
-public class PluginManifestChangeTracker extends ChangeTracker {
-	
-	Set manifestFilePaths;
-	
-	public PluginManifestChangeTracker() {
-		manifestFilePaths = new HashSet();
-		manifestFilePaths.add(new Path(null, "plugin.xml"));
-		manifestFilePaths.add(new Path(null, "plugin.properties"));
-		manifestFilePaths.add(new Path(null, "build.properties"));
-		manifestFilePaths.add(new Path(null, "META-INF/MANIFEST.MF"));
-	}
-
-	protected boolean isProjectOfInterest(IProject project) {
-		return super.isProjectOfInterest(project) && hasPDENature(project);
-	}
-	
-	private boolean hasPDENature(IProject project) {
-		try {
-			return project.getDescription().hasNature("org.eclipse.pde.PluginNature");
-		} catch (CoreException e) {
-			FileSystemPlugin.log(new Status(e.getStatus().getSeverity(), FileSystemPlugin.ID, 0, 
-					NLS.bind("Could not obtain project description for {0}", project.getName()), e));
-		}
-		return false;
-	}
-
-	protected void handleChanges(IProject project, IResource[] resources) {
-		handleProjectChange(project);
-	}
-
-	protected void handleProjectChange(IProject project) {
-		List changes = new ArrayList();
-		for (Iterator iter = manifestFilePaths.iterator(); iter.hasNext();) {
-			IPath path = (IPath) iter.next();
-			IFile file = project.getFile(path);
-			try {
-				if (isModified(file)) {
-					changes.add(file);
-				}
-			} catch (CoreException e) {
-				FileSystemPlugin.log(new Status(e.getStatus().getSeverity(), FileSystemPlugin.ID, 0, 
-						NLS.bind("Could not obtain diff for {0}", file.getFullPath().toString()), e));
-			}
-		}
-		if (changes.size() > 1) {
-			groupInSet(project, (IFile[]) changes.toArray(new IFile[changes.size()]));
-		}
-	}
-
-	private void groupInSet(IProject project, IFile[] files) {
-		String name = getSetName(project);
-		try {
-			ensureGrouped(project, name, files);
-		} catch (CoreException e) {
-			FileSystemPlugin.log(new Status(e.getStatus().getSeverity(), FileSystemPlugin.ID, 0, 
-					NLS.bind("Could not create change set {0}", name), e));
-		}
-	}
-
-	private String getSetName(IProject project) {
-		return "Plugin manifest files for " + project.getName();
-	}
-
-	protected boolean isResourceOfInterest(IResource resource) {
-		return manifestFilePaths.contains(resource.getProjectRelativePath());
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ExampleModelProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ExampleModelProvider.java
deleted file mode 100644
index b244cec..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ExampleModelProvider.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.team.examples.model.mapping;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-
-/**
- * The model provider for our example
- */
-public class ExampleModelProvider extends
-		org.eclipse.core.resources.mapping.ModelProvider {
-
-	public static final String ID = "org.eclipse.team.examples.filesystem.modelProvider";
-
-	public ExampleModelProvider() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ModelProvider#validateChange(org.eclipse.core.resources.IResourceDelta, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus validateChange(IResourceDelta delta, IProgressMonitor monitor) {
-		// Visit the changes in the delta to look for changes we care about
-		final List problems = new ArrayList();
-		try {
-			delta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta delta) throws CoreException {
-					IResource resource = delta.getResource();
-					if (ModelObjectElementFile.isMoeFile(resource)) {
-						// Removal may leave a stale reference in a MOD file
-						if (delta.getKind() == IResourceDelta.REMOVED) {
-							IStatus status = new ModelStatus(IStatus.ERROR, FileSystemPlugin.ID, getDescriptor().getId(), 
-									NLS.bind("Deleting file {0} may corrupt any model definition that references it.", resource.getFullPath()));
-							problems.add(status);
-						}
-					}
-					if (ModelObjectDefinitionFile.isModFile(resource)) {
-						// Removal may leave unreferenced MOE files around
-						if (delta.getKind() == IResourceDelta.REMOVED) {
-							IStatus status = new ModelStatus(IStatus.WARNING, FileSystemPlugin.ID, getDescriptor().getId(), 
-									NLS.bind("Deleting file {0} may result in unreferenced element files.", resource.getFullPath()));
-							problems.add(status);
-						}
-						if (delta.getKind() == IResourceDelta.ADDED 
-								&& ((delta.getFlags() & IResourceDelta.COPIED_FROM) > 0)) {
-							// Copying will result in two MOD files that reference the same elements
-							IStatus status = new ModelStatus(IStatus.ERROR, FileSystemPlugin.ID, getDescriptor().getId(), 
-									NLS.bind("Copying file {0} may corrupt the model defintion.", delta.getMovedFromPath()));
-							problems.add(status);
-						}
-					}
-					return delta.getResource().getType() == IResource.ROOT 
-						|| ModelProject.isModProject(delta.getResource().getProject());
-				}
-			});
-		} catch (CoreException e) {
-			FileSystemPlugin.log(e.getStatus());
-		}
-		if (problems.size() == 1)
-			return (IStatus)problems.get(0);
-		else if (problems.size() > 1) {
-			return new MultiStatus(FileSystemPlugin.ID, 0, (IStatus[]) problems.toArray(new IStatus[problems.size()]), "Multiple potential side effects have been found.",  null);
-		}
-		return super.validateChange(delta, monitor);
-	}
-	
-	public ResourceMapping[] getMappings(IResource resource, ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
-		if (ModelProject.isModProject(resource.getProject())) {
-			ModelObject object = ModelObject.create(resource);
-			if (object != null)
-				return new ResourceMapping[] { (ResourceMapping)object.getAdapter(ResourceMapping.class) };
-		}
-		return super.getMappings(resource, context, monitor);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModResourceMapping.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModResourceMapping.java
deleted file mode 100644
index e7f38c9..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModResourceMapping.java
+++ /dev/null
@@ -1,101 +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.team.examples.model.mapping;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-
-public class ModResourceMapping extends ModelResourceMapping {
-
-	public ModResourceMapping(ModelObjectDefinitionFile file) {
-		super(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-			IProgressMonitor monitor) throws CoreException {
-		Set resources = getLocalResources();
-		if (context instanceof RemoteResourceMappingContext) {
-			monitor.beginTask(null, IProgressMonitor.UNKNOWN);
-			RemoteResourceMappingContext remoteContext = (RemoteResourceMappingContext) context;
-			if (remoteContext.hasRemoteChange(getResource(), new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN))) {
-				IResource[] remoteResources = ModelObjectDefinitionFile.getReferencedResources(
-						getResource().getProject().getName(), 
-						remoteContext.fetchRemoteContents((IFile)getResource(), 
-								new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)));
-				for (int i = 0; i < remoteResources.length; i++) {
-					IResource resource = remoteResources[i];
-					resources.add(resource);
-				}
-			}
-			if (remoteContext.isThreeWay() 
-					&& remoteContext.hasLocalChange(getResource(), new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN))) {
-				IResource[] remoteResources = ModelObjectDefinitionFile.getReferencedResources(
-						getResource().getProject().getName(),
-						remoteContext.fetchBaseContents((IFile)getResource(), 
-								new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)));
-				for (int i = 0; i < remoteResources.length; i++) {
-					IResource resource = remoteResources[i];
-					resources.add(resource);
-				}
-			}
-			monitor.done();
-		}
-		return new ResourceTraversal[] { 
-				new ResourceTraversal((IResource[]) resources.toArray(new IResource[resources.size()]), 
-						IResource.DEPTH_ZERO, IResource.NONE)
-			};
-	}
-
-	private IResource getResource() {
-		return ((ModelResource)getModelObject()).getResource();
-	}
-	
-	private Set getLocalResources() throws CoreException {
-		ModelObjectDefinitionFile mdf = (ModelObjectDefinitionFile)getModelObject();
-		Set resources = new HashSet();
-		resources.add(mdf.getResource());
-		ModelObjectElementFile[] files = mdf.getModelObjectElementFiles();
-		for (int i = 0; i < files.length; i++) {
-			ModelObjectElementFile file = files[i];
-			resources.add(file.getResource());
-		}
-		return resources;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#contains(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public boolean contains(ResourceMapping mapping) {
-		if (mapping instanceof ModelResourceMapping) {
-			ModelObject object = (ModelObject)mapping.getModelObject();
-			if (object instanceof ModelResource) {
-				IResource resource = ((ModelResource) object).getResource();
-				try {
-					return getLocalResources().contains(resource);
-				} catch (CoreException e) {
-					FileSystemPlugin.log(e.getStatus());
-				}
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelContainerResourceMapping.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelContainerResourceMapping.java
deleted file mode 100644
index 85e61de..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelContainerResourceMapping.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.team.examples.model.mapping;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.model.*;
-
-public class ModelContainerResourceMapping extends ModelResourceMapping {
-
-	public ModelContainerResourceMapping(ModelContainer container) {
-		super(container);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-			IProgressMonitor monitor) throws CoreException {
-		return new ResourceTraversal[] { 
-				new ResourceTraversal(new IResource[] { 
-						getResource()
-				}, IResource.DEPTH_INFINITE, IResource.NONE)
-			};
-	}
-
-	private IResource getResource() {
-		return ((ModelContainer)getModelObject()).getResource();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#contains(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public boolean contains(ResourceMapping mapping) {
-		if (mapping instanceof ModelResourceMapping) {
-			ModelObject object = (ModelObject)mapping.getModelObject();
-			if (object instanceof ModelResource) {
-				IResource resource = ((ModelResource) object).getResource();
-				return getResource().getFullPath().isPrefixOf(resource.getFullPath());
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelMerger.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelMerger.java
deleted file mode 100644
index 920a816..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelMerger.java
+++ /dev/null
@@ -1,278 +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.team.examples.model.mapping;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.mapping.*;
-import org.eclipse.team.core.mapping.provider.*;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-
-/**
- * A resource mapping merger for our example model 
- */
-public class ModelMerger extends ResourceMappingMerger {
-
-	private final org.eclipse.team.examples.model.mapping.ExampleModelProvider provider;
-
-	public ModelMerger(org.eclipse.team.examples.model.mapping.ExampleModelProvider provider) {
-		this.provider = provider;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.ResourceMappingMerger#getModelProvider()
-	 */
-	protected org.eclipse.core.resources.mapping.ModelProvider getModelProvider() {
-		return provider;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.ResourceMappingMerger#merge(org.eclipse.team.core.mapping.IMergeContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus merge(IMergeContext mergeContext, IProgressMonitor monitor) throws CoreException {
-		try {
-			IStatus status;
-			// Only override the merge for three-way synchronizations
-			if (mergeContext.getType() == SynchronizationContext.THREE_WAY) {
-				monitor.beginTask("Merging model elements", 100);
-				status = mergeModelElements(mergeContext, new SubProgressMonitor(monitor, 50));
-				// Stop the merge if there was a failure
-				if (!status.isOK())
-					return status;
-				// We need to wait for any background processing to complete for the context
-				// so the diff tree will be up-to-date when we delegate the rest of the merge
-				// to the superclass
-				try {
-					Platform.getJobManager().join(mergeContext, new SubProgressMonitor(monitor, 50));
-				} catch (InterruptedException e) {
-					// Ignore
-				}
-				// Delegate the rest of the merge to the superclass
-				status = super.merge(mergeContext, monitor);
-			} else {
-				status = super.merge(mergeContext, monitor);
-			}
-			return status;
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/*
-	 * Merge all the model element changes in the context
-	 */
-	private IStatus mergeModelElements(IMergeContext mergeContext, IProgressMonitor monitor) throws CoreException {
-		try {
-			IDiff[] modeDiffs = getModDiffs(mergeContext);
-			List failures = new ArrayList();
-			monitor.beginTask(null, 100 * modeDiffs.length);
-			for (int i = 0; i < modeDiffs.length; i++) {
-				IDiff diff = modeDiffs[i];
-				if (!mergeModelElement(mergeContext, diff, new SubProgressMonitor(monitor, 100))) {
-					failures.add(diff);
-				}
-			}
-			if (failures.size() > 0) {
-				return new MergeStatus(FileSystemPlugin.ID, "Several objects could not be merged", getMappings(failures));
-			}
-			return Status.OK_STATUS;
-		} finally {
-			monitor.done();
-		}
-	}
-
-	private ResourceMapping[] getMappings(List failures) {
-		List mappings = new ArrayList();
-		for (Iterator iter = failures.iterator(); iter.hasNext();) {
-			IDiff diff = (IDiff) iter.next();
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			ModelObjectDefinitionFile file = (ModelObjectDefinitionFile)ModelObject.create(resource);
-			mappings.add(file.getAdapter(ResourceMapping.class));
-		}
-		return (ResourceMapping[]) mappings.toArray(new ResourceMapping[mappings.size()]);
-	}
-
-	/*
-	 * Return all the diffs for MOD files.
-	 */
-	private IDiff[] getModDiffs(IMergeContext mergeContext) {
-		final List result = new ArrayList();
-		mergeContext.getDiffTree().accept(getModelProjectTraversals(mergeContext), new IDiffVisitor() {
-			public boolean visit(IDiff diff) {
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				if (ModelObjectDefinitionFile.isModFile(resource)) {
-					result.add(diff);
-				}
-				return true;
-			}
-		
-		});
-		return (IDiff[]) result.toArray(new IDiff[result.size()]);
-	}
-
-	/*
-	 * Return a traversal that covers all the model projects in the scope of the merge.
-	 */
-	private ResourceTraversal[] getModelProjectTraversals(IMergeContext mergeContext) {
-		IProject[] scopeProjects = mergeContext.getScope().getProjects();
-		List modelProjects = new ArrayList();
-		for (int i = 0; i < scopeProjects.length; i++) {
-			IProject project = scopeProjects[i];
-			try {
-				if (ModelProject.isModProject(project)) {
-					modelProjects.add(project);
-				}
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e.getStatus());
-			}
-		}
-		if (modelProjects.isEmpty())
-			return new ResourceTraversal[0];
-		return new ResourceTraversal[] { 
-			new ResourceTraversal((IResource[]) modelProjects.toArray(new IResource[modelProjects.size()]), 
-					IResource.DEPTH_INFINITE, IResource.NONE)	
-		};
-	}
-
-	/*
-	 * Merge the model definition file and all the element files it contains.
-	 */
-	private boolean mergeModelElement(IMergeContext mergeContext, IDiff diff, IProgressMonitor monitor) throws CoreException {
-		if (diff instanceof IThreeWayDiff) {
-			IThreeWayDiff twd = (IThreeWayDiff) diff;
-			if (twd.getDirection() == IThreeWayDiff.INCOMING
-					|| twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				
-				// First, check if a change conflicts with a deletion
-				if (twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-					if (!resource.exists())
-						return false;
-					if (((IResourceDiff)twd.getRemoteChange()).getAfterState() == null)
-						return false;
-				}
-				
-				// First determine the element files and element file changes
-				IResourceDiff remoteChange = (IResourceDiff)twd.getRemoteChange();
-				IResource[] localElements = getReferencedResources(resource);
-				IResource[] baseElements = getReferencedResources(resource.getProject().getName(), remoteChange.getBeforeState(), monitor);
-				IResource[] remoteElements = getReferencedResources(resource.getProject().getName(), remoteChange.getAfterState(), monitor);
-				IResource[] addedElements = getAddedElements(baseElements, remoteElements);
-				// Trick: The removed elements can be obtained by reversing the base and remote and looking for added
-				IResource[] removedElements = getAddedElements(remoteElements, baseElements);
-				
-				// Check to see if any removed elements have changed locally
-				if (hasOutgoingChanges(mergeContext, removedElements)) {
-					return false;
-				}
-				
-				// Now try to merge all the element files involved
-				Set elementFiles = new HashSet();
-				elementFiles.addAll(Arrays.asList(baseElements));
-				elementFiles.addAll(Arrays.asList(localElements));
-				elementFiles.addAll(Arrays.asList(remoteElements));
-				if (!mergeElementFiles(mergeContext, (IResource[]) elementFiles.toArray(new IResource[elementFiles.size()]), monitor)) {
-					return false;
-				}
-				
-				// Finally, merge the model definition
-				if (!resource.exists()) {
-					// This is a new model definition so just merge it
-					IStatus status = mergeContext.merge(diff, false, monitor);
-					if (!status.isOK())
-						return false;
-				} else {
-					// Update the contents of the model definition file
-					ModelObjectDefinitionFile file = (ModelObjectDefinitionFile)ModelObject.create(resource);
-					elementFiles = new HashSet();
-					elementFiles.addAll(Arrays.asList(localElements));
-					elementFiles.addAll(Arrays.asList(addedElements));
-					elementFiles.removeAll(Arrays.asList(removedElements));
-					file.setElements((IResource[]) elementFiles.toArray(new IResource[elementFiles.size()]));
-					// Let the merge context know we handled the file
-					mergeContext.markAsMerged(diff, false, monitor);
-				}
-			}
-		}
-		return true;
-	}
-
-	private boolean mergeElementFiles(IMergeContext mergeContext, IResource[] resources, IProgressMonitor monitor) throws CoreException {
-		IDiff[] diffs = getDiffs(mergeContext, resources);
-		IStatus status = mergeContext.merge(diffs, false, monitor);
-		return status.isOK();
-	}
-
-	private IDiff[] getDiffs(IMergeContext mergeContext, IResource[] resources) {
-		Set diffSet = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			IDiff[] diffs = mergeContext.getDiffTree().getDiffs(resource, IResource.DEPTH_ZERO);
-			diffSet.addAll(Arrays.asList(diffs));
-		}
-		return (IDiff[]) diffSet.toArray(new IDiff[diffSet.size()]);
-	}
-
-	private boolean hasOutgoingChanges(IMergeContext mergeContext, IResource[] removedElements) {
-		FastDiffFilter fastDiffFilter = new FastDiffFilter() {
-			public boolean select(IDiff diff) {
-				if (diff instanceof IThreeWayDiff) {
-					IThreeWayDiff twd = (IThreeWayDiff) diff;
-					return twd.getDirection() == IThreeWayDiff.OUTGOING || twd.getDirection() == IThreeWayDiff.CONFLICTING;
-				}
-				return false;
-			}
-		};
-		for (int i = 0; i < removedElements.length; i++) {
-			IResource resource = removedElements[i];
-			if  (mergeContext.getDiffTree().hasMatchingDiffs(resource.getFullPath(), fastDiffFilter))
-				return true;	
-		}
-		return false;
-	}
-
-	private IResource[] getAddedElements(IResource[] baseElements, IResource[] remoteElements) {
-		List result = new ArrayList();
-		Set base = new HashSet();
-		for (int i = 0; i < baseElements.length; i++) {
-			IResource resource = baseElements[i];
-			base.add(resource);
-		}
-		for (int i = 0; i < remoteElements.length; i++) {
-			IResource resource = remoteElements[i];
-			if (!base.contains(resource))
-				result.add(resource);
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	private IResource[] getReferencedResources(IResource resource) throws CoreException {
-		if (resource instanceof IFile && resource.exists()) {
-			return ModelObjectDefinitionFile.getReferencedResources(resource.getProject().getName(), (IFile) resource);
-		}
-		return new IResource[0];
-	}
-	
-	private IResource[] getReferencedResources(String projectName, IFileRevision revision, IProgressMonitor monitor) throws CoreException {
-		if (revision != null) {
-			return ModelObjectDefinitionFile.getReferencedResources(projectName, revision.getStorage(monitor));
-		} 
-		return new IResource[0];
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelResourceMapping.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelResourceMapping.java
deleted file mode 100644
index e936a94..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelResourceMapping.java
+++ /dev/null
@@ -1,59 +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.team.examples.model.mapping;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.team.examples.model.*;
-
-public abstract class ModelResourceMapping extends ResourceMapping {
-
-	private final ModelObject object;
-
-	public static ResourceMapping create(ModelObject object) {
-		if (object instanceof ModelContainer) {
-			return new ModelContainerResourceMapping((ModelContainer) object);
-		}
-		if (object instanceof ModelObjectDefinitionFile) {
-			return new ModResourceMapping((ModelObjectDefinitionFile) object);
-		}
-		if (object instanceof ModelObjectElementFile) {
-			return new MoeResourceMapping((ModelObjectElementFile) object);
-		}
-		return null;
-	}
-	
-	protected ModelResourceMapping(ModelObject object) {
-		this.object = object;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getModelObject()
-	 */
-	public Object getModelObject() {
-		return object;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getModelProviderId()
-	 */
-	public String getModelProviderId() {
-		return ExampleModelProvider.ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getProjects()
-	 */
-	public IProject[] getProjects() {
-		return new IProject[] { (IProject)object.getProject().getResource() };
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/MoeResourceMapping.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/MoeResourceMapping.java
deleted file mode 100644
index 3619f65..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/MoeResourceMapping.java
+++ /dev/null
@@ -1,50 +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.team.examples.model.mapping;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.model.*;
-
-public class MoeResourceMapping extends ModelResourceMapping {
-
-	public MoeResourceMapping(ModelObjectElementFile file) {
-		super(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-			IProgressMonitor monitor) throws CoreException {
-		return new ResourceTraversal[] { 
-				new ResourceTraversal(new IResource[] { 
-						getResource()
-				}, IResource.DEPTH_ZERO, IResource.NONE)
-			};
-	}
-
-	private IResource getResource() {
-		return ((ModelResource)getModelObject()).getResource();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#contains(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public boolean contains(ResourceMapping mapping) {
-		if (mapping.equals(this))
-			return true;
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/AdapterFactory.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/AdapterFactory.java
deleted file mode 100644
index ce0ce56..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/AdapterFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.team.core.mapping.IResourceMappingMerger;
-import org.eclipse.team.examples.filesystem.ui.FileSystemHistoryPageSource;
-import org.eclipse.team.examples.model.ModelObject;
-import org.eclipse.team.examples.model.mapping.ExampleModelProvider;
-import org.eclipse.team.examples.model.mapping.ModelMerger;
-import org.eclipse.team.examples.model.mapping.ModelResourceMapping;
-import org.eclipse.team.examples.model.ui.mapping.CompareAdapter;
-import org.eclipse.team.ui.history.IHistoryPageSource;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class AdapterFactory implements IAdapterFactory {
-
-	private IWorkbenchAdapter modelAdapter = new ModelWorkbenchAdapter();
-	private ModelMerger modelMerger;
-	private CompareAdapter compareAdapter;
-	private static Object historyPageSource = new FileSystemHistoryPageSource();
-	
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType == IWorkbenchAdapter.class && adaptableObject instanceof ModelObject)
-			return modelAdapter;
-		if (adapterType == ResourceMapping.class && adaptableObject instanceof ModelObject)
-			return ModelResourceMapping.create((ModelObject)adaptableObject);
-		if (adapterType == IResourceMappingMerger.class && adaptableObject instanceof ExampleModelProvider) {
-			if (modelMerger == null) {
-				modelMerger = new ModelMerger((ExampleModelProvider)adaptableObject);
-			}
-			return modelMerger;
-		}
-		if (adapterType == ISynchronizationCompareAdapter.class && adaptableObject instanceof ExampleModelProvider) {
-			if (compareAdapter == null) {
-				compareAdapter = new CompareAdapter((ExampleModelProvider)adaptableObject);
-			}
-			return compareAdapter;
-		}
-		
-		if (adapterType == IHistoryPageSource.class){
-			return historyPageSource;
-		}
-		
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IWorkbenchAdapter.class, ResourceMapping.class, IResourceMappingMerger.class, ISynchronizationCompareAdapter.class };
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorActionProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorActionProvider.java
deleted file mode 100644
index 618926c..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorActionProvider.java
+++ /dev/null
@@ -1,214 +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.team.examples.model.ui;
-
-import java.io.ByteArrayInputStream;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.ui.navigator.*;
-
-/**
- * Model action provider for use with the Common Navigator framework. The
- * purpose of this example is to illustrate logical model integration support in
- * Eclipse and, more specifically, Team. It should not be taken as an
- * illustration of other features (e.g. UI responsiveness, etc).
- */
-public class ModelNavigatorActionProvider extends CommonActionProvider {
-
-	private Action newModAction;
-	private Action newFolderAction;
-	private Action newMoeAction;
-	private Action deleteAction;
-	private Action makeDirty;
-
-	public ModelNavigatorActionProvider() {
-		super();
-	}
-	
-	public void init(ICommonActionExtensionSite aSite) {
-		super.init(aSite);
-		createActions();
-	}
-
-	private void createActions() {
-		deleteAction = new Action("Delete") {
-			public void run() {
-				IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-				try {
-					for (Iterator iter = selection.iterator(); iter.hasNext();) {
-						Object element = iter.next();
-						if (element instanceof ModelObject) {
-							ModelObject mo = (ModelObject) element;
-							mo.delete();
-						}
-					}
-				} catch (CoreException e) {
-					ErrorDialog.openError(getShell(), null, null, e.getStatus());
-				}
-			}
-		};
-		newFolderAction = new Action("Create Folder") {
-			public void run() {
-				IContainer container = getSelectedContainer();
-				if (container != null) {
-					String name = promptForName();
-					if (name == null)
-						return;
-					IFolder folder = container.getFolder(new Path(name));
-					try {
-						folder.create(false, true, null);
-					} catch (CoreException e) {
-						ErrorDialog.openError(getShell(), null, null, e.getStatus());
-					}
-				}
-			}
-
-			private String promptForName() {
-				InputDialog dialog = new InputDialog(getShell(), "Enter Name", "Enter the name of the new folder", "New Folder", null);
-				int result = dialog.open();
-				if (result == Window.OK) {
-					return dialog.getValue();
-				}
-				return null;
-			}
-		};
-		newModAction = new Action("Create MOD File") {
-			public void run() {
-				IContainer container = getSelectedContainer();
-				if (container != null) {
-					String name = promptForName();
-					if (name == null)
-						return;
-					if (!name.endsWith(".mod"))
-						name += ".mod";
-					IFile file = container.getFile(new Path(name));
-					try {
-						file.create(new ByteArrayInputStream("".getBytes()), false, null);
-					} catch (CoreException e) {
-						ErrorDialog.openError(getShell(), null, null, e.getStatus());
-					}
-				}
-			}
-
-			private String promptForName() {
-				InputDialog dialog = new InputDialog(getShell(), "Enter Name", "Enter the name of the new model object", "New Object", null);
-				int result = dialog.open();
-				if (result == Window.OK) {
-					return dialog.getValue();
-				}
-				return null;
-			}
-		};
-		newMoeAction = new Action("Create MOE File") {
-			public void run() {
-				ModelObjectDefinitionFile modFile = getSelectedModFile();
-				if (modFile != null) {
-					String path = promptForPath((ModelContainer)modFile.getParent());
-					if (path == null)
-						return;
-					if (!path.endsWith(".moe"))
-						path += ".moe";
-					ModelContainer parent = (ModelContainer)modFile.getParent();
-					IFile file = ((IContainer)parent.getResource()).getFile(new Path(path));
-					try {
-						file.create(new ByteArrayInputStream("".getBytes()), false, null);
-						modFile.addMoe(file);
-					} catch (CoreException e) {
-						ErrorDialog.openError(getShell(), null, null, e.getStatus());
-					}
-				}
-			}
-
-			private String promptForPath(ModelContainer parent) {
-				InputDialog dialog = new InputDialog(getShell(), "Enter Path", "Enter the path of the new model element relative to " + parent.getPath(), "New Element", null);
-				int result = dialog.open();
-				if (result == Window.OK) {
-					return dialog.getValue();
-				}
-				return null;
-			}
-		};
-		makeDirty = new Action("Make Dirty") {
-			public void run() {
-				IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-				for (Iterator iter = selection.iterator(); iter.hasNext();) {
-					Object element = iter.next();
-					if (element instanceof ModelObjectDefinitionFile) {
-						ModelObjectDefinitionFile mo = (ModelObjectDefinitionFile) element;
-						ModelSaveablesProvider provider = getSaveablesProvider();
-						provider.makeDirty(mo);
-					}
-				}
-			}
-
-			private ModelSaveablesProvider getSaveablesProvider() {
-				ITreeContentProvider provider = getActionSite().getContentService().getContentExtensionById("org.eclipse.team.examples.model.navigator").getContentProvider();
-				return (ModelSaveablesProvider)Utils.getAdapter(provider, SaveablesProvider.class);
-			}
-		};
-	}
-	
-	protected Shell getShell() {
-		return getActionSite().getViewSite().getShell();
-	}
-
-	public void fillContextMenu(IMenuManager menu) {
-		super.fillContextMenu(menu);
-		menu.add(deleteAction);
-		IContainer container = getSelectedContainer();
-		if (container != null) {
-			menu.add(newFolderAction);
-			menu.add(newModAction);
-		}
-		ModelObjectDefinitionFile modFile = getSelectedModFile();
-		if (modFile != null) {
-			menu.add(newMoeAction);
-			menu.add(makeDirty);
-		}
-	}
-
-	IContainer getSelectedContainer() {
-		IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-		if (selection.size() == 1) {
-			Object o = selection.getFirstElement();
-			if (o instanceof ModelContainer) {
-				ModelContainer mc = (ModelContainer) o;
-				return (IContainer)mc.getResource();
-			}
-		}
-		return null;
-	}
-	
-	ModelObjectDefinitionFile getSelectedModFile() {
-		IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-		if (selection.size() == 1) {
-			Object o = selection.getFirstElement();
-			if (o instanceof ModelObjectDefinitionFile) {
-				return (ModelObjectDefinitionFile) o;
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorContentProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorContentProvider.java
deleted file mode 100644
index 11cb1e0..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorContentProvider.java
+++ /dev/null
@@ -1,330 +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.team.examples.model.ui;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.ui.mapping.*;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.model.BaseWorkbenchContentProvider;
-import org.eclipse.ui.navigator.*;
-
-/**
- * Model content provider for use with the Common Navigator framework.
- * It makes use of an IWorkbenchAdapter to get the children and parent 
- * of model objects. It also makes use of the Common Navigator pipeline 
- * to override the resource content extension so that model projects will
- * replace the corresponding resource project in the Project Explorer.
- */
-public class ModelNavigatorContentProvider extends BaseWorkbenchContentProvider
-		implements ICommonContentProvider, IResourceChangeListener, IPipelinedTreeContentProvider, ITeamStateChangeListener, IAdaptable {
-
-	private ICommonContentExtensionSite extensionSite;
-	private boolean isWorkspaceRoot;
-	private Viewer viewer;
-	private final boolean updateViewer;
-	private SynchronizationStateTester syncStateTester;
-	private Object saveablesProvider = new ModelSaveablesProvider();
-
-	public ModelNavigatorContentProvider() {
-		super();
-		updateViewer = true;
-	}
-	
-	/**
-	 * Create a contentProvider
-	 * @param updateViewer whether this content provider is reponsible for updating the viewer
-	 */
-	public ModelNavigatorContentProvider(boolean updateViewer) {
-		this.updateViewer = updateViewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.ICommonContentProvider#init(org.eclipse.ui.navigator.ICommonContentExtensionSite)
-	 */
-	public void init(ICommonContentExtensionSite aConfig) {
-		extensionSite = aConfig;
-		if (updateViewer) {
-			ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
-			// Use a synchronization state tester to listen for team state changes
-			syncStateTester = new SynchronizationStateTester();
-			syncStateTester.getTeamStateProvider().addDecoratedStateChangeListener(this);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.BaseWorkbenchContentProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		if (syncStateTester != null)
-			syncStateTester.getTeamStateProvider().removeDecoratedStateChangeListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IMementoAware#restoreState(org.eclipse.ui.IMemento)
-	 */
-	public void restoreState(IMemento aMemento) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IMementoAware#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento aMemento) {
-		// Nothing to do
-	}
-
-	/**
-	 * Return the extension site for this label provider.
-	 * @return the extension site for this label provider
-	 */
-	public ICommonContentExtensionSite getExtensionSite() {
-		return extensionSite;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.BaseWorkbenchContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object element) {
-		// Since we are used in the project explorer, the root may be 
-		// an IWorkspaceRoot. We need to change it to the ModelWorkspace
-		if (element instanceof IWorkspaceRoot) {
-			isWorkspaceRoot = true;
-			return super.getElements(ModelObject.create((IWorkspaceRoot)element));
-			
-		}
-		return super.getElements(element);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.BaseWorkbenchContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object element) {
-		Object parent = super.getParent(element);
-		if (isWorkspaceRoot && parent instanceof ModelWorkspace) {
-			return ((ModelWorkspace)parent).getResource();
-		}
-		return parent;
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		this.viewer = viewer;
-		super.inputChanged(viewer, oldInput, newInput);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.ITeamStateChangeListener#teamStateChanged(org.eclipse.team.ui.mapping.ITeamStateChangeEvent)
-	 */
-	public void teamStateChanged(ITeamStateChangeEvent event) {
-		// We need to listen to team state changes in order to determine when we need
-		// to perform label updates on model elements.
-		// We actually just refresh all projects that contain changes.
-		// This is inefficient but will do for an example
-		Set refreshProjects = new HashSet();
-		IResource[] addedRoots = event.getAddedRoots();
-		for (int i = 0; i < addedRoots.length; i++) {
-			IResource resource = addedRoots[i];
-			if (isModelProject(resource.getProject())) {
-				refreshProjects.add(ModelObject.create(resource.getProject()));
-			}
-		}
-		IResource[] removedRoots = event.getRemovedRoots();
-		for (int i = 0; i < removedRoots.length; i++) {
-			IResource resource = removedRoots[i];
-			if (isModelProject(resource.getProject())) {
-				refreshProjects.add(ModelObject.create(resource.getProject()));
-			}
-		}
-		IResource[] changed = event.getChangedResources();
-		for (int i = 0; i < changed.length; i++) {
-			IResource resource = changed[i];
-			if (isModelProject(resource.getProject())) {
-				refreshProjects.add(ModelObject.create(resource.getProject()));
-			}
-		}
-		
-		refreshProjects((ModelProject[]) refreshProjects.toArray(new ModelProject[refreshProjects.size()]));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		if (viewer == null) return;
-		IResourceDelta delta = event.getDelta();
-		IResourceDelta[] children = delta.getAffectedChildren();
-		boolean refreshAll = false;
-		List refreshProjects = new ArrayList();
-		for (int i = 0; i < children.length; i++) {
-			IResourceDelta childDelta = children[i];
-			if (isModelProject(childDelta.getResource())) {
-				if (isProjectChange(childDelta)) {
-					refreshAll = true;
-					break;
-				}
-				refreshProjects.add(ModelObject.create(childDelta.getResource()));
-			}
-		}
-		if (refreshAll || !refreshProjects.isEmpty()) {
-			if (refreshAll)
-				refreshViewer();
-			else 
-				refreshProjects((ModelProject[]) refreshProjects.toArray(new ModelProject[refreshProjects.size()]));
-		}
-	}
-
-	private void refreshProjects(final ModelProject[] projects) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if (!getViewer().getControl().isDisposed()) {
-					for (int i = 0; i < projects.length; i++) {
-						ModelProject project = projects[i];
-						((AbstractTreeViewer)getViewer()).refresh(project, true);
-					}
-				}
-			}
-		
-		});
-	}
-
-	private void refreshViewer() {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if (!getViewer().getControl().isDisposed()) {
-					getViewer().refresh();
-				}
-			}
-		
-		});
-	}
-
-	private boolean isProjectChange(IResourceDelta childDelta) {
-		if ((childDelta.getFlags() & (IResourceDelta.DESCRIPTION | IResourceDelta.OPEN)) > 0)
-			return true;
-		return false;
-	}
-
-	private boolean isModelProject(IResource resource) {
-		try {
-			return ModelProject.isModProject(resource.getProject());
-		} catch (CoreException e) {
-			FileSystemPlugin.log(e.getStatus());
-			return false;
-		}
-	}
-
-	Viewer getViewer() {
-		return viewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedChildren(java.lang.Object, java.util.Set)
-	 */
-	public void getPipelinedChildren(Object aParent, Set theCurrentChildren) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedElements(java.lang.Object, java.util.Set)
-	 */
-	public void getPipelinedElements(Object anInput, Set theCurrentElements) {
-		// Replace any model projects with a ModelProject
-		if (anInput instanceof IWorkspaceRoot) {
-			List newProjects = new ArrayList();
-			for (Iterator iter = theCurrentElements.iterator(); iter.hasNext();) {
-				Object element = iter.next();
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						if (ModelProject.isModProject(project)) {
-							iter.remove();
-							newProjects.add(ModelObject.create(project));
-						}
-					} catch (CoreException e) {
-						FileSystemPlugin.log(e.getStatus());
-					}
-				}
-			}
-			theCurrentElements.addAll(newProjects);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedParent(java.lang.Object, java.lang.Object)
-	 */
-	public Object getPipelinedParent(Object anObject, Object aSuggestedParent) {
-		// We're not changing the parenting of any resources
-		return aSuggestedParent;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptAdd(org.eclipse.ui.navigator.PipelinedShapeModification)
-	 */
-	public PipelinedShapeModification interceptAdd(PipelinedShapeModification anAddModification) {
-		if (anAddModification.getParent() instanceof IWorkspaceRoot) {
-			for (Iterator iter = anAddModification.getChildren().iterator(); iter.hasNext();) {
-				Object element = iter.next();
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						if (ModelProject.isModProject(project)) {
-							iter.remove();
-						}
-					} catch (CoreException e) {
-						FileSystemPlugin.log(e.getStatus());
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptRefresh(org.eclipse.ui.navigator.PipelinedViewerUpdate)
-	 */
-	public boolean interceptRefresh(PipelinedViewerUpdate aRefreshSynchronization) {
-		// No need to intercept the refresh
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptRemove(org.eclipse.ui.navigator.PipelinedShapeModification)
-	 */
-	public PipelinedShapeModification interceptRemove(PipelinedShapeModification aRemoveModification) {
-		// No need to intercept the remove
-		return aRemoveModification;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptUpdate(org.eclipse.ui.navigator.PipelinedViewerUpdate)
-	 */
-	public boolean interceptUpdate(PipelinedViewerUpdate anUpdateSynchronization) {
-		// No need to intercept the update
-		return false;
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == SaveablesProvider.class) {
-			return saveablesProvider;
-		}
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorLabelProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorLabelProvider.java
deleted file mode 100644
index 1bfc7e8..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorLabelProvider.java
+++ /dev/null
@@ -1,68 +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.team.examples.model.ui;
-
-import org.eclipse.team.examples.model.ModelObject;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.ICommonLabelProvider;
-
-/**
- * Model content provider for use with the Common Navigator framework.
- * It makes use of an IWorkbenchAdapter to get the label and image
- * of model objects.
- */
-public class ModelNavigatorLabelProvider extends WorkbenchLabelProvider implements
-		ICommonLabelProvider {
-
-	private ICommonContentExtensionSite extensionSite;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.ICommonLabelProvider#init(org.eclipse.ui.navigator.ICommonContentExtensionSite)
-	 */
-	public void init(ICommonContentExtensionSite aConfig) {
-		extensionSite = aConfig;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IMementoAware#restoreState(org.eclipse.ui.IMemento)
-	 */
-	public void restoreState(IMemento aMemento) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IMementoAware#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento aMemento) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IDescriptionProvider#getDescription(java.lang.Object)
-	 */
-	public String getDescription(Object anElement) {
-		if (anElement instanceof ModelObject) {
-			return ((ModelObject) anElement).getPath();
-		}
-		return null;
-	}
-
-	/**
-	 * Return the extension site for this label provider.
-	 * @return the extension site for this label provider
-	 */
-	public ICommonContentExtensionSite getExtensionSite() {
-		return extensionSite;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveable.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveable.java
deleted file mode 100644
index 4e73bb9..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveable.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.team.examples.model.ModelObject;
-import org.eclipse.team.examples.model.ModelObjectDefinitionFile;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.ui.Saveable;
-
-/**
- * A Saveable that represents a modified model object definition file.
- */
-public class ModelSaveable extends Saveable {
-
-	private ModelObject modelObject;
-	private boolean dirty;
-	private final ModelSaveablesProvider modelSaveablesProvider;
-
-	public ModelSaveable(ModelSaveablesProvider modelSaveablesProvider, ModelObjectDefinitionFile mo) {
-		this.modelSaveablesProvider = modelSaveablesProvider;
-		modelObject = mo;
-	}
-
-	public boolean equals(Object object) {
-		if (object instanceof ModelSaveable) {
-			ModelSaveable other = (ModelSaveable) object;
-			return (other.getModelObject().equals(getModelObject()));
-		}
-		return false;
-	}
-
-	public ModelObject getModelObject() {
-		return modelObject;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return ModelWorkbenchAdapter.createImageDescriptor("obj/mod_obj.gif");
-	}
-
-	public String getName() {
-		return modelObject.getName();
-	}
-
-	public String getToolTipText() {
-		return "Saveable for " + getName();
-	}
-
-	public int hashCode() {
-		return modelObject.hashCode();
-	}
-
-	public boolean isDirty() {
-		return dirty;
-	}
-	
-	public void doSave(IProgressMonitor monitor) throws CoreException {
-		dirty = false;
-		modelSaveablesProvider.saved(this);
-	}
-
-	public void makeDirty() {
-		dirty = true;
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == ResourceMapping.class) {
-			return Utils.getAdapter(getModelObject(), ResourceMapping.class);
-		}
-		return super.getAdapter(adapter);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveablesProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveablesProvider.java
deleted file mode 100644
index 442c4e4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveablesProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import java.util.*;
-
-import org.eclipse.team.examples.model.ModelObjectDefinitionFile;
-import org.eclipse.ui.Saveable;
-import org.eclipse.ui.navigator.SaveablesProvider;
-
-/**
- * Provider used by the Common Navigator framework to link saveables to 
- * model elements.
- */
-public class ModelSaveablesProvider extends SaveablesProvider {
-
-	private List saveables = new ArrayList();
-
-	public Object[] getElements(Saveable saveable) {
-		if (saveable instanceof ModelSaveable) {
-			ModelSaveable ms = (ModelSaveable) saveable;
-			return new Object[] { ms.getModelObject() };
-		}
-		return new Object[0];
-	}
-
-	public Saveable getSaveable(Object element) {
-		for (Iterator iterator = saveables.iterator(); iterator.hasNext();) {
-			ModelSaveable saveable = (ModelSaveable) iterator.next();
-			if (saveable.getModelObject().equals(element))
-				return saveable;
-		}
-		return null;
-	}
-
-	public Saveable[] getSaveables() {
-		return (Saveable[]) saveables.toArray(new Saveable[saveables.size()]);
-	}
-
-	public void makeDirty(ModelObjectDefinitionFile mo) {
-		Saveable saveable = getSaveable(mo);
-		if (saveable == null) {
-			saveable = new ModelSaveable(this, mo);
-			saveables.add(saveable);
-			fireSaveablesOpened(new Saveable[] { saveable });
-		}
-		((ModelSaveable)saveable).makeDirty();
-		fireSaveablesDirtyChanged(new Saveable[] { saveable });
-	}
-
-	public void saved(ModelSaveable saveable) {
-		fireSaveablesDirtyChanged(new Saveable[] { saveable });
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelWorkbenchAdapter.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelWorkbenchAdapter.java
deleted file mode 100644
index f0d5ad3..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelWorkbenchAdapter.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.team.examples.model.ui;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * The workbench adapter for ModelObjects.
- */
-public class ModelWorkbenchAdapter implements IWorkbenchAdapter {
-
-	// image path
-	private static final String ICON_PATH = "$nl$/icons/full/"; //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object o) {
-		if (o instanceof ModelObject) {
-			ModelObject mo = (ModelObject) o;
-			try {
-				return mo.getChildren();
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e.getStatus());
-			}
-		}
-		return new Object[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		if (object instanceof ModelProject) {
-			return createImageDescriptor("obj/prj_obj.gif");
-		}
-		if (object instanceof ModelWorkspace) {
-			return createImageDescriptor("obj/root_obj.gif");
-		}
-		if (object instanceof ModelFolder) {
-			return createImageDescriptor("obj/fldr_obj.gif");
-		}
-		if (object instanceof ModelObjectDefinitionFile) {
-			return createImageDescriptor("obj/mod_obj.gif");
-		}
-		if (object instanceof ModelObjectElementFile) {
-			return createImageDescriptor("obj/moe_obj.gif");
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		if (o instanceof ModelObject) {
-			ModelObject mo = (ModelObject) o;
-			return mo.getName();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		if (o instanceof ModelObject) {
-			ModelObject mo = (ModelObject) o;
-			return mo.getParent();
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates an image descriptor.
-	 */
-	public static ImageDescriptor createImageDescriptor(String id) {
-		URL url = FileLocator.find(FileSystemPlugin.getPlugin().getBundle(), new Path(ICON_PATH + id), null);
-		return ImageDescriptor.createFromURL(url);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/NewModelProjectWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/NewModelProjectWizard.java
deleted file mode 100644
index b3420de..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/NewModelProjectWizard.java
+++ /dev/null
@@ -1,132 +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.team.examples.model.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.URI;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.team.examples.model.ModelNature;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.internal.wizards.newresource.ResourceMessages;
-
-public class NewModelProjectWizard extends Wizard implements INewWizard {
-
-    private WizardNewProjectCreationPage mainPage;
-    
-	public NewModelProjectWizard() {
-		super();
-	}
-	
-	public void addPages() {
-		super.addPages();
-		
-        mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");//$NON-NLS-1$
-        mainPage.setTitle(ResourceMessages.NewProject_title);
-        mainPage.setDescription(ResourceMessages.NewProject_description);
-        this.addPage(mainPage);
-	}
-
-	public boolean performFinish() {
-	    // get a project handle
-        final IProject newProjectHandle = mainPage.getProjectHandle();
-
-        // get a project descriptor
-        URI location = null;
-        if (!mainPage.useDefaults()) {
-			location = mainPage.getLocationURI();
-		}
-
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProjectDescription description = workspace
-                .newProjectDescription(newProjectHandle.getName());
-        description.setLocationURI(location);
-        description.setNatureIds(new String[] {ModelNature.NATURE_ID});
-
-        // create the new project operation
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                createProject(description, newProjectHandle, monitor);
-            }
-        };
-
-        // run the new project creation operation
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return 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(), null, null,
-                            ((CoreException) t).getStatus());
-            } else {
-                MessageDialog
-                        .openError(
-                                getShell(),
-                                "Error occurred",
-                                t.getMessage());
-            }
-            return false;
-        }
-		return true;
-	}
-
-    /**
-     * Creates a project resource given the project handle and description.
-     * 
-     * @param description
-     *            the project description to create a project resource for
-     * @param projectHandle
-     *            the project handle to create a project resource for
-     * @param monitor
-     *            the progress monitor to show visual progress with
-     * 
-     * @exception CoreException
-     *                if the operation fails
-     * @exception OperationCanceledException
-     *                if the operation is canceled
-     */
-    void createProject(IProjectDescription description, IProject projectHandle,
-            IProgressMonitor monitor) throws CoreException,
-            OperationCanceledException {
-        try {
-            monitor.beginTask("", 2000);//$NON-NLS-1$
-
-            projectHandle.create(description, new SubProgressMonitor(monitor,
-                    1000));
-
-            if (monitor.isCanceled()) {
-				throw new OperationCanceledException();
-			}
-
-            projectHandle.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 1000));
-
-        } finally {
-            monitor.done();
-        }
-    }
-    
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		// Nothing to do
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/CompareAdapter.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/CompareAdapter.java
deleted file mode 100644
index 00ce390..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/CompareAdapter.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui.mapping;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.compare.structuremergeviewer.ICompareInput;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.ModelProvider;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.examples.model.mapping.ExampleModelProvider;
-import org.eclipse.team.ui.mapping.SynchronizationCompareAdapter;
-import org.eclipse.ui.IMemento;
-
-/**
- * Compare adapter for use with our example model.
- */
-public class CompareAdapter extends SynchronizationCompareAdapter {
-
-	private static final String CTX_MODEL_MAPPINGS = "org.eclipse.team.examples.filesystem.modelMappings";
-	
-	private final ExampleModelProvider provider;
-
-	public CompareAdapter(ExampleModelProvider provider) {
-		this.provider = provider;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationCompareAdapter#getName(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public String getName(ResourceMapping mapping) {
-		Object o = mapping.getModelObject();
-		if (o instanceof ModelObject) {
-			return ((ModelObject) o).getName();
-		}
-		return super.getName(mapping);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationCompareAdapter#getPathString(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public String getPathString(ResourceMapping mapping) {
-		Object o = mapping.getModelObject();
-		if (o instanceof ModelObject) {
-			return ((ModelObject) o).getPath();
-		}
-		return super.getPathString(mapping);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationCompareAdapter#asCompareInput(org.eclipse.team.core.mapping.ISynchronizationContext, java.lang.Object)
-	 */
-	public ICompareInput asCompareInput(ISynchronizationContext context, Object o) {
-		if (o instanceof ModelObjectElementFile) {
-			ModelObjectElementFile moeFile = (ModelObjectElementFile) o;
-			// Use a file compare input for the model element file
-			return super.asCompareInput(context, moeFile.getResource());
-		}
-		return super.asCompareInput(context, o);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter#restore(org.eclipse.ui.IMemento)
-	 */
-	public ResourceMapping[] restore(IMemento memento) {
-		List result = new ArrayList();
-		IMemento[] children = memento.getChildren(CTX_MODEL_MAPPINGS);
-		for (int i = 0; i < children.length; i++) {
-			IMemento child = children[i];
-			ResourceMapping mapping = restoreMapping(child);
-			if (mapping != null)
-				result.add(mapping);
-		}
-		return (ResourceMapping[]) result.toArray(new ResourceMapping[result.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter#save(org.eclipse.core.resources.mapping.ResourceMapping[], org.eclipse.ui.IMemento)
-	 */
-	public void save(ResourceMapping[] mappings, IMemento memento) {
-		for (int i = 0; i < mappings.length; i++) {
-			ResourceMapping mapping = mappings[i];
-			Object o = mapping.getModelObject();
-			if (o instanceof ModelObject) {
-				ModelObject mo = (ModelObject) o;
-				save(mo, memento.createChild(CTX_MODEL_MAPPINGS));
-			}
-		}
-		
-	}
-
-	private ResourceMapping restoreMapping(IMemento child) {
-		String parent = child.getString("definition");
-		String path = child.getString("resource");
-		if (parent != null) {
-			ModelObjectDefinitionFile modFile = (ModelObjectDefinitionFile)ModelObject.create(getResource(parent));
-			if (modFile != null)
-				return (ResourceMapping)new ModelObjectElementFile(modFile, (IFile)getResource(path)).getAdapter(ResourceMapping.class);
-		} else {
-			ModelObject object = ModelObject.create(getResource(path));
-			if (object != null)
-				return (ResourceMapping)object.getAdapter(ResourceMapping.class);
-		}
-		return null;
-	}
-	
-	private IResource getResource(String path) {
-		Path resourcePath = new Path(path);
-		if (path.endsWith(ModelObjectDefinitionFile.MODEL_OBJECT_DEFINITION_FILE_EXTENSION) 
-				|| path.endsWith(ModelObjectElementFile.MODEL_OBJECT_ELEMENTFILE_EXTENSION))
-			return ResourcesPlugin.getWorkspace().getRoot().getFile(resourcePath);
-		if (resourcePath.segmentCount() == 1)
-			return ResourcesPlugin.getWorkspace().getRoot().getProject(resourcePath.lastSegment());
-		return ResourcesPlugin.getWorkspace().getRoot().getFolder(resourcePath);
-	}
-
-	private void save(ModelObject mo, IMemento memento) {
-		if (mo instanceof ModelResource) {
-			ModelResource resource = (ModelResource) mo;
-			memento.putString("resource", resource.getResource().getFullPath().toString());
-			if (mo instanceof ModelObjectElementFile) {
-				ModelObjectElementFile moeFile = (ModelObjectElementFile) mo;
-				ModelObjectDefinitionFile parent = (ModelObjectDefinitionFile)moeFile.getParent();
-				memento.putString("definition", parent.getResource().getFullPath().toString());
-			}
-		}
-	}
-
-	public ModelProvider getProvider() {
-		return provider;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelMergeActionHandler.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelMergeActionHandler.java
deleted file mode 100644
index eb402e6..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelMergeActionHandler.java
+++ /dev/null
@@ -1,121 +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.team.examples.model.ui.mapping;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.mapping.IMergeContext;
-import org.eclipse.team.examples.model.ModelObjectDefinitionFile;
-import org.eclipse.team.examples.model.ModelObjectElementFile;
-import org.eclipse.team.internal.ui.mapping.ResourceModelProviderOperation;
-import org.eclipse.team.ui.mapping.MergeActionHandler;
-import org.eclipse.team.ui.mapping.SynchronizationOperation;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-
-public class ModelMergeActionHandler extends MergeActionHandler {
-
-	/*
-	 * Operation to merge model elements. We're using an internal superclass to save on copying
-	 * code.
-	 */
-	private final class ModelSynchronizeOperation extends ResourceModelProviderOperation {
-		public ModelSynchronizeOperation(ISynchronizePageConfiguration configuration, IStructuredSelection selection) {
-			super(configuration, selection);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.ui.mapping.SynchronizationOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected void execute(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-			// We need to perform special handling for any MOE file whose parent MOD is not included in the merge
-			try {
-				IMergeContext context = (IMergeContext)getContext();
-				IDiff[] diffs = getTargetDiffs();
-				ModelObjectElementFile[] moeMerges = getMoeOnlyMerges();
-				IStatus status = context.merge(diffs, overwrite, monitor);
-				if (!status.isOK())
-					throw new CoreException(status);
-				// For now, just cycle through each lonely MOE and update the parent
-				for (int i = 0; i < moeMerges.length; i++) {
-					ModelObjectElementFile file = moeMerges[i];
-					ModelObjectDefinitionFile modFile = (ModelObjectDefinitionFile)file.getParent();
-					if (file.getResource().exists() && !modFile.hasMoe((IFile)file.getResource()))
-						modFile.addMoe((IFile)file.getResource());
-					else
-						modFile.remove(file);
-				}
-			} catch (CoreException e) {
-				throw new InvocationTargetException(e);
-			}
-		}
-
-		private ModelObjectElementFile[] getMoeOnlyMerges() {
-			List result = new ArrayList();
-			Object[] elements = getElements();
-			for (int i = 0; i < elements.length; i++) {
-				Object object = elements[i];
-				if (object instanceof ModelObjectElementFile) {
-					ModelObjectElementFile moeFile = (ModelObjectElementFile) object;
-					result.add(moeFile);
-				}
-			}
-			return (ModelObjectElementFile[]) result.toArray(new ModelObjectElementFile[result.size()]);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ui.mapping.ResourceModelProviderOperation#getDiffFilter()
-		 */
-		protected FastDiffFilter getDiffFilter() {
-			return new FastDiffFilter() {
-				public boolean select(IDiff node) {
-					if (node instanceof IThreeWayDiff) {
-						IThreeWayDiff twd = (IThreeWayDiff) node;
-						if ((twd.getDirection() == IThreeWayDiff.OUTGOING && overwrite) || twd.getDirection() == IThreeWayDiff.CONFLICTING || twd.getDirection() == IThreeWayDiff.INCOMING) {
-							return true;
-						}
-						return false;
-					}
-					// Overwrite should always be available for two-way diffs
-					return overwrite;
-				}
-			};
-		}
-	}
-
-	final boolean overwrite;
-	private SynchronizationOperation operation;
-
-	public ModelMergeActionHandler(ISynchronizePageConfiguration configuration, boolean overwrite) {
-		super(configuration);
-		this.overwrite = overwrite;
-	}
-
-	protected SynchronizationOperation getOperation() {
-		if (operation == null) {
-			operation = new ModelSynchronizeOperation(getConfiguration(), getStructuredSelection());
-		}
-		return operation;
-	}
-	
-	protected void updateEnablement(IStructuredSelection selection) {
-		synchronized (this) {
-			operation = null;
-		}
-		super.updateEnablement(selection);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncActionProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncActionProvider.java
deleted file mode 100644
index 1ab2e29..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncActionProvider.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.team.examples.model.ui.mapping;
-
-import org.eclipse.team.ui.mapping.SynchronizationActionProvider;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-
-/**
- * The action provider that is used for synchronizations.
- */
-public class ModelSyncActionProvider extends SynchronizationActionProvider {
-	
-	public ModelSyncActionProvider() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationActionProvider#initialize()
-	 */
-	protected void initialize() {
-		super.initialize();
-		final ISynchronizePageConfiguration configuration= getSynchronizePageConfiguration();
-		// We provide custom handlers that ensure that the MOD files get updated properly
-		// when MOE files are merged.
-		registerHandler(MERGE_ACTION_ID, new ModelMergeActionHandler(configuration, false));
-		registerHandler(OVERWRITE_ACTION_ID, new ModelMergeActionHandler(configuration, true));
-		// We can just use the default mark as merged handler
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncContentProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncContentProvider.java
deleted file mode 100644
index 61bee35..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncContentProvider.java
+++ /dev/null
@@ -1,392 +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.team.examples.model.ui.mapping;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.core.mapping.ISynchronizationScope;
-import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.examples.model.mapping.ExampleModelProvider;
-import org.eclipse.team.examples.model.ui.ModelNavigatorContentProvider;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.internal.ui.mapping.SynchronizationResourceMappingContext;
-import org.eclipse.team.ui.mapping.SynchronizationContentProvider;
-import org.eclipse.ui.navigator.*;
-
-/**
- * The content provider that is used for synchronizations.
- * It also makes use of the Common Navigator pipeline 
- * to override the resource content extension so that model projects will
- * replace the corresponding resource project in the Synchronize view.
- */
-public class ModelSyncContentProvider extends SynchronizationContentProvider implements IPipelinedTreeContentProvider {
-
-	private ModelNavigatorContentProvider delegate;
-	
-	public ModelSyncContentProvider() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#init(org.eclipse.ui.navigator.ICommonContentExtensionSite)
-	 */
-	public void init(ICommonContentExtensionSite site) {
-		super.init(site);
-		delegate = new ModelNavigatorContentProvider(getContext() != null);
-		delegate.init(site);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (delegate != null)
-			delegate.dispose();
-	}
-	
-	protected ITreeContentProvider getDelegateContentProvider() {
-		return delegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#getModelProviderId()
-	 */
-	protected String getModelProviderId() {
-		return ExampleModelProvider.ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#getModelRoot()
-	 */
-	protected Object getModelRoot() {
-		return ModelWorkspace.getRoot();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#getTraversals(org.eclipse.team.core.mapping.ISynchronizationContext, java.lang.Object)
-	 */
-	protected ResourceTraversal[] getTraversals(
-			ISynchronizationContext context, Object object) {
-		if (object instanceof ModelObject) {
-			ModelObject mo = (ModelObject) object;
-			ResourceMapping mapping = (ResourceMapping)mo.getAdapter(ResourceMapping.class);
-			ResourceMappingContext rmc = new SynchronizationResourceMappingContext(context);
-			try {
-				// Technically speaking, this may end up being too long running for this
-				// (i.e. we may end up hitting the server) but it will do for illustration purposes
-				return mapping.getTraversals(rmc, new NullProgressMonitor());
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e.getStatus());
-			}
-		}
-		return new ResourceTraversal[0];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#getChildrenInContext(org.eclipse.team.core.mapping.ISynchronizationContext, java.lang.Object, java.lang.Object[])
-	 */
-	protected Object[] getChildrenInContext(ISynchronizationContext context, Object parent, Object[] children) {
-		Set allChildren = new HashSet();
-		allChildren.addAll(Arrays.asList(super.getChildrenInContext(context, parent, children)));
-		// We need to override this method in order to ensure that any elements
-		// that exist in the context but do not exist locally are included
-		if (parent instanceof ModelContainer) {
-			ModelContainer mc = (ModelContainer) parent;
-			IDiff[] diffs = context.getDiffTree().getDiffs(mc.getResource(), IResource.DEPTH_ONE);
-			for (int i = 0; i < diffs.length; i++) {
-				IDiff diff = diffs[i];
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				if (!resource.exists() && ModelObjectDefinitionFile.isModFile(resource)) {
-					ModelObject o = ModelObject.create(resource);
-					if (o != null)
-						allChildren.add(o);
-				}
-			}
-		}
-		if (parent instanceof ModelObjectDefinitionFile) {
-			ResourceTraversal[] traversals = getTraversals(context, parent);
-			IDiff[] diffs = context.getDiffTree().getDiffs(traversals);
-			for (int i = 0; i < diffs.length; i++) {
-				IDiff diff = diffs[i];
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				if (!resource.exists() && ModelObjectElementFile.isMoeFile(resource)) {
-					ModelObject o = new ModelObjectElementFile((ModelObjectDefinitionFile)parent, (IFile)resource);
-					if (o != null)
-						allChildren.add(o);
-				}
-			}
-		}
-		return allChildren.toArray(new Object[allChildren.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedChildren(java.lang.Object, java.util.Set)
-	 */
-	public void getPipelinedChildren(Object aParent, Set theCurrentChildren) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedElements(java.lang.Object, java.util.Set)
-	 */
-	public void getPipelinedElements(Object anInput, Set theCurrentElements) {
-		// Replace any model projects with a ModelProject if the input
-		// is a synchronization context
-		if (anInput instanceof ISynchronizationContext) {
-			List newProjects = new ArrayList();
-			for (Iterator iter = theCurrentElements.iterator(); iter.hasNext();) {
-				Object element = iter.next();
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						if (ModelProject.isModProject(project)) {
-							iter.remove();
-							newProjects.add(ModelObject.create(project));
-						}
-					} catch (CoreException e) {
-						FileSystemPlugin.log(e.getStatus());
-					}
-				}
-			}
-			theCurrentElements.addAll(newProjects);
-		} else if (anInput instanceof ISynchronizationScope) {
-			// When the root is a scope, we should return
-			// our model provider so all model providers appear
-			// at the root of the viewer.
-			theCurrentElements.add(getModelProvider());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedParent(java.lang.Object, java.lang.Object)
-	 */
-	public Object getPipelinedParent(Object anObject, Object aSuggestedParent) {
-		// We're not changing the parenting of any resources
-		return aSuggestedParent;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptAdd(org.eclipse.ui.navigator.PipelinedShapeModification)
-	 */
-	public PipelinedShapeModification interceptAdd(PipelinedShapeModification anAddModification) {
-		if (anAddModification.getParent() instanceof ISynchronizationContext) {
-			for (Iterator iter = anAddModification.getChildren().iterator(); iter.hasNext();) {
-				Object element = iter.next();
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						if (ModelProject.isModProject(project)) {
-							iter.remove();
-						}
-					} catch (CoreException e) {
-						FileSystemPlugin.log(e.getStatus());
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptRefresh(org.eclipse.ui.navigator.PipelinedViewerUpdate)
-	 */
-	public boolean interceptRefresh(PipelinedViewerUpdate aRefreshSynchronization) {
-		// No need to intercept the refresh
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptRemove(org.eclipse.ui.navigator.PipelinedShapeModification)
-	 */
-	public PipelinedShapeModification interceptRemove(PipelinedShapeModification aRemoveModification) {
-		// No need to intercept the remove
-		return aRemoveModification;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptUpdate(org.eclipse.ui.navigator.PipelinedViewerUpdate)
-	 */
-	public boolean interceptUpdate(PipelinedViewerUpdate anUpdateSynchronization) {
-		// No need to intercept the update
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#diffsChanged(org.eclipse.team.core.diff.IDiffChangeEvent, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void diffsChanged(final IDiffChangeEvent event, IProgressMonitor monitor) {
-		// Override in order to perform custom viewer updates when the diff tree changes
-		Utils.syncExec(new Runnable() {
-			public void run() {
-				handleChange(event);
-			}
-		}, (StructuredViewer)getViewer());
-	}
-
-	void handleChange(IDiffChangeEvent event) {
-		Set existingProjects = getVisibleModelProjects();
-		IProject[] changedProjects = getChangedModelProjects(event);
-		List refreshes = new ArrayList(changedProjects.length);
-		List additions = new ArrayList(changedProjects.length);
-		List removals = new ArrayList(changedProjects.length);
-		for (int i = 0; i < changedProjects.length; i++) {
-			IProject project = changedProjects[i];
-			if (hasVisibleChanges(event.getTree(), project)) {
-				if (existingProjects.contains(project)) {
-					refreshes.add(ModelObject.create(project));
-				} else {
-					additions.add(ModelObject.create(project));
-				}
-			} else if (existingProjects.contains(project)) {
-				removals.add(ModelObject.create(project));
-				
-			}
-		}
-		if (!removals.isEmpty() || !additions.isEmpty() || !refreshes.isEmpty()) {
-			TreeViewer viewer = (TreeViewer)getViewer();
-			Tree tree = viewer.getTree();
-			try {
-				tree.setRedraw(false);
-				if (!additions.isEmpty())
-					viewer.add(viewer.getInput(), additions.toArray());
-				if (!removals.isEmpty())
-					viewer.remove(viewer.getInput(), removals.toArray());
-				if (!refreshes.isEmpty()) {
-					for (Iterator iter = refreshes.iterator(); iter.hasNext();) {
-						Object element = iter.next();
-						viewer.refresh(element);
-					}
-				}
-			} finally {
-				tree.setRedraw(true);
-			}
-		}
-	}
-
-	private boolean hasVisibleChanges(IDiffTree tree, IProject project) {
-		return tree.hasMatchingDiffs(project.getFullPath(), new FastDiffFilter() {
-			public boolean select(IDiff diff) {
-				return isVisible(diff);
-			}
-		});
-	}
-
-	/*
-	 * Return the list of all projects that are model projects
-	 */
-	private IProject[] getChangedModelProjects(IDiffChangeEvent event) {
-		Set result = new HashSet();
-		IDiff[] changes = event.getChanges();
-		for (int i = 0; i < changes.length; i++) {
-			IDiff diff = changes[i];
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			if (resource != null && isModProject(resource.getProject())) {
-				result.add(resource.getProject());
-			}
-		}
-		IDiff[] additions = event.getAdditions();
-		for (int i = 0; i < additions.length; i++) {
-			IDiff diff = additions[i];
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			if (resource != null && isModProject(resource.getProject())) {
-				result.add(resource.getProject());
-			}
-		}
-		IPath[] removals = event.getRemovals();
-		for (int i = 0; i < removals.length; i++) {
-			IPath path = removals[i];
-			if (path.segmentCount() > 0) {
-				IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(path.segment(0));
-				if (isModProject(project))
-					result.add(project);
-			}
-		}
-		return (IProject[]) result.toArray(new IProject[result.size()]);
-	}
-
-	private boolean isModProject(IProject project) {
-		try {
-			return ModelProject.isModProject(project);
-		} catch (CoreException e) {
-			FileSystemPlugin.log(e.getStatus());
-		}
-		return false;
-	}
-
-	/*
-	 * Return the set of visible model projects
-	 */
-	private Set getVisibleModelProjects() {
-		TreeViewer viewer = (TreeViewer)getViewer();
-		Tree tree = viewer.getTree();
-		TreeItem[] children = tree.getItems();
-		Set result = new HashSet();
-		for (int i = 0; i < children.length; i++) {
-			TreeItem control = children[i];
-			Object data = control.getData();
-			if (data instanceof ModelProject) {
-				result.add(((ModelProject) data).getProject());
-			}
-		}
-		return result;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#propertyChanged(org.eclipse.team.core.diff.IDiffTree, int, org.eclipse.core.runtime.IPath[])
-	 */
-	public void propertyChanged(IDiffTree tree, int property, IPath[] paths) {
-		// We're overriding this message so that label updates occur for any elements
-		// whose labels may have changed
-		if (getContext() == null)
-			return;
-		final Set updates = new HashSet();
-		boolean refresh = false;
-		for (int i = 0; i < paths.length; i++) {
-			IPath path = paths[i];
-			IDiff diff = tree.getDiff(path);
-			if (diff != null) {
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				ModelObject object = ModelObject.create(resource);
-				if (object != null) {
-					updates.add(object);
-				} else {
-					// If the resource is a MOE file, we need to update both the MOE and the MOD file
-					// Unfortunately, there's no good way to find the parent file so we'll just refresh everything
-					refresh = true;
-				}
-			}
-		}
-		if (!updates.isEmpty() || refresh) {
-			final boolean refreshAll = refresh;
-			final StructuredViewer viewer = (StructuredViewer)getViewer();
-			Utils.syncExec(new Runnable() {
-				public void run() {
-					if (refreshAll)
-						viewer.refresh(true);
-					else
-						viewer.update(updates.toArray(new Object[updates.size()]), null);
-				}
-			}, viewer);
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncLabelProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncLabelProvider.java
deleted file mode 100644
index 04dbf6c..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncLabelProvider.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.team.examples.model.ui.mapping;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.diff.IDiffTree;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.examples.model.ui.ModelNavigatorLabelProvider;
-import org.eclipse.team.ui.mapping.SynchronizationLabelProvider;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-
-/**
- * The label provider that is used for synchronizations.
- * It provides a diff for each model element and also provides
- * overlay hints for isBust, conflict propagation and markers.
- */
-public class ModelSyncLabelProvider extends SynchronizationLabelProvider {
-	
-	private ModelNavigatorLabelProvider delegate;
-
-	public ModelSyncLabelProvider() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationLabelProvider#init(org.eclipse.ui.navigator.ICommonContentExtensionSite)
-	 */
-	public void init(ICommonContentExtensionSite site) {
-		super.init(site);
-		delegate = new ModelNavigatorLabelProvider();
-		delegate.init(site);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (delegate != null)
-			delegate.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#getDelegateLabelProvider()
-	 */
-	protected ILabelProvider getDelegateLabelProvider() {
-		return delegate;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#getDiff(java.lang.Object)
-	 */
-	protected IDiff getDiff(Object element) {
-		if (element instanceof ModelResource) {
-			ModelResource mr = (ModelResource) element;
-			return getContext().getDiffTree().getDiff(mr.getResource());
-		}
-		return super.getDiff(element);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#isIncludeOverlays()
-	 */
-	protected boolean isIncludeOverlays() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#isBusy(java.lang.Object)
-	 */
-	protected boolean isBusy(Object element) {
-		if (element instanceof ModelResource) {
-			ModelResource mr = (ModelResource) element;
-			boolean busy = getContext().getDiffTree().getProperty(mr.getResource().getFullPath(), IDiffTree.P_BUSY_HINT);
-			if (!busy && mr instanceof ModelObjectDefinitionFile) {
-				ModelObjectDefinitionFile modFile = (ModelObjectDefinitionFile) mr;
-				try {
-					ModelObjectElementFile[] children = modFile.getModelObjectElementFiles();
-					for (int i = 0; i < children.length; i++) {
-						ModelObjectElementFile file = children[i];
-						busy = getContext().getDiffTree().getProperty(file.getResource().getFullPath(), IDiffTree.P_BUSY_HINT);
-						if (busy)
-							break;
-					}
-				} catch (CoreException e) {
-					FileSystemPlugin.log(e.getStatus());
-				}
-			}
-			return busy;
-		}
-		return super.isBusy(element);
-	}
-	
-	protected boolean hasDecendantConflicts(Object element) {
-		if (element instanceof ModelResource) {
-			ModelResource mr = (ModelResource) element;
-			boolean conflict = getContext().getDiffTree().getProperty(mr.getResource().getFullPath(), IDiffTree.P_HAS_DESCENDANT_CONFLICTS);
-			if (!conflict && mr instanceof ModelObjectDefinitionFile) {
-				ModelObjectDefinitionFile modFile = (ModelObjectDefinitionFile) mr;
-				try {
-					ModelObjectElementFile[] children = modFile.getModelObjectElementFiles();
-					for (int i = 0; i < children.length; i++) {
-						ModelObjectElementFile file = children[i];
-						conflict = getContext().getDiffTree().getProperty(file.getResource().getFullPath(), IDiffTree.P_HAS_DESCENDANT_CONFLICTS);
-						if (conflict)
-							break;
-					}
-				} catch (CoreException e) {
-					FileSystemPlugin.log(e.getStatus());
-				}
-			}
-			return conflict;
-		}
-		return super.hasDecendantConflicts(element);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ThirdPartyActionProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ThirdPartyActionProvider.java
deleted file mode 100644
index bcaed1c..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ThirdPartyActionProvider.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.team.examples.model.ui.mapping;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.mapping.ModelProvider;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
-import org.eclipse.team.ui.mapping.ITeamContentProviderManager;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.ui.IContributorResourceAdapter;
-import org.eclipse.ui.ide.IContributorResourceAdapter2;
-import org.eclipse.ui.navigator.*;
-
-public class ThirdPartyActionProvider extends CommonActionProvider {
-
-	private Action exampleAction;
-
-	public ThirdPartyActionProvider() {
-		// Nothing to do
-	}
-	
-	/**
-	 * Return the configuration from the synchronize page that contains
-	 * the common viewer.
-	 * @return the configuration from the synchronize page that contains
-	 * the common viewer
-	 */
-	protected final ISynchronizePageConfiguration getSynchronizePageConfiguration() {
-		return (ISynchronizePageConfiguration)getExtensionStateModel().getProperty(ITeamContentProviderManager.P_SYNCHRONIZATION_PAGE_CONFIGURATION);
-	}
-
-	/**
-	 * Return the extension state model for the content provider associated with
-	 * action provider.
-	 * @return the extension state model for the content provider associated with
-	 * action provider
-	 */
-	protected final IExtensionStateModel getExtensionStateModel() {
-		return getActionSite().getExtensionStateModel();
-	}
-	
-	/**
-	 * Return the synchronization context to which the actions of this provider
-	 * apply.
-	 * @return the synchronization context to which the actions of this provider
-	 * apply
-	 */
-	protected final ISynchronizationContext getSynchronizationContext() {
-		return (ISynchronizationContext)getExtensionStateModel().getProperty(ITeamContentProviderManager.P_SYNCHRONIZATION_CONTEXT);
-	}
-	
-	public void init(ICommonActionExtensionSite aSite) {
-		super.init(aSite);
-		exampleAction = new Action("3rd Party Action") {
-			public void run() {
-				StringBuffer buffer = new StringBuffer();
-				boolean addComma = false;
-				IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-				ResourceMapping[] mappings = getResourceMappings(selection.toArray());
-				for (int i = 0; i < mappings.length; i++) {
-					ResourceMapping mapping = mappings[i];
-					ISynchronizationCompareAdapter adapter = getCompareAdpater(mapping);
-					if (adapter != null) {
-						String name = adapter.getName(mapping);
-						if (addComma) {
-							buffer.append(", ");
-						}
-						buffer.append(name);
-						addComma = true;
-					}
-				}
-				MessageDialog.openInformation(getActionSite().getViewSite().getShell(), "Example Action", "You have executed a third party action on the selected elements: " + buffer.toString());
-			}
-		};
-	}
-	
-	protected ISynchronizationCompareAdapter getCompareAdpater(ResourceMapping mapping) {
-		if (mapping != null) {
-			ModelProvider provider = mapping.getModelProvider();
-			if (provider != null) {
-				Object o = provider.getAdapter(ISynchronizationCompareAdapter.class);
-				if (o instanceof ISynchronizationCompareAdapter) {
-					return (ISynchronizationCompareAdapter) o;
-				}
-			}
-		}
-		return null;
-	}
-
-	public void fillContextMenu(IMenuManager menu) {
-		super.fillContextMenu(menu);
-		menu.add(exampleAction);
-	}
-
-	private ResourceMapping[] getResourceMappings(Object[] objects) {
-		List result = new ArrayList();
-		for (int i = 0; i < objects.length; i++) {
-			Object object = objects[i];
-			ResourceMapping mapping = getResourceMapping(object);
-			if (mapping != null)
-				result.add(mapping);
-		}
-		return (ResourceMapping[]) result.toArray(new ResourceMapping[result.size()]);
-	}
-	
-	private ResourceMapping getResourceMapping(Object o) {
-		if (o instanceof ResourceMapping) {
-			return (ResourceMapping) o;
-		}
-		if (o instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) o;
-			Object adapted = adaptable.getAdapter(ResourceMapping.class);
-			if (adapted instanceof ResourceMapping) {
-				return(ResourceMapping) adapted;
-			}
-			adapted = adaptable.getAdapter(IContributorResourceAdapter.class);
-			if (adapted instanceof IContributorResourceAdapter2) {
-				IContributorResourceAdapter2 cra = (IContributorResourceAdapter2) adapted;
-				return cra.getAdaptedResourceMapping(adaptable);
-			}
-		} else {
-			Object adapted = Platform.getAdapterManager().getAdapter(o, ResourceMapping.class);
-			if (adapted instanceof ResourceMapping) {
-				return(ResourceMapping) adapted;
-			}
-		}
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IPessimisticFilesystemConstants.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IPessimisticFilesystemConstants.java
deleted file mode 100644
index 387b81e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IPessimisticFilesystemConstants.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.team.examples.pessimistic;
-
-/**
- * Preference constants for the <code>PessimisticFilesystemProvider</code>.
- */
-public interface IPessimisticFilesystemConstants {	
-	/**
-	 * Preference name's prefix
-	 */
-	String PREFIX = "org.eclipse.team.examples.pessimistic.";
-
-	/**
-	 * Preference name for when checked in files are saved.
-	 */
-	String PREF_CHECKED_IN_FILES_SAVED = PREFIX + "WhenCheckedInFilesAreSaved";
-	/**
-	 * Preference name for when checked in files are edited with a UI context.
-	 */
-	String PREF_CHECKED_IN_FILES_EDITED = PREFIX + "WhenCheckedInFilesAreEdited";
-	/**
-	 * Preference name for when checked in files are edited without a UI context.
-	 */
-	String PREF_CHECKED_IN_FILES_EDITED_NOPROMPT = PREFIX + "WhenCheckedInFilesAreEditedNoPrompt";
-	/**
-	 * Preference name for the option to always fail validate edit.
-	 */
-	String PREF_FAIL_VALIDATE_EDIT= PREFIX + "FailValidateEdit";
-	/**
-	 * Preference name for the option to touch files during validate edit calls
-	 */
-	String PREF_TOUCH_DURING_VALIDATE_EDIT= PREFIX + "ChangeFileContents";
-	/**
-	 * Preference name for the option to add files to the repository provider.
-	 */
-	String PREF_ADD_TO_CONTROL= PREFIX + "AddToControl";
-	
-	/**
-	 * Preference option indicating that the user should be prompted.
-	 */
-	int OPTION_PROMPT = 1;
-	/**
-	 * Preference option indicating that the action should happen automatically.
-	 */
-	int OPTION_AUTOMATIC = 2;
-	/**
-	 * Preference option indicating that the action should not occur.
-	 */
-	int OPTION_DO_NOTHING = 4;
-
-	/**
-	 * Status flag indicating that resources are ready to be edited.
-	 */
-	int STATUS_OK_TO_EDIT = 1;
-	/**
-	 * Status flag indicating that resources need to be reloaded.
-	 */
-	int STATUS_PROMPT_FOR_RELOAD = 2;	
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IResourceStateListener.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IResourceStateListener.java
deleted file mode 100644
index a787e37..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IResourceStateListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic;
- 
-import org.eclipse.core.resources.IResource;
-
-/**
- * An <code>IResourceStateListener</code> recieves callbacks
- * when the repository state of resources change, i.e. a file gets checked
- * in, a folder gets checked out, a project is no longer shared, etc.
- */
-public interface IResourceStateListener {
-	/**
-	 * Notifies this listener that the state of the resources has changed.
-	 * @param resources	An array of resources with changed states or an empty array.
-	 */
-	void stateChanged(IResource[] resources);
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProvider.java
deleted file mode 100644
index d598bd4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProvider.java
+++ /dev/null
@@ -1,719 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.pessimistic;
- 
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.team.FileModificationValidator;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.team.core.RepositoryProvider;
-
-/**
- * The <code>PessimisticFilesystemProvider</code> is a repository provider.
- * 
- * The provider manages a file named ".pessimistic" in each container it
- * controls.  This is where it stores metadata on which files it controls
- * in that container.  This file is considered to be controlled by the
- * provider and may be deleted.
- * 
- * The provider provides very simple checkin/checkout facilities by marking
- * files read-only to check them in and read-write to check them out.  It
- * also supports ignoring derived files.
- */
-public class PessimisticFilesystemProvider extends RepositoryProvider  {
-	/**
-	 * The name of the file used to store metadata on which
-	 * files are controlled by this provider.
-	 */	
-	private static final String CONTROL_FILE_NAME= ".pessimistic";
-	/**
-	 * The file modification validator for this provider.
-	 */
-	private FileModificationValidator validator;
-	/**
-	 * The cache of resources that are currently controlled.
-	 * The cache is a map of parent resource -> set of controlled children.
-	 */
-	private Map fControlledResources;
-	
-	/**
-	 * Creates a new provider, required for team repository extension.
-	 */
-	public PessimisticFilesystemProvider() {
-		validator = new PessimisticModificationValidator(this);
-		fControlledResources= new HashMap(1);
-	}		
-	
-	/**
-	 * Adds the resources to the control of this provider.
-	 */
-	public void addToControl(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Add to control:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set toAdd= new HashSet(resources.length);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				for (int i = 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (!isControlled(resource)) {
-						toAdd.add(resource);
-					}
-				}
-				Map byParent= sortByParent(toAdd);
-
-				monitor.beginTask("Adding to control", 1000);
-				for (Iterator i= byParent.keySet().iterator(); i.hasNext();) {
-					IContainer parent= (IContainer) i.next();
-					Set controlledResources= (Set)fControlledResources.get(parent);
-					if (controlledResources == null) {
-						controlledResources= new HashSet(1);
-						fControlledResources.put(parent, controlledResources);
-					}
-					controlledResources.addAll((Set)byParent.get(parent));
-					writeControlFile(parent, monitor);
-				}
-				monitor.done();				
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(toAdd, false);
-	}
-
-	/**
-	 * Removes the resources from the control of this provider.
-	 */
-	public void removeFromControl(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Remove from control:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set toRemove= new HashSet(resources.length);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				for (int i = 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (isControlled(resource)) {	
-						toRemove.add(resource);
-					}
-				}
-				Map byParent= sortByParent(toRemove);
-
-				monitor.beginTask("Removing from control", 1000);
-				for (Iterator i= byParent.keySet().iterator(); i.hasNext();) {
-					IContainer parent= (IContainer) i.next();
-					Set controlledResources= (Set)fControlledResources.get(parent);
-					if (controlledResources == null) {
-						deleteControlFile(parent, monitor);
-					} else {
-						Set toRemove= (Set)byParent.get(parent);
-						controlledResources.removeAll(toRemove);
-						if (controlledResources.isEmpty()) {
-							fControlledResources.remove(parent);
-							deleteControlFile(parent, monitor);
-						} else {
-							writeControlFile(parent, monitor);
-						}
-						for (Iterator j= controlledResources.iterator(); j.hasNext();) {
-							IResource resource= (IResource) j.next();
-							if (!resource.exists()) {
-								j.remove();
-							}
-						}
-					}
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(toRemove, false);
-	}
-
-	/*
-	 * Returns a map of IContainer -> Set of IResource.
-	 */
-	private Map sortByParent(Set resources) {
-		Map byParent= new HashMap(1);
-		for (Iterator i = resources.iterator(); i.hasNext();) {
-			IResource resource= (IResource) i.next();
-			IContainer parent= resource.getParent();
-			Set set= (Set)byParent.get(parent);
-			if (set == null) {
-				set= new HashSet(1);
-				byParent.put(parent, set);
-			}
-			set.add(resource);
-		}
-		return byParent;
-	}	
-
-	/*
-	 * Deletes the control file for the given container.
-	 */
-	private void deleteControlFile(final IContainer container, IProgressMonitor monitor) {
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				IFile controlFile= getControlFile(container, monitor);
-				monitor.beginTask("Deleting control file " + controlFile, 1);
-				if (controlFile.exists()) {
-					controlFile.delete(true, false, monitor);
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-	}
-
-	/*
-	 * Answers the control file for the given container.  If the control
-	 * file exists, but is a directory, it will be deleted!
-	 */
-	private IFile getControlFile(IContainer container, IProgressMonitor monitor) throws CoreException {
-		IResource child= container.findMember(CONTROL_FILE_NAME);
-		if (child != null) {
-			if (child.getType() == IResource.FILE) {
-				return (IFile)child;
-			} else {
-				child.delete(true, monitor);
-			}
-		}
-		IFile controlFile= container.getFile(new Path(CONTROL_FILE_NAME));
-		monitor.beginTask("Creating control file " + controlFile, 2);
-		controlFile.create(new ByteArrayInputStream(new byte[0]), true, monitor);
-		controlFile.setDerived(true);
-		controlFile.setTeamPrivateMember(true);
-		monitor.done();
-		return controlFile;
-	}
-
-	/*
-	 * Reads the contents of a control file, answering the set of
-	 * resources that was specified in the file.
-	 */	
-	private Set readControlFile(IFile controlFile) {
-		Set controlledResources= new HashSet(1);
-		if (controlFile.exists()) {
-			InputStream in= null;
-			try {
-				try {
-					in= ((IFile)controlFile).getContents(true);
-				} catch (CoreException e) {
-					PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Could not open stream on control file: " + controlFile);
-				}
-				DataInputStream dIn= new DataInputStream(in);
-				int count= 0;
-				try {
-					count= dIn.readInt();
-				} catch (IOException e) {
-					// could be empty
-				}
-				if (count > 0) {
-					try {
-						for(int i= 0; i < count; i++) {
-							String name= dIn.readUTF();
-							IResource resource= getProject().findMember(new Path(name));
-							if (resource != null) {
-								controlledResources.add(resource);
-							}
-						}
-					} catch (IOException e) {
-						// corrupt control file
-						try {
-							controlFile.delete(true, null);
-						} catch (CoreException ce) {
-							PessimisticFilesystemProviderPlugin.getInstance().logError(ce, "Could not delete corrupt control file: " + controlFile);
-						}
-					}
-				}
-			} finally {
-				if (in != null) {
-					try {
-						in.close();
-					} catch (IOException e) {
-						PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems closing input stream on control file: " + controlFile);
-					}
-				}
-			}
-		}		
-		return controlledResources;
-	}
-
-	/*
-	 * Writes the currently controled resources to the control file for the container.
-	 */
-	private void writeControlFile(IContainer container, IProgressMonitor monitor) throws CoreException {
-		IFile controlFile= getControlFile(container, monitor);
-		Set controlledResources= (Set)fControlledResources.get(container);
-		InputStream contents= generateControlFileContents(controlledResources);
-		monitor.beginTask("Writing control file " + controlFile, 1000);
-		if (contents == null) {
-			controlFile.delete(true, false, monitor);
-		} else {
-			controlFile.setContents(contents, true, false, monitor);
-		}
-		monitor.done();
-	}
-
-	/*
-	 * Generates an InputStream on a byte array which specifies 
-	 * the resources given in controlledResources.
-	 */
-	private InputStream generateControlFileContents(Set controlledResources) {
-		if (controlledResources == null || controlledResources.isEmpty()) {
-			return null;
-		}
-		ByteArrayOutputStream byteOut= new ByteArrayOutputStream();
-		DataOutputStream out= new DataOutputStream(byteOut);
-		try {
-			out.writeInt(controlledResources.size());
-			for (Iterator i= controlledResources.iterator(); i.hasNext();) {
-				IResource resource= (IResource) i.next();
-				out.writeUTF(resource.getProjectRelativePath().toString());
-			}
-			out.flush();
-		} catch (IOException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Unexpected problems during content generation");
-		}
-		return new ByteArrayInputStream(byteOut.toByteArray());
-	}
-
-	/*
-	 * @see IProjectNature#setProject(IProject)
-	 */
-	public void setProject(IProject project) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Set project to " + project);
-		}
-		super.setProject(project);
-		configureProject();		
-	}
-	
-	/*
-	 * @see IRepositoryProvider#getID()
-	 */
-	public String getID() {
-		return PessimisticFilesystemProviderPlugin.NATURE_ID;
-	}
-
-	/*
-	 * @see IRepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return getFileModificationValidator();
-	}
-	
-	public FileModificationValidator getFileModificationValidator2() {
-		return validator;
-	}
-	
-	/*
-	 * @see IRepositoryProvider#deconfigure()
-	 */
-	public void deconfigure() {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Deconfigure " + getProject());
-		}
-		
-		fControlledResources.clear();
-		fireStateChanged(getSubtreeMembers(getProject()), true);
-	}
-
-	/*
-	 * @see IRepositoryProvider#configure()
-	 */
-	public void configureProject() {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Configure " + getProject());
-		}
-		
-		readControlFiles();
-		fireStateChanged(getSubtreeMembers(getProject()), true);
-	}
-
-	/*
-	 * Reads the control files located in the project
-	 */
-	private void readControlFiles() {
-		IProject project= getProject();
-		Set set= new HashSet(1);
-		set.add(project);
-		fControlledResources.put(project.getParent(), set);
-		try {
-			getProject().accept(new IResourceVisitor() {
-				public boolean visit(IResource resource) throws CoreException {
-					if (resource.getType() == IResource.FILE) {
-						if (CONTROL_FILE_NAME.equals(resource.getName())) {
-							Set controlledResources= readControlFile((IFile)resource);
-							fControlledResources.put(resource.getParent(), controlledResources);
-						}
-						return false;
-					}
-					return true;
-				}
-			});
-		} catch (CoreException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems traversing resource tree");
-		}
-	}
-
-	/**
-	 * Checks the resources in by marking them read-only.
-	 */	
-	public void checkin(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Check in:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set modified= new HashSet(1);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Checking in resources", 1000);
-				for(int i= 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (isControlled(resource)) { 
-						if (resource.exists()) {
-							resource.setReadOnly(true);
-							modified.add(resource);
-						}
-					}
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(modified, false);
-	}
-	
-	/**
-	 * Unchecks the resources out.  In this provider this operation is 
-	 * equivalent to checkin.
-	 * 
-	 * @see PessimisticFilesystemProvider#checkin(IResource[], IProgressMonitor)
-	 */
-	public void uncheckout(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Uncheckout:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set modified= new HashSet(1);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Unchecking in resources", 1000);
-				for(int i= 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (isControlled(resource)) {
-						if (resource.exists()) {
-							resource.setReadOnly(true);
-							modified.add(resource);
-						}
-					}
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(modified, false);
-	}
-
-	/**
-	 * Checks the resources out by marking the resources read-write.
-	 */
-	public void checkout(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Check out:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set modified= new HashSet(1);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Checking out resources", 1000);
-				for(int i= 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (isControlled(resource)) {
-						if(resource.exists()) {
-							resource.setReadOnly(false);								
-							modified.add(resource);
-						}
-					}
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(modified, false);
-	}	
-
-	/**
-	 * Answers <code>true</code> if and only if the resource is 
-	 * not <code>null</code>, controlled, not ignored, and checked out.
-	 * Otherwise this method answers <code>false</code>.
-	 */
-	public boolean isCheckedout(IResource resource) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Is checked out: " + resource);
-		}
-		if (resource == null) {
-			return false;
-		}
-		if (!isControlled(resource)) {
-			return false;
-		}
-		if (isIgnored(resource)) {
-			return false;
-		}
-		return !resource.isReadOnly();
-	}	
-
-	/**
-	 * Answers <code>true</code> if the resource is not <code>null</code>,
-	 * and is controlled, <code>false</code> otherwise.
-	 */
-	public boolean isControlled(IResource resource) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Is controlled: " + resource);
-		}
-		if (resource == null) {
-			return false;
-		}
-		IProject project= getProject();
-		if (!project.equals(resource.getProject())) {
-			return false;
-		}
-		Set controlled= (Set)fControlledResources.get(resource.getParent());
-		if (controlled == null) {
-			return false;
-		}
-		return controlled.contains(resource);
-	}
-	
-	/**
-	 * Answers <code>true</code> if the resource is ignored.
-	 * Resources are ignored if they are derived.
-	 * Will return <code>false</code> when a resource is derived, but
-	 * has explicitly been added to the control of this provider.
-	 */
-	public boolean isIgnored (IResource resource) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Is ignored: " + resource);
-		}
-		if (resource.isDerived()) {
-			if (isControlled(resource)) {
-				return false;
-			}
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Answers <code>true</code> if the preference to change the content
-	 * of the file has been set to <code>true</code>, <code>false</code>
-	 * otherwise.
-	 */
-	public boolean hasContentChanged(IResource resource) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Has content change: " + resource);
-		}
-
-		IPreferenceStore preferences= PessimisticFilesystemProviderPlugin.getInstance().getPreferenceStore();
-		boolean change= preferences.getBoolean(IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT);
-		if (change) {
-			try {
-				if(resource.getType() == IResource.FILE) {
-					try {
-						appendText((IFile)resource, getRandomSnippet(), false);
-					} catch (IOException e1) {
-					}
-				} else {
-					resource.touch(null);
-				}
-			} catch (CoreException e) {
-				PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems touching resource: " + resource);
-			}
-		}
-		return change;
-	}
-
-	public void appendText(IFile file, String text, boolean prepend) throws CoreException, IOException {
-		String contents = getFileContents(file);
-		StringBuffer buffer = new StringBuffer();
-		if (prepend) {
-			buffer.append(text);
-		}
-		buffer.append(contents);
-		if (!prepend) {
-			buffer.append(System.getProperty("line.separator") + text);
-		}
-		file.setContents(new ByteArrayInputStream(buffer.toString().getBytes()), false, false, null);
-	}
-	
-	public static String getFileContents(IFile file) throws IOException, CoreException {
-		StringBuffer buf = new StringBuffer();
-		Reader reader = new InputStreamReader(new BufferedInputStream(file.getContents()));
-		try {
-			int c;
-			while ((c = reader.read()) != -1) buf.append((char)c);
-		} finally {
-			reader.close();
-		}
-		return buf.toString();		
-	}
-	
-	public static String getRandomSnippet() {
-		switch ((int) Math.round(Math.random() * 10)) {
-			case 0 :
-				return "este e' o meu conteudo (portuguese)";
-			case 1 :
-				return "Dann brauchen wir aber auch einen deutschen Satz!";
-			case 2 :
-				return "I'll be back";
-			case 3 :
-				return "don't worry, be happy";
-			case 4 :
-				return "there is no imagination for more sentences";
-			case 5 :
-				return "customize yours";
-			case 6 :
-				return "foo";
-			case 7 :
-				return "bar";
-			case 8 :
-				return "foobar";
-			case 9 :
-				return "case 9";
-			default :
-				return "these are my contents";
-		}
-	}
-
-	/*
-	 * Notifies listeners that the state of the resources has changed.
-	 * 
-	 * @param resources	A collection of resources whose state has changed.
-	 * @param queueAfterWorkspaceOperation	If <code>true</code>, indicates that the 
-	 * 						notification should occur after the current workspace runnable
-	 * 						has completed.
-	 */
-	private void fireStateChanged(final Collection resources, boolean queueAfterWorkspaceOperation) {
-		if (resources == null || resources.isEmpty()) {
-			return;
-		}
-
-		if (queueAfterWorkspaceOperation) {
-			Thread t= new Thread(new Runnable() {
-				public void run() {
-					try {
-						ResourcesPlugin.getWorkspace().run(
-							new IWorkspaceRunnable() {
-								public void run(IProgressMonitor monitor) throws CoreException {
-								}
-							}, 
-							null);
-					} catch (CoreException e) {
-						PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problem during empty runnable");
-					}
-					fireStateChanged(resources, false);
-				}
-			});
-			t.start();
-		} else {
-			PessimisticFilesystemProviderPlugin.getInstance().fireResourcesChanged(
-				(IResource[])resources.toArray(new IResource[resources.size()]));
-		}			
-	}
-	
-	/*
-	 * Answers a collection of all of the resources contained below
-	 * the given resource and the resource itself.
-	 */
-	private Collection getSubtreeMembers(IResource resource) {
-		final Set resources= new HashSet(1);
-		IResourceVisitor visitor= new IResourceVisitor() {
-			public boolean visit(IResource resource) throws CoreException {
-				switch (resource.getType()) {
-					case IResource.PROJECT:
-					case IResource.FOLDER:
-					case IResource.FILE:
-						resources.add(resource);
-						return true;
-				}
-				return true;
-			}
-		};
-		try {
-			resource.accept(visitor);
-		} catch (CoreException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problem during resource visiting");
-		}
-		return resources;
-	}
-
-	/*
-	 * Runs a workspace operation reporting errors to the PessimisticFilesystemProviderPlugin.
-	 */
-	private void run(IWorkspaceRunnable runnable, IProgressMonitor monitor) {
-		try {
-			ResourcesPlugin.getWorkspace().run(runnable, monitor);
-		} catch (CoreException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems during workspace operation.");
-		}
-	}
-}
-
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProviderPlugin.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProviderPlugin.java
deleted file mode 100644
index 31404fb..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProviderPlugin.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.team.examples.pessimistic;
- 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The plugin for the <code>PessimisticFilesystemProvider</code>.
- */
-public class PessimisticFilesystemProviderPlugin extends AbstractUIPlugin {
-	/*
-	 * Singleton instance.
-	 */
-	private static PessimisticFilesystemProviderPlugin instance;
-	/*
-	 * The resource change listener which notifies the provider of 
-	 * added and deleted files.
-	 */
-	private ResourceChangeListener fListener;
-	/*
-	 * The provider listeners
-	 */
-	private List fListeners;
-
-	/**
-	 * The plugin identifier
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.team.examples.pessimistic";
-	/**
-	 * The nature identifier.
-	 */
-	public static final String NATURE_ID = PLUGIN_ID + ".pessimisticnature";
-
-	/**
-	 * Contstructor required by plugin lifecycle.
-	 */
-	public PessimisticFilesystemProviderPlugin(IPluginDescriptor pluginDescriptor) {
-		super(pluginDescriptor);
-		instance = this;
-		fListeners= new ArrayList(1);
-		//setDebugging(true);
-	}
-
-	/**
-	 * Answers the singleton instance of this plugin.
-	 */	
-	public static PessimisticFilesystemProviderPlugin getInstance() {
-		return instance;
-	}
-
-	/**
-	 * Initializes the default preferences for this plugin.
-	 */
-	protected void initializeDefaultPreferences() {
-		IPreferenceStore store = getPreferenceStore();
-	
-		store.setDefault(
-			IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED,
-			IPessimisticFilesystemConstants.OPTION_PROMPT);
-		store.setDefault(
-			IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT,
-			IPessimisticFilesystemConstants.OPTION_AUTOMATIC);
-		store.setDefault(
-			IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED,
-			IPessimisticFilesystemConstants.OPTION_DO_NOTHING);
-		store.setDefault(
-			IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL,
-			IPessimisticFilesystemConstants.OPTION_PROMPT);			
-		store.setDefault(IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT, false);
-		store.setDefault(IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT, true);
-	}
-	
-	/**
-	 * Convenience method for logging errors.
-	 */
-	public void logError(Throwable exception, String message) {
-		String pluginId= getDescriptor().getUniqueIdentifier();
-		Status status= new Status(Status.ERROR, pluginId, Status.OK, message, exception);
-		getLog().log(status);
-		if (isDebugging()) {
-			System.out.println(message);
-			exception.printStackTrace();
-		}			
-	}
-
-	/**
-	 * Starts the resource listener.
-	 * 
-	 * @see Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		fListener= new ResourceChangeListener();
-		fListener.startup();
-		initializeDefaultPreferences();
-		super.startup();
-	}
-
-	/**
-	 * Stops the resource listener.
-	 * 
-	 * @see Plugin#startup()
-	 */
-	public void shutdown() throws CoreException {
-		fListener.shutdown();
-		fListener= null;
-		super.shutdown();
-	}
-	
-	/**
-	 * Notifies the registered <code>IResourceStateListener</code> objects
-	 * that the repository state for the resources has changed.
-	 * 
-	 * @param resources	Collection of resources that have changed.
-	 */
-	public void fireResourcesChanged(IResource[] resources) {
-		if (resources == null || resources.length == 0 || fListeners.isEmpty())
-			return;
-		for (Iterator i= fListeners.iterator(); i.hasNext();) {
-			IResourceStateListener listener= (IResourceStateListener) i.next();
-			listener.stateChanged(resources);
-		}
-	}
-	
-	/**
-	 * Adds the listener to the list of listeners that are notified when
-	 * the repository state of resources change.
-	 * 
-	 * @param listener
-	 */
-	public void addProviderListener(IResourceStateListener listener) {
-		if (fListeners.contains(listener))
-			return;
-		fListeners.add(listener);
-	}
-	
-	
-	/**
-	 * Removes the listener from the list of listeners that are notified when
-	 * the repository state of resources change.
-	 * 
-	 * @param listener
-	 */
-	public void removeProviderListener(IResourceStateListener listener) {
-		fListeners.remove(listener);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticModificationValidator.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticModificationValidator.java
deleted file mode 100644
index 1df9e52..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticModificationValidator.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.pessimistic;
- 
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFileModificationValidator;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.team.FileModificationValidationContext;
-import org.eclipse.core.resources.team.FileModificationValidator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.dialogs.CheckedTreeSelectionDialog;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * The <code>PessimisticModificationValidator</code> is an
- * implementation of the <code>IFileModificationValidator</code> for the
- * <code>PessimisticFilesystemProvider</code>.
- * 
- * @see PessimiticFilesystemProvider
- * @see IFileModificationValidator
- */
-public class PessimisticModificationValidator
-	extends FileModificationValidator {
-	/*
-	 * The provider for this validator
-	 */
-	private PessimisticFilesystemProvider fProvider;
-	
-	public PessimisticModificationValidator(PessimisticFilesystemProvider provider) {
-		fProvider= provider;
-	}
-
-	/**
-	 * @see IFileModificationValidator#validateEdit(IFile[], Object)
-	 */
- 	public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-    	if (files.length == 0) { 
-	        return new Status( IStatus.OK, getUid(), IStatus.OK, "OK", null);
-	    } 
-	
-	    Set checkOut = new HashSet();
-		int reloadCount = 0;
-	  	int checkoutFailCount = 0;
-	
-		Map validateEditStatusMap= new HashMap(files.length);
-		
-	    for ( int i = 0 ; i < files.length; i++ ) {
-	        IFile file= files[i];	
-	
-	        if (fProvider.isControlled(file) ) {
-	        	if (fProvider.isCheckedout(file)) {
-		            setValidateEditStatus(validateEditStatusMap, file,
-		               IPessimisticFilesystemConstants.STATUS_OK_TO_EDIT );
-	        	} else {
-	        		checkOut.add(file);
-	        	}
-	        } else {
-				setValidateEditStatus(validateEditStatusMap, file, 
-					IPessimisticFilesystemConstants.STATUS_OK_TO_EDIT);
-	        }
-	    }
-	
-	    if (!checkOut.isEmpty()) {
-	     	if (context != null) {
-	     		boolean shouldFail= shouldFailValidateEdit();
-	            int statusCode = checkout(checkOut, IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED, shouldFail, context);
-	            if (shouldFail) {
-					return new Status( IStatus.ERROR, getUid(), IStatus.ERROR, "Fail Validate Edit Preference true", null);
-				}	 
-	            if(statusCode == IStatus.CANCEL) {
-	            	return new Status( IStatus.CANCEL, getUid(), IStatus.ERROR, "Checkout canceled by user", null);
-	            }
-            } else {
-            	if (isAutomaticCheckout()) {
-		            if (shouldFailValidateEdit()) {
-						return new Status( IStatus.ERROR, getUid(), IStatus.ERROR, "Fail Validate Edit Preference true", null);
-					}	                      
-	
-					checkout(checkOut);
-            	}
-            }
-	
-	        for (Iterator i= checkOut.iterator(); i.hasNext(); ) {
-				IFile file = (IFile) i.next();
-	        
-				if ( fProvider.isCheckedout(file) ) {
-			    	if ( !fProvider.hasContentChanged(file) ) {
-						setValidateEditStatus(validateEditStatusMap, file,
-				    		IPessimisticFilesystemConstants.STATUS_OK_TO_EDIT );
-			    	} else {
-	                    reloadCount++;
-						setValidateEditStatus(validateEditStatusMap, file,
-	                        IPessimisticFilesystemConstants.STATUS_PROMPT_FOR_RELOAD );
-			    	}
-				} else { 
-	                checkoutFailCount++;
-				}
-		    }	
-	    }
-	
-	    if (reloadCount + checkoutFailCount == 0) { 
-	        return new Status( IStatus.OK, getUid(), IStatus.OK, "OK", null);
-	    }
-	
-	    if (checkoutFailCount == files.length) {
-	        return new Status( IStatus.ERROR, getUid(), IStatus.ERROR, "No files were checked out.", null);
-	    }
-	
-	    IStatus children[] = new Status[ files.length ];
-	
-	    int mask = IPessimisticFilesystemConstants.STATUS_OK_TO_EDIT |
-	               	IPessimisticFilesystemConstants.STATUS_PROMPT_FOR_RELOAD;
-	
-	    for (int i = 0; i < files.length; i++) { 
-	    	int result = getValidateEditStatus(validateEditStatusMap, files[i]);
-	 		if ((result & mask) != 0) {
-		    	children[i] = new Status( IStatus.OK, getUid(), IStatus.OK, "OK", null);
-	        } else {
-	            children[i] = new Status( IStatus.ERROR, getUid(), IStatus.ERROR, "File " + files[i].getName() + " could not be checked out.", null);
-	        }
-	    }
-	    return new MultiStatus( getUid(), IStatus.OK, children, "Some files were not successfully checked out", null); 
-	}
-
-	/**
-	 * @see IFileModificationValidator#validateSave(IFile)
-	 */
-	public IStatus validateSave(IFile file) {
-		int checkedInFilesSaved = getPreferences().getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED);
-		if (checkedInFilesSaved == IPessimisticFilesystemConstants.OPTION_DO_NOTHING) {
-			return new Status( IStatus.OK, getUid(), IStatus.OK, "", null);
-		}
-
-
-		IStatus status = new Status( IStatus.OK, getUid(), IStatus.OK, 
-			                      	"File is writable", null);
-		
-		if (!fProvider.isControlled(file)) {
-			return status;
-		}
-		
-		if (fProvider.isIgnored(file)) {
-			return status;
-		}
-		
-		if (fProvider.isCheckedout(file)) {
-			return status;
-		}
-		Set files= new HashSet(1);
-		files.add(file);
-		
-		checkout(files, IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED, false, null);
-	
-		if (fProvider.isCheckedout(file)) {
-			return status;
-		}
-		return new Status(
-			IStatus.ERROR, 
-			getUid(), 
-			IStatus.ERROR, 
-			file.getProjectRelativePath() + " could not be checked out", 
-			null);
-	}
-	
-	/*
-	 * Convenience method to get the plugin id
-	 */
-	private String getUid() {
-		return PessimisticFilesystemProviderPlugin.PLUGIN_ID;
-	}
-	
-	/*
-	 * Convenience method to answer if the fail validate edit preference
-	 * has been set.
-	 */
-	private boolean shouldFailValidateEdit() {
-		return getPreferences().getBoolean(IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT);
-	}
-
-	/*
-	 * Convenience method to answer if the check out preference is set to automatic.
-	 */
-	private boolean isAutomaticCheckout() {
-		return getPreferences().getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT) == IPessimisticFilesystemConstants.OPTION_AUTOMATIC;
-	}
-
-	/*
-	 * Optionally prompts the user to select which resources should be 
-	 * checked out, and then checks the selected resources.
-	 */
-	private int promptAndCheckout(Set resources, boolean beQuiet, boolean shouldFail, Object context) {
-		if (resources.isEmpty()) {
-			return IStatus.OK;
-		}
-
-		Set temp= new HashSet(resources.size());
-		for(Iterator i= resources.iterator(); i.hasNext(); ) {
-			IFile resource= (IFile)i.next();
-			if (fProvider.isControlled(resource) && !fProvider.isCheckedout(resource))
-				temp.add(resource);
-		}
-		resources= temp;
-		final int[] statusCode = new int[] {IStatus.OK};	
-		if (!beQuiet && !resources.isEmpty()) {
-			final Shell shell= getShell(context);
-			if (shell != null && !shell.isDisposed()) {
-				Display display = shell.getDisplay();
-				final Set[] result = {resources};
-				display.syncExec(new Runnable() {
-					public void run() {
-						ILabelProvider labelProvider= new WorkbenchLabelProvider();
-						Object[] resourceArray= result[0].toArray();
-						ITreeContentProvider contentProvider= new ResourceSetContentProvider(result[0]);
-						CheckedTreeSelectionDialog dialog= new CheckedTreeSelectionDialog(shell, labelProvider, contentProvider);
-						dialog.setMessage("Select resources to be checked out.");
-						dialog.setTitle("Check out resources");
-						dialog.setContainerMode(true);
-						dialog.setBlockOnOpen(true);
-						dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-						dialog.setExpandedElements(resourceArray);
-						dialog.setInitialSelections(resourceArray);
-						dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-						int status= dialog.open();
-						result[0]= null;
-						if (status == Window.OK) {
-							Object[] results= dialog.getResult();
-							result[0] = new HashSet(results.length);
-							for (int i= 0; i < results.length; i++) {
-								result[0].add(results[i]);
-							}
-						} else if(status == Window.CANCEL) {
-							statusCode[0] = IStatus.CANCEL;
-						}
-					}
-				});
-				resources= result[0];			
-			} else {
-				resources= null;
-				PessimisticFilesystemProviderPlugin.getInstance().logError(new RuntimeException(), "Context is invalid: " + context);
-			}
-		}
-
-		if (resources != null && !resources.isEmpty() && !shouldFail) {
-			checkout(resources);
-		}
-		return statusCode[0];
-	}
-
-	/*
-	 * Checks out the files contained in the resources set
-	 */
-	private void checkout(Set resources) {
-		if (resources.isEmpty())
-			return;
-		IFile[] checkOut= new IFile[resources.size()];
-		resources.toArray(checkOut);
-		fProvider.checkout(checkOut, null);
-	}
-
-	/*
-	 * Convenience method to get the plugin preferences.
-	 */
-	private IPreferenceStore getPreferences() {
-		return PessimisticFilesystemProviderPlugin.getInstance().getPreferenceStore();
-	}
-
-	/*
-	 * Checks out the files if necessary and if the preferences allow. 
-	 */
-	private int checkout(Set resources, String itemId, boolean shouldFail, Object context) {
-		if (resources.isEmpty()) {
-			return IStatus.OK;
-		}
-
-		int preference= getPreferences().getInt(itemId);
-		
-		if (preference == IPessimisticFilesystemConstants.OPTION_DO_NOTHING)
-			return IStatus.OK;
-			
-		boolean beQuiet= false;	
-		if (preference == IPessimisticFilesystemConstants.OPTION_AUTOMATIC) {
-			beQuiet= true;
-		}		
-		return promptAndCheckout(resources, beQuiet, shouldFail, context);
-	}
-	
-	/*
-	 * Convenience method to set the validate edit status for the given resource.
-	 */
-	private static void setValidateEditStatus(Map map, IFile resource, int status) {
-		map.put(resource, new Integer(status));
-	}
-	
-	/*
-	 * Convenience method to get the validate edit status for the given resource.
-	 */
-	private static int getValidateEditStatus(Map map, IFile resource) {
-		Integer i= (Integer)map.get(resource);
-		if (i == null)
-			return 0;
-		return i.intValue();
-	}
-
-	/*
-	 * Convenience method to get a shell from an object.
-	 */	
-	private Shell getShell(Object context) {
-		if (context instanceof FileModificationValidationContext) {
-			FileModificationValidationContext fmvc = (FileModificationValidationContext) context;
-			return (Shell)fmvc.getShell();
-		}
-		
-		if (context instanceof Shell) {
-			return (Shell)context;
-		}
-		
-		if (context instanceof Control) {
-			Control control= (Control)context;
-			return control.getShell();
-		}
-		
-		if (context instanceof Widget) {
-			Widget widget= (Widget)context;
-			return widget.getDisplay().getActiveShell();
-		}
-		
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceChangeListener.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceChangeListener.java
deleted file mode 100644
index 4c8c6df..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceChangeListener.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.pessimistic;
- 
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.CheckedTreeSelectionDialog;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * The <code>ResourceChangeListener</code> listens for resource changes 
- * and (optionally) prompts the user to add the new resources to the 
- * control of the repository provider.
- */
-public class ResourceChangeListener implements IResourceDeltaVisitor, IResourceChangeListener {
-	/*
-	 * Set of added resources
-	 */
-	private Set fAdded;
-	/*
-	 * Set of removed resources
-	 */
-	private Set fRemoved;
-	
-	public ResourceChangeListener() {
-		fAdded= new HashSet(1);
-		fRemoved= new HashSet(1);
-	}
-
-	/**
-	 * Looks for the following changes:
-	 * <ul>
-	 *   <li>Resources that are controlled and are removed</li>
-	 *   <li>Resources that are added under a managed project</li>
-	 * </ul>
-	 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(IResourceDelta)
-	 */
-	public boolean visit(IResourceDelta delta) throws CoreException {
-		IResource resource= delta.getResource();
-		if (resource != null) {
-			IProject project= resource.getProject();
-			if (project != null) {
-				PessimisticFilesystemProvider provider= (PessimisticFilesystemProvider)RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-				if (provider == null)
-					return false;
-				if (provider.isControlled(resource)) {
-					switch (delta.getKind()) {
-						case IResourceDelta.CHANGED:
-						case IResourceDelta.ADDED:
-							return true;
-						case IResourceDelta.REMOVED:
-							fRemoved.add(resource);
-							return false;						
-					}
-				} else {
-					switch (delta.getKind()) {
-						case IResourceDelta.CHANGED:
-						case IResourceDelta.REMOVED:
-							return true;
-						case IResourceDelta.ADDED:
-							// don't prompt for ignored resources
-							if (!provider.isIgnored(resource)) {
-								fAdded.add(resource);
-							}
-							return true;						
-					}				
-				}
-			} else {
-				return true;
-			}
-		}					
-		return false;
-	}
-
-	/*
-	 * Convenience method to return a resource array from a collection
-	 */
-	private IResource[] toResourceArray(Collection collection) {
-		if (collection.isEmpty()) {
-			return new IResource[0];
-		}
-		IResource[] resources= new IResource[collection.size()];
-		collection.toArray(resources);
-		return resources;
-	}
-
-	/**
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged (IResourceChangeEvent event) {
-		try {
-			event.getDelta().accept(this);
-		} catch (CoreException e) {
-			e.printStackTrace();
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Exceptions during resource callback");
-		}
-
-		if (!fRemoved.isEmpty() || !fAdded.isEmpty()) {
-			final IWorkspaceRunnable workspaceRunnable= new IWorkspaceRunnable() {
-				public void run(final IProgressMonitor monitor) throws CoreException {
-					if (!fRemoved.isEmpty()) {
-						remove(monitor);
-					}
-					
-					if (!fAdded.isEmpty()) {
-						add(monitor);
-					}					
-				}
-			};
-			// must fork since we are in resource callback.
-			Runnable run= new Runnable() {
-				public void run() {
-					try {
-						IWorkspace workspace= ResourcesPlugin.getWorkspace();
-						if (workspace != null) {
-							workspace.run(workspaceRunnable, null);
-						}
-					} catch (CoreException e) {
-						PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems encountered during attempt to add/remove control.");
-					}
-				}
-			};
-			new Thread(run).start();
-		}
-	}
-
-	/*
-	 * Convenience method to get the preference for what to do
-	 * when new resource have been detected.
-	 */
-	private int getAddToControlPreference() {
-		Preferences preferences= PessimisticFilesystemProviderPlugin.getInstance().getPluginPreferences();
-		return preferences.getInt(IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL);
-	}
-	
-	/*
-	 * Adds the resources to the control of the provider.
-	 * If the add to control preference is:
-	 *	do nothing - does not add
-	 *  automatic - adds all resources
-	 *  prompt - brings up a prompt which requests that the user
-	 * 				select which resources to add
-	 */
-	private void add(final IProgressMonitor monitor) {
-		switch (getAddToControlPreference()) {
-			case IPessimisticFilesystemConstants.OPTION_DO_NOTHING:
-				break;
-			case IPessimisticFilesystemConstants.OPTION_AUTOMATIC:
-				addToControl(fAdded, monitor);
-				break;
-			case IPessimisticFilesystemConstants.OPTION_PROMPT:
-				final Shell shell= getShell();
-				if (shell != null && !shell.isDisposed()) {
-					final Set resources= new HashSet(fAdded);
-					Runnable run= new Runnable() {
-						public void run() {
-							CheckedTreeSelectionDialog dialog= new CheckedTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new ResourceSetContentProvider(resources));
-							dialog.setMessage("Select the resources to be added to the control of the repository.");
-							dialog.setTitle("Add resources to control");
-							dialog.setContainerMode(true);
-							dialog.setBlockOnOpen(true);
-							dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-							Object[] resourceArray= resources.toArray();
-							dialog.setExpandedElements(resourceArray);
-							dialog.setInitialSelections(resourceArray);
-							dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-							int status= dialog.open();
-							
-							if (status == Window.OK) {
-								Object[] results= dialog.getResult();
-								if (results != null) {
-									Set resources= new HashSet(results.length);
-									for (int i= 0; i < results.length; i++) {
-										resources.add(results[i]);
-									}
-									addToControl(resources, monitor);
-								}
-							}
-						}
-					};
-			
-					Display display= shell.getDisplay();
-					display.asyncExec(run);
-				} else {
-					PessimisticFilesystemProviderPlugin.getInstance().logError(null, "Could not aquire a shell");
-				}
-				break;
-		}
-		fAdded.clear();
-	}
-
-	/*
-	 * Adds the resources to the control of the provider.
-	 */
-	private void addToControl(Collection resources, final IProgressMonitor monitor) {
-		Map byProject= sortByProject(resources);
-		for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-			IProject project= (IProject) i.next();
-			PessimisticFilesystemProvider provider= (PessimisticFilesystemProvider)RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-			if (provider != null) {
-				provider.addToControl(toResourceArray((Collection)byProject.get(project)), monitor);
-			}
-			
-		}
-	}
-	
-	/*
-	 * Removes the resources from the control of the provider.
-	 */
-	private void remove(IProgressMonitor monitor) {
-		Map byProject= sortByProject(fRemoved);
-		for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-			IProject project= (IProject) i.next();
-			PessimisticFilesystemProvider provider= (PessimisticFilesystemProvider)RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-			if (provider != null) {
-				provider.removeFromControl(toResourceArray((Collection)byProject.get(project)), monitor);
-			}
-		}
-		fRemoved.clear();
-	}
-
-	/*
-	 * Convenience method to sort the resources by project
-	 */
-	private Map sortByProject(Collection resources) {
-		Map byProject= new HashMap();
-		for (Iterator i= resources.iterator(); i.hasNext();) {
-			IResource resource= (IResource) i.next();
-			IProject project= resource.getProject();
-			Set set= (Set)byProject.get(project);
-			if (set == null) {
-				set= new HashSet(1);
-				byProject.put(project, set);
-			}
-			set.add(resource);
-		}
-		return byProject;
-	}
-
-	/*
-	 * Convenience method which answers a shell with which to prompt.
-	 */
-	private Shell getShell() {
-		IWorkbench workbench= PlatformUI.getWorkbench();
-		if (workbench != null) {
-			IWorkbenchWindow window= workbench.getActiveWorkbenchWindow();
-			if (window == null) {
-				IWorkbenchWindow[] windows= workbench.getWorkbenchWindows();
-				if (windows != null && windows.length > 0) {
-					window= windows[0];
-				}
-			}
-			if (window != null) {
-				Shell shell= window.getShell();
-				if (shell == null)
-					return null;
-				if (shell.isDisposed())
-					return null;
-				return shell;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Starts listening for changes.
-	 */
-	public void startup() {
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging())
-			System.out.println ("Resource callback registered");
-	}
-	
-	/**
-	 * Stops listening for changes.
-	 */
-	public void shutdown() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging())
-			System.out.println ("Resource callback unregistered");	
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java
deleted file mode 100644
index af85536..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.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.team.examples.pessimistic;
- 
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class ResourceSetContentProvider implements ITreeContentProvider {
-	private static final Object[] EMPTY_ARRAY= new Object[0];
-	private Map fResourceTree;
-	private IResource[] fRoots;
-
-	public ResourceSetContentProvider(Set resources) {
-		fResourceTree= new HashMap(1);
-		Set roots= new HashSet(resources);
-		for(Iterator i= resources.iterator(); i.hasNext(); ) {
-			IResource resource= (IResource)i.next();
-			if(resource.getType() == IResource.ROOT) {
-				continue; // root cannot be displayed
-			}
-			IResource parent= resource.getParent();
-			if (roots.contains(parent)) {
-				roots.remove(resource);
-				Set set= (Set)fResourceTree.get(parent);
-				if (set == null) {
-					set= new HashSet(1);
-					fResourceTree.put(parent, set);
-				}
-				set.add(resource);
-			}
-		}
-		fRoots= (IResource[])roots.toArray(new IResource[roots.size()]);
-	}
-
-	public Object[] getChildren(Object parentElement) {
-		Set set= (Set) fResourceTree.get(parentElement);
-		if (set != null) {
-			return set.toArray();
-		}
-		return EMPTY_ARRAY;
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof IResource) {
-			return ((IResource)element).getParent();
-		}
-		return null;
-	}
-
-	public boolean hasChildren(Object element) {
-		return fResourceTree.get(element) != null;
-	}
-
-	public Object[] getElements(Object inputElement) {
-		return fRoots;
-	}
-
-	public void dispose() {
-		fResourceTree= null;
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/AddToControlAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/AddToControlAction.java
deleted file mode 100644
index 050a990..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/AddToControlAction.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 Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
- 
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Adds the selected resources and their parent resources to
- * the control of the provider.
- */
-public class AddToControlAction extends PessimisticProviderAction {
-
-	/**
-	 * Collects the selected resources, sorts them by project
-	 * and adds them to their respective repository providers.
-	 * 
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0)
-			return;
-		Set resourceSet= new HashSet(resources.length);
-		for(int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			while (resource.getType() != IResource.PROJECT && !isControlled(resource)) {
-				resourceSet.add(resource);
-				resource= resource.getParent();
-			}
-		}
-		if (!resourceSet.isEmpty()) {
-			final Map byProject= sortByProject(resourceSet);
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-					for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-						IProject project= (IProject) i.next();
-						PessimisticFilesystemProvider provider= getProvider(project);
-						if (provider != null) {
-							Set set= (Set)byProject.get(project);
-							IResource[] resources= new IResource[set.size()];
-							set.toArray(resources);
-							provider.addToControl(resources, monitor);
-						}
-					}
-				}
-			};
-			runWithProgressDialog(runnable);
-		}
-	}
-
-	/**
-	 * Answers <code>true</code> if the selected resource is not
-	 * a project (or the workspace root) and is not controlled.
-	 * 
-	 * @see PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource == null) {
-			return false;
-		}
-		if ((resource.getType() & (IResource.ROOT | IResource.PROJECT)) != 0) {
-			return false;
-		}		
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return !provider.isControlled(resource);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/BlankPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/BlankPage.java
deleted file mode 100644
index 7a021cd..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/BlankPage.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.team.examples.pessimistic.ui;
- 
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A wizard page that is empty to workaround a bug.
- */
-public class BlankPage extends WizardPage {
-
-	/**
-	 * Creates a blank page telling the user what is about to happen.
-	 */
-	public BlankPage() {
-		super("AddPessimisticFilesystemSupport");
-		setTitle("Pessimistic filesystem provider");
-		setDescription("Add pessimistic filesystem provider support to this project");
-		setPageComplete(true);
-	}
-
-	/**
-	 * Creates an empty control.
-	 */
-	public void createControl(Composite parent) {
-		Composite client = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		client.setLayout(layout);
-		setControl(client);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckInAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckInAction.java
deleted file mode 100644
index 299ce1a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckInAction.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.team.examples.pessimistic.ui;
- 
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Performs a check in on the selected resources.  If a folder is 
- * selected all of its children are recursively checked in.
- */
-public class CheckInAction extends SourceManagementAction {
-
-	/**
-	 * Answers <code>true</code> if and only if the resource is 
-	 * not null, controlled, not ignored, and is checked out.
-	 * 
-	 * @see PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource == null)
-			return false;
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		if (!provider.isControlled(resource))
-			return false;
-		if (provider.isIgnored(resource))
-			return false;			
-		return provider.isCheckedout(resource);
-	}
-
-	/*
-	 * @see SourceControlAction#manageResources(PessimisticFilesystemProvider, IResource[], IProgressMonitor)
-	 */
-	protected void manageResources(PessimisticFilesystemProvider provider, IResource[] resources, IProgressMonitor monitor) {
-		provider.checkin(resources, monitor);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckOutAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckOutAction.java
deleted file mode 100644
index 6a302e7..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckOutAction.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.team.examples.pessimistic.ui;
- 
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Performs a check out on the selected resources.  If a folder is 
- * selected all of its children are recursively checked out.
- */
-public class CheckOutAction extends SourceManagementAction {
-	/**
-	 * Answers <code>true</code> if and only if the <code>resource</code>
-	 * is not <code>null</code>, controlled, not ignored and not checked out.
-	 * 
-	 * @see PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource == null)
-			return false;
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		if (!provider.isControlled(resource))
-			return false;
-		if (provider.isIgnored(resource))
-			return false;
-		return !provider.isCheckedout(resource);
-	}
-	
-	/*
-	 * @see SourceControlAction#manageResources(PessimisticFilesystemProvider, IResource[], IProgressMonitor)
-	 */
-	protected void manageResources(PessimisticFilesystemProvider provider, IResource[] resources, IProgressMonitor monitor) {
-		provider.checkout(resources, monitor);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/ConfigurationWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/ConfigurationWizard.java
deleted file mode 100644
index e14722f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/ConfigurationWizard.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.team.examples.pessimistic.ui;
- 
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-import org.eclipse.team.ui.IConfigurationWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * A wizard which adds the <code>PessimisticFilesystemProvider</code> nature
- * to a given project.
- */
-public class ConfigurationWizard extends Wizard implements IConfigurationWizard {
-	/*
-	 * The project in question.
-	 */
-	private IProject project;
-	
-	/*
-	 * @see Wizard#addPages()
-	 */
-	public void addPages() {
-		// workaround the wizard problem
-		addPage(new BlankPage());
-	}
-
-	/*
-	 * @see Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		try {
-			RepositoryProvider.map(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-		} catch (TeamException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Could not set sharing on " + project);
-			return false;
-		}
-		return true;
-	}
-
-	/*
-	 * @see IConfigurationWizard#init(IWorkbench, IProject)
-	 */	
-	public void init(IWorkbench workbench, IProject project) {
-		this.project = project;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/DisconnectAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/DisconnectAction.java
deleted file mode 100644
index 3f1dc12..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/DisconnectAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.pessimistic.ui;
- 
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-
-public class DisconnectAction extends PessimisticProviderAction {
-	/**
-	 * Collects the selected resources, extracts the projects selected
-	 * and disconnects the projects from their respective providers.
-	 * 
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging())
-			System.out.println("Disconnect");
-		
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0)
-			return;
-		final Set projects= new HashSet(resources.length);
-		for(int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			if (resource.getType() == IResource.PROJECT) {
-				projects.add(resource.getProject());
-			}
-		}
-		if (!projects.isEmpty()) {
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-					IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-						public void run(IProgressMonitor monitor)
-							throws CoreException {
-							for (Iterator i= projects.iterator(); i.hasNext();) {
-								IProject project= (IProject) i.next();
-								PessimisticFilesystemProvider provider= getProvider(project);
-								if (provider != null) {
-									try {
-										RepositoryProvider.unmap(project);	
-									} catch (TeamException e) {
-										PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Could not unmap " + project);
-									}						
-								}
-							}
-						}				
-					};
-					try {
-						ResourcesPlugin.getWorkspace().run(runnable, monitor);
-					} catch (CoreException e) {
-						PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problem during unmap runnable");	
-					}
-					
-				}
-			};
-			runWithProgressDialog(runnable);
-		}
-	}
-	
-	/**
-	 * Answers <code>true</code> if and only if the resource is a 
-	 * project and is controlled by the pessimistic filesystem provider.
-	 * 
-	 * @see PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource.getType() == IResource.PROJECT) {
-			PessimisticFilesystemProvider provider= getProvider(resource);
-			if (provider == null)
-				return false;
-			return true;
-		}
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticDecorator.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticDecorator.java
deleted file mode 100644
index 25dc2b1..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticDecorator.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.examples.pessimistic.*;
-
-/**
- * The <code>PessimisticDecorator</code> is a label provider
- * that decorates resources controlled by a <code>PessimisticFilesystemProvider</code>.
- */
-public class PessimisticDecorator extends LabelProvider implements ILabelDecorator, IResourceStateListener {
-
-	/**
-	 * Constructor needed for extension
-	 */
-	public PessimisticDecorator() {
-		PessimisticFilesystemProviderPlugin.getInstance().addProviderListener(this);
-	}
-
-	/*
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(String, Object)
-	 */
-	public String decorateText(String text, Object element) {
-		IResource resource= getResource(element);
-		if (resource == null)
-			return text;
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null) {
-			return text;
-		}
-		if (provider.isControlled(resource)) {
-			if (provider.isCheckedout(resource)) {
-				return ">" + text;
-			} else {
-				return text;
-			}
-		} else {
-			if (provider.isIgnored(resource)) {
-				return "[ignored] " + text;
-			} else {
-				return "(not controlled) " + text;
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(Image, Object)
-	 */
-	public Image decorateImage(Image image, Object element) {
-		return image;
-	}
-
-	/*
-	 * Convenience method to get the provider of a resource
-	 */
-	private PessimisticFilesystemProvider getProvider(IResource resource) {
-		IProject project= resource.getProject();
-		if (project != null) {
-			return (PessimisticFilesystemProvider) RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-		}
-		return null;
-	}
-
-	/*
-	 * Convenience method to get a resource from an object
-	 */
-	private IResource getResource(Object object) {
-		if (object instanceof IResource) {
-			return (IResource) object;
-		}
-		if (object instanceof IAdaptable) {
-			return (IResource) ((IAdaptable) object).getAdapter(IResource.class);
-		}
-		return null;
-	}
-
-	/*
-	 * Fires label events
-	 */
-	private void postLabelEvents(final LabelProviderChangedEvent[] events) {
-		if (events != null && events.length > 0) {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					for (int i= 0; i < events.length; i++) {
-						fireLabelProviderChanged(events[i]);
-					}
-				}
-			});
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		PessimisticFilesystemProviderPlugin.getInstance().removeProviderListener(this);
-		super.dispose();
-	}
-
-	/*
-	 * @see org.eclipse.team.examples.pessimistic.IResourceStateListener#resourcesChanged(IResource[])
-	 */
-	public void stateChanged(IResource[] resources) {
-		if (resources.length > 0) {
-			LabelProviderChangedEvent[] events= new LabelProviderChangedEvent[resources.length];
-			for (int i= 0; i < resources.length; i++) {
-				events[i]= new LabelProviderChangedEvent(this, resources[i]);
-			}
-			postLabelEvents(events);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticPreferencesPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticPreferencesPage.java
deleted file mode 100644
index c16a3a4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticPreferencesPage.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (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.team.examples.pessimistic.ui;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.examples.pessimistic.IPessimisticFilesystemConstants;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * A preference page for the <code>PessimisticFilesystemProviderPlugin</code>.
- */
-public class PessimisticPreferencesPage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	/*
-	 * Widget for the files are edited preference
-	 */
-	private Combo filesAreEditedCombo;
-	/*
-	 * Widget for the files are edited without a context preference
-	 */
-	private Combo filesAreEditedNoPromptCombo;	
-	/*
-	 * Widget for the files are saved preference
-	 */
-	private Combo filesAreSavedCombo;
-	/*
-	 * Widget for the files are edited preference
-	 */
-	private Combo addToControlCombo;
-	/*
-	 * Widget for the change file contents preference
-	 */
-	private Button changeFileContents;
-	/*
-	 * Widget for the fail validate edit preference
-	 */
-	private Button failValidateEdit;
-	
-	/*
-	 * Option strings for the files are edited preference.
-	 */
-	private static final String[] EDIT_OPTION_STRINGS= 
-		new String[] { 
-			"Prompt to checkout", 
-			"Checkout", 
-			"Do nothing", };
-	/*
-	 * Option values for the files are edited preference.
-	 */
-	private static final int[] EDIT_OPTION_KEYS=
-		new int[] { 
-			IPessimisticFilesystemConstants.OPTION_PROMPT,
-			IPessimisticFilesystemConstants.OPTION_AUTOMATIC,
-			IPessimisticFilesystemConstants.OPTION_DO_NOTHING, };
-			
-	/*
-	 * Option strings for the files are edited without a context preference.
-	 */
-	private static final String[] EDIT_NO_PROMPT_OPTION_STRINGS= 
-		new String[] { 
-			"Checkout", 
-			"Do nothing", };		
-
-	/*
-	 * Option strings for the files are saved preference.
-	 */
-	private static final String[] SAVE_OPTION_STRINGS= 
-		new String[] { 
-			"Checkout", 
-			"Do nothing", };
-	/*
-	 * Option values for the files are saved preference.
-	 */
-	private static final int[] SAVE_OPTION_KEYS=
-		new int[] { 
-			IPessimisticFilesystemConstants.OPTION_AUTOMATIC,
-			IPessimisticFilesystemConstants.OPTION_DO_NOTHING, };
-			
-	/*
-	 * Option strings for the add to control preference.
-	 */
-	private static final String[] ADD_TO_CONTROL_OPTION_STRINGS=
-		new String[] {
-			"Prompt to add to control",
-			"Add to control",
-			"Do nothing", };
-	/*
-	 * Option values for the add to control preference.
-	 */
-	private static final int[] ADD_TO_CONTROL_OPTION_KEYS=
-		new int[] { 
-			IPessimisticFilesystemConstants.OPTION_PROMPT,
-			IPessimisticFilesystemConstants.OPTION_AUTOMATIC,
-			IPessimisticFilesystemConstants.OPTION_DO_NOTHING, };		
-	
-
-	/*
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return PessimisticFilesystemProviderPlugin.getInstance().getPreferenceStore();
-	}
-
-
-	/*
-	 * Sets the layout to be a grid layout with the given number of columns.
-	 */
-	protected void setDefaultLayout(Composite group, int columns) {
-		GridLayout layout = new GridLayout();
-		group.setLayout(layout);
-
-		GridData data =
-			new GridData(
-				GridData.VERTICAL_ALIGN_FILL
-					| GridData.HORIZONTAL_ALIGN_FILL
-					| GridData.GRAB_HORIZONTAL);
-
-		layout.numColumns = columns;
-		group.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		setDefaultLayout(composite, 1);
-
-		Composite options = new Composite(composite, SWT.NULL);
-		setDefaultLayout(options, 2);
-
-		Label label = new Label(options, SWT.NONE);
-		label.setText("File handling:");
-		GridData gridData = new GridData();
-		gridData.horizontalSpan = 2;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);
-
-		label = new Label(options, SWT.NONE);
-		label.setText("When checked in files are edited:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);		
-
-		filesAreEditedCombo= new Combo(options, SWT.BORDER | SWT.READ_ONLY);
-		gridData = new GridData();
-		gridData.horizontalSpan= 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		filesAreEditedCombo.setLayoutData(gridData);	
-		filesAreEditedCombo.setItems(EDIT_OPTION_STRINGS);
-
-		label = new Label(options, SWT.NONE);
-		label.setText("When checked in files are edited programmatically:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);		
-
-		filesAreEditedNoPromptCombo= new Combo(options, SWT.BORDER | SWT.READ_ONLY);
-		gridData = new GridData();
-		gridData.horizontalSpan= 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		filesAreEditedNoPromptCombo.setLayoutData(gridData);	
-		filesAreEditedNoPromptCombo.setItems(EDIT_NO_PROMPT_OPTION_STRINGS);
-		
-		label = new Label(options, SWT.NONE);
-		label.setText("When checked in files are saved:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);
-		
-		filesAreSavedCombo= new Combo(options, SWT.BORDER | SWT.READ_ONLY);
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		filesAreSavedCombo.setLayoutData(gridData);
-		filesAreSavedCombo.setItems(SAVE_OPTION_STRINGS);
-
-		label = new Label(options, SWT.NONE);
-		label.setText("When files are created:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);
-		
-		addToControlCombo= new Combo(options, SWT.BORDER | SWT.READ_ONLY);
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		addToControlCombo.setLayoutData(gridData);
-		addToControlCombo.setItems(ADD_TO_CONTROL_OPTION_STRINGS);
-
-		options = new Composite(composite, SWT.NULL);
-		setDefaultLayout(options, 1);
-
-		label = new Label(options, SWT.NONE);
-		label.setText("Error cases:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);
-
-		failValidateEdit= new Button(options, SWT.CHECK | SWT.LEFT);
-		failValidateEdit.setText("Fail validate edit");
-		gridData = new GridData();
-		failValidateEdit.setLayoutData(gridData);
-
-		changeFileContents= new Button(options, SWT.CHECK | SWT.LEFT);
-		changeFileContents.setText("Touch files during validate edit");
-		gridData = new GridData();
-		changeFileContents.setLayoutData(gridData);
-
-		updatePreferencePage();
-
-		return composite;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	/*
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		IPreferenceStore store = getPreferenceStore();
-
-		filesAreEditedCombo.select(
-			getEditOptionIndex(store.getDefaultInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED)));
-		filesAreEditedNoPromptCombo.select(
-			getEditNoPromptOptionIndex(store.getDefaultInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT)));
-		filesAreSavedCombo.select(
-			getSaveOptionIndex(store.getDefaultInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED)));
-		addToControlCombo.select(
-			getAddToControlOptionIndex(store.getDefaultInt(IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL)));			
-		failValidateEdit.setSelection(
-			store.getDefaultBoolean(IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT));
-		changeFileContents.setSelection(
-			store.getDefaultBoolean(IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT));
-		super.performDefaults();
-	}
-
-	/*
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		IPreferenceStore store = getPreferenceStore();
-
-		int selectionIndex = filesAreEditedCombo.getSelectionIndex();
-		if (selectionIndex != -1)
-	        store.setValue(
-				IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED,
-				EDIT_OPTION_KEYS[selectionIndex]);
-		selectionIndex = filesAreEditedNoPromptCombo.getSelectionIndex();
-		if (selectionIndex != -1)
-			store.setValue(
-				IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT,
-				SAVE_OPTION_KEYS[selectionIndex]);
-		selectionIndex = filesAreSavedCombo.getSelectionIndex();
-		if (selectionIndex != -1)
-			store.setValue(
-				IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED,
-				SAVE_OPTION_KEYS[selectionIndex]);
-		selectionIndex = addToControlCombo.getSelectionIndex();
-		if (selectionIndex != -1)
-			store.setValue(
-				IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL,
-				ADD_TO_CONTROL_OPTION_KEYS[selectionIndex]);
-		store.setValue(
-			IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT, 
-			failValidateEdit.getSelection());		
-		store.setValue(
-			IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT,
-			changeFileContents.getSelection());
-		return true;
-	}
-
-	/*
-	 * Sets the widgets to have the state stored in the preferences.
-	 */
-	protected void updatePreferencePage() {
-		IPreferenceStore store = getPreferenceStore();
-
-		filesAreEditedCombo.select(
-			getEditOptionIndex(store.getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED)));
-		filesAreEditedNoPromptCombo.select(
-			getEditNoPromptOptionIndex(store.getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT)));			
-		filesAreSavedCombo.select(
-			getSaveOptionIndex(store.getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED)));
-		addToControlCombo.select(
-			getAddToControlOptionIndex(store.getInt(IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL)));
-		failValidateEdit.setSelection(
-			store.getBoolean(IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT));
-		changeFileContents.setSelection(
-			store.getBoolean(IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT));
-	}
-	
-	/*
-	 * Answers the index of the given key.
-	 */	
-	protected int getEditOptionIndex(int key) {
-		for(int i= 0; i < EDIT_OPTION_KEYS.length; i++) {
-			if (EDIT_OPTION_KEYS[i] == key)
-				return i;
-		}
-		return -1;
-	}
-	
-	/*
-	 * Answers the index of the given key.
-	 */	
-	protected int getSaveOptionIndex(int key) {
-		for(int i= 0; i < SAVE_OPTION_KEYS.length; i++) {
-			if (SAVE_OPTION_KEYS[i] == key)
-				return i;
-		}
-		return -1;
-	}
-	
-	/*
-	 * Answers the index of the given key.
-	 */	
-	protected int getEditNoPromptOptionIndex(int key) {
-		for(int i= 0; i < SAVE_OPTION_KEYS.length; i++) {
-			if (SAVE_OPTION_KEYS[i] == key)
-				return i;
-		}
-		return -1;
-	}			
-	
-	/*
-	 * Answers the index of the given key.
-	 */	
-	protected int getAddToControlOptionIndex(int key) {
-		for(int i= 0; i < ADD_TO_CONTROL_OPTION_KEYS.length; i++) {
-			if (ADD_TO_CONTROL_OPTION_KEYS[i] == key)
-				return i;
-		}
-		return -1;
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticProviderAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticProviderAction.java
deleted file mode 100644
index 16aab89..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticProviderAction.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * Abstract base action implementation for all pessimistic provider actions.
- * Provides convenience methods an abstractions.
- */
-public abstract class PessimisticProviderAction
-	implements IObjectActionDelegate {
-
-	/*
-	 * The current selection.
-	 */
-	protected ISelection fSelection;
-	/*
-	 * The current shell.
-	 */
-	protected Shell fShell;
-
-	/*
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		fSelection = selection;
-		
-		boolean enabled= action.isEnabled();
-		if (enabled != checkEnablement()) {
-			action.setEnabled(!enabled);
-		}
-	}
-	
-	/*
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart part) {
-		fShell= part.getSite().getShell();
-	}	
-
-	/**
-	 * Answers <code>true</code> if this action should be enabled
-	 * for the given <code>resource</code>.
-	 */
-	protected abstract boolean shouldEnableFor(IResource resource);
-	
-	/*
-	 * Checks to see if this action should be enabled.
-	 */
-	protected boolean checkEnablement() {
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0) {
-			return false;
-		} else {
-			boolean enabled= false;
-			for(int i= 0; !enabled && i < resources.length; i++) {
-				if (shouldEnableFor(resources[i])) {
-					enabled= true;
-				}
-			}
-			return enabled;
-		}
-	}
-	
-	/**
-	 * Convenience method to get an array of resources from the selection.
-	 */
-	protected IResource[] getSelectedResources() {
-		ArrayList resources = null;
-		if (!fSelection.isEmpty()) {
-			resources = new ArrayList();
-			Iterator elements = ((IStructuredSelection) fSelection).iterator();
-			while (elements.hasNext()) {
-				Object next = elements.next();
-				if (next instanceof IResource) {
-					resources.add(next);
-					continue;
-				}
-				if (next instanceof IAdaptable) {
-					IAdaptable a = (IAdaptable) next;
-					Object adapter = a.getAdapter(IResource.class);
-					if (adapter instanceof IResource) {
-						resources.add(adapter);
-						continue;
-					}
-				}
-			}
-		}
-		if (resources != null && !resources.isEmpty()) {
-			IResource[] result = new IResource[resources.size()];
-			resources.toArray(result);
-			return result;
-		}
-		return new IResource[0];		
-	}
-	
-	/**
-	 * Convenience method which answers <code>true</code> if the
-	 * resource is controlled by a <code>PessimisticFilesystemProvider</code>.
-	 */
-	protected boolean isControlled(IResource resource) {
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return provider.isControlled(resource);
-	}
-	
-	/**
-	 * Convenience method which answers <code>true</code> if and only if the
-	 * resource is controlled by a <code>PessimisticFilesystemProvider</code>
-	 * and is checked out.
-	 */
-	protected boolean isCheckedOut(IResource resource) {
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return provider.isCheckedout(resource);
-	}
-
-	/**
-	 * Convenience method which answers <code>true</code> if and only if the
-	 * resource is controlled by a <code>PessimisticFilesystemProvider</code>
-	 * and the resource is ignored.
-	 */
-	protected boolean isIgnored(IResource resource) {
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return provider.isIgnored(resource);
-	}
-
-	/**
-	 * Convenience method which answers the <code>PessimisticFilesystemProvider</code>
-	 * for the given <code>resource</code> or <code>null</code> if the 
-	 * <code>resource</code> is not associated with a <code>PessimisticFilesystemProvider</code>.
-	 */
-	protected PessimisticFilesystemProvider getProvider(IResource resource) {
-		if (resource == null) {
-			return null;
-		}
-		IProject project= resource.getProject();
-		if (project == null) {
-			return null;
-		}
-		return (PessimisticFilesystemProvider)RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-	}
-
-	/**
-	 * Convenience method which walks a resource tree and collects the
-	 * resources that this action would enable for.
-	 */
-	protected void recursivelyAdd(IResource resource, Set resources) {
-		if (isControlled(resource) && !isIgnored(resource)) {
-			if (shouldEnableFor(resource)) {
-				resources.add(resource);
-			}
-
-			if (resource instanceof IContainer) {
-				IContainer container = (IContainer) resource;
-				IResource[] members= null;
-				try {
-					members = container.members();
-				} catch (CoreException e) {
-					PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Exception traversing members");
-				}
-				if (members != null) {
-					for (int i = 0; i < members.length; i++) {
-						recursivelyAdd(members[i], resources);
-					}
-				}
-			}
-		}		
-	}
-
-	/**
-	 * Convenience method which sorts the given <code>resources</code>
-	 * into a map of IProject -> Set of IResource objects.
-	 */
-	protected Map sortByProject(Set resources) {
-		Map byProject= new HashMap();
-		if (resources != null) {
-			for (Iterator i= resources.iterator(); i.hasNext();) {
-				IResource resource= (IResource) i.next();
-				IProject project= resource.getProject();
-				Set set= (Set)byProject.get(project);
-				if (set == null) {
-					set= new HashSet(1);
-					byProject.put(project, set);
-				}
-				set.add(resource);
-			}
-		}
-		return byProject;
-	}
-	
-	/**
-	 * Convenience method for displaying runnable progress
-	 * with a <code>ProgressMonitorDialog</code>.
-	 */
-	protected void runWithProgressDialog(IRunnableWithProgress runnable) {
-		try {
-			new ProgressMonitorDialog(fShell).run(true, false, runnable);
-		} catch (InvocationTargetException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems running action " + this);
-		} catch (InterruptedException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems running action " + this);
-		}
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/RemoveFromControlAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/RemoveFromControlAction.java
deleted file mode 100644
index de5c5d9..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/RemoveFromControlAction.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.team.examples.pessimistic.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Removes the selected resources and their children resources from
- * the control of the provider.
- */
-public class RemoveFromControlAction extends PessimisticProviderAction {
-	
-	/**
-	 * Collects the selected resources into sets by project,
-	 * then removes the resources from the provider associated
-	 * with their containing project.
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0)
-			return;
-		Set resourceSet= new HashSet(resources.length);
-		for(int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			recursivelyAdd(resource, resourceSet);
-		}
-		if (!resourceSet.isEmpty()) {
-			final Map byProject= sortByProject(resourceSet);			
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-					for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-						IProject project= (IProject) i.next();
-						PessimisticFilesystemProvider provider= getProvider(project);
-						if (provider != null) {
-							Set set= (Set)byProject.get(project);
-							IResource[] resources= new IResource[set.size()];
-							set.toArray(resources);
-							provider.removeFromControl(resources, monitor);
-						}
-					}
-				}
-			};
-			runWithProgressDialog(runnable);
-		}
-	}
-
-	/**
-	 * Answers <code>true</code> if and only if the resource is not <code>null</code>,
-	 * not a project or the workspace root, and is controlled by the provider.
-	 * 
-	 * @see org.eclipse.team.examples.pessimistic.ui.PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource == null) {
-			return false;
-		}
-		if ((resource.getType() & (IResource.ROOT | IResource.PROJECT)) != 0) {
-			return false;
-		}
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return provider.isControlled(resource);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/SourceManagementAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/SourceManagementAction.java
deleted file mode 100644
index 46e895a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/SourceManagementAction.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.team.examples.pessimistic.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * An abstract action used to centralize the implementation of
- * source management actions.
- */
-public abstract class SourceManagementAction extends PessimisticProviderAction {
-
-	/**
-	 * Collects the selected resources by project, then iterates
-	 * over the projects finding the associated provider.  If a 
-	 * provider is found it requests that this action manage the resources
-	 * using the found provider.
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0)
-			return;
-		Set resourceSet= new HashSet(resources.length);
-		for(int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			recursivelyAdd(resource, resourceSet);
-		}
-		if (!resourceSet.isEmpty()) {
-			final Map byProject= sortByProject(resourceSet);
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-					for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-						IProject project= (IProject) i.next();
-						PessimisticFilesystemProvider provider= getProvider(project);
-						if (provider != null) {
-							Set set= (Set)byProject.get(project);
-							IResource[] resources= new IResource[set.size()];
-							set.toArray(resources);
-							manageResources(provider, resources, monitor);
-						}
-					}
-				}
-			};
-			runWithProgressDialog(runnable);
-		}		
-	}
-
-	/**
-	 * Manages the <code>resources</code> using the given <code>provider</code>.
-	 * 
-	 * @param provider		The provider associated with the resources.
-	 * @param resources	The resources to be managed.
-	 * @param monitor		A progress monitor to give feedback.
-	 */
-	protected abstract void manageResources(PessimisticFilesystemProvider provider, IResource[] resources, IProgressMonitor monitor);
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/UncheckOutAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/UncheckOutAction.java
deleted file mode 100644
index bb97a47..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/UncheckOutAction.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.team.examples.pessimistic.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Performs an uncheck out on the selected resources.  If a folder is 
- * selected all of its children are recursively unchecked out.
- */
-public class UncheckOutAction extends CheckInAction {
-	/**
-	 * @see org.eclipse.team.examples.pessimistic.ui.SourceManagementAction#manageResources(PessimisticFilesystemProvider, IResource[], IProgressMonitor)
-	 */
-	protected void manageResources(PessimisticFilesystemProvider provider, IResource[] resources, IProgressMonitor monitor) {
-		provider.uncheckout(resources, monitor);
-	}
-
-}
diff --git a/features/org.eclipse.cvs-feature/.project b/features/org.eclipse.cvs-feature/.project
deleted file mode 100644
index 5108649..0000000
--- a/features/org.eclipse.cvs-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.cvs-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.cvs-feature/build.properties b/features/org.eclipse.cvs-feature/build.properties
deleted file mode 100644
index ce791ec..0000000
--- a/features/org.eclipse.cvs-feature/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = feature.xml,\
-               feature.properties,\
-               license.html,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
-               
-root=rootfiles
diff --git a/features/org.eclipse.cvs-feature/eclipse_update_120.jpg b/features/org.eclipse.cvs-feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.cvs-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.cvs-feature/epl-v10.html b/features/org.eclipse.cvs-feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.cvs-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/feature.properties b/features/org.eclipse.cvs-feature/feature.properties
deleted file mode 100644
index 3d4ad30..0000000
--- a/features/org.eclipse.cvs-feature/feature.properties
+++ /dev/null
@@ -1,144 +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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse CVS Client
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse CVS Client. (Binary runtime and user documentation.)
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 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
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/feature.xml b/features/org.eclipse.cvs-feature/feature.xml
deleted file mode 100644
index 6537cd2..0000000
--- a/features/org.eclipse.cvs-feature/feature.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.cvs"
-      label="%featureName"
-      version="1.0.100.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/eclipse/updates/3.4"/>
-      <discovery label="%updateSiteName" url="http://download.eclipse.org/eclipse/updates/3.4"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.platform" version="3.3.0" match="compatible"/>
-   </requires>
-
-<plugin
-         id="org.eclipse.cvs"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh2"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>   
-
-</feature>
diff --git a/features/org.eclipse.cvs-feature/license.html b/features/org.eclipse.cvs-feature/license.html
deleted file mode 100644
index c6af966..0000000
--- a/features/org.eclipse.cvs-feature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation 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 provided with this Content and is also 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>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.cvs-feature/rootfiles/epl-v10.html b/features/org.eclipse.cvs-feature/rootfiles/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.cvs-feature/rootfiles/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/rootfiles/notice.html b/features/org.eclipse.cvs-feature/rootfiles/notice.html
deleted file mode 100644
index c6af966..0000000
--- a/features/org.eclipse.cvs-feature/rootfiles/notice.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation 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 provided with this Content and is also 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>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.cvs-feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.cvs-feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.cvs-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.cvs-feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.cvs-feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 9159541..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse CVS Client Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse CVS client.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 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
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.cvs-feature/sourceTemplateFeature/license.html b/features/org.eclipse.cvs-feature/sourceTemplateFeature/license.html
deleted file mode 100644
index c6af966..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation 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 provided with this Content and is also 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>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index c207d05..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 10, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2143c4c..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index e89b360..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.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
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Eclipse CVS Client\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2007.  All rights reserved.\n\
-Visit http://www.eclipse.org/eclipse/platform-cvs/
-
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index f770cd8..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = about.html, about.ini, about.mappings, about.properties, eclipse32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 568fac1..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 3b3e6bf..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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=Eclipse CVS Client SDK
-providerName=Eclipse.org
diff --git a/tests/org.eclipse.core.tests.net/.classpath b/tests/org.eclipse.core.tests.net/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/tests/org.eclipse.core.tests.net/.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.core.tests.net/.cvsignore b/tests/org.eclipse.core.tests.net/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.core.tests.net/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.core.tests.net/.project b/tests/org.eclipse.core.tests.net/.project
deleted file mode 100644
index bb53ef7..0000000
--- a/tests/org.eclipse.core.tests.net/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.tests.net</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.core.tests.net/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.core.tests.net/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c0a53cb..0000000
--- a/tests/org.eclipse.core.tests.net/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,53 +0,0 @@
-#Mon Feb 19 16:17:33 EST 2007
-eclipse.preferences.version=1
-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=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-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.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-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=ignore
-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.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
diff --git a/tests/org.eclipse.core.tests.net/META-INF/MANIFEST.MF b/tests/org.eclipse.core.tests.net/META-INF/MANIFEST.MF
deleted file mode 100644
index bc41efb..0000000
--- a/tests/org.eclipse.core.tests.net/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Net Tests Plug-in
-Bundle-SymbolicName: org.eclipse.core.tests.net
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.core.tests.net.Activator
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.net;bundle-version="[1.0.0,2.0.0)",
- org.junit
-Eclipse-LazyStart: true
diff --git a/tests/org.eclipse.core.tests.net/about.html b/tests/org.eclipse.core.tests.net/about.html
deleted file mode 100644
index 4602330..0000000
--- a/tests/org.eclipse.core.tests.net/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.net/build.properties b/tests/org.eclipse.core.tests.net/build.properties
deleted file mode 100644
index fba4c19..0000000
--- a/tests/org.eclipse.core.tests.net/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = META-INF/,\
-               .,\
-               about.html,\
-               test.xml
diff --git a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/Activator.java b/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/Activator.java
deleted file mode 100644
index 7e219ed..0000000
--- a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/Activator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.tests.net;
-
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.net.tests";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	public IProxyService getProxyService() {
-		ServiceReference serviceReference = getBundle().getBundleContext().getServiceReference(IProxyService.class.getName());
-		if (serviceReference != null)
-			return (IProxyService)getBundle().getBundleContext().getService(serviceReference);
-		return null;
-	}
-
-}
diff --git a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/AllNetTests.java b/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/AllNetTests.java
deleted file mode 100644
index 3d24419..0000000
--- a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/AllNetTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.tests.net;
-
-import junit.framework.*;
-
-public class AllNetTests extends TestCase {
-	
-	public AllNetTests() {
-		super();
-	}
-
-	public AllNetTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(NetTest.suite());
-		return suite;
-	}
-}
diff --git a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/NetTest.java b/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/NetTest.java
deleted file mode 100644
index ee8903d..0000000
--- a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/NetTest.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.tests.net;
-
-import java.util.*;
-
-import junit.framework.*;
-
-import org.eclipse.core.internal.net.ProxyType;
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.CoreException;
-
-public class NetTest extends TestCase {
-	
-	private boolean isSetEnabled;
-	private Map dataCache = new HashMap();
-
-	public NetTest() {
-		super();
-	}
-
-	public NetTest(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		return new TestSuite(NetTest.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		setProxiesEnabled(true);
-		isSetEnabled = true;
-		dataCache.clear();
-		ProxyType.socksSystemPropertySetting = ProxyType.ALWAYS_SET;
-	}
-	
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		setProxiesEnabled(false);
-		IProxyData[] data = getProxyManager().getProxyData();
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			proxyData.disable();
-		}
-		getProxyManager().setProxyData(data);
-	}
-	
-	private IProxyService getProxyManager() {
-		return Activator.getDefault().getProxyService();
-	}
-
-	private void assertProxyDataEqual(IProxyData expectedData) {
-		IProxyData data = getProxyManager().getProxyData(expectedData.getType());
-		assertEquals(expectedData.getType(), data.getType());
-		assertEquals(expectedData.getHost(), data.getHost());
-		assertEquals(expectedData.getPort(), data.getPort());
-		assertEquals(expectedData.getUserId(), data.getUserId());
-		assertEquals(expectedData.getPassword(), data.getPassword());
-		assertEquals(expectedData.isRequiresAuthentication(), data.isRequiresAuthentication());
-		assertSystemPropertiesMatch(data);
-	}
-	
-	public void assertSystemPropertiesMatch(IProxyData proxyData) {
-		if (proxyData.getType().equals(IProxyData.HTTP_PROXY_TYPE)) {
-			assertHttpSystemProperties(proxyData, "http");
-		} else if (proxyData.getType().equals(IProxyData.HTTPS_PROXY_TYPE)) {
-			assertHttpSystemProperties(proxyData, "https");
-		} else if (proxyData.getType().equals(IProxyData.SOCKS_PROXY_TYPE)) {
-			assertSocksSystemProperties(proxyData);
-		}
-	}
-
-	private void assertHttpSystemProperties(IProxyData proxyData, String keyPrefix) {
-		Properties sysProps = System.getProperties();
-		
-		if (this.getProxyManager().isProxiesEnabled()) {
-			boolean isSet = Boolean.getBoolean(keyPrefix + ".proxySet");
-			assertEquals(proxyData.getHost() != null, isSet); //$NON-NLS-1$
-			assertEquals(proxyData.getHost(), sysProps.get(keyPrefix + ".proxyHost")); //$NON-NLS-1$
-			String portString = (String)sysProps.get(keyPrefix + ".proxyPort"); //$NON-NLS-1$
-			int port = -1;
-			if (portString != null)
-				port = Integer.parseInt(portString);
-			assertEquals(proxyData.getPort(), port);
-			if (isSet)
-				assertEquals(ProxyType.convertHostsToPropertyString(this.getProxyManager().getNonProxiedHosts()), sysProps.get(keyPrefix + ".nonProxyHosts")); //$NON-NLS-1$
-			else 
-				assertNull(sysProps.get(keyPrefix + ".nonProxyHosts"));
-			assertEquals(proxyData.getUserId(), sysProps.get(keyPrefix + ".proxyUser")); //$NON-NLS-1$
-			assertEquals(proxyData.getUserId(), sysProps.get(keyPrefix + ".proxyUserName")); //$NON-NLS-1$
-			assertEquals(proxyData.getPassword(), sysProps.get(keyPrefix + ".proxyPassword")); //$NON-NLS-1$
-		} else {
-			assertNull(sysProps.get(keyPrefix + ".proxySet"));
-			assertNull(sysProps.get(keyPrefix + ".proxyHost"));
-			assertNull(sysProps.get(keyPrefix + ".proxyPort"));
-			assertNull(sysProps.get(keyPrefix + ".nonProxyHosts"));
-			assertNull(sysProps.get(keyPrefix + ".proxyUser"));
-			assertNull(sysProps.get(keyPrefix + ".proxyUserName"));
-			assertNull(sysProps.get(keyPrefix + ".proxyPassword"));
-		}
-	}
-
-	private void assertSocksSystemProperties(IProxyData proxyData) {
-		Properties sysProps = System.getProperties();
-		if (this.getProxyManager().isProxiesEnabled()) {
-			assertEquals(proxyData.getHost(), sysProps.get("socksProxyHost")); //$NON-NLS-1$
-			String portString = (String)sysProps.get("socksProxyPort"); //$NON-NLS-1$
-			int port = -1;
-			if (portString != null)
-				port = Integer.parseInt(portString);
-			assertEquals(proxyData.getPort(), port);
-		} else {
-			assertNull(sysProps.get("socksProxyHost"));
-			assertNull(sysProps.get("socksProxyPort"));
-		}
-	}
-	
-	private IProxyData getProxyData(String type) {
-		IProxyData data = (IProxyData)dataCache.get(type);
-		if (data == null) {
-			data = this.getProxyManager().getProxyData(type);
-			assertProxyDataEqual(data);
-		}
-		return data;
-	}
-	
-	private void setProxyData(IProxyData data) throws CoreException {
-		if (isSetEnabled) {
-			this.getProxyManager().setProxyData(new IProxyData[] { data });
-			assertProxyDataEqual(data);
-		} else {
-			dataCache.put(data.getType(), data);
-		}
-	}
-	
-	private void disableProxy(IProxyData proxyData) throws CoreException {
-		proxyData.disable();
-		setProxyData(proxyData);
-	}
-	
-	private void changeProxyData(IProxyData oldData, IProxyData data)
-			throws CoreException {
-		// Make sure that setting the host doesn't change the persisted settings
-		if (isSetEnabled)
-			assertProxyDataEqual(oldData);
-		// Now set it in the manager and assert that it is set
-		setProxyData(data);
-	}
-	
-	private void setHost(String type) throws CoreException {
-		String host = "www.eclipse.org";
-		setHost(type, host);
-	}
-
-	private void setHost(String type, String host) throws CoreException {
-		IProxyData data = getProxyData(type);
-		IProxyData oldData = getProxyData(type);
-		data.setHost(host);
-		changeProxyData(oldData, data);
-	}
-	
-	private void setPort(String type, int port) throws CoreException {
-		IProxyData data = getProxyData(type);
-		IProxyData oldData = getProxyData(type);
-		data.setPort(port);
-		changeProxyData(oldData, data);
-	}
-	
-	private void setUser(String type, String user, String password) throws CoreException {
-		IProxyData data = getProxyData(type);
-		IProxyData oldData = getProxyData(type);
-		data.setUserid(user);
-		data.setPassword(password);
-		changeProxyData(oldData, data);
-	}
-	
-	private void setDataTest(String type) throws CoreException {
-		setHost(type, "www.eclipse.org");
-		setPort(type, 1024);
-		setUser(type, "me", "passw0rd");
-	}
-	
-	private void setProxiesEnabled(boolean enabled) {
-		this.getProxyManager().setProxiesEnabled(enabled);
-		assertEquals(enabled, this.getProxyManager().isProxiesEnabled());
-	}
-	
-	private void delaySettingData() {
-		isSetEnabled = false;
-	}
-	
-	private void performSettingData() throws CoreException {
-		IProxyData[] data = (IProxyData[]) dataCache.values().toArray(new IProxyData[dataCache.size()]);
-		this.getProxyManager().setProxyData(data);
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			assertProxyDataEqual(proxyData);
-		}
-		isSetEnabled = true;
-		dataCache.clear();
-	}
-	
-	public void testIndividualSetAndClear() throws CoreException {
-		setDataTest(IProxyData.HTTP_PROXY_TYPE);
-		setDataTest(IProxyData.HTTPS_PROXY_TYPE);
-		setDataTest(IProxyData.SOCKS_PROXY_TYPE);
-		IProxyData[] data = this.getProxyManager().getProxyData();
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			disableProxy(proxyData);
-		}
-	}
-	
-	public void testAllSetAndClear() throws CoreException {
-		delaySettingData();
-		setDataTest(IProxyData.HTTP_PROXY_TYPE);
-		setDataTest(IProxyData.HTTPS_PROXY_TYPE);
-		setDataTest(IProxyData.SOCKS_PROXY_TYPE);
-		performSettingData();
-		
-		delaySettingData();
-		IProxyData[] data = this.getProxyManager().getProxyData();
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			disableProxy(proxyData);
-		}
-		performSettingData();
-	}
-
-	public void testSetWhenDisabled() throws CoreException {
-		setProxiesEnabled(false);
-		String type = IProxyData.HTTP_PROXY_TYPE;
-		setHost(type);
-	}
-
-	public void testDisableAfterSet() throws CoreException {
-		String type = IProxyData.HTTP_PROXY_TYPE;
-		setHost(type);
-		IProxyData data = this.getProxyManager().getProxyData(type);
-		setProxiesEnabled(false);
-		assertProxyDataEqual(data);
-	}
-	
-	public void testSimpleHost() throws CoreException {
-		setDataTest(IProxyData.HTTP_PROXY_TYPE);
-		setDataTest(IProxyData.HTTPS_PROXY_TYPE);
-		setDataTest(IProxyData.SOCKS_PROXY_TYPE);
-		
-		IProxyData[] allData = this.getProxyManager().getProxyDataForHost("www.randomhot.com");
-		assertEquals(3, allData.length);
-		
-		IProxyData data = this.getProxyManager().getProxyDataForHost("www.randomhot.com", IProxyData.HTTP_PROXY_TYPE);
-		assertNotNull(data);
-		
-		allData = this.getProxyManager().getProxyDataForHost("localhost");
-		assertEquals(0, allData.length);
-		
-		data = this.getProxyManager().getProxyDataForHost("localhost", IProxyData.HTTP_PROXY_TYPE);
-		assertNull(data);
-	}
-	
-	public void testHostPattern() throws CoreException {
-		setDataTest(IProxyData.HTTP_PROXY_TYPE);
-		setDataTest(IProxyData.HTTPS_PROXY_TYPE);
-		setDataTest(IProxyData.SOCKS_PROXY_TYPE);
-		
-		String[] oldHosts = this.getProxyManager().getNonProxiedHosts();
-		this.getProxyManager().setNonProxiedHosts(new String[] { "*ignore.com" });
-		
-		IProxyData[] allData = this.getProxyManager().getProxyDataForHost("www.randomhot.com");
-		assertEquals(3, allData.length);
-		
-		IProxyData data = this.getProxyManager().getProxyDataForHost("www.randomhot.com", IProxyData.HTTP_PROXY_TYPE);
-		assertNotNull(data);
-		
-		allData = this.getProxyManager().getProxyDataForHost("www.ignore.com");
-		assertEquals(0, allData.length);
-		
-		data = this.getProxyManager().getProxyDataForHost("www.ignore.com", IProxyData.HTTP_PROXY_TYPE);
-		assertNull(data);
-		
-		allData = this.getProxyManager().getProxyDataForHost("ignore.com");
-		assertEquals(0, allData.length);
-		
-		data = this.getProxyManager().getProxyDataForHost("ignore.com", IProxyData.HTTP_PROXY_TYPE);
-		assertNull(data);
-		
-		this.getProxyManager().setNonProxiedHosts(oldHosts);
-	}
-
-}
diff --git a/tests/org.eclipse.core.tests.net/test.xml b/tests/org.eclipse.core.tests.net/test.xml
deleted file mode 100644
index 96b5b35..0000000
--- a/tests/org.eclipse.core.tests.net/test.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Net Automated Tests" default="run" basedir=".">
-
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="eclipse-home" value="${basedir}/../../"/>
-  <property name="plugin-name" value="org.eclipse.core.tests.net"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-  <property name="org.eclipse.net.tests" value="org.eclipse.net.tests"/>
-  <property name="net-home" value="${eclipse-home}/plugins/${org.eclipse.net.tests}"/>
-
-  <!-- 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="location" value="${eclipse-home}/net_test_workspace"/>
-    <delete dir="${location}" quiet="true"/>
-
-    <!-- Session Test ** Team Core ** -->
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${location}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.core.tests.net.AllNetTests"/>
-    </ant>
-    
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after the tests -->
-  <!-- have been run. You can use this to delete temporary files that are 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">
-  </target>
-
-</project>
diff --git a/tests/org.eclipse.jsch.tests/.classpath b/tests/org.eclipse.jsch.tests/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/tests/org.eclipse.jsch.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.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.jsch.tests/.cvsignore b/tests/org.eclipse.jsch.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.jsch.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.jsch.tests/.project b/tests/org.eclipse.jsch.tests/.project
deleted file mode 100644
index 092ec49..0000000
--- a/tests/org.eclipse.jsch.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jsch.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.jsch.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.jsch.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 7f24500..0000000
--- a/tests/org.eclipse.jsch.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: JSch Tests Plug-in
-Bundle-SymbolicName: org.eclipse.jsch.tests
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.jsch.tests.Activator
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.core.runtime
-Eclipse-LazyStart: true
diff --git a/tests/org.eclipse.jsch.tests/build.properties b/tests/org.eclipse.jsch.tests/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/tests/org.eclipse.jsch.tests/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/tests/org.eclipse.jsch.tests/src/org/eclipse/jsch/tests/Activator.java b/tests/org.eclipse.jsch.tests/src/org/eclipse/jsch/tests/Activator.java
deleted file mode 100644
index bb43ab1..0000000
--- a/tests/org.eclipse.jsch.tests/src/org/eclipse/jsch/tests/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jsch.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.jsch.tests";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/.classpath b/tests/org.eclipse.team.tests.core/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/tests/org.eclipse.team.tests.core/.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.team.tests.core/.cvsignore b/tests/org.eclipse.team.tests.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.team.tests.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.team.tests.core/.project b/tests/org.eclipse.team.tests.core/.project
deleted file mode 100644
index 587dbe1..0000000
--- a/tests/org.eclipse.team.tests.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.team.tests.core</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.team.tests.core/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.team.tests.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8e416cd..0000000
--- a/tests/org.eclipse.team.tests.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,49 +0,0 @@
-#Thu Aug 24 12:01:59 EDT 2006
-eclipse.preferences.version=1
-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=ignore
-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=warning
-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.rawTypeReference=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=ignore
-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.unusedLabel=warning
-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/tests/org.eclipse.team.tests.core/about.html b/tests/org.eclipse.team.tests.core/about.html
deleted file mode 100644
index 4602330..0000000
--- a/tests/org.eclipse.team.tests.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.core/build-tests.xml b/tests/org.eclipse.team.tests.core/build-tests.xml
deleted file mode 100644
index 9a16b11..0000000
--- a/tests/org.eclipse.team.tests.core/build-tests.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<project name="Build Team Sniff" basedir="." default="init">
-
-  <property name="root" value="${basedir}/.."/>
-  <property name="temp" value="${root}/__temp"/>
-  <property name="plugins" value="${temp}/eclipse/plugins"/>
-
-  <target name="init">
-    <tstamp/>
-
-    <delete dir="${temp}"/>
-    <mkdir dir="${plugins}"/>
-
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.core.tests.harness" />
-      <param name="jarName" value="testharness.jar" />
-    </antcall>
-    
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.tests.core" />
-      <param name="jarName" value="teamtests.jar" />
-    </antcall>
-
-    <zip zipfile="${basedir}/teamSniff${DSTAMP}.zip"
-       basedir="${temp}"
-    />
-
-    <delete dir="${temp}"/>
-    <eclipse.refreshLocal resource="org.eclipse.team.tests.core"/>
-  </target>
-
-  <target name="buildPlugin">
-    <copy todir="${plugins}/${pluginName}">
-      <fileset dir="${root}/${pluginName}"/>
-    </copy>
-    <jar jarfile="${plugins}/${pluginName}/${jarName}"
-         basedir="${plugins}/${pluginName}/bin"
-    />
-    <delete dir="${plugins}/${pluginName}/bin"/>
-  </target>
-
-</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.core/build.properties b/tests/org.eclipse.team.tests.core/build.properties
deleted file mode 100644
index ccf9dab..0000000
--- a/tests/org.eclipse.team.tests.core/build.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-source.teamtests.jar=src/
-bin.includes=about.html,plugin.xml,*.jar,test.xml
diff --git a/tests/org.eclipse.team.tests.core/plugin.xml b/tests/org.eclipse.team.tests.core/plugin.xml
deleted file mode 100644
index 6ecf81c..0000000
--- a/tests/org.eclipse.team.tests.core/plugin.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.team.tests.core"
-   name="Eclipse Team Core Tests"
-   version="3.1.0"
-   provider-name="Eclipse.org">
-
-   <runtime>
-      <library name="teamtests.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide" optional="true"/>
-      <import plugin="org.eclipse.ui.views" optional="true"/>
-      <import plugin="org.eclipse.jface.text" optional="true"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
-      <import plugin="org.eclipse.ui.editors" optional="true"/>
-      <import plugin="org.eclipse.core.tests.harness"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.team.core"/>
-      <import plugin="org.eclipse.team.cvs.core"/>
-      <import plugin="org.eclipse.team.ui"/>
-      <import plugin="org.eclipse.team.cvs.ui"/>
-      <import plugin="org.eclipse.compare"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.core.tests.resources"/>
-      <import plugin="org.eclipse.ui.navigator"/>
-      <import plugin="org.eclipse.core.filesystem"/>
-      <import plugin="org.eclipse.compare.tests"/>
-   </requires>
-
-<!-- *************** Repository Providers **************** -->
-   <extension
-         point="org.eclipse.team.core.repository">
-      <repository
-            class="org.eclipse.team.tests.core.RepositoryProviderBic"
-            id="org.eclipse.team.tests.core.bic-provider">
-      </repository>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.repository">
-      <repository
-            class="org.eclipse.team.tests.core.RepositoryProviderNaish"
-            id="org.eclipse.team.tests.core.naish-provider">
-      </repository>
-   </extension>
-<!-- *************** Bad provider that is not registered **************** 
-	<extension
-         point="org.eclipse.team.core.repository">
-      <repository
-      		id="org.eclipse.team.tests.core.other"
-            class="org.eclipse.team.tests.core.RepositoryProviderOtherSport">
-      </repository>
-	</extension>
-	-->
-   <extension
-         point="org.eclipse.team.core.repository">
-      <repository
-            class="org.eclipse.team.tests.core.RepositoryProviderWithLinking"
-            id="org.eclipse.team.tests.core.linking">
-      </repository>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="Team Test Views"
-            id="org.eclipse.team.tests.core">
-      </category>
-      <view
-            name="Content Provider Test View"
-            category="org.eclipse.team.tests.core"
-            class="org.eclipse.team.tests.ui.views.ContentProviderTestView"
-            id="org.eclipse.team.tests.ui.views.ContentProviderTestView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.storageMergers">
-      <storageMerger
-            class="org.eclipse.team.tests.core.TestStorageMerger"
-            extensions="blah"
-            id="org.eclipse.team.tests.core.storageMerger1"/>
-      <contentTypeBinding
-            contentTypeId="org.eclipse.team.tests.core.content-type1"
-            storageMergerId="org.eclipse.team.tests.core.storageMerger1"/>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.contentTypes">
-      <content-type
-            id="org.eclipse.team.tests.core.content-type1"
-            name="org.eclipse.team.tests.core.content-type1"
-            priority="normal"/>
-   </extension>
-</plugin>
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java
deleted file mode 100644
index 5ff47c6..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.tests.resources.ResourceTest;
-
-public class AllTeamTests extends ResourceTest {
-
-	/**
-	 * Constructor for CVSClientTest.
-	 */
-	public AllTeamTests() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSClientTest.
-	 * @param name
-	 */
-	public AllTeamTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(RepositoryProviderTests.suite());
-		suite.addTest(StreamTests.suite());
-		suite.addTest(StorageMergerTests.suite());
-		return suite;
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamUITests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamUITests.java
deleted file mode 100644
index 198465f..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamUITests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.tests.resources.ResourceTest;
-import org.eclipse.team.tests.core.mapping.ScopeTests;
-
-public class AllTeamUITests extends ResourceTest {
-
-	public AllTeamUITests() {
-		super();
-	}
-
-	public AllTeamUITests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(ScopeTests.suite());
-		return suite;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java
deleted file mode 100644
index eefcb1c..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java
+++ /dev/null
@@ -1,64 +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.team.tests.core;
-
-import org.eclipse.core.resources.IFileModificationValidator;
-import org.eclipse.core.resources.team.IMoveDeleteHook;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-
-public class RepositoryProviderBic extends RepositoryProvider {
-	
-	final public static String NATURE_ID = "org.eclipse.team.tests.core.bic-provider";
-	
-	private IMoveDeleteHook mdh;
-	private IFileModificationValidator mv;
-	
-	/*
-	 * @see RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-	}
-
-	/*
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return NATURE_ID;
-	}
-	/*
-	 * @see IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-	}
-	
-	/*
-	 * @see RepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return mv;
-	}
-
-	/*
-	 * @see RepositoryProvider#getMoveDeleteHook()
-	 */
-	public IMoveDeleteHook getMoveDeleteHook() {
-		return mdh;
-	}
-	
-	public void setModificationValidator(IFileModificationValidator mv) {
-		this.mv = mv;
-	}
-	
-	public void setMoveDeleteHook(IMoveDeleteHook mdh) {
-		this.mdh = mdh;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java
deleted file mode 100644
index 768d63c..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.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.team.tests.core;
-
-import org.eclipse.core.resources.IFileModificationValidator;
-import org.eclipse.core.resources.team.IMoveDeleteHook;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-
-public class RepositoryProviderNaish extends RepositoryProvider {
-	
-	final public static String NATURE_ID = "org.eclipse.team.tests.core.naish-provider";
-	private IMoveDeleteHook mdh;
-	private IFileModificationValidator mv;
-	/*
-	 * @see RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-	}
-
-	/*
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return NATURE_ID;
-	}
-	/*
-	 * @see IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-	}
-	
-	public void setModificationValidator(IFileModificationValidator mv) {
-		this.mv = mv;
-	}
-	
-	public void setMoveDeleteHook(IMoveDeleteHook mdh) {
-		this.mdh = mdh;
-	}
-	/*
-	 * @see RepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return mv;
-	}
-
-	/*
-	 * @see RepositoryProvider#getMoveDeleteHook()
-	 */
-	public IMoveDeleteHook getMoveDeleteHook() {
-		return mdh;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java
deleted file mode 100644
index 19ff714..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java
+++ /dev/null
@@ -1,37 +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.team.tests.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-
-public class RepositoryProviderOtherSport extends RepositoryProvider {
-	
-	final public static String NATURE_ID = "org.eclipse.team.tests.core.other";
-
-	/*
-	 * @see RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-	}
-
-	/*
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return NATURE_ID;
-	}
-	/*
-	 * @see IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java
deleted file mode 100644
index 6ba6cb8..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java
+++ /dev/null
@@ -1,471 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import java.io.ByteArrayInputStream;
-import java.util.*;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.team.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-
-public class RepositoryProviderTests extends TeamTest {
-	public RepositoryProviderTests() {
-		super();
-	}
-	
-	public RepositoryProviderTests(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(RepositoryProviderTests.class);
-		return new TestSetup(suite);
-		//return new testSetup(new RepositoryProviderTests("test"));
-	}
-	
-	public void testProvidersRegistered() throws CoreException, TeamException {
-		List repoProviderIds = new ArrayList(Arrays.asList(RepositoryProvider.getAllProviderTypeIds()));
-		assertEquals(true, repoProviderIds.contains(RepositoryProviderBic.NATURE_ID));
-		assertEquals(true, repoProviderIds.contains(RepositoryProviderNaish.NATURE_ID));
-		assertEquals(false, repoProviderIds.contains(RepositoryProviderOtherSport.NATURE_ID));
-	}
-	
-	public void testGetProviderGeneric() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testGetProviderGeneric1");
-		IProject project2 = getUniqueTestProject("testGetProviderGeneric2");
-		
-		// test that adding a non registered provider doesn't work
-		boolean good = false;
-		try {
-			RepositoryProvider.map(project, RepositoryProviderOtherSport.NATURE_ID);
-		} catch (TeamException e) {
-			good = true;
-		}
-		assertTrue(good);
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(project, RepositoryProviderNaish.NATURE_ID);
-		RepositoryProvider.map(project2, RepositoryProviderNaish.NATURE_ID);
-		RepositoryProvider provider1 = RepositoryProvider.getProvider(project);
-		RepositoryProvider provider2 = RepositoryProvider.getProvider(project2);
-		assertTrue(provider1 != null && provider1.getID().equals(RepositoryProviderNaish.NATURE_ID));
-		assertTrue(provider2 != null && provider2.getID().equals(RepositoryProviderNaish.NATURE_ID));
-		assertTrue(provider1.getProject().equals(project) && provider2.getProject().equals(project2));
-		
-		// remapping a provider is allowed
-		RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID);	
-		provider1 = RepositoryProvider.getProvider(project);
-		assertTrue(provider1 != null && provider1.getID().equals(RepositoryProviderBic.NATURE_ID));
-				
-		// closed or non-existant projects cannot be associated with a provider
-		IProject closedProject = getUniqueTestProject("testGetProviderGenericClosed");
-		IProject nonExistantProject = ResourcesPlugin.getWorkspace().getRoot().getProject("nonExistant");
-		closedProject.close(null);
-		assertTrue(RepositoryProvider.getProvider(closedProject) == null);
-		assertTrue(RepositoryProvider.getProvider(nonExistantProject) == null);
-		
-		// removing the nature removes the provider association
-		RepositoryProvider.unmap(project);
-		RepositoryProvider.unmap(project2);
-		assertTrue(RepositoryProvider.getProvider(project)==null);
-		assertTrue(RepositoryProvider.getProvider(project2)==null);
-	}
-	
-	public void testGetProviderById() throws CoreException, TeamException {
-		IProject project1 = getUniqueTestProject("testGetProviderById_1");
-		IProject project2 = getUniqueTestProject("testGetProviderById_2");
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(project1, RepositoryProviderBic.NATURE_ID);
-		RepositoryProvider.map(project2, RepositoryProviderNaish.NATURE_ID);
-		assertTrue(RepositoryProvider.getProvider(project1, RepositoryProviderBic.NATURE_ID)!=null);
-		assertTrue(RepositoryProvider.getProvider(project2, RepositoryProviderNaish.NATURE_ID)!=null);
-		
-		// closed or non-existant projects cannot be associated with a provider
-		IProject closedProject = getUniqueTestProject("testGetProviderGenericClosed");
-		IProject nonExistantProject = ResourcesPlugin.getWorkspace().getRoot().getProject("nonExistant");
-		closedProject.close(null);
-		assertTrue(RepositoryProvider.getProvider(closedProject, "id") == null);
-		assertTrue(RepositoryProvider.getProvider(nonExistantProject, "id") == null);
-		
-		// removing the nature removes the provider association
-		RepositoryProvider.unmap(project1);
-		RepositoryProvider.unmap(project2);
-		assertTrue(RepositoryProvider.getProvider(project1, RepositoryProviderBic.NATURE_ID)==null);
-		assertTrue(RepositoryProvider.getProvider(project2, RepositoryProviderNaish.NATURE_ID)==null);
-	}
-	
-	public void testFileModificationValidator() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testFileModificationValidator");
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID);
-		RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(project, RepositoryProviderBic.NATURE_ID);
-		assertTrue(bicProvider!=null);
-		
-		// test that validator gets called by team core dispatching
-		final boolean[] called = new boolean[] {false};
-		bicProvider.setModificationValidator(new FileModificationValidator() {
-			// can't test validate edit here because it is only called from editors
-			public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-				return null;
-			}
-			public IStatus validateSave(IFile file) {
-				called[0] = true;
-				return getTeamTestStatus(IStatus.OK);
-			}
-		});
-		IFile file = project.getFile("test.txt");
-		file.create(new ByteArrayInputStream("test".getBytes()), true, null);
-		file.setContents(new ByteArrayInputStream("test2".getBytes()), true, false, null);
-		assertTrue(called[0] == true);
-		
-		// test that validator can veto a setContents
-		called[0] = false;
-		bicProvider.setModificationValidator(new FileModificationValidator() {
-			// can't test validate edit here because it is only called from editors
-			public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-				return null;
-			}
-			public IStatus validateSave(IFile file) {
-				called[0] = true;
-				return getTeamTestStatus(IStatus.ERROR);
-			}
-		});
-		try {
-			file.setContents(new ByteArrayInputStream("test3".getBytes()), true, false, null);
-			fail("validate hook should veto this setContents");
-		} catch(CoreException e) {
-			assertTrue(called[0] == true);
-		}
-		
-		// test that default validator allows the modification
-		bicProvider.setModificationValidator(null);
-		file.setContents(new ByteArrayInputStream("test4".getBytes()), true, false, null);	
-	}
-	
-	public void testMoveDeleteHook() throws CoreException, TeamException {
-		final IProject project = getUniqueTestProject("testMoveDeleteHook");
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID);
-		RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(project, RepositoryProviderBic.NATURE_ID);
-		assertTrue(bicProvider!=null);
-		
-		// only testing that dispatching works, resources plugin is testing the rest of the API
-		final boolean[] called = new boolean[] {false, false, false, false, false, false};
-		IMoveDeleteHook hook = new IMoveDeleteHook() {
-			public boolean deleteFile(IResourceTree tree,	IFile file,	int updateFlags, IProgressMonitor monitor) {
-				called[0] = true;
-				return false;
-			}
-			public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) {
-				called[1] = true;
-				return false;
-			}
-			public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) {
-				called[2] = true;
-				return false;
-			}
-			public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) {
-				called[3] = true;
-				return false;
-			}
-			public boolean moveFolder(IResourceTree tree,	IFolder source,	IFolder destination, int updateFlags, IProgressMonitor monitor) {
-				called[4] = true;
-				return false;
-			}
-			public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) {
-				called[5] = true;
-				return false;
-			}
-		};
-		bicProvider.setMoveDeleteHook(hook);
-		
-		IResource[] resources = buildResources(project, new String[] {"deleteFile.txt", "moveFile.txt", "deletedFolder/", "moveFolder/"});
-		ensureExistsInWorkspace(resources, true);
-		resources[0].delete(false, null);
-		resources[1].move(resources[1].getFullPath().removeLastSegments(1).append("movedFile_NEW"), false, null);
-		resources[2].delete(false, null);
-		resources[3].move(resources[3].getFullPath().removeLastSegments(1).append("movedFolder"), false, null);
-		// moving using the description allows the moved project to have natures ids or origination
-		IProjectDescription desc = project.getDescription();
-		desc.setName("movedProject");
-		project.move(desc, false, null);
-		IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject("movedProject");
-		bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(newProject);
-		bicProvider.setMoveDeleteHook(hook);
-		newProject.delete(true, null);
-		for (int i = 0; i < called.length; i++) {
-			assertTrue(called[i]);
-		}
-	}
-	
-	public void testMoveDeleteHookBetweenProjects() throws CoreException, TeamException {
-		final IProject projectA = getUniqueTestProject("testMoveDeleteHookBetweenProjects_A");
-		final IProject projectB = getUniqueTestProject("testMoveDeleteHookBetweenProjects_B");
-		final IProject projectC = getUniqueTestProject("testMoveDeleteHookBetweenProjects_C");
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(projectA, RepositoryProviderBic.NATURE_ID);
-		final RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(projectA, RepositoryProviderBic.NATURE_ID);
-		RepositoryProvider.map(projectB, RepositoryProviderNaish.NATURE_ID);
-		final RepositoryProviderNaish naishProvider = (RepositoryProviderNaish)RepositoryProvider.getProvider(projectB, RepositoryProviderNaish.NATURE_ID);
-		assertTrue(bicProvider!=null && naishProvider!=null);
-		
-		// only testing that dispatching works, resources plugin is testing the rest of the API
-		final boolean[] calledProjectA = new boolean[] {false, false};
-		bicProvider.setMoveDeleteHook(new IMoveDeleteHook() {
-			public boolean deleteFile(IResourceTree tree,	IFile file,	int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-			public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-			public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) {				
-				return false;
-			}
-			public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) {
-				assertTrue(bicProvider.getProject().equals(source.getProject()));
-				calledProjectA[0] = true;
-				return false;
-			}
-			public boolean moveFolder(IResourceTree tree,	IFolder source,	IFolder destination, int updateFlags, IProgressMonitor monitor) {
-				assertTrue(bicProvider.getProject().equals(source.getProject()));
-				calledProjectA[1] = true;
-				return false;
-			}
-			public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-		});
-		
-		final boolean[] calledProjectB = new boolean[] {false, false};
-		naishProvider.setMoveDeleteHook(new IMoveDeleteHook() {
-			public boolean deleteFile(IResourceTree tree,	IFile file,	int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-			public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-			public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) {				
-				return false;
-			}
-			public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) {
-				assertTrue(bicProvider.getProject().equals(destination.getProject()));
-				calledProjectB[0] = true;
-				return false;
-			}
-			public boolean moveFolder(IResourceTree tree, IFolder source,	IFolder destination, int updateFlags, IProgressMonitor monitor) {
-				assertTrue(bicProvider.getProject().equals(destination.getProject()));
-				calledProjectB[1] = true;
-				return false;
-			}
-			public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-		});
-		
-		// test that moving files/folders between two projects with providers calls the destination
-		IResource[] resources = buildResources(projectA, new String[] {"moveFile.txt", "moveFolder/"});
-		ensureExistsInWorkspace(resources, true);
-		resources[0].move(projectB.getFullPath().append("moveFile_new.txt"), false, null);
-		resources[1].move(projectB.getFullPath().append("movedFolder"), false, null);
-		for (int i = 0; i < calledProjectA.length; i++) {
-			assertTrue(calledProjectA[i]  && calledProjectB[i]==false);
-		}
-		
-		// test that moving files/folders from a project with a provider to a project without a provider calls the
-		// hooks for the source
-		calledProjectA[0] = false; calledProjectA[1] = false;
-		calledProjectB[0] = false; calledProjectB[1] = false;
-		resources = buildResources(projectA, new String[] {"anotherMovedFiled.txt", "anotherMovedFolder/"});
-		ensureExistsInWorkspace(resources, true);
-		resources[0].move(projectC.getFullPath().append("moveFileOther_new.txt"), false, null);
-		resources[1].move(projectC.getFullPath().append("movedFolderOther"), false, null);
-		for (int i = 0; i < calledProjectA.length; i++) {
-			assertTrue(calledProjectA[i] && calledProjectB[i]==false);
-		}
-	}
-	
-	public void testMapSuccess() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testLinkSuccess");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		
-		// Test shallow link when URI not allowed
-		IFolder folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(false);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		
-		// Test shallow link when URI is allowed
-		RepositoryProvider.unmap(project);
-		folder.delete(false, null);
-		folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(true);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		
-		// Test deep link when URI is allowed
-		RepositoryProvider.unmap(project);
-		folder.delete(false, null);
-		folder = project.getFolder("folder1/folder2");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(true);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-	}
-	
-	public void testLinkSuccess() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testLinkSuccess");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(false);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		// Test shallow link when URI not allowed
-		IFolder folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		// Test shallow link when URI is allowed
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(true);
-		folder.delete(false, null);
-		folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		// Test deep link
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(true);
-		folder = project.getFolder("folder1/folder2");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-	}
-
-	public void testMapFailure() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testMapFailure");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		IFolder folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(false);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(false);
-		// Test shallow link
-		boolean fail = true;
-		try {
-			RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		} catch (TeamException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-		// Test deep link
-		folder.delete(false, null);
-		folder = project.getFolder("folder1/folder2");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		fail = true;
-		try {
-			RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		} catch (TeamException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-		
-		// Test deep failure when shallow is allowed
-		folder.delete(false, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		folder = project.getFolder("folder1/folder2");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		fail = true;
-		try {
-			RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		} catch (TeamException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-	}
-	
-
-	public void testLinkFailure() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testLinkFailure");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		RepositoryProviderWithLinking.setCanHandleLinking(false);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(false);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		IFolder folder = project.getFolder("link");
-		// Test shallow link
-		boolean fail = true;
-		try {
-			folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-		// Test deep link
-		folder = project.getFolder("folder1/folder2");
-		fail = true;
-		try {
-			folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-		
-		// Test deep link when shallow allowed
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		folder = project.getFolder("folder1/folder2");
-		fail = true;
-		try {
-			folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-	}
-	
-	public void testIsShared() throws CoreException, TeamException {
-		IProject project1 = getUniqueTestProject("testGetProviderById_1");
-		RepositoryProvider.map(project1, RepositoryProviderBic.NATURE_ID);
-		assertTrue(RepositoryProvider.isShared(project1));
-		project1.close(null);
-		assertTrue(!RepositoryProvider.isShared(project1));
-		project1.open(null);
-		assertTrue(RepositoryProvider.isShared(project1));
-		RepositoryProvider.unmap(project1);
-		assertTrue(!RepositoryProvider.isShared(project1));
-	}
-	
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java
deleted file mode 100644
index 0e46678..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java
+++ /dev/null
@@ -1,55 +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.team.tests.core;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.*;
-
-public class RepositoryProviderTypeBic extends RepositoryProviderType {
-	File createdFile;
-	/**
-	 * @see org.eclipse.team.core.RepositoryProviderType#getProjectSetCapability()
-	 */
-	public ProjectSetCapability getProjectSetCapability() {
-		return new ProjectSetCapability() {
-			public IProject[] addToWorkspace(String[] referenceStrings,
-					ProjectSetSerializationContext context,
-					IProgressMonitor monitor) throws TeamException {
-				return new IProject[0];
-			}
-
-			public void projectSetCreated(File file,
-					ProjectSetSerializationContext context,
-					IProgressMonitor monitor) {
-				createdFile = file;
-			}
-		};
-	}
-
-	/**
-	 * @return File
-	 */
-	public File getCreatedFile() {
-		return createdFile;
-	}
-
-	/**
-	 * Sets the createdFile.
-	 * @param createdFile The createdFile to set
-	 */
-	public void setCreatedFile(File createdFile) {
-		this.createdFile = createdFile;
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java
deleted file mode 100644
index 8038d5b..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-
-/**
- * This class is used to text resource linking
- */
-public class RepositoryProviderWithLinking extends RepositoryProvider {
-	
-	final public static String TYPE_ID = "org.eclipse.team.tests.core.linking";
-	
-	private static boolean canHandleLinking = false;
-
-	private static boolean canHandleLinkedURI;
-	
-	/**
-	 * @see org.eclipse.team.core.RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-	}
-	/**
-	 * @see org.eclipse.team.core.RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return TYPE_ID;
-	}
-	/**
-	 * @see org.eclipse.core.resources.IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-	}
-
-	public static void setCanHandleLinking(boolean canHandleLinking) {
-		RepositoryProviderWithLinking.canHandleLinking = canHandleLinking;
-	}
-
-	/**
-	 * @see org.eclipse.team.core.RepositoryProvider#canHandleLinkedResources()
-	 */
-	public boolean canHandleLinkedResources() {
-		return canHandleLinking;
-	}
-	
-	public static void setCanHandleLinkedURI(boolean canHandleLinkedURI) {
-		RepositoryProviderWithLinking.canHandleLinkedURI = canHandleLinkedURI;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#canHandleLinkedResourceURI()
-	 */
-	public boolean canHandleLinkedResourceURI() {
-		return RepositoryProviderWithLinking.canHandleLinkedURI;
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StorageMergerTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StorageMergerTests.java
deleted file mode 100644
index a45bbf4..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StorageMergerTests.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import junit.framework.Test;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.team.core.Team;
-import org.eclipse.team.core.mapping.IStorageMerger;
-
-public class StorageMergerTests extends TeamTest {
-
-	public StorageMergerTests() {
-		super();
-	}
-	
-	public StorageMergerTests(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		return suite(StorageMergerTests.class);
-	}
-	
-	public void testGetByExtension() {
-		IStorageMerger merger = new Team().createStorageMerger("blah");
-		assertNotNull("Merger for extension is missing", merger);
-	}
-	
-	public void testGetByContentType() {
-		IStorageMerger merger = new Team().createStorageMerger(Platform.getContentTypeManager().getContentType("org.eclipse.team.tests.core.content-type1"));
-		assertNotNull("Merger for extension is missing", merger);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java
deleted file mode 100644
index 3dbe2b7..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java
+++ /dev/null
@@ -1,84 +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.team.tests.core;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.eclipse.team.internal.core.streams.CRLFtoLFInputStream;
-import org.eclipse.team.internal.core.streams.LFtoCRLFInputStream;
-
-public class StreamTests extends TestCase {
-
-	public StreamTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return new TestSuite(StreamTests.class);
-	}
-
-	public void testCRLFtoLFInputStream() throws IOException {
-		testCRLFtoLFTranslation("", "");
-		testCRLFtoLFTranslation("a", "a");
-		testCRLFtoLFTranslation("abc", "abc");
-		testCRLFtoLFTranslation("\n", "\n");
-		testCRLFtoLFTranslation("\r", "\r");
-		testCRLFtoLFTranslation("\r\n", "\n");
-		testCRLFtoLFTranslation("x\r\r\n\rx", "x\r\n\rx");
-		testCRLFtoLFTranslation("The \r\n quick brown \n fox \r\n\n\r\r\n jumped \n\n over \r\n the \n lazy dog.\r\n",
-			"The \n quick brown \n fox \n\n\r\n jumped \n\n over \n the \n lazy dog.\n");
-	}
-
-	private void testCRLFtoLFTranslation(String pre, String post) throws IOException {
-		ByteArrayInputStream bin = new ByteArrayInputStream(pre.getBytes());
-		InputStream in = new CRLFtoLFInputStream(bin);
-		InputStream inExpected = new ByteArrayInputStream(post.getBytes());
-		assertStreamEquals(inExpected, in);
-	}
-
-	public void testLFtoCRLFInputStream() throws IOException {
-		testLFtoCRLFTranslation("", "");
-		testLFtoCRLFTranslation("a", "a");
-		testLFtoCRLFTranslation("abc", "abc");
-		testLFtoCRLFTranslation("\n", "\r\n");
-		testLFtoCRLFTranslation("\r", "\r");
-		testLFtoCRLFTranslation("\r\n", "\r\r\n");
-		testLFtoCRLFTranslation("x\r\r\n\rx", "x\r\r\r\n\rx");
-		testLFtoCRLFTranslation("The \r\n quick brown \n fox \r\n\n\r\r\n jumped \n\n over \r\n the \n lazy dog.\r\n",
-			"The \r\r\n quick brown \r\n fox \r\r\n\r\n\r\r\r\n jumped \r\n\r\n over \r\r\n the \r\n lazy dog.\r\r\n");
-	}
-	
-	private void testLFtoCRLFTranslation(String pre, String post) throws IOException {
-		ByteArrayInputStream bin = new ByteArrayInputStream(pre.getBytes());
-		InputStream in = new LFtoCRLFInputStream(bin);
-		InputStream inExpected = new ByteArrayInputStream(post.getBytes());
-		assertStreamEquals(inExpected, in);
-	}
-
-	private void assertStreamEquals(InputStream in1, InputStream in2) throws IOException {
-		try {
-			for (;;) {
-				int byte1 = in1.read();
-				int byte2 = in2.read();
-				assertEquals("Streams not equal", byte1, byte2);
-				if (byte1 == -1) break;
-			}
-		} finally {
-			in1.close();
-			in2.close();
-		}
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java
deleted file mode 100644
index d335261..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java
+++ /dev/null
@@ -1,24 +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.team.tests.core;
-
-import org.eclipse.compare.tests.WorkspaceTest;
-
-public class TeamTest extends WorkspaceTest {
-
-	public TeamTest() {
-		super();
-	}
-	public TeamTest(String name) {
-		super(name);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TestStorageMerger.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TestStorageMerger.java
deleted file mode 100644
index 6a1a1cd..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TestStorageMerger.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import java.io.OutputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.mapping.IStorageMerger;
-
-public class TestStorageMerger implements IStorageMerger {
-	
-	public static final String MERGE_FAILURE = "merge failed";
-
-	public boolean canMergeWithoutAncestor() {
-		return false;
-	}
-
-	public IStatus merge(OutputStream output, String outputEncoding,
-			IStorage ancestor, IStorage target, IStorage other,
-			IProgressMonitor monitor) throws CoreException {
-		return new Status(IStatus.ERROR, "org.eclipse.team.tests.core", CONFLICT, MERGE_FAILURE, null);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeBuildingTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeBuildingTests.java
deleted file mode 100644
index 692c5d0..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeBuildingTests.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core.mapping;
-
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.mapping.provider.SynchronizationScopeManager;
-import org.eclipse.team.internal.core.mapping.ResourceMappingScope;
-import org.eclipse.team.tests.core.TeamTest;
-import org.eclipse.team.ui.synchronize.ModelOperation;
-
-public class ScopeBuildingTests extends TeamTest {
-
-	private static final RuntimeException PROMPT_EXCEPTION = new RuntimeException();
-	protected static final String TEST_MODEL_PROVIDER_ID = "id1";
-
-	private class TestResourceMappingOperation extends ModelOperation {
-
-		protected TestResourceMappingOperation(ResourceMapping[] selectedMappings, final ResourceMapping[] additionalMappings) {
-			super(null, new SynchronizationScopeManager("", selectedMappings, ResourceMappingContext.LOCAL_CONTEXT, false) {	
-				public void initialize(
-						IProgressMonitor monitor) throws CoreException {
-					super.initialize(monitor);
-					// Add the additional test mappings to the scope
-					for (int i = 0; i < additionalMappings.length; i++) {
-						ResourceMapping mapping = additionalMappings[i];
-						ResourceTraversal[] traversals = mapping.getTraversals(getContext(), monitor);
-						((ResourceMappingScope)getScope()).addMapping(mapping, traversals);
-						// TODO: The additional mappings and additional resources boolean will not be set
-						// TODO: This may bring in mappings from the resources model provider
-					}
-				}
-			});
-		}
-		protected void endOperation(IProgressMonitor monitor) throws InvocationTargetException {
-			ISynchronizationScopeManager manager= getScopeManager();
-			manager.dispose();
-			super.endOperation(monitor);
-		}
-
-		protected void execute(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-			// Do nothing since we're just testing the scope build
-		}
-		
-		protected void promptForInputChange(IProgressMonitor monitor) {
-			// Throw an exception to indicate that a prompt was requested
-			throw PROMPT_EXCEPTION;
-		}
-	}
-	
-	public static Test suite() {
-		return suite(ScopeBuildingTests.class);
-	}
-	
-	public ScopeBuildingTests() {
-		super();
-	}
-
-	public ScopeBuildingTests(String name) {
-		super(name);
-	}
-	
-	private void expectPrompt(TestResourceMappingOperation op) {
-		try {
-			op.run(new NullProgressMonitor());
-		} catch (InvocationTargetException e) {
-			fail("Unexpected exception: " + e.getTargetException().getMessage());
-		} catch (InterruptedException e) {
-			fail("Unexpected interupt");
-		} catch (RuntimeException e) {
-			if (e == PROMPT_EXCEPTION)
-				return;
-			throw e;
-		}
-		fail("Expected prompt did not occur");
-	}
-	
-	private ResourceMapping getMapping(final IProject project, final IResource[] resources, final int depth) {
-		return new ResourceMapping() {
-		
-			public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-					IProgressMonitor monitor) throws CoreException {
-				return new ResourceTraversal[] { new ResourceTraversal(resources, depth, IResource.NONE)};
-			}
-		
-			public IProject[] getProjects() {
-				return new IProject[] { project };
-			}
-		
-			public Object getModelObject() {
-				return new Object();
-			}
-			
-			public String getModelProviderId() {
-				return TEST_MODEL_PROVIDER_ID;
-			}
-		    public boolean contains(ResourceMapping mapping) {
-		    	return false;
-		    }
-		
-		};
-	}
-	
-	public void testAdditionalResources() throws CoreException {
-		IProject project = createProject(new String[]{"file.txt", "folder1/file2.txt", "folder1/folder2/file3.txt", "folder3/"});
-		ResourceMapping[] mappings = new ResourceMapping[] { 
-				getMapping(project, new IResource[] { project.getFolder("folder1") }, IResource.DEPTH_INFINITE)
-		};
-		ResourceMapping[] additionalMappings = new ResourceMapping[] { 
-				getMapping(project, new IResource[] { project.getFile("file.txt")}, IResource.DEPTH_INFINITE)
-		};
-		TestResourceMappingOperation op = new TestResourceMappingOperation(mappings, additionalMappings);
-		expectPrompt(op);
-	}
-
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTestSubscriber.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTestSubscriber.java
deleted file mode 100644
index 04fd888..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTestSubscriber.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core.mapping;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-public class ScopeTestSubscriber extends Subscriber {
-
-	public String getName() {
-		return "Scope Tests";
-	}
-
-	public IResourceVariantComparator getResourceComparator() {
-		return new IResourceVariantComparator() {
-			public boolean isThreeWay() {
-				return false;
-			}
-			public boolean compare(IResourceVariant base, IResourceVariant remote) {
-				return false;
-			}
-			public boolean compare(IResource local, IResourceVariant remote) {
-				return false;
-			}
-		
-		};
-	}
-
-	public SyncInfo getSyncInfo(IResource resource) throws TeamException {
-		return null;
-	}
-
-	public boolean isSupervised(IResource resource) throws TeamException {
-		return false;
-	}
-
-	public IResource[] members(IResource resource) throws TeamException {
-		if (resource instanceof IContainer) {
-			IContainer c = (IContainer) resource;
-			try {
-				return c.members();
-			} catch (CoreException e) {
-				throw TeamException.asTeamException(e);
-			}
-		}
-		return  new IResource[0];
-	}
-
-	public void refresh(IResource[] resources, int depth,
-			IProgressMonitor monitor) throws TeamException {
-		// Nothing to do
-	}
-
-	public IResource[] roots() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTests.java
deleted file mode 100644
index 9e53219..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTests.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core.mapping;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.tests.core.TeamTest;
-import org.eclipse.ui.*;
-
-public class ScopeTests extends TeamTest {
-
-	public static Test suite() {
-		return suite(ScopeTests.class);
-	}
-	private IProject project1, project2, project3;
-	private IWorkingSet workingSet;
-	private SubscriberScopeManager manager;
-	
-	public ScopeTests() {
-		super();
-	}
-
-	public ScopeTests(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		project1 = createProject("p1", new String[]{"file.txt"});
-		project2 = createProject("p2", new String[]{"file.txt"});
-		project3 = createProject("p3", new String[]{"file.txt"});
-		IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		workingSet = manager.createWorkingSet("TestWS", new IProject[] { project1 });
-		manager.addWorkingSet(workingSet);
-	}
-	
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		this.manager.dispose();
-		project1.delete(true, null);
-		project2.delete(true, null);
-		IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		manager.removeWorkingSet(workingSet);
-	}
-	
-	private void assertProperContainment(ISynchronizationScopeManager sm) throws OperationCanceledException, InterruptedException {
-		waitForManager(sm);
-		testProjectContainment(sm, project1);
-		testProjectContainment(sm, project2);
-		testProjectContainment(sm, project3);
-	}
-
-	private void waitForManager(ISynchronizationScopeManager sm) throws OperationCanceledException, InterruptedException {
-		Job.getJobManager().join(sm, null);
-	}
-
-	private void testProjectContainment(ISynchronizationScopeManager sm, IProject project) {
-		if (isInWorkingSet(project) && !isInScope(sm, project))
-			fail(project.getName() + " is in the working set but not in the scope");
-		if (!isInWorkingSet(project) && isInScope(sm, project))
-			fail(project.getName() + " is in scope but not in the working set");
-	}
-
-	private boolean isInScope(ISynchronizationScopeManager sm, IProject project) {
-		return sm.getScope().contains(project);
-	}
-
-	private boolean isInWorkingSet(IProject project) {
-		IAdaptable[] elements = workingSet.getElements();
-		for (int i = 0; i < elements.length; i++) {
-			IAdaptable adaptable = elements[i];
-			if (adaptable.equals(project))
-				return true;
-		}
-		return false;
-	}
-
-	private ISynchronizationScopeManager createScopeManager() throws CoreException, OperationCanceledException, InterruptedException {
-		ScopeTestSubscriber subscriber = new ScopeTestSubscriber();
-		manager = new SubscriberScopeManager(subscriber.getName(), new ResourceMapping[] { Utils.getResourceMapping(workingSet) }, subscriber, true);
-		manager.initialize(new NullProgressMonitor());
-		waitForManager(manager);
-		return manager;
-	}
-	
-	public void testScopeExpansion() throws CoreException, OperationCanceledException, InterruptedException {
-		ISynchronizationScopeManager sm = createScopeManager();
-		assertProperContainment(sm);
-		workingSet.setElements( new IProject[] { project1, project2 });
-		assertProperContainment(sm);
-	}
-
-//	public void testScopeContraction() throws OperationCanceledException, InterruptedException, CoreException {
-//		workingSet.setElements( new IProject[] { project1, project2 });
-//		ISynchronizationScopeManager sm = createScopeManager();
-//		assertProperContainment(sm);
-//		workingSet.setElements( new IProject[] { project1 });
-//		assertProperContainment(sm);
-//	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java
deleted file mode 100644
index 2b0eb01..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java
+++ /dev/null
@@ -1,34 +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.team.tests.ui.synchronize;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.tests.resources.ResourceTest;
-
-public class AllTeamSynchronizeTests extends ResourceTest {
-
-	public AllTeamSynchronizeTests() {
-		super();
-	}
-
-	public AllTeamSynchronizeTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(ResourceContentTests.suite());
-		return suite;
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/ResourceContentTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/ResourceContentTests.java
deleted file mode 100644
index 360d989..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/ResourceContentTests.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ui.synchronize;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.core.mapping.ISynchronizationScope;
-import org.eclipse.team.internal.ui.mapping.ResourceModelContentProvider;
-import org.eclipse.team.tests.core.TeamTest;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-
-public class ResourceContentTests extends TeamTest {
-
-	public static class TestableResourceModelContentProvider extends ResourceModelContentProvider {
-		
-		private final ISynchronizationScope scope;
-		private final ISynchronizationContext context;
-		private final ISynchronizePageConfiguration configuration;
-
-		public TestableResourceModelContentProvider(ISynchronizationScope scope, ISynchronizationContext context, ISynchronizePageConfiguration configuration) {
-			this.scope = scope;
-			this.context = context;
-			this.configuration = configuration;
-		}
-
-		public ISynchronizePageConfiguration getConfiguration() {
-			return configuration;
-		}
-
-		public ISynchronizationContext getContext() {
-			return context;
-		}
-
-		public ISynchronizationScope getScope() {
-			return scope;
-		}
-	}
-	
-	public static Test suite() {
-		return suite(ResourceContentTests.class);
-	}
-
-	private ResourceModelContentProvider provider;
-	
-	public ResourceContentTests() {
-		super();
-	}
-
-	public ResourceContentTests(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-		initializeProvider(null, null, null);
-		super.setUp();
-	}
-	
-	protected void tearDown() throws Exception {
-		cleanupProvider();
-		super.tearDown();
-	}
-
-	private void initializeProvider(ISynchronizationScope scope, ISynchronizationContext context, ISynchronizePageConfiguration configuration) {
-		cleanupProvider();
-		provider = new TestableResourceModelContentProvider(scope, context, configuration);
-	}
-	
-	private void cleanupProvider() {
-		if (provider != null)
-			provider.dispose();
-		provider = null;
-	}
-	
-	private void assertContentMatches(IProject project, String[] leaves) {
-		assertContentsMatch(asResources(project, leaves));
-	}
-	
-	private void assertContentsMatch(IResource[] resources) {
-		Set paths = getPaths(ResourcesPlugin.getWorkspace().getRoot());
-		Set resourceSet = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			resourceSet.add(resource);
-		}
-		for (Iterator iterator = paths.iterator(); iterator.hasNext();) {
-			TreePath path = (TreePath) iterator.next();
-			Object o = path.getLastSegment();
-			// Just remove the object, we'll check for any remaining resources below
-			if (resourceSet.remove(o)) {
-				iterator.remove();
-			}
-		}
-		if (!resourceSet.isEmpty()) {
-			fail("Tree entries were missing for " + toString(resourceSet));
-		}
-		if (!paths.isEmpty()) {
-			fail("Tree entries were found for " + toString(paths));
-		}
-	}
-
-	private Set getPaths(Object root) {
-		Set result = new HashSet();
-		Object[] elements = provider.getElements(root);
-		for (int i = 0; i < elements.length; i++) {
-			Object object = elements[i];
-			TreePath path = new TreePath(new Object[] { object });
-			Set childPaths = getPaths(provider, path);
-			result.addAll(childPaths);
-		}
-		return result;
-	}
-	
-	private Set getPaths(ResourceModelContentProvider provider, TreePath path) {
-		Object[] children = provider.getChildren(path);	
-		Set result = new HashSet();
-		if (children.length == 0)
-			result.add(path);
-		for (int i = 0; i < children.length; i++) {
-			Object object = children[i];
-			TreePath childPath = path.createChildPath(object);
-			Set childPaths = getPaths(provider, childPath);
-			result.addAll(childPaths);
-		}
-		return result;
-	}
-
-	private String toString(Set set) {
-		StringBuffer buffer = new StringBuffer();
-		boolean addComma = false;
-		for (Iterator iterator = set.iterator(); iterator.hasNext();) {
-			Object resource = iterator.next();
-			buffer.append(toString(resource));
-			if (addComma)
-				buffer.append(", ");
-			addComma = true;
-		}
-		return buffer.toString();
-	}
-
-	private String toString(Object object) {
-		if (object instanceof IResource) {
-			return ((IResource)object).getFullPath().toString();
-		}
-		if (object instanceof TreePath) {
-			return toString(((TreePath)object).getLastSegment());
-		}
-		return object.toString();
-	}
-
-	private IResource[] asResources(IProject project, String[] resourcePaths) {
-		List resources = new ArrayList();
-		for (int i = 0; i < resourcePaths.length; i++) {
-			String path = resourcePaths[i];
-			if (path.endsWith("/")) {
-				resources.add(project.getFolder(path));
-			} else {
-				resources.add(project.getFile(path));
-			}
-		}
-		return (IResource[]) resources.toArray(new IResource[resources.size()]);
-	}
-
-	public void testFileContent() throws CoreException {
-		String[] files = new String[] {"file.txt", "file2.txt", "folder1/file3.txt", "folder1/folder2/file4.txt"};
-		IProject project = createProject(files);
-		files = new String[] {".project", "file.txt", "file2.txt", "folder1/file3.txt", "folder1/folder2/file4.txt"};
-		assertContentMatches(project, files);
-	}
-	
-	public void testFileChange() throws CoreException {
-//		String[] files = new String[] {"file.txt", "file2.txt", "folder1/file3.txt", "folder1/folder2/file4.txt"};
-//		IProject project = createProject(files);
-		
-	}
-
-
-
-}
diff --git a/tests/org.eclipse.team.tests.core/test.xml b/tests/org.eclipse.team.tests.core/test.xml
deleted file mode 100644
index 4abe51d..0000000
--- a/tests/org.eclipse.team.tests.core/test.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Team Automated Tests" default="run" basedir=".">
-
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="eclipse-home" value="${basedir}/../../"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-  <property name="org.eclipse.team.tests.core" value="org.eclipse.team.tests.core"/>
-  <property name="team-home" value="${eclipse-home}/plugins/${org.eclipse.team.tests.core}"/>
-
-  <!-- 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/>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="location" value="${eclipse-home}/team_test_workspace"/>
-    <delete dir="${location}" quiet="true"/>
-
-    <!-- Session Test ** Team Core ** -->
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${location}"/>
-      <property name="plugin-name" value="org.eclipse.team.tests.core"/>
-      <property name="classname" value="org.eclipse.team.tests.core.AllTeamTests"/>
-    </ant>
-  	
-    <!-- Session Test ** Team UI ** -->
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${location}"/>
-      <property name="plugin-name" value="org.eclipse.team.tests.core"/>
-      <property name="classname" value="org.eclipse.team.tests.core.AllTeamUITests"/>
-    </ant>
-    
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after the tests -->
-  <!-- have been run. You can use this to delete temporary files that are 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="org.eclipse.team.tests.core.xml"/>
-    </ant>
-  </target>
-
-  <!-- This target runs the performance test suites. -->
-  <target name="performance">
-  </target>
-
-</project>