This commit was manufactured by cvs2svn to create tag
'Root_R2_0_maintenance'.
diff --git a/docs/org.eclipse.wst.validation.infopop/.cvsignore b/docs/org.eclipse.wst.validation.infopop/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/docs/org.eclipse.wst.validation.infopop/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/docs/org.eclipse.wst.validation.infopop/.project b/docs/org.eclipse.wst.validation.infopop/.project
deleted file mode 100644
index 28f5b4f..0000000
--- a/docs/org.eclipse.wst.validation.infopop/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.validation.infopop</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF
deleted file mode 100644
index 7161932..0000000
--- a/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.wst.validation.infopop; singleton:=true
-Bundle-Version: 1.0.202.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %Plugin.providerName
diff --git a/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml b/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml
deleted file mode 100644
index 9a8ccfa..0000000
--- a/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS type="org.eclipse.help.contexts"?>
-
-<contexts>
-	<!-- Eclipse Validation preferences -->
-<context id="jvgp0000">
-<description>The validation preferences page allows you to view or change the default validation settings for all workbench projects. A validator is a tool that checks that resources conform to a specification, DTD, or some other set of rules.
-
-Each validator can apply to certain types of files, certain project natures, and certain project facets. When a validator applies to a project facet or nature, the workbench uses that validator only on projects that have that facet or nature. Likewise, most validators apply only to certain types of files, so the workbench uses those validators only on those types of files.
-
-Select the <b>Allow projects to override these preference settings</b> check box if you want to allow individual projects to set their own validation preferences. To configure new validation settings for an individual project, select the project in the Navigator view, right-click and select <b>Properties</b>   &gt; <b>Validation</b> .
-
-Select the <b>Suspend all validators</b> check box to prevent validation at the global level. If you select this check box, you can still enable validation at the project level.
-
-Select the <b>Save all modified resources automatically prior to validating</b> check box if you want to save any resources you have modified before the validation begins.
-
-In the list of validators, select the check boxes next to each validator you want to use at the global level. Each validator has a check box to specify whether it is used on manual validation or on build validation. Choose an alternate implementation for a validator by clicking the button in the <b>Settings</b> column. Not all validators have alternate implementations.
-
-</description>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/tjval.html" label="Validating code in enterprise applications"/>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/tjvalglobalpref.html" label="Overriding global validation preferences"/>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/rvalerr.html" label="Common validation errors and solutions"/>
-</context>
-
-</contexts>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml b/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml
deleted file mode 100644
index 489af37..0000000
--- a/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS type="org.eclipse.help.contexts"?>
-
-<contexts>
-	<!-- Validation settings for project -->
-
-<context id="jvpp0000">
-<description>The project validation page allows you to view or change the validation settings for a project. A validator is a tool that checks that resources conform to a specification, DTD, or some other set of rules.
-
-Each validator can apply to certain types of files, certain project natures, and certain project facets. When a validator applies to a project facet or nature, the workbench uses that validator only on projects that have that facet or nature. Likewise, most validators apply only to certain types of files, so the workbench uses those validators only on those types of files.
-
-Select the <b>Override validation preferences</b> check box if you want to override the default validation preferences set in the workbench Preferences page. If the <b>Override validation preferences</b> check box is not enabled, go to <b>Window</b>   &gt; <b>Preferences</b>   &gt; <b>Validation</b> and select the <b>Allow projects to override these preference settings</b> check box.
-
-Select the <b>Suspend all validators</b> check box to prevent validation for this project.
-
-In the list of validators, select the check boxes next to each validator you want to use for this project. Each validator has a check box to specify whether it is used on manual validation or on build validation. Choose an alternate implementation for a validator by clicking the button in the <b>Settings</b> column. Not all validators have alternate implementations.
-
-</description>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/tjval.html" label="Validating code in enterprise applications"/>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/tjvalglobalpref.html" label="Overriding global validation preferences"/>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/rvalerr.html" label="Common validation errors and solutions"/>
-</context>
-
-</contexts>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/about.html b/docs/org.eclipse.wst.validation.infopop/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/docs/org.eclipse.wst.validation.infopop/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" 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 ("Redistributor") 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>
diff --git a/docs/org.eclipse.wst.validation.infopop/build.properties b/docs/org.eclipse.wst.validation.infopop/build.properties
deleted file mode 100644
index ac322ed..0000000
--- a/docs/org.eclipse.wst.validation.infopop/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               ValidationPrefs_HelpContexts.xml,\
-               ValidationProjPrefs_HelpContexts.xml,\
-               plugin.properties,\
-               about.html
-src.includes = build.properties
diff --git a/docs/org.eclipse.wst.validation.infopop/plugin.properties b/docs/org.eclipse.wst.validation.infopop/plugin.properties
deleted file mode 100644
index b0c0709..0000000
--- a/docs/org.eclipse.wst.validation.infopop/plugin.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-# NLS_MESSAGEFORMAT_VAR
-# ==============================================================================
-# Translation Instruction: section to be translated
-# ==============================================================================
-Plugin.name = WST validation infopop plug-in
-Plugin.providerName = Eclipse.org
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/plugin.xml b/docs/org.eclipse.wst.validation.infopop/plugin.xml
deleted file mode 100644
index aaf27bf..0000000
--- a/docs/org.eclipse.wst.validation.infopop/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension
-         point="org.eclipse.help.contexts">
-    <contexts file="ValidationProjPrefs_HelpContexts.xml" plugin="org.eclipse.wst.validation.ui" />
-	<contexts file="ValidationPrefs_HelpContexts.xml" plugin="org.eclipse.wst.validation.ui" />
-   </extension>
-
-</plugin>
diff --git a/features/org.eclipse.wst.common_core.feature.patch/.project b/features/org.eclipse.wst.common_core.feature.patch/.project
deleted file mode 100644
index eb1e1ea..0000000
--- a/features/org.eclipse.wst.common_core.feature.patch/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common_core.feature.patch</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.wst.common_core.feature.patch/description.txt b/features/org.eclipse.wst.common_core.feature.patch/description.txt
deleted file mode 100644
index a1fc6d0..0000000
--- a/features/org.eclipse.wst.common_core.feature.patch/description.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-The HEAD branch of this patch feature is intentionally empty, 
-to attempt to try and avoid confusion. 
-
-Please load the correct version from the branch of the related patch.
diff --git a/features/org.eclipse.wst.common_core.feature/.cvsignore b/features/org.eclipse.wst.common_core.feature/.cvsignore
deleted file mode 100644
index 2620caa..0000000
--- a/features/org.eclipse.wst.common_core.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.wst.common_core.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.wst.common_core.feature/.project b/features/org.eclipse.wst.common_core.feature/.project
deleted file mode 100644
index 192f462..0000000
--- a/features/org.eclipse.wst.common_core.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common_core.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.wst.common_core.feature/addPreBuiltComponents.xml b/features/org.eclipse.wst.common_core.feature/addPreBuiltComponents.xml
deleted file mode 100644
index f02a4cf..0000000
--- a/features/org.eclipse.wst.common_core.feature/addPreBuiltComponents.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Callbacks to use when building this feature                		   -->
-<!--                                                                       -->
-<!-- build.properties must have a line that says                           -->
-<!--   customBuildCallbacks=addPreBuiltComponents.xml                      -->
-<!-- ===================================================================== -->
-<project name="addPreBuiltComponents" default="noDefault">
-    <!-- 
-    	Note to be cross-platform, "environment variables" are only appropriate for 
-        some variables, e.g. ones we set, since properties are case sensitive, even if 
-        the environment variables on your operating system are not, e.g. it will 
-        be ${env.Path} not ${env.PATH} on Windows -->
-    <property environment="env" />
-    
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.bin.parts                        -->
-	<!-- Available parameters :                                                -->
-	<!--  destination.temp.folder - the directory plugins will be collected to -->
-	<!--  feature.directory - the directory containing the resulting feature   -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.bin.parts">
-	    <!-- copy our known, pre-built, usually third party pre-reqs into this feature -->
-	    <echo message="Current basedir during callback: ${basedir}" />
-	    <echo message="Current destination.temp.folder during callback: ${destination.temp.folder}" />
-        <copy
-            todir="${destination.temp.folder}"
-            overwrite="true">
-            <fileset dir="${env.BUILD_HOME}/prebuilt/eclipse/plugins/" includes="org.eclipse.jem*/**" />
-        </copy>
-        <copy
-            todir="${destination.temp.folder}"
-            overwrite="true">
-            <fileset dir="${env.BUILD_HOME}/prebuilt/eclipse/plugins/" includes="com.ibm.etools.emf.event*/**" />
-        </copy>
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--  destination.temp.folder - the directory plugins will be collected to -->
-	<!--  feature.directory - the directory containing the resulting feature   -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-	</target>
-
-    
-    
-	<!-- ===================================================================== -->
-	<!-- No Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-
-    
-</project>
diff --git a/features/org.eclipse.wst.common_core.feature/build.properties b/features/org.eclipse.wst.common_core.feature/build.properties
deleted file mode 100644
index 364480b..0000000
--- a/features/org.eclipse.wst.common_core.feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-
diff --git a/features/org.eclipse.wst.common_core.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_core.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_core.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/epl-v10.html b/features/org.eclipse.wst.common_core.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.common_core.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.wst.common_core.feature/feature.properties b/features/org.eclipse.wst.common_core.feature/feature.properties
deleted file mode 100644
index 41d223f..0000000
--- a/features/org.eclipse.wst.common_core.feature/feature.properties
+++ /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
-###############################################################################
-# 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=WST Common Core
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=WST common core functionality.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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.wst.common_core.feature/feature.xml b/features/org.eclipse.wst.common_core.feature/feature.xml
deleted file mode 100644
index a1b7c14..0000000
--- a/features/org.eclipse.wst.common_core.feature/feature.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_core.feature"
-      label="%featureName"
-      version="2.1.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.wst.common.frameworks" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.wst.common.emf" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.validation" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.core.expressions" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.command.env.core" version="1.0.101" match="equivalent"/>
-      <import plugin="org.eclipse.core.commands" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.environment" version="1.0.100" match="equivalent"/>
-      <import plugin="org.apache.ant" version="1.6.5" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.emfworkbench.integration" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.wst.common.uriresolver" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.emf.ecore" version="2.2.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore.xmi" version="2.2.0" match="compatible"/>
-      <import plugin="com.ibm.icu" version="3.4.4.1" match="compatible"/>
-      <import plugin="org.eclipse.jem.util" version="2.0.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.edit" version="2.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.project.facet.core" version="1.1.0" match="compatible"/>
-      <import plugin="org.eclipse.ant.core" version="3.1.100" match="equivalent"/>
-      <import plugin="org.eclipse.osgi.util" version="3.1.100" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.common.emfworkbench.integration"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.command.env"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.command.env.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.emf"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.environment"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.frameworks"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.modulecore"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.project.facet.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.uriresolver"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.validation"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jem.util"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_core.feature/license.html b/features/org.eclipse.wst.common_core.feature/license.html
deleted file mode 100644
index 76abfb4..0000000
--- a/features/org.eclipse.wst.common_core.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <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 ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>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>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>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>
-   
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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></BODY></HTML>
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index f249e9f..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.common_core.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>
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 52d0f54..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# 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=WST Common Core Developer Resources
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for WST common core.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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.wst.common_core.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 20d6b1b..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_core.feature.source"
-      label="%featureName"
-      version="2.1.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.wst.common_core.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +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>June 06, 2007</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>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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.wst.common_core.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<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>
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +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=wtp_prod32.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.wst.common_core.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..0000000
--- a/features/org.eclipse.wst.common_core.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.wst.common_core.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 9474fc0..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +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.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Common Core\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index ead512d..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index c325b0a..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=Web Standard Tools - Common Core Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.gif b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.png b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_sdk.feature/.cvsignore b/features/org.eclipse.wst.common_sdk.feature/.cvsignore
deleted file mode 100644
index 413925b..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.wst.common_sdk.feature_1.0.0.bin.dist.zip
-build.xml
-features
-plugins
diff --git a/features/org.eclipse.wst.common_sdk.feature/.project b/features/org.eclipse.wst.common_sdk.feature/.project
deleted file mode 100644
index fb86250..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common_sdk.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.wst.common_sdk.feature/build.properties b/features/org.eclipse.wst.common_sdk.feature/build.properties
deleted file mode 100644
index 5391fbd..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-generate.feature@org.eclipse.wst.common_ui.feature.source=org.eclipse.wst.common_ui.feature
-bin.includes = feature.xml,\
-               epl-v10.html,\
-               license.html,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/features/org.eclipse.wst.common_sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_sdk.feature/epl-v10.html b/features/org.eclipse.wst.common_sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.common_sdk.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.wst.common_sdk.feature/feature.properties b/features/org.eclipse.wst.common_sdk.feature/feature.properties
deleted file mode 100644
index 446e00e..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/feature.properties
+++ /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
-###############################################################################
-# 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=WST Common Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for WST common tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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.wst.common_sdk.feature/feature.xml b/features/org.eclipse.wst.common_sdk.feature/feature.xml
deleted file mode 100644
index a105182..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_sdk.feature"
-      label="%featureName"
-      version="2.1.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.common_ui.feature"
-         version="0.0.0"/>
-         
-   <includes
-         id="org.eclipse.wst.common_ui.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_sdk.feature/license.html b/features/org.eclipse.wst.common_sdk.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <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 ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>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>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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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></BODY></HTML>
diff --git a/features/org.eclipse.wst.common_ui.feature/.cvsignore b/features/org.eclipse.wst.common_ui.feature/.cvsignore
deleted file mode 100644
index e00af7d..0000000
--- a/features/org.eclipse.wst.common_ui.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.wst.common_ui.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.wst.common_ui.feature/.project b/features/org.eclipse.wst.common_ui.feature/.project
deleted file mode 100644
index 221164f..0000000
--- a/features/org.eclipse.wst.common_ui.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common_ui.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.wst.common_ui.feature/build.properties b/features/org.eclipse.wst.common_ui.feature/build.properties
deleted file mode 100644
index 7f47694..0000000
--- a/features/org.eclipse.wst.common_ui.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.wst.common_ui.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_ui.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_ui.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/epl-v10.html b/features/org.eclipse.wst.common_ui.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.common_ui.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.wst.common_ui.feature/feature.properties b/features/org.eclipse.wst.common_ui.feature/feature.properties
deleted file mode 100644
index 44d87a9..0000000
--- a/features/org.eclipse.wst.common_ui.feature/feature.properties
+++ /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
-###############################################################################
-# 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=WST Common UI
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=WST common UI functionality.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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.wst.common_ui.feature/feature.xml b/features/org.eclipse.wst.common_ui.feature/feature.xml
deleted file mode 100644
index 6e5824b..0000000
--- a/features/org.eclipse.wst.common_ui.feature/feature.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_ui.feature"
-      label="%featureName"
-      version="2.1.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.common_core.feature"
-         version="0.0.0"/>
-
-   <requires>
-      <import plugin="org.eclipse.wst.command.env.core" version="1.0.101" match="equivalent"/>
-      <import plugin="org.eclipse.wst.command.env" version="1.0.101" match="equivalent"/>
-      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.frameworks" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.ui.ide" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jem.util" version="2.0.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.environment" version="1.0.100" match="equivalent"/>
-      <import plugin="org.eclipse.ui.forms" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.project.facet.core" version="1.2.0" match="equivalent"/>
-      <import plugin="org.eclipse.draw2d" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.gef" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jface.text" version="3.2.0" match="compatible"/>
-      <import plugin="com.ibm.icu" version="3.4.4" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.core" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.core.runtime.compatibility" version="3.1.100" match="equivalent"/>
-      <import plugin="org.eclipse.ui.views" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.uriresolver" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.swt" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.frameworks.ui" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.wst.validation" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.search" version="3.2.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.command.env.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.frameworks.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.infopop"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.project.facet.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.snippets"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.ui.properties"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.internet.cache"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.validation.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.command.env.infopop"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.validation.infopop"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_ui.feature/license.html b/features/org.eclipse.wst.common_ui.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.wst.common_ui.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <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 ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>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>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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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></BODY></HTML>
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index e878555..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/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
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
-
-generate.feature@org.eclipse.wst.common_core.feature.source = org.eclipse.wst.common_core.feature
-
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.common_ui.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>
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index c861cfb..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,146 +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
-###############################################################################
-# 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=WST Common UI Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for WST Common UI.
-
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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.wst.common_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 4111657..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_ui.feature.source"
-      label="%featureName"
-      version="2.1.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.common_core.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.wst.common_core.feature.source"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.common_ui.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +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>June 06, 2007</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>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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.wst.common_ui.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<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>
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +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=wtp_prod32.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.wst.common_ui.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..0000000
--- a/features/org.eclipse.wst.common_ui.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.wst.common_ui.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 40314ea..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +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.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Common UI\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 30a575c..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 4c0b73c..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=Web Standard Tools - Common UI Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.gif b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.png b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.core/.classpath b/plugins/org.eclipse.wst.common.core/.classpath
deleted file mode 100644
index 21f2a57..0000000
--- a/plugins/org.eclipse.wst.common.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src-search"/>
-	<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/plugins/org.eclipse.wst.common.core/.cvsignore b/plugins/org.eclipse.wst.common.core/.cvsignore
deleted file mode 100644
index 0f861fd..0000000
--- a/plugins/org.eclipse.wst.common.core/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-build.xml
-javaCompiler...args
-src.zip
-@dot
-temp.folder
diff --git a/plugins/org.eclipse.wst.common.core/.options b/plugins/org.eclipse.wst.common.core/.options
deleted file mode 100644
index 2e5ed2a..0000000
--- a/plugins/org.eclipse.wst.common.core/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.common.search/perf=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.core/.project b/plugins/org.eclipse.wst.common.core/.project
deleted file mode 100644
index 6bb12ef..0000000
--- a/plugins/org.eclipse.wst.common.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.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/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7406de6..0000000
--- a/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,59 +0,0 @@
-#Mon Jan 30 23:40:52 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=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.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.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=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
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c68ceb4..0000000
--- a/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Jan 30 19:45:41 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/plugins/org.eclipse.wst.common.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 598248e..0000000
--- a/plugins/org.eclipse.wst.common.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.core; singleton:=true
-Bundle-Version: 1.1.101.qualifier
-Bundle-Activator: org.eclipse.wst.common.core.search.SearchPlugin
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.core.search,
- org.eclipse.wst.common.core.search.document,
- org.eclipse.wst.common.core.search.internal;x-internal:=true,
- org.eclipse.wst.common.core.search.pattern,
- org.eclipse.wst.common.core.search.scope,
- org.eclipse.wst.common.core.search.util
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-Vendor: %pluginProvider
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.common.core/about.html b/plugins/org.eclipse.wst.common.core/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.common.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" 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 ("Redistributor") 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>
diff --git a/plugins/org.eclipse.wst.common.core/build.properties b/plugins/org.eclipse.wst.common.core/build.properties
deleted file mode 100644
index cd3e92f..0000000
--- a/plugins/org.eclipse.wst.common.core/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src-search/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               schema/,\
-               plugin.properties,\
-               about.html
diff --git a/plugins/org.eclipse.wst.common.core/component.xml b/plugins/org.eclipse.wst.common.core/component.xml
deleted file mode 100644
index 3e9239c..0000000
--- a/plugins/org.eclipse.wst.common.core/component.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" 
-  name="org.eclipse.wst.common.core">
-  <component-depends unrestricted="true"></component-depends>
-  <plugin id="org.eclipse.wst.common.core" fragment="false" />
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.core/plugin.properties b/plugins/org.eclipse.wst.common.core/plugin.properties
deleted file mode 100644
index ff6cdef..0000000
--- a/plugins/org.eclipse.wst.common.core/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-! Plug-in properties
-pluginName     = WST Common Core Plug-in
-pluginProvider = Eclipse.org
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.core/plugin.xml b/plugins/org.eclipse.wst.common.core/plugin.xml
deleted file mode 100644
index c82f6a0..0000000
--- a/plugins/org.eclipse.wst.common.core/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension-point id="searchParticipants" name="%searchParticipants" />      
-</plugin>
-
-
diff --git a/plugins/org.eclipse.wst.common.core/schema/searchParticipants.exsd b/plugins/org.eclipse.wst.common.core/schema/searchParticipants.exsd
deleted file mode 100644
index 367c943..0000000
--- a/plugins/org.eclipse.wst.common.core/schema/searchParticipants.exsd
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.search" id="searchParticipants" name="%searchPArticipants"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-         </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>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/ISearchOptions.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/ISearchOptions.java
deleted file mode 100644
index 33305e5..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/ISearchOptions.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search;
-
-/**
- * This interface provides values that can be used in the map of search options passed
- * to
- * {@link SearchEngine#search(org.eclipse.wst.common.core.search.pattern.SearchPattern, SearchRequestor, org.eclipse.wst.common.core.search.scope.SearchScope, java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
- * SearchEngine.search()}.
- * <p>
- * Note that not all search participants will provide specialized behavior based on
- * use of these search options.
- * <p>
- * Also note that individual search participants may support additional options not
- * listed here. These search options should be formed so that a search participant can
- * safely ignore any that it does not understand.
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface ISearchOptions {
-
-	/**
-	 * Search option specifying a trade-off choice between search performance and
-	 * completeness.
-	 */
-	public static final String PRIORITY_OPTION = "org.eclipse.wst.common.core.search.PRIORITY"; //$NON_NLS_1$
-	/**
-	 * Choice for the {@link #PRIORITY_OPTION} search option that emphasizes
-	 * performance at the possible expense of accuracy. This value should be used for
-	 * all search calls made on the user interface thread. In some cases, search
-	 * results may not be complete because of inaccuracies caused by timing windows.
-	 */
-	public static final String PRIORITY_VALUE_TIMELINESS = "FAST_SEARCH"; //$NON_NLS_1$
-	/**
-	 * Choice for the {@link #PRIORITY_OPTION} search option that emphasizes
-	 * accuracy at the possible expense of timeliness. This value should never be used
-	 * for search calls made on the user interface thread, because some search
-	 * participants may choose to use time-consuming background processing to return a
-	 * complete set of matches.
-	 */
-	public static final String PRIORITY_VALUE_COMPLETENESS = "COMPLETE_SEARCH"; //$NON_NLS_1$
-	/**
-	 * Default choice for the {@link #PRIORITY_OPTION} search option.
-	 */
-	public static final String PRIORITY_VALUE_DEFAULT = PRIORITY_VALUE_TIMELINESS;
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchEngine.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchEngine.java
deleted file mode 100644
index 3fed117..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchEngine.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.wst.common.core.search.document.SearchDocumentSet;
-import org.eclipse.wst.common.core.search.internal.Messages;
-import org.eclipse.wst.common.core.search.internal.SearchDocumentSetImpl;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-/**
- * The {@link SearchEngine} class provides a generic way of searching for information
- * without the need of knowing how or where that information is stored. The results
- * returned by a search could be scattered in a number of files or stored in an index.
- * Examples of the information you can search for include element declarations and
- * references, references between files, and use of qualifiers.
- * <p>
- * The search can be limited to a specified search scope, or the entire workspace can
- * be searched. Search matches are returned to the specified {@link SearchRequestor}.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public class SearchEngine implements ISearchOptions
-{
-
-	/**
-	 * Searches for matches of a given search pattern using a specified set of search
-	 * participants and search scope. Search patterns can be created using factory
-	 * methods and encapsulate the description of the information to be searched for
-	 * (for example, element declarations of a specified type, in a case sensitive
-	 * manner).
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param requestor
-	 *            Callback object to notify with the results of the search (each match
-	 *            is reported to {@link SearchRequestor#acceptSearchMatch(SearchMatch)})
-	 * @param participants
-	 *            The search participants that will conduct the search
-	 * @param scope
-	 *            Optional search scope to limit the source of search candidates;
-	 *            specify <code>null</code> to search the entire workspace
-	 * @param searchOptions
-	 *            Optional map of options and values defining behavior of the search;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Optional progress monitor used to report work completed
-	 * @exception CoreException
-	 *            if the search fails
-	 */
-	public void search(SearchPattern pattern, SearchRequestor requestor,
-			SearchParticipant[] participants, SearchScope scope, Map searchOptions,
-			IProgressMonitor monitor) throws CoreException
-	{
-
-		if (monitor != null && monitor.isCanceled())
-			throw new OperationCanceledException();
-
-		/* initialize progress monitor */
-		if (monitor != null)
-			monitor.beginTask(Messages.engine_searching, 100);
-
-        SearchDocumentSet set = new SearchDocumentSetImpl();
-		try
-		{
-			// requestor.beginReporting();
-            SearchScope[] scopeArray = new SearchScope[participants.length];
-			for (int i = 0, l = participants == null ? 0 : participants.length; i < l; i++)
-			{
-				if (monitor != null && monitor.isCanceled())
-					throw new OperationCanceledException();
-
-				SearchParticipant participant = participants[i];
-				SubProgressMonitor subMonitor = monitor == null ? null
-						: new SubProgressMonitor(monitor, 1000);
-				if (subMonitor != null)
-					subMonitor.beginTask("", 1000); //$NON-NLS-1$
-				try
-				{
-					if (subMonitor != null)
-						subMonitor.subTask(Messages.bind(
-								Messages.engine_searching_locatingDocuments,
-								new String[]
-								{ participant.getDescription() }));
-					participant.beginSearching(pattern, searchOptions);
-					// requestor.enterParticipant(participant);
-					// participant creates it's own search scope 
-					SearchScope newScope =
-						participant.selectDocumentLocations(pattern, scope, searchOptions, monitor);
-                    scopeArray[i] = newScope;
-					// participant creates search documents based on it's search scope
-					participant.createSearchDocuments(set, pattern, newScope, searchOptions, subMonitor);
-                }
-                catch(Exception e)
-                {                  
-                }
-			}
-            for (int i = 0, l = participants == null ? 0 : participants.length; i < l; i++)
-            {        
-                if (monitor != null && monitor.isCanceled())                                  
-                    throw new OperationCanceledException();
-                
-                SearchParticipant participant = participants[i];
-                SubProgressMonitor subMonitor = monitor == null ? null
-                    : new SubProgressMonitor(monitor, 1000);                     
-                if (subMonitor != null && subMonitor.isCanceled())
-                    throw new OperationCanceledException();
-                try
-                {
-                // locate index matches if any (note that all search matches
-                // could have been issued during index querying)
-                if (subMonitor != null)
-                    subMonitor.subTask(Messages.bind(
-                            Messages.engine_searching_matching,
-                            new String[]
-                            { participant.getDescription() }));
-                // a search document set should contain enough info to reduce the search scope even further 
-                // before finding precize locations
-                
-                // the scope could be null if the partcipant barfed and exeption in the first loop 
-                if (scopeArray[i] != null)
-                {  
-                  participant.locateMatches(set, pattern, scopeArray[i], requestor, searchOptions, subMonitor);
-                }  
-                }
-                catch (Exception e)
-                {
-                  
-                }
-                finally
-                {
-                  // requestor.exitParticipant(participant);
-                  participant.doneSearching(pattern, searchOptions);
-                }         
-            }    
-		} finally
-		{
-            set.dispose();
-			// requestor.endReporting();
-			if (monitor != null)
-				monitor.done();
-		}
-	}
-
-	/**
-	 * Searches for matches of a given search pattern. Search patterns can be created
-	 * using factory methods and encapsulate the description of the information to be
-	 * searched for (for example, element declarations of a specified type, in a case
-	 * sensitive manner).
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param requestor
-	 *            Callback object to notify with the results of the search (each match
-	 *            is reported to {@link SearchRequestor#acceptSearchMatch(SearchMatch)})
-	 * @param scope
-	 *            Optional search scope to limit the source of search candidates;
-	 *            specify <code>null</code> to search the entire workspace
-	 * @param searchOptions
-	 *            Optional map of options and values defining behavior of the search;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Optional progress monitor used to report work completed
-	 * @exception CoreException
-	 *            if the search fails
-	 */
-	public void search(SearchPattern pattern, SearchRequestor requestor,
-			SearchScope scope, Map searchOptions, IProgressMonitor monitor)
-			throws CoreException
-	{
-		SearchParticipant[] participants =
-			getApplicableParticipants(pattern, searchOptions);
-        //System.out.println("participants = " + participants.length);
-		search(pattern, requestor, participants, scope, searchOptions, monitor);
-	}
-
-	/**
-	 * Queries the set of participants that support searches described by the
-	 * specified search pattern and options.
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param searchOptions
-	 *            Optional map of options and values defining behavior of the search;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @return Array of applicable search participants
-	 */
-	public SearchParticipant[] getApplicableParticipants(SearchPattern pattern,
-			Map searchOptions)
-	{
-		return SearchPlugin.getDefault().loadSearchParticipants(pattern, searchOptions);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchMatch.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchMatch.java
deleted file mode 100644
index 11969e5..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchMatch.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * A search match represents the result of a search query.
- * <p>
- * This class is intended to be instantiated and subclassed by clients.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @see SearchEngine#search(org.eclipse.wst.common.core.search.pattern.SearchPattern, SearchParticipant[], ISearchScope,
- *      SearchRequestor, org.eclipse.core.runtime.IProgressMonitor)
- */
-public class SearchMatch implements IAdaptable
-{
-
-	/**
-	 * Optional resource of the element
-	 */
-	IFile file; // resource where match is found
-
-	/**
-	 * The offset the match starts at, or -1 if unknown
-	 */
-	int offset;
-
-	/**
-	 * The length the length of the match, or -1 if unknown
-	 */
-	int length;
-
-	/**
-	 * Optional element that encloses or corresponds to the match
-	 */
-	Object object;
-
-	/**
-	 * Creates a new search match.
-	 * 
-	 * @param element
-	 *            the element that encloses or corresponds to the match, or
-	 *            <code>null</code> if none
-	 * @param offset
-	 *            the offset the match starts at, or -1 if unknown
-	 * @param length
-	 *            the length of the match, or -1 if unknown
-	 * @param participant
-	 *            the search participant that created the match
-	 * @param resource
-	 *            the resource of the element, or <code>null</code> if none
-	 */
-	public SearchMatch(Object element, int offset, int length, IFile resource)
-	{
-		this.object = element;
-		this.offset = offset;
-		this.length = length;
-		this.file = resource;
-	}
-
-	public IFile getFile()
-	{
-		return file;
-	}
-
-	public void setFile(IFile file)
-	{
-		this.file = file;
-	}
-
-	public int getLength()
-	{
-		return length;
-	}
-
-	public void setLength(int length)
-	{
-		this.length = length;
-	}
-
-	// issue (cs/eb) holding objects is a bit odd, since it implies the object's
-	// life span
-	// is the same as the SearchMatch. What happens when an object is deleted?
-	// does the SearchMatch get deleted? Aren't coordinates good enough?
-	// at the very least we should document that using this field has some
-	// consequences
-	/**
-	 * (eb) see comments for {@link #setObject(Object)}
-	 */
-	public Object getObject()
-	{
-		return object;
-	}
-
-	/**
-	 * @param object
-	 *            Object is an instance of some part of the model that represent
-	 *            the content that was searched. It may require to calculate
-	 *            some additional information that may be required by the tools
-	 *            through {@link #getObject()) (e.g. XML node namespace,
-	 *            nessesary to obtain the prefix for the refactoring tool).
-	 *            <p>
-	 *            There should be no danger here of preventing the object from
-	 *            garbage collection because instances of the search matches
-	 *            supposed to be short lived. {@link SearchMatch} is usually
-	 *            collected by {@link SearchRequestor} which itself is lived for
-	 *            the time of the search and then discarded or re-initialized.
-	 *            Usually the tool that requested a search extracts the
-	 *            information from the collected {@link SearchMatch} and after
-	 *            that {@link SearchMatch} could be garbage collected, releasing
-	 *            object that they hold to.
-	 *            </p>
-	 */
-	public void setObject(Object object)
-	{
-		this.object = object;
-	}
-
-	public int getOffset()
-	{
-		return offset;
-	}
-
-	public void setOffset(int offset)
-	{
-		this.offset = offset;
-	}
-
-	public Object getAdapter(Class adapter)
-	{
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-    
-    public Map map = new HashMap(); 
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchParticipant.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchParticipant.java
deleted file mode 100644
index 95a0446..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchParticipant.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.core.search.document.SearchDocument;
-import org.eclipse.wst.common.core.search.document.SearchDocumentSet;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-/**
- * <p>
- * A search participant describes a particular extension to a generic search
- * mechanism, permitting combined search actions which will involve all required
- * participants.
- * </p>
- * <p>
- * When there is a need to search a document that has some mixed content, then
- * using a one participant will not be enough. E.g. for the searching of the JSP
- * content, a JSP participant needs to create {@link SearchDocument} that
- * contain Java compilation unit and then pass it to the default Java search
- * participant of the Java Search Engine. The same with XML: when there is an
- * XML content that default search participant could not process, but it is
- * required to be search on, a new search participant needs to be defined. That
- * search participant would know how create search document from the content and
- * then it can call default XML search participant.
- * </p>
- * <p>
- * Passing its own {@link SearchRequestor} this participant can then map the
- * match positions back to the original contents, create its own matches and
- * report them to the original requestor.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * 
- */
-public abstract class SearchParticipant implements ISearchOptions 
-{
-
-	protected static final boolean debugPerf = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.common.core/perf")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	protected String id;
-	/**
-	 * Creates a new search participant.
-	 */
-	protected SearchParticipant()
-	{
-		// do nothing
-	}
-
-	/**
-	 * Callback method allowing a search participant to indicate whether it supports
-	 * the specified search pattern and options.
-	 * <p>
-	 * If this method returns <code>true</code>, the participant will participate in
-	 * finding matches for the search defined by the search pattern. In this case, the
-	 * search pattern and options will be passed to the following methods of the
-	 * search participant:
-	 * <ol>
-	 * <li>{@link #beginSearching(SearchPattern, Map)}
-	 * <li>{@link #selectDocumentLocations(SearchPattern, SearchScope, Map, IProgressMonitor)}
-	 * <li>{@link #createSearchDocuments(SearchDocumentSet, SearchPattern, SearchScope, Map, IProgressMonitor)}
-	 * <li>{@link #locateMatches(SearchDocumentSet, SearchPattern, SearchScope, SearchRequestor, Map, IProgressMonitor)}
-	 * <li>{@link #doneSearching(SearchPattern, Map)}
-	 * </ol>
-	 * <p>
-	 * If this method returns <code>false</code>, none of the above methods will be
-	 * called, and the search participant contributes no matches for the search
-	 * requrest.
-	 * <p>
-	 * A search participant should only participate in a search when in understands
-	 * the search pattern. Unrecognized search options, however, can be ignored.
-	 * <p>
-	 * This method returns <code>false</code> by default. As a result, subclasses must
-	 * override this method to participate in any searches.
-	 * @param pattern The pattern describing the information to search for
-	 * @param searchOptions Map of options and values defining behavior of the search;
-	 *         <code>null</code> if no options are specified;
-	 *         some options and values are provided by {@link ISearchOptions}
-	 * @return <code>true</code> if the search participant will participate in the
-	 *         search request; <code>false</code> otherwise
-	 */
-	 public abstract boolean isApplicable(SearchPattern pattern, Map searchOptions);
-
-	/**
-	 * Notification that this participant's help is needed in a search.
-	 * <p>
-	 * This method should be re-implemented in subclasses that need to do
-	 * something when the participant is needed in a search.
-	 * </p>
-	 * @param pattern The pattern describing the information to search for
-	 * @param searchOptions Map of options and values defining behavior of the search;
-	 *         <code>null</code> if no options are specified;
-	 *         some options and values are provided by {@link ISearchOptions}
-	 */
-	public void beginSearching(SearchPattern pattern, Map searchOptions)
-	{
-		// do nothing
-	}
-
-	/**
-	 * Notification that this participant's help is no longer needed.
-	 * <p>
-	 * This method should be re-implemented in subclasses that need to do
-	 * something when the participant is no longer needed in a search.
-	 * </p>
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param searchOptions
-	 *            Map of options and values defining behavior of the search;
-	 *            <code>null</code> if no options are specified;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 */
-	public void doneSearching(SearchPattern pattern, Map searchOptions)
-	{
-		// do nothing
-	}
-	
-	/**
-	 * Returns a displayable name of this search participant.
-	 * <p>
-	 * This method should be re-implemented in subclasses that need to display a
-	 * meaningfull name.
-	 * </p>
-	 * 
-	 * @return the displayable name of this search participant
-	 */
-	public String getDescription()
-	{
-		return "Search participant"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns a search document for the given path. The given document path is
-	 * a string that uniquely identifies the document. Most of the time it is a
-	 * workspace-relative path, but it can also be a file system path, or a path
-	 * inside a zip file.
-	 * <p>
-	 * Implementors of this method can either create an instance of their own
-	 * subclass of {@link SearchDocument} or return an existing instance of such
-	 * a subclass.
-	 * </p>
-	 * 
-	 * @param documentPath
-	 *            the path of the document.
-	 * @return a search document
-	 */
-	public abstract SearchDocument createSearchDocument(String documentPath);
-
-	/**
-	 * Locates the matches in the given documents. This method should be called
-	 * by the other search participant or search client once it has
-	 * pre-processed documents and delegating search to this search participant.
-	 * @param documentSet
-	 *            The documents to locate matches in
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param scope
-	 *            Search scope to limit the source of search candidates;
-	 *            <code>null</code> indicates that the entire workspace is to be
-	 *            searched
-	 * @param requestor
-	 *            Callback object to notify with the results of the search (each match
-	 *            is reported to {@link SearchRequestor#acceptSearchMatch(SearchMatch)})
-	 * @param searchOptions
-	 *            Map of options and values defining behavior of the search;
-	 *            <code>null</code> if no options are specified;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Progress monitor used to report work completed; <code>null</code>
-	 *            if no progress needs to be reported
-	 * @throws CoreException
-	 *            If the requestor had problem accepting one of the matches
-	 */
-	public abstract void locateMatches(SearchDocumentSet documentSet,
-			SearchPattern pattern, SearchScope scope,
-			SearchRequestor requestor, Map searchOptions, IProgressMonitor monitor)
-			throws CoreException;
-
-	/**
-	 * 
-	 * @param document
-	 * @param pattern
-	 */
-	public abstract void populateSearchDocument(SearchDocument document,
-			SearchPattern pattern);
-
-	/**
-	 * Returns the collection of document locations to consider when performing
-	 * the given search query in the given scope. The search engine calls this
-	 * method before locating matches.
-	 * <p>
-	 * An document location represents a path workspace to the file with the
-	 * content that has potential matches
-	 * </p>
-	 * <p>
-	 * Clients are not expected to call this method.
-	 * </p>
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param scope
-	 *            Search scope to limit the source of search candidates;
-	 *            <code>null</code> indicates that the entire workspace is to be
-	 *            searched
-	 * @param searchOptions
-	 *            Map of options and values defining behavior of the search;
-	 *            <code>null</code> if no options are specified;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Progress monitor used to report work completed; <code>null</code>
-	 *            if no progress needs to be reported
-	 * @return the collection of document paths to consider
-	 */
-	public SearchScope selectDocumentLocations(SearchPattern pattern,
-			SearchScope scope, Map searchOptions, IProgressMonitor monitor)
-	{	
-		return scope;
-	}
-
-	/**
-	 * <p>
-	 * This method calls the following methods for each file in the search scope:
-	 * <ol>
-	 * <li>{@link #createSearchDocument(String)}
-	 * <li>{@link #populateSearchDocument(SearchDocument, SearchPattern)}
-	 * </ol>
-	 * @param documentSet
-	 *            The documents to locate matches in
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param scope
-	 *            Search scope to limit the source of search candidates;
-	 *            <code>null</code> indicates that the entire workspace is to be
-	 *            searched
-	 * @param searchOptions
-	 *            Map of options and values defining behavior of the search;
-	 *            <code>null</code> if no options are specified;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Progress monitor used to report work completed; <code>null</code>
-	 *            if no progress needs to be reported
-	 */
-	public void createSearchDocuments(SearchDocumentSet documentSet,
-			SearchPattern pattern, SearchScope scope, Map searchOptions,
-			IProgressMonitor monitor)
-	{
-		Assert.isNotNull(id, "The SearchPartipants id has not been initalized");
-		IFile[] files = scope.enclosingFiles();
-		
-		for (int i = 0; i < files.length; i++)
-		{
-			String location = files[i].getLocation().toString();
-			SearchDocument document = documentSet.getSearchDocument(location, id);
-			if(document == null && id != null){
-				documentSet.putSearchDocument(id, document = createSearchDocument(location));
-			}
-			populateSearchDocument(document, pattern); 
-			
-		}
-
-	}	
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchPlugin.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchPlugin.java
deleted file mode 100644
index cf7a9fc..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchPlugin.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.common.core.search.internal.SearchParticipantRegistry;
-import org.eclipse.wst.common.core.search.internal.SearchParticipantRegistryReader;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public class SearchPlugin extends Plugin implements ISearchOptions
-{
-
-	private SearchParticipantRegistry searchParticipantRegistry;
-
-	// The shared instance.
-	private static SearchPlugin plugin;
-
-	/**
-	 * The constructor.
-	 */
-	public SearchPlugin()
-	{
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception
-	{
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception
-	{
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static SearchPlugin getDefault()
-	{
-		return plugin;
-	}
-
-	private SearchParticipantRegistry getSearchParticipantRegistry()
-	{
-		if (searchParticipantRegistry == null)
-		{
-			searchParticipantRegistry = new SearchParticipantRegistry();
-			new SearchParticipantRegistryReader(searchParticipantRegistry)
-					.readRegistry();
-		}
-		return searchParticipantRegistry;
-	}
-
-
-	public SearchParticipant getSearchParticipant(String id)
-	{
-		return getSearchParticipantRegistry().getSearchParticipant(id);
-	}
-
-	/**
-	 * Returns the registered search participants that support the specified search
-	 * pattern and options, loading and creating the search participants if necessary.
-	 * @param pattern The pattern representing a search request
-	 * @param searchOptions Map of options and values defining behavior of the search;
-	 *         <code>null</code> if no options are specified;
-	 *         some options and values are provided by {@link ISearchOptions}
-	 * @return Array of search participants that support the specified search request 
-	 */
-	SearchParticipant[] loadSearchParticipants(SearchPattern pattern, Map searchOptions)
-	{
-		return getSearchParticipantRegistry().getParticipants(pattern, searchOptions);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchRequestor.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchRequestor.java
deleted file mode 100644
index 460b589..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchRequestor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Collects the results from a search engine query. Clients implement a subclass
- * to pass to <code>SearchEngine.search</code> and implement the
- * {@link #acceptSearchMatch(SearchMatch)} method.
- * <p>
- * The subclasses of the SearchRequestor could collected search matches, filter,
- * sort and group them. It's up to the client to pass the required extension of
- * the SearchRequestor to the search engine.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @see SearchEngine
- */
-public abstract class SearchRequestor
-{
-
-	/**
-	 * Accepts the given search match.
-	 * 
-	 * @param match
-	 *            the found match
-	 * @throws CoreException
-	 */
-	public abstract void acceptSearchMatch(SearchMatch match)
-			throws CoreException;
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentDeclarationEntry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentDeclarationEntry.java
deleted file mode 100644
index f193937..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentDeclarationEntry.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.document;
-
-import org.eclipse.wst.common.core.search.pattern.QualifiedName;
-
-/**
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- *
- */
-public class ComponentDeclarationEntry extends Entry
-{
-	QualifiedName metaName;
-    QualifiedName name;
-
-	public QualifiedName getName()
-	{
-		return name;
-	}
-
-	public void setName(QualifiedName name)
-	{
-		this.name = name;
-	}
-
-  public QualifiedName getMetaName()
-  {
-    return metaName;
-  }
-
-  public void setMetaName(QualifiedName metaName)
-  {
-    this.metaName = metaName;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentReferenceEntry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentReferenceEntry.java
deleted file mode 100644
index d532f26..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentReferenceEntry.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.document;
-
-import org.eclipse.wst.common.core.search.pattern.QualifiedName;
-
-/**
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- *
- */
-public class ComponentReferenceEntry extends Entry
-{
-	QualifiedName name;
-
-	public QualifiedName getName()
-	{
-		return name;
-	}
-
-	public void setName(QualifiedName name)
-	{
-		this.name = name;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/Entry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/Entry.java
deleted file mode 100644
index acd10a6..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/Entry.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.document;
-
-/**
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- *
- */
-public class Entry
-{
-  String key;
-  String category;
-
-	public Entry()
-{
-	super();
-	
-}
-
-	public String getCategory()
-	{
-		return category;
-	}
-
-	
-
-	public String getKey()
-	{
-		return key;
-	}
-
-	public void setCategory(String category)
-	{
-		this.category = category;
-	}
-
-	public void setKey(String key)
-	{
-		this.key = key;
-	}
-
-	
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/FileReferenceEntry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/FileReferenceEntry.java
deleted file mode 100644
index 2789503..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/FileReferenceEntry.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.document;
-
-/**
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- *
- */
-public class FileReferenceEntry extends Entry
-{
-	String relativeFilePath;
-    String resolvedURI;
-	String publicIdentifier;
-
-	public String getPublicIdentifier()
-	{
-		return publicIdentifier;
-	}
-
-	public void setPublicIdentifier(String publicIdentifier)
-	{
-		this.publicIdentifier = publicIdentifier;
-	}
-
-	public String getRelativeFilePath()
-	{
-		return relativeFilePath;
-	}
-
-	public void setRelativeFilePath(String relativeFilePath)
-	{
-		this.relativeFilePath = relativeFilePath;
-	}
-
-  public String getResolvedURI()
-  {
-    return resolvedURI;
-  }
-
-  public void setResolvedURI(String resolvedURI)
-  {
-    this.resolvedURI = resolvedURI;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocument.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocument.java
deleted file mode 100644
index d9bfcb9..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocument.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.document;
-
-import org.eclipse.wst.common.core.search.SearchParticipant;
-
-/**
- * A search document encapsulates a content to be searched in. A search
- * participant creates a search document based on the file locations to locate
- * matches.
- * <p>
- * This class is intended to be subclassed by clients.
- * </p>
- * issue (cs/eb) does a search participant always create a SearchDocument?
- * 
- * <p>
- * SearchParticipant or search client create search documents for the search
- * pass where precise locations of the matches will be determined by calling
- * {@link SearchParticipan#locateMatches}
- * </p>
- * <p>
- * SearchParticipant knows how to create search document that it can process.
- * </p>
- * <p>
- * The intent of the separation of the {@link SearchDocument} from the
- * {@link SearchParticipant} is to enable the other search participants to
- * process parts of the document. For example, if XML document has a fragment
- * that it can not process, e.g. Java, then XML participant would create
- * SearchDocument for that fragment which contains Java compilation unit, and
- * pass it to the Java search participant. Passing its own
- * {@link org.eclipse.wst.common.core.search.SearchRequestor} this participant can then map the match positions
- * back to the original contents, create its own matches and report them to the
- * original requestor.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @see SearchParticipant
- */
-public abstract class SearchDocument
-{
-
-	private String documentPath;
-	private SearchParticipant participant; 
-
-	/**
-	 * Creates a new search document. The given document path is a string that
-	 * uniquely identifies the document. Most of the time it is a
-	 * workspace-relative path, but it can also be a file system path, or a path
-	 * inside a zip file.
-	 * 
-	 * @param documentPath
-	 *            the path to the document, or <code>null</code> if none
-	 */
-	protected SearchDocument(String documentPath, SearchParticipant participant)
-	{
-		this.documentPath = documentPath;
-		this.participant = participant;
-	}
-
-	public abstract Entry[] getEntries(String category, String key, int matchRule);
-
-	/**
-	 * Returns the model of this document. Model may be different from actual
-	 * resource at corresponding document path due to preprocessing.
-	 * <p>
-	 * This method must be implemented in subclasses.
-	 * </p>
-	 * 
-	 * @return the model of this document, or <code>null</code> if none
-	 */
-	public abstract Object getModel();
-	
-	
-	/**
-	 * Returns the participant that created this document.
-	 * 
-	 * @return the participant that created this document
-	 */
-	public final SearchParticipant getParticipant() {
-		return this.participant;
-	}
-	
-	
-//	 this class represents a collection of information
-//	 that has been produced by a search participant
-//	 typically after a file has been processed
-//	 an Entry is typically course grained info that results from the SearchParticipants
-//	 first step ... and is used to compute more accurate SearchMatches during a SearchParticipants 2nd step
-
-	/**
-	 * Returns the path to the original document.
-	 * 
-	 * @return the path to the document
-	 */
-	public final String getPath()
-	{
-		return this.documentPath;
-	} 
-	
-	public abstract void putEntry(Entry entry);
-    
-    public void dispose()
-    {      
-    }
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocumentSet.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocumentSet.java
deleted file mode 100644
index 42fb34c..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocumentSet.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.document;
-
-/**
- * The class is used to manage a set of search documents
- * that have been constructed by various participants
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- *
- */
-public abstract class SearchDocumentSet
-{
-  public abstract SearchDocument getSearchDocument(String resourcePath, String participantId);
-  public abstract SearchDocument[] getSearchDocuments(String participantId);
-  public abstract void putSearchDocument(String participantId, SearchDocument document);
-  public abstract SearchDocument _tempGetSearchDocumetn(String resourcePath);
-  public abstract void dispose();
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/Messages.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/Messages.java
deleted file mode 100644
index cc3522b..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-// issue (cs) is this a UI issue?  where does the framework need to expose stings?
-public class Messages extends NLS
-{
-
-	private static final String BUNDLE_NAME = "org.eclipse.wst.common.core.internal.messages";//$NON-NLS-1$
-
-	public static String engine_searching;
-
-	public static String engine_searching_locatingDocuments;
-
-	public static String engine_searching_matching;
-
-	private Messages()
-	{
-		// Do not instantiate
-	}
-
-	static
-	{
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchDocumentSetImpl.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchDocumentSetImpl.java
deleted file mode 100644
index e3f6c33..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchDocumentSetImpl.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.common.core.search.document.SearchDocument;
-import org.eclipse.wst.common.core.search.document.SearchDocumentSet;
-
-public class SearchDocumentSetImpl extends SearchDocumentSet
-{
-    public Map documentPathMap = new HashMap(); //path --> documetn
-	Map documentMap = new HashMap();  // participantId - > list (document)
-	
-	public SearchDocumentSetImpl()
-	{
-		super();
-	}
-    
-    public SearchDocument _tempGetSearchDocumetn(String resourcePath)
-    {      
-       return (SearchDocument)documentPathMap.get(resourcePath);      
-    }
-    
-    public SearchDocument getSearchDocument(String resourcePath, String participantId)
-	{
-		if(resourcePath == null){
-			return null;
-		}
-		SearchDocument[] documents = getSearchDocuments(participantId);
-		for (int i = 0; i < documents.length; i++)
-		{
-			SearchDocument document = documents[i];
-			if(resourcePath.equals(document.getPath())){
-				return document;
-			}
-		}
-		return null;
-	}
-
-	public SearchDocument[] getSearchDocuments(String participantId)
-	{
-		
-		Object object = documentMap.get(participantId);
-		List documentList = null;
-		if(object instanceof List){
-			documentList = (List)object;
-		}
-		else{
-			documentMap.put(participantId, documentList = new ArrayList());
-		}
-		return (SearchDocument[]) documentList.toArray(new SearchDocument[documentList.size()]);
-		
-	}
-
-	public void putSearchDocument(String participantId, SearchDocument document)
-	{
-		Object object = documentMap.get(participantId);
-		List documentList = null;
-		if(object instanceof List){
-			documentList = (List)object;
-		}
-		else{
-			documentMap.put(participantId, documentList = new ArrayList());
-		}
-		documentList.add(document);
-        documentPathMap.put(document.getPath(), document);
-	}
-
-    
-    public void dispose()
-    {
-      try
-      {
-      for (Iterator i = documentMap.values().iterator(); i.hasNext(); )
-      {
-        Object o = i.next();
-        if (o instanceof List)
-        {  
-          for (Iterator j = ((List)o).iterator(); j.hasNext(); )
-          {
-            Object o2 = j.next();
-            if (o2 instanceof SearchDocument)
-            {  
-               SearchDocument searchDocument = (SearchDocument)o2;
-               searchDocument.dispose();
-            }   
-          }          
-        }       
-      }
-      }
-      catch (Exception e)
-      {
-        e.printStackTrace();
-      }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantDescriptor.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantDescriptor.java
deleted file mode 100644
index 8e39e12..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantDescriptor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.internal;
-
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.expressions.IEvaluationContext;
-import org.eclipse.core.runtime.Assert; 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.core.search.SearchParticipant;
-
-public class SearchParticipantDescriptor
-{
-
-	private IConfigurationElement fElement;
-
-	private SearchParticipant participant;
-
-	public SearchParticipantDescriptor(IConfigurationElement element)
-	{
-		this.fElement = element;
-	}
-
-	public SearchParticipant getSearchParticipant()
-	{
-		if (participant == null)
-		{
-			try
-			{
-				participant = (SearchParticipant) fElement
-						.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (Exception e)
-			{
-				// e.printStackTrace();
-			}
-		}
-		return participant;
-	}
-
-	public boolean matches(IEvaluationContext context) throws CoreException
-	{
-		IConfigurationElement[] elements = fElement
-				.getChildren(ExpressionTagNames.ENABLEMENT);
-		if (elements.length == 0)
-			return false;
-		Assert.isTrue(elements.length == 1);
-		Expression exp = ExpressionConverter.getDefault().perform(elements[0]);
-		return convert(exp.evaluate(context));
-	}
-
-	private boolean convert(EvaluationResult eval)
-	{
-		if (eval == EvaluationResult.FALSE)
-			return false;
-		return true;
-	}
-
-	/**
-	 * @deprecated No replacement
-	 */
-	public String[] getSupportedContentTypes()
-	{
-		return new String[0];
-	}
-
-	/**
-	 * @deprecated No replacement
-	 */
-	public void addSupportedContentTypeId(String contentTypeId)
-	{
-	}
-	
-	public String getElementId(){
-		return fElement.getAttribute("id");
-		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistry.java
deleted file mode 100644
index a169e91..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistry.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.core.search.SearchParticipant;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-
-public class SearchParticipantRegistry
-{
-
-	protected Map idMap = new HashMap(); // maps searchParticipant id to a
-											// searchParticipant descriptor
-
-	public SearchParticipantRegistry()
-	{
-	}
-
-	public void putSearchParticipant(String id,
-			SearchParticipantDescriptor searchParticipantDescriptor)
-	{
-		idMap.put(id, searchParticipantDescriptor);
-	}
-
-	public String[] getSearchParticipantIds()
-	{
-		Set ids = idMap.keySet();
-		return (String[]) ids.toArray(new String[ids.size()]);
-	}
-
-	public Collection getSearchParticipants()
-	{
-		return idMap.values();
-	}
-
-
-	public SearchParticipant getSearchParticipant(String id)
-	{
-		SearchParticipantDescriptor searchParticipantDescriptor = null;
-		if (id != null)
-		{
-			searchParticipantDescriptor = (SearchParticipantDescriptor) idMap
-					.get(id);
-		}
-		return searchParticipantDescriptor != null ? searchParticipantDescriptor
-				.getSearchParticipant()
-				: null;
-
-	}
-
-	public SearchParticipant[] getParticipants(SearchPattern pattern, Map searchOptions)
-	{
-
-		EvaluationContext evalContext = createEvaluationContext(pattern);
-		List result = new ArrayList();
-		for (Iterator iter = getSearchParticipants().iterator(); iter.hasNext();)
-		{
-			SearchParticipantDescriptor descriptor = (SearchParticipantDescriptor) iter
-					.next();
-			try
-			{
-				if (descriptor.matches(evalContext))
-				{
-					try
-					{
-						SearchParticipant participant = descriptor
-								.getSearchParticipant();
-						if (!SearchParticipant.class.isInstance(participant))
-							throw new ClassCastException();
-						if (participant.isApplicable(pattern, searchOptions))
-						{
-							result.add(participant);
-						}
-					} catch (ClassCastException e)
-					{
-						iter.remove();
-					}
-				}
-
-			} catch (CoreException e)
-			{
-				iter.remove();
-			}
-
-		}
-
-		return (SearchParticipant[]) result
-				.toArray(new SearchParticipant[result.size()]);
-	}
-
-	private static EvaluationContext createEvaluationContext(
-			SearchPattern pattern)
-	{
-		EvaluationContext result = new EvaluationContext(null, pattern);
-		result.addVariable("pattern", pattern); //$NON-NLS-1$
-		return result;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistryReader.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistryReader.java
deleted file mode 100644
index 7757ce3..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistryReader.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-
-public class SearchParticipantRegistryReader
-{
-	protected static final String EXTENSION_POINT_ID = "searchParticipants"; //$NON-NLS-1$
-
-	protected static final String TAG_NAME = "searchParticipant"; //$NON-NLS-1$
-
-	protected static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	protected static final String ATT_ID = "id"; //$NON-NLS-1$
-
-	protected String pluginId, extensionPointId;
-
-	protected SearchParticipantRegistry registry;
-
-	public SearchParticipantRegistryReader(SearchParticipantRegistry registry)
-	{
-		this.registry = registry;
-	}
-
-	public void readRegistry()
-	{
-		String bundleid = "org.eclipse.wst.common.core"; //$NON-NLS-1$
-		IExtensionPoint point = Platform.getExtensionRegistry()
-				.getExtensionPoint(bundleid, EXTENSION_POINT_ID);
-		if (point != null)
-		{
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++)
-			{
-				readElement(elements[i]);
-			}
-		}
-	}
-
-	protected void readElement(IConfigurationElement element)
-	{
-		if (element.getName().equals(TAG_NAME))
-		{
-			String contributorClass = element.getAttribute(ATT_CLASS);
-			String id = element.getAttribute(ATT_ID);
-			if (id != null)
-			{
-				if (contributorClass != null)
-				{
-					SearchParticipantDescriptor descriptor = new SearchParticipantDescriptor(
-							element);
-					registry.putSearchParticipant(id, descriptor);
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/messages.properties b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/messages.properties
deleted file mode 100644
index e3a01a8..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/messages.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-### Search messages.
-
-engine_searching = Searching...
-engine_searching_locatingDocuments = {0}: locate search documents...
-engine_searching_matching = {0}: locate matches...
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentDeclarationPattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentDeclarationPattern.java
deleted file mode 100644
index 16f3ffe..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentDeclarationPattern.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.pattern;
-
-/**
- *
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- *
- */
-public class ComponentDeclarationPattern extends ComponentSearchPattern
-{
-
-	public ComponentDeclarationPattern(QualifiedName name,
-			QualifiedName metaName, int matchRule)
-	{
-		super(null, name, metaName, matchRule);
-
-	}
-
-	public ComponentDeclarationPattern(QualifiedName name,
-			QualifiedName metaName)
-	{
-		super(null, name, metaName);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentReferencePattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentReferencePattern.java
deleted file mode 100644
index 2f1e101..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentReferencePattern.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.pattern;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- *
- */
-public class ComponentReferencePattern extends ComponentSearchPattern
-{
-
-	public ComponentReferencePattern(IFile file, QualifiedName elementQName,
-			QualifiedName typeQName, int matchRule)
-	{
-		super(file, elementQName, typeQName, matchRule);
-
-	}
-
-	public ComponentReferencePattern(IFile file, QualifiedName elementQName,
-			QualifiedName typeQName)
-	{
-		super(file, elementQName, typeQName);
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentSearchPattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentSearchPattern.java
deleted file mode 100644
index 4741a10..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentSearchPattern.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.pattern;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * This class defines generic component pattern. Usually there are two types of
- * component search patterns: pattern for component declaration and for
- * component definition.
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public abstract class ComponentSearchPattern extends SearchPattern
-{
-
-	QualifiedName name;
-
-	QualifiedName metaName;
-
-	IFile file; // (optional) location where component is defined
-
-	public ComponentSearchPattern(IFile file, QualifiedName elementQName,
-			QualifiedName typeQName, int matchRule)
-	{
-		super(matchRule);
-		this.file = file;
-		name = elementQName;
-		metaName = typeQName;
-
-	}
-
-	public ComponentSearchPattern(IFile file, QualifiedName elementQName,
-			QualifiedName typeQName)
-	{
-
-		this.file = file;
-		name = elementQName;
-		metaName = typeQName;
-
-	}
-
-	public IFile getFile()
-	{
-		return file;
-	}
-
-	public QualifiedName getMetaName()
-	{
-		return metaName;
-	}
-
-	public QualifiedName getName()
-	{
-		return name;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/FileReferencePattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/FileReferencePattern.java
deleted file mode 100644
index 27c1165..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/FileReferencePattern.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.pattern;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- *
- */
-public class FileReferencePattern extends SearchPattern
-{
-
-	IFile file;
-
-	public FileReferencePattern(IFile file)
-	{
-		this.file = file;
-	}
-
-	public FileReferencePattern(IFile file, int matchRule)
-	{
-		super(matchRule);
-		this.file = file;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/QualifiedName.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/QualifiedName.java
deleted file mode 100644
index 0f7ab17..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/QualifiedName.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.pattern;
-
-/**
- * This data class represents a qualified name, consisting of a local name and a
- * qualifier
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-// issue (cs) should this go in the 'matching' package (BTW... rename
-// matching->pattern)
-public class QualifiedName
-{
-
-	private String qualifier;
-
-	private String name;
-
-	private static final String NS_DELIM_1 = "{"; //$NON-NLS-1$
-
-	private static final String NS_DELIM_2 = "}"; //$NON-NLS-1$
-
-	/**
-	 * Constructor Creates a qualified name from a namespace and local name.
-	 * 
-	 * @param namespace
-	 * @param localName
-	 */
-	public QualifiedName(String namespace, String localName)
-	{
-
-		super();
-
-		this.qualifier = namespace;
-		if (namespace != null && namespace.length() == 0)
-		{
-			this.qualifier = null;
-		}
-		if (this.qualifier != null && this.qualifier.length() == 0)
-		{
-			this.qualifier = null;
-		}
-
-		this.name = localName;
-		if (localName != null && localName.length() == 0)
-		{
-			this.name = null;
-		}
-
-	}
-
-	/**
-	 * Returns the namespace component of the qualified name.
-	 * 
-	 * @return The namespace; <code>null</code> if none is specified
-	 */
-	public String getNamespace()
-	{
-		return this.qualifier;
-	}
-
-	/**
-	 * Returns the local name component of the qualified name.
-	 * 
-	 * @return The local name; <code>null</code> if none is specified
-	 */
-	public String getLocalName()
-	{
-		return this.name;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj)
-	{
-		boolean isEqual = false;
-		if (this == obj)
-		{
-		  isEqual = true;
-		}
-		else
-		{	
-		  if (obj instanceof QualifiedName)
-		  {
-			QualifiedName that = (QualifiedName) obj;
-		    isEqual = isMatch(this.getNamespace(), that.getNamespace()) &&
-		              isMatch(this.getLocalName(), that.getLocalName());	
-		  }  
-		}
-		return isEqual;
-	}
-	
-	protected boolean isMatch(String a, String b)
-	{
-	  return a != null ? a.equals(b) : a == b;
-	}	
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode()
-	{
-		int hash = 0;
-		if (this.qualifier != null)
-		{
-			hash += this.qualifier.hashCode();
-		}
-		if (this.name != null)
-		{
-			hash += this.name.hashCode();
-		}
-		return hash;
-	}
-
-	/**
-	 * Returns a string representation of the qualified name, of the form:
-	 * {namespace}localname. If no namespace is specified, the string has the
-	 * form: {}localname. Note that the string format may change in the future.
-	 * 
-	 * @return The string value
-	 */
-	public String toString()
-	{
-
-		return appendStrings(new String[]
-		{ NS_DELIM_1, // {
-				this.qualifier, NS_DELIM_2, // }
-				this.name });
-
-	}
-
-	/**
-	 * Factory-like method to create a QName object from the string form of a
-	 * QName. The string must have the same format as returned by
-	 * QName.toString().
-	 * 
-	 * @param qnameString -
-	 *            String form of a QName
-	 * @return The created QName object created from the specified string
-	 * @throws IllegalArgumentException -
-	 *             Missing namespace delimiters
-	 */
-	public static QualifiedName valueOf(String qnameString)
-			throws IllegalArgumentException
-	{
-
-		String namespace = null;
-		String localName = null;
-		if (qnameString == null || qnameString.length() == 0)
-		{
-			// Both namespace and local name are null.
-		} else if (qnameString.startsWith(NS_DELIM_1))
-		{
-			// The QName has the notation specifying a namespace.
-			int index = qnameString.indexOf(NS_DELIM_2);
-			if (index == -1)
-			{
-				// The end delimiter for the namespace was not found. The QName
-				// string
-				// is malformed.
-				throw new IllegalArgumentException(
-						"qnameString = " + qnameString); //$NON-NLS-1$
-			}
-			namespace = qnameString.substring(1, index);
-			localName = qnameString.substring(index + 1);
-		} else
-		{
-			// Assume no namespace is specified and the string is a local name.
-			localName = qnameString;
-		}
-		return new QualifiedName(namespace, localName);
-
-	}
-
-	/**
-	 * Creates a single string by appending together an array of strings,
-	 * skipping null strings.
-	 * 
-	 * @param strings -
-	 *            Strings to be appended together
-	 * @return Resulting string
-	 */
-	public static String appendStrings(String[] strings)
-	{
-
-		String result = null;
-		if (strings != null)
-		{
-			StringBuffer tokenBuffer = new StringBuffer();
-			int maxCount = strings.length;
-			String string;
-			for (int i = 0; i < maxCount; i++)
-			{
-				string = strings[i];
-				if (string != null && string.length() > 0)
-				{
-					tokenBuffer.append(string);
-				}// if
-			}// for
-			result = tokenBuffer.toString();
-		}// if
-		return result;
-
-	}// appendStrings()
-
-}// class QName
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/SearchPattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/SearchPattern.java
deleted file mode 100644
index df0aaf6..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/SearchPattern.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.wst.common.core.search.pattern;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * A search defines how search results are found.
- * 
- * This class is intended to be subclassed by clients.
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public abstract class SearchPattern implements IAdaptable
-{
-
-	/**
-	 * Match rule: The search pattern matches the search result only if cases
-	 * are the same. Can be combined to previous rules, e.g.
-	 * {@link #R_EXACT_MATCH} | {@link #R_CASE_SENSITIVE}
-	 */
-	public static final int R_CASE_SENSITIVE = 8;
-
-	// Rules for pattern matching: (exact, prefix, pattern) [ | case sensitive]
-	/**
-	 * Match rule: The search pattern matches exactly the search result, that
-	 * is, the source of the search result equals the search pattern.
-	 */
-	public static final int R_EXACT_MATCH = 0;
-
-	/**
-	 * Match rule: The search pattern contains one or more wild cards ('*')
-	 * where a wild-card can replace 0 or more characters in the search result.
-	 */
-	public static final int R_PATTERN_MATCH = 2;
-
-	/**
-	 * Match rule: The search pattern is a prefix of the search result.
-	 */
-	public static final int R_PREFIX_MATCH = 1;
-
-	/**
-	 * Match rule: The search pattern contains a regular expression.
-	 */
-	public static final int R_REGEXP_MATCH = 4;
-
-	private int matchRule;
-
-	public SearchPattern()
-	{
-		this.matchRule = R_EXACT_MATCH | R_CASE_SENSITIVE;
-	}
-
-	public SearchPattern(int matchRule)
-	{
-		this.matchRule = matchRule;
-
-	}
-
-	public final int getMatchRule()
-	{
-		return this.matchRule;
-	}
-
-	public Object getAdapter(Class adapter)
-	{
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ContentTypeSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ContentTypeSearchScope.java
deleted file mode 100644
index c67af17..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ContentTypeSearchScope.java
+++ /dev/null
@@ -1,105 +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.wst.common.core.search.scope;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-
-/**
- * Scope that has filterers files based on content types. It can limit other
- * scopes with the given file content types.
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public class ContentTypeSearchScope extends SearchScopeImpl
-{
-
-	private List validContentIds = new ArrayList();
-
-	public ContentTypeSearchScope(SearchScope scope, String[] validContentTypes)
-	{
-		if (validContentTypes != null)
-		{
-			for (int i = 0; i < validContentTypes.length; i++)
-			{
-				this.validContentIds.add(validContentTypes[i]);
-			}
-		}
-		if (scope.enclosingFiles() != null)
-		{
-			for (int i = 0; i < scope.enclosingFiles().length; i++)
-			{
-				IFile file = (IFile) scope.enclosingFiles()[i];
-				acceptFile(file);
-			}
-		}
-
-	}
-
-	protected boolean acceptFile(IFile file)
-	{
-
-		if (file == null)
-		{
-			return false;
-		} else
-		{
-			try
-			{
-				IContentDescription description = file.getContentDescription();
-				if (description != null)
-				{
-					IContentType contentType = description.getContentType();
-					if (contentType != null)
-					{
-						// TODO use IContentType.isKindOf
-						for (Iterator iter = validContentIds.iterator(); iter
-								.hasNext();)
-						{
-							String contentId = (String) iter.next();
-							IContentTypeManager contentTypeManager = Platform.getContentTypeManager();
-							IContentType supportedContentType = contentTypeManager.getContentType(contentId);
-							if (supportedContentType != null)
-							{
-								if (contentType.isKindOf(supportedContentType))
-								{
-									files.add(file);
-									projects.add(file.getProject());
-									return true;
-								}
-							}
-
-						}
-
-					}
-				}
-			} catch (CoreException e)
-			{
-				// ignore the file
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ProjectSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ProjectSearchScope.java
deleted file mode 100644
index 12ace71..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ProjectSearchScope.java
+++ /dev/null
@@ -1,55 +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.wst.common.core.search.scope;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-
-/**
- *
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public class ProjectSearchScope extends SearchScopeImpl
-{
-
-	/**
-	 * Creates a scope that ecloses workspace path and eclosing project
-	 * 
-	 * @param workspacePath -
-	 *            path to the resource in the workspace, e.g.
-	 *            /MyProject/MyFile.xml
-	 */
-	public ProjectSearchScope(IPath workspacePath)
-	{
-		super();
-		initialize(workspacePath);
-
-	}
-
-	protected void initialize(IPath workspacePath)
-	{
-		IResource resource = ResourcesPlugin.getWorkspace().getRoot()
-				.findMember(workspacePath);
-		if (resource != null)
-		{
-			IProject project = resource.getProject();
-			traverseContainer(project);
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScope.java
deleted file mode 100644
index 1dd3efd..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScope.java
+++ /dev/null
@@ -1,49 +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.wst.common.core.search.scope;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * A <code>SearchScope</code> defines where search result should be found by a
- * <code>SearchEngine</code> (e.g. project, workspace).
- * 
- * Clients must pass an instance of this class to the <code>search(...)</code>
- * methods. Such an instance can be created using the following factory methods
- * on <code>SearchScope</code>: <code>newSearchScope(IResource[])</code>,
- * <code>newWorkspaceScope()</code>
- * 
- * The default implementaion of the search scope has no filter, and at creation
- * does not contain any files, It could accept any workspace file.
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public abstract class SearchScope
-{
-	/**
-	 * Returns the path to the workspace files that belong in this search scope.
-	 * (see <code>IResource.getFullPath()</code>). For example,
-	 * /MyProject/MyFile.txt
-	 * 
-	 * @return an array of files in the workspace that belong to this scope.
-	 */
-	public abstract IFile[] enclosingFiles();
-
-
-
-	
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScopeImpl.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScopeImpl.java
deleted file mode 100644
index 33c4c69..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScopeImpl.java
+++ /dev/null
@@ -1,133 +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.wst.common.core.search.scope;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- *
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public class SearchScopeImpl extends SearchScope
-{
-
-	protected List files = new ArrayList();
-
-	protected HashSet projects = new HashSet();
-
-	public SearchScopeImpl()
-	{
-		super();
-	}
-
-	/**
-	 * Checks whether the resource at the given path is belongs to this scope.
-	 * Resource path could be added to the scope, if scope conditions are met.
-	 * if {@link ISearchScope.encloses(String resourcePath)} returns false and
-	 * then this method is called and returns true, next call to
-	 * {@link ISearchScope.eclipses(String resourcePath)} should return true.
-	 * 
-	 * @param file -
-	 *            workspace file
-	 * @return whether the resource is enclosed by this scope
-	 */
-	protected boolean acceptFile(IFile file)
-	{
-		if (file == null)
-		{
-			return false;
-		}
-		files.add(file);
-		projects.add(file.getProject());
-		return true;
-
-	}
-
-	/**
-	 * Checks whether the resource at the given path is enclosed by this scope.
-	 * 
-	 * @param resourcePath -
-	 *            workspace relative resource path
-	 * @return whether the resource is enclosed by this scope
-	 */
-	protected boolean encloses(String resourcePath)
-	{
-		IResource resource = ResourcesPlugin.getWorkspace().getRoot()
-				.findMember(resourcePath);
-		if (resource == null)
-			return false;
-		return (files.contains(resource));
-	}
-
-	/**
-	 * Returns the path to the workspace files that belong in this search scope.
-	 * (see <code>IResource.getFullPath()</code>). For example,
-	 * /MyProject/MyFile.txt
-	 * 
-	 * @return an array of files in the workspace that belong to this scope.
-	 */
-	public IFile[] enclosingFiles()
-	{
-		if (files == null)
-			return new IFile[0];
-		return (IFile[]) files.toArray(new IFile[files.size()]);
-	}
-
-	/**
-	 * Returns the paths to the enclosing projects for this search scope. (see
-	 * <code>IResource.getFullPath()</code>). For example, /MyProject
-	 * 
-	 * @return an array of paths to the enclosing projects.
-	 */
-	protected IProject[] enclosingProjects()
-	{
-
-		return (IProject[]) projects.toArray(new IProject[projects.size()]);
-
-	}
-	
-	protected void traverseContainer(IContainer container)
-	{
-
-		IResourceVisitor visitor = new IResourceVisitor()
-		{
-			public boolean visit(IResource resource)
-			{
-				if (resource.getType() == IResource.FILE)
-					acceptFile((IFile) resource);
-				return true;
-			}
-		};
-		try
-		{
-			container.accept(visitor);
-		} catch (CoreException e)
-		{
-			// ignore resource
-		}
-
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SelectionSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SelectionSearchScope.java
deleted file mode 100644
index 4ffcd3e..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SelectionSearchScope.java
+++ /dev/null
@@ -1,67 +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.wst.common.core.search.scope;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-
-/**
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public class SelectionSearchScope extends SearchScopeImpl
-{
-
-	protected IResource[] resources;
-
-	/**
-	 * Creates a scope that ecloses workspace path and eclosing project
-	 * 
-	 * @param workspacePath -
-	 *            path to the resource in the workspace, e.g.
-	 *            /MyProject/MyFile.xml
-	 */
-	public SelectionSearchScope(IResource[] resources)
-	{
-		super();
-		this.resources = resources;
-		initialize();
-
-	}
-
-	protected void initialize()
-	{
-		if (resources == null)
-			return;
-		for (int index = 0; index < resources.length; index++)
-		{
-			IResource resource = resources[index];
-			if (resource != null)
-			{
-				if (resource.getType() == IResource.FOLDER)
-				{
-					traverseContainer((IFolder) resource);
-				} else if (resource.getType() == IResource.FILE)
-				{
-					acceptFile((IFile) resource);
-				}
-			}
-
-		}
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkingSetSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkingSetSearchScope.java
deleted file mode 100644
index cab1a19..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkingSetSearchScope.java
+++ /dev/null
@@ -1,81 +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.wst.common.core.search.scope;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * This class is required to wrap the content of an IWorkingSet.
- * We can't use IWorkingSet directly because it's part of an eclipse.ui
- * component. Therefore, we need to create this object as a surrogate.
- * <br>
- * Usage: We get the array IAdaptable[] of the IWorkingSet object and use this
- * array as argument for all methods of this class including the constructor.
- */
-public class WorkingSetSearchScope extends SearchScopeImpl{
-	
-	/**
-	 * Creates an empty scope when no resources is given.
-	 */
-	public WorkingSetSearchScope(){
-		super();
-	}
-  
-	/**
-	 * Intended to be used with an IWorkingSet
-	 * <br>
-	 * For example:
-	 * <pre>
-	 * IWorkingSet oneWorkingSet;
-	 * ...
-	 * IAdaptable[] elements = oneWorkingSet.getElements();
-	 * WorkingSetSearchScope scope = new WorkingSetSearchScope(elements);
-	 * </pre>
-	 */
-	public WorkingSetSearchScope(IAdaptable[] elements)
-	{
-		super();
-		addElementsOfWorkingSet(elements);
-	}
-	
-	/**
-	 * Intended to be used with an IWorkingSet
-	 * <br>
-	 * For example:
-	 * <pre>
-	 * WorkingSetSearchScope scope = ..; 
-	 * ...
-	 * IWorkingSet anotherWorkingSet; 
-	 * IAdaptable[] elements = anotherWorkingSet.getElements();
-	 * scope.addAWorkingSetToScope(elements);
-	 * </pre>
-	 */
-	public void addAWorkingSetToScope(IAdaptable[] elements){
-		addElementsOfWorkingSet(elements);
-	}
-	
-	private void addElementsOfWorkingSet(IAdaptable[] elements){
-		for (int j = 0; j < elements.length; j++){
-			IContainer container = (IContainer) elements[j].getAdapter(IContainer.class);
-			if ( container != null ){
-				traverseContainer(container);
-			}
-			else{
-				IFile aFile = (IFile) elements[j].getAdapter(IFile.class);
-				if ( aFile != null)
-					acceptFile(aFile);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkspaceSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkspaceSearchScope.java
deleted file mode 100644
index e01c201..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkspaceSearchScope.java
+++ /dev/null
@@ -1,51 +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.wst.common.core.search.scope;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-/**
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public class WorkspaceSearchScope extends SearchScopeImpl
-{
-
-	protected IResource currentResource;
-
-	/**
-	 * Creates a scope that ecloses workspace path and eclosing project
-	 * 
-	 * @param workspacePath -
-	 *            path to the resource in the workspace, e.g.
-	 *            /MyProject/MyFile.xml
-	 */
-	public WorkspaceSearchScope()
-	{
-		super();
-		initialize();
-
-	}
-
-	protected void initialize()
-	{
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		traverseContainer(root);
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/util/CollectingSearchRequestor.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/util/CollectingSearchRequestor.java
deleted file mode 100644
index d227f93..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/util/CollectingSearchRequestor.java
+++ /dev/null
@@ -1,58 +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.wst.common.core.search.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.core.search.SearchMatch;
-import org.eclipse.wst.common.core.search.SearchRequestor;
-
-/**
- * Collects the results returned by a <code>ISearchEngine</code>.
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-// issue should you move this to a util package? what does jdt do?
-public class CollectingSearchRequestor extends SearchRequestor
-{
-	private ArrayList fFound;
-
-	public CollectingSearchRequestor()
-	{
-		fFound = new ArrayList();
-	}
-
-	/**
-	 * @return a List of {@link SearchMatch}es (not sorted)
-	 */
-	public List/* <SearchMatch> */getResults()
-	{
-		return fFound;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.core.search.internal.provisional.SearchRequestor#acceptSearchMatch(org.eclipse.wst.common.search.internal.provisional.SearchMatch)
-	 */
-	public void acceptSearchMatch(SearchMatch match) throws CoreException
-	{
-		fFound.add(match);
-
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.infopop/.cvsignore b/plugins/org.eclipse.wst.common.infopop/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/plugins/org.eclipse.wst.common.infopop/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/plugins/org.eclipse.wst.common.infopop/.project b/plugins/org.eclipse.wst.common.infopop/.project
deleted file mode 100644
index d8e0250..0000000
--- a/plugins/org.eclipse.wst.common.infopop/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.infopop</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 76d68cc..0000000
--- a/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Apr 17 03:12:42 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index f774e3c..0000000
--- a/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Mon Apr 17 03:12:36 EDT 2006
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF
deleted file mode 100644
index 603bfb0..0000000
--- a/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.common.infopop; singleton:=true
-Bundle-Version: 1.0.2.qualifier
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml b/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml
deleted file mode 100644
index b3b0c43..0000000
--- a/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS type="org.eclipse.help.contexts"?>
-<!-- /*******************************************************************************
- * 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
- *******************************************************************************/ -->
-
-<contexts>
-<context id="libv1000">
-<description>Use this view to catalog and organize reusable programming objects, such as HTML tagging, JavaScript, and JSP markup, along with custom tags, that can be embedded in existing files.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-</context>
-
-<context id="libv1100">
-<description>Supply values in this dialog to define the Snippets view object to be inserted in the current file at the cursor position. Assign a value to the variables being inserted.
-</description>
-<topic label="Inserting and editing items in the active editor" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-</context>
-
-<context id="libv1200">
-<description>In the <b>Name</b> field, type the name of the object as you want it be displayed in the Snippets view.  Optionally, add a description of the object in the <b>Description</b> field.
-
-Select the <b>Hide</b> check box to make this snippet object not visible in the view.
-
-To add a new variable, click the <b>New</b> push button, and type values in the cells of the <b>Variables</b> table. The <b>Name</b> field represents name of the variable that will be inserted when you add it to a document. <b>Default value</b> is the initial value of the named variable. Optionally, add a description of the variable.
-
-Insert the variables that you define into the <b>Template Pattern</b> field using the <b>Insert Variable Placeholder</b> push button.
-</description>
-<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-</context>
-
-<context id="libv1300">
-<description>Type the name of the new category in the <b>Name</b> field and optionally add a description of the category in the <b>Description</b> field.
-
-Select <b>Open drawer at start-up</b> to have the category drawer opened in the Snippets view when the workbench starts up.
-
-You can specify how you want the category drawer displayed in the Snippets view by selecting a radio button for the <b>Show/Hide Drawer</b> field.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
-</context>
-
-<context id="snip0010">
-<description>Select this option to open the <b>Import</b> dialog, which lets you import snippet categories from the file system.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-
-<context id="snip0020">
-<description>Select this option to open the <b>Export</b> dialog, which lets you export snippet categories to the file system.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-
-<context id="snip0030">
-<description>Select the content types that should be visible in this drawer for in the Snippets view.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
-</context>
-
-<context id="snip0040">
-<description>This menu item adds the selected text to the Snippets view as a new item.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-
-<context id="snip0050">
-<description>This menu item cuts the selected Snippet item to the clipboard.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Editing snippet items" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt022.html"/>
-</context>
-
-<context id="snip0060">
-<description>This menu item copies the selected Snippet item to the clipboard.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Editing snippet items" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt022.html"/>
-</context>
-
-<context id="snip0070">
-<description>This menu item creates a new Snippets view item containing the current contents of the clipboard.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-<context id="snip0080">
-<description>Type a name for the category. The category appears in the Customize Palette dialog box. Once you have created a category, you can add items to the category.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-
-</contexts>
diff --git a/plugins/org.eclipse.wst.common.infopop/about.html b/plugins/org.eclipse.wst.common.infopop/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.common.infopop/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" 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 ("Redistributor") 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>
diff --git a/plugins/org.eclipse.wst.common.infopop/build.properties b/plugins/org.eclipse.wst.common.infopop/build.properties
deleted file mode 100644
index c1d3dbf..0000000
--- a/plugins/org.eclipse.wst.common.infopop/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = plugin.xml,\
-               about.html,\
-               SnippetsContexts.xml,\
-               META-INF/,\
-               plugin.properties
diff --git a/plugins/org.eclipse.wst.common.infopop/plugin.properties b/plugins/org.eclipse.wst.common.infopop/plugin.properties
deleted file mode 100644
index 74f0260..0000000
--- a/plugins/org.eclipse.wst.common.infopop/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# properties file for org.eclipse.wst.common.infopop
-Bundle-Name.0 = Common WST infopops
-Bundle-Vendor.0 = Eclipse.org
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.infopop/plugin.xml b/plugins/org.eclipse.wst.common.infopop/plugin.xml
deleted file mode 100644
index f1e178c..0000000
--- a/plugins/org.eclipse.wst.common.infopop/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- ================================================= -->
-<!-- This is the plugin for declaring the help         -->
-<!-- contributions for using the tool.                 -->
-<!-- ================================================= -->
-
-<plugin>
-
-<extension point="org.eclipse.help.contexts">
-       <contexts file="SnippetsContexts.xml" plugin ="org.eclipse.wst.common.snippets"/>
-</extension>
-
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/.classpath b/plugins/org.eclipse.wst.common.ui/.classpath
deleted file mode 100644
index c483836..0000000
--- a/plugins/org.eclipse.wst.common.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-search"/>
-	<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/plugins/org.eclipse.wst.common.ui/.cvsignore b/plugins/org.eclipse.wst.common.ui/.cvsignore
deleted file mode 100644
index 7cf79b0..0000000
--- a/plugins/org.eclipse.wst.common.ui/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-ui.jar
-build.xml
-temp.folder
-org.eclipse.wst.common.ui_1.0.0.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.ui/.project b/plugins/org.eclipse.wst.common.ui/.project
deleted file mode 100644
index 8f557ef..0000000
--- a/plugins/org.eclipse.wst.common.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6830385..0000000
--- a/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,59 +0,0 @@
-#Mon Jan 30 23:41:58 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=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.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.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=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
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 48a6a5c..0000000
--- a/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Jan 30 23:11:49 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/plugins/org.eclipse.wst.common.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 8a16f02..0000000
--- a/plugins/org.eclipse.wst.common.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,26 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.ui; singleton:=true
-Bundle-Version: 1.1.300.qualifier
-Bundle-Activator: org.eclipse.wst.common.ui.internal.UIPlugin
-Bundle-Vendor: %pluginProvider
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.ui.internal;x-internal:=true,
- org.eclipse.wst.common.ui.internal.dialogs;x-internal:=true,
- org.eclipse.wst.common.ui.internal.dnd;x-internal:=true,
- org.eclipse.wst.common.ui.internal.search;x-internal:=true,
- org.eclipse.wst.common.ui.internal.search.dialogs,
- org.eclipse.wst.common.ui.internal.viewers;x-internal:=true,
- org.eclipse.wst.common.ui.provisional.editors
-Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.search;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.common.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jface.text;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.2.0,4.0.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.common.ui/README.txt b/plugins/org.eclipse.wst.common.ui/README.txt
deleted file mode 100644
index 4fc93df..0000000
--- a/plugins/org.eclipse.wst.common.ui/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-UI Utility classes for actions, drag'n'drop and wizards.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/about.html b/plugins/org.eclipse.wst.common.ui/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.common.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" 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 ("Redistributor") 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>
diff --git a/plugins/org.eclipse.wst.common.ui/build.properties b/plugins/org.eclipse.wst.common.ui/build.properties
deleted file mode 100644
index b56a866..0000000
--- a/plugins/org.eclipse.wst.common.ui/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               .,\
-               META-INF/,\
-               about.html,\
-               icons/
-jars.compile.order = .
-source.. = src/,\
-           src-search/
-output.. = bin/
-src.includes = component.xml
diff --git a/plugins/org.eclipse.wst.common.ui/component.xml b/plugins/org.eclipse.wst.common.ui/component.xml
deleted file mode 100644
index d3d9ccc..0000000
--- a/plugins/org.eclipse.wst.common.ui/component.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model"
-	name="org.eclipse.wst.common">
-	<component-depends unrestricted="true"></component-depends>
-	<plugin id="org.eclipse.wst.common.ui" fragment="false" />
-	<plugin id="org.eclipse.wst.common.ui.properties" fragment="false" />
-	<plugin id="org.eclipse.wst.common.uriresolver" fragment="false" />
-	
-<!--	<description url="http://eclipse.org/webtools/wst/components/common/overview.html" /> -->
-
-<!--	<package name="org.eclipse.wst.common.ui.viewers"> -->
-<!--		<type name="SelectSingleFileView" />  -->  <!-- ?, does eclipse provide better support? -->
-<!--		<type name="ResourceFilter" /> -->
-<!--		<type name="SelectMultiFilePage" /> -->
-<!--		<type name="SelectSingleFilePage" /> -->
-<!--		<type name="TableNavigator" /> -->       <!-- No, should be in eclipse base -->
-<!--		<type name="NavigableTableViewer" /> --> <!-- No, should be in eclipse base -->
-<!--	</package> -->
-<!--	<package name="org.eclipse.wst.common.ui.actionhandler.action"> -->
-<!--		<type name="CutAction" />  -->    <!-- No to these four,  should be removed? -->
-<!--		<type name="PasteAction" /> -->
-<!--		<type name="CopyAction" />  -->
-<!--		<type name="EditAction" /> -->
-<!--	</package>  -->
-<!--	<package name="org.eclipse.wst.common.ui"> -->
-<!--  	<type name="UIPlugin" />  -->    <!-- No, delete this -->
-<!-- 	<type name="OverlayIconManager" />  --> <!--  No -->
-<!--  	<type name="WindowUtility" />  -->   <!-- Remove class, clean up xsd.ui -->
-<!--    <type name="ImageFactory" />  -->   <!-- No -->
-<!--	</package> -->
-<!--	<package name="org.eclipse.wst.common.ui.wizards">  -->
-<!--  		<type name="ExampleProjectCreationOperation" />  -->  <!-- referenced externally only within package (ExampleProjectCreationWizardPage -->
-<!-- 		<type name="ExampleProjectCreationWizardPage" /> --> <!-- referenced externally only within package (ExampleProjectCreationWizard, and Operation -->
-<!--  		<type name="ExampleProjectCreationWizard" />  --> <!-- referenced by XMLExampleProjectCreationWizard, which is deprecated and going to be removed in M4  -->
-<!--	</package> -->
-<!--	<package name="org.eclipse.wst.common.ui.dnd"> -->
-<!--		<type name="ViewerDropAdapter" />  -->
-<!--		<type name="DragAndDropCommand" /> -->  <!-- referenced externally only within package -->
-<!--		<type name="DragAndDropManager" /> -->  <!--   -->
-<!--		<type name="ObjectTransfer" />  -->
-<!--		<type name="DefaultDragAndDropCommand" />  -->
-<!--		<type name="ViewerDragAdapter" /> -->
-<!--	</package>  -->
-<!--	<package name="org.eclipse.wst.common.ui.resource"> -->
-<!--		<type name="ResourceDeleteListener" />  -->  <!-- no references -->
-<!--	</package> -->
-<!--	<package name="org.eclipse.wst.common.ui.dialogs">  -->
-<!--		<type name="SelectSingleFileDialog" />  -->    <!-- No, should look into base for support? -->
-<!--	</package>  -->
-<!--	<package name="org.eclipse.wst.common.ui.actionhandler">
-		<type name="ActionHandlerListener" />
-	</package>
--->
-<!-- provisional APIs -->
-<!--
-	<package name="org.eclipse.wst.common.uriresolver">
-		<type name="URIResolverPlugin"  subclass="false" instantiate="false"/>
-		<type name="URIResolver" implement="false"/>
-		<type name="URIResolverExtension" implement="true"/>
-	</package>
--->
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/icons/collapseAll.gif b/plugins/org.eclipse.wst.common.ui/icons/collapseAll.gif
deleted file mode 100644
index 6fdffe5..0000000
--- a/plugins/org.eclipse.wst.common.ui/icons/collapseAll.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.ui/icons/expandAll.gif b/plugins/org.eclipse.wst.common.ui/icons/expandAll.gif
deleted file mode 100644
index 1a99431..0000000
--- a/plugins/org.eclipse.wst.common.ui/icons/expandAll.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.ui/icons/saveas_wiz.png b/plugins/org.eclipse.wst.common.ui/icons/saveas_wiz.png
deleted file mode 100644
index 4923d03..0000000
--- a/plugins/org.eclipse.wst.common.ui/icons/saveas_wiz.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.ui/icons/tsearch_dpdn_obj.gif b/plugins/org.eclipse.wst.common.ui/icons/tsearch_dpdn_obj.gif
deleted file mode 100644
index 24a21eb..0000000
--- a/plugins/org.eclipse.wst.common.ui/icons/tsearch_dpdn_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.ui/plugin.properties b/plugins/org.eclipse.wst.common.ui/plugin.properties
deleted file mode 100644
index 4b9b6af..0000000
--- a/plugins/org.eclipse.wst.common.ui/plugin.properties
+++ /dev/null
@@ -1,159 +0,0 @@
-! Plugin properties
-pluginName               = Eclipse Base UI extensions
-pluginProvider           = Eclipse.org
-
-! SelectSingleFilePage and SelectMultiFilePage
-_UI_LABEL_SOURCE_FILES   = Workbench Files
-_UI_LABEL_SELECTED_FILES = Selected Files
-_UI_POPUP_EXPAND_ALL	 = Expand All
-_UI_POPUP_COLLAPSE_ALL	 = Collapse All
-	
-_UI_IMPORT_BUTTON          = Import Files...
-_UI_IMPORT_BUTTON_TOOL_TIP = Import files from file system
-
-
-! SelectMultiFilePage
-! NOTE TO TRANSLATOR: the following three lines refers to _UI_LABEL_SELECTED_FILES label above
-_UI_ADD_BUTTON_TOOL_TIP    = Add files to Selected Files list.
-_UI_REMOVE_BUTTON_TOOL_TIP = Remove files from Selected Files list.
-_UI_REMOVE_ALL_BUTTON_TOOL_TIP =  Remove all files from Selected Files list.
-
-! NOTE TO TRANSLATOR: No translation needed of following three lines
-_UI_ADD_BUTTON             = >
-_UI_REMOVE_BUTTON          = <
-_UI_REMOVE_ALL_BUTTON      = <<
-
-! SelectJavaProjectView
-_UI_LABEL_CHOOSE_FOLDER = Select a project or folder:
-
-! SelectJavaProjectDialog
-_UI_LABEL_FOLDER_SELECTION = Container Selection
-
-! TextViewerOperationAction
-_UI_MENU_COPY         = &Copy
-_UI_MENU_CUT          = Cu&t
-_UI_MENU_DELETE       = Delete
-_UI_MENU_PASTE        = &Paste
-_UI_MENU_PREFIX       = Prefix
-_UI_MENU_REDO         = Redo
-_UI_MENU_SELECT_ALL   = Select All
-_UI_MENU_SHIFT_LEFT   = Shift Left
-_UI_MENU_SHIFT_RIGHT  = Shift Right
-_UI_MENU_STRIP_PREFIX = Strip Prefix
-_UI_MENU_UNDO         = Undo
-
-! SourceViewerGotoLineAction
-_UI_MENU_GOTO_LINE           = Go To Line...
-_UI_GOTO_LINE_DIALOG_TITLE   = Go To Line
-_UI_GOTO_LINE_DIALOG_TEXT    = Enter Line Number
-
-_UI_FILE_CHANGED_TITLE = File Changed
-_UI_FILE_DELETED_SAVE_CHANGES = The file has been deleted from the file system. Do you want to save your changes or close the editor without saving?
-_UI_FILE_DELETED_EDITOR_CLOSED = The file has been deleted from the file system. This editor will be closed.
-_UI_FILE_CHANGED_LOAD_CHANGES = The file has been changed on the file system. Do you want to load the changes?
-_UI_SAVE_BUTTON = Save
-_UI_CLOSE_BUTTON = Close
-
-
-! XSL Prefererence
-_UI_XSLT_SELECT     = Select which element to use for your stylesheet
-_UI_XSLT_STYLESHEET = &Use <xsl:stylesheet>
-_UI_XSLT_TRANSFORM  = U&se <xsl:transform>
-
-! XSL Debug Prefererence
-_UI_XSL_DEBUG_SELECT_LAUNCHER = Set the default XSL launcher for the XSL Debugging and Transformation tool
-_UI_XSL_DEBUG_LOCAL           = &XSL application
-_UI_XSL_DEBUG_REMOTE          = XS&L remote application
-_UI_XSL_TILE_EDITOR           = &Show all debugging files in a tile editor
-_UI_XSL_DEBUG_AND_TRANSFORM   = &Run transformation and open a debugging session
-_UI_XSL_CONTEXT_URI           = Context Path 
-_UI_XSL_CONTEXT               = Specify a &context path for resolving URIs in xsl:import, xsl:include or document()
-
-
-_UI_OVERRIDE_FILE    = Overwrite existing files
-_UI_JAVA_EXIST_FILE1 = The following Java classes already exist.
-_UI_JAVA_EXIST_FILE2 = Do you want to overwrite the existing file?
-      
-! some options strings common to several plugins
-_UI_ERROR_CREATING_FILE_TITLE = Error Creating File
-_UI_ERROR_CREATING_FILE_SHORT_DESC = Error creating file "{0}"
-_UI_ERROR_CREATING_FILE_LONG_DESC = An error occured while attempting to create the file "{0}".
-_UI_PARENT_FOLDER_IS_READ_ONLY = The parent directory "{0}" is read only.
-_UI_UNKNOWN_ERROR_WITH_HINT = Unknown error. Ensure that the parent directory "{0}" is writeable.
-_UI_UNKNOWN_ERROR = Unknown error. Ensure that the parent directory "{0}" is writeable.
-
-! usage - this label is followed by two radio button options for the file location
-_UI_LABEL_INCLUDE_URL_FILE = Select file location
-_UI_RADIO_FILE             = Workbench projects
-_UI_RADIO_URL              = HTTP
-
-_UI_LABEL_COMPONENTS				   = Components:
-_UI_LABEL_QUALIFIER					   = Qualifier:
-
-!- component selection dialogs 
-_UI_LABEL_COMPONENT_NAME			   = Component Name:
-_UI_LABEL_MATCHING_COMPONENTS		   = Matching Components:
-_UI_LABEL_SPECIFIED_FILE			   = Specified File
-_UI_LABEL_ENCLOSING_PROJECT			   = Enclosing Project
-_UI_LABEL_WORKSPACE					   = Workspace
-_UI_LABEL_CURRENT_RESOURCE			   = Current Resource
-_UI_LABEL_SEARCH_SCOPE				   = Search Scope
-_UI_LABEL_NARROW_SEARCH_SCOPE_RESOURCE = Use resource view to narrow search scope
-_UI_LABEL_AVAILABLE_TYPES			   = Available Types
-_UI_LABEL_WORKING_SETS                 = Working Sets
-
-_UI_LABEL_New=New...
-_UI_LABEL_DECLARATION_LOCATION=Declaration Location:
-_UI_LABEL_CHOOSE=Choose...
-
-!======================================================================================
-!
-! Here is the list of Error string that have message IDs - make sure they are unique
-!  Range for b2bgui messageIDs: IWAX1201 - IWAX1400
-!
-!======================================================================================
-
-_ERROR_THE_CONTAINER_NAME = The specified container must exist in the workspace and its path must start at the workspace root.
-
-_ERROR_LOCAL_LOCATION     = The local location of this container cannot be resolved.
-_ERROR_NOT_JAVA_PROJECT   = The specified project is not a Java project.
-
-!NOTE TO TRANSLATOR: this error message text is followed by a message from another plugin
-_ERROR_INVALID_JAVA_PACKAGE = IWAX1201E Invalid package name error:
-
-!NOTE TO TRANSLATOR: (_ERROR_BAD_FILENAME_EXTENSION + string + _UI_LABEL_OR + string) or (_ERROR_BAD_FILENAME_EXTENSION)
-_ERROR_BAD_FILENAME_EXTENSION         = The file name must end with
-_ERROR_FILE_ALREADY_EXISTS            = The same name already exists.
-
-_ERROR_CONTAINER_NOT_JAVA_BUILDPATH = The container is not a Java source folder for this project
-_ERROR_USE_PROJECT_JAVA_SOURCE_FOLDER = The project is not on the build path.  Select a Java source folder for the project.
-
-_UI_ERROR             = Error
-
-!NOTE TO TRANSLATOR: this warning message text is followed by a message from another plugin
-_WARN_INVALID_JAVA_PACKAGE = Invalid package name warning:
-
-_ERROR_ROOT_ELEMENT = The XML schema does not contain any global elements that can be used as a root element.
-_ERROR_SAVING_FILE = Error saving file "{0}"
-
-! File Validator
-_UI_ERROR_VALIDATE_FAIL_TITLE = Failed to check out necessary files
-_UI_ERROR_VALIDATE_FAIL_MESSAGE = Generation failed. Necessary files could not be checked out. 
-
-! PropertyDirtyChangeListener and PropertyResourceChangeListener
-_UI_ERROR_VALIDATE_EDIT_FAIL_ONE_FILE = Error
-
-ExampleProjectCreationWizard.title=New Example Project
-ExampleProjectCreationWizard.op_error.title=Project Creation Failed
-ExampleProjectCreationWizard.op_error.message=Project could not be created.
-
-ExampleProjectCreationWizard.overwritequery.title=Overwrite
-ExampleProjectCreationWizard.overwritequery.message=Do you want to overwrite {0}?
-
-
-ExampleProjectCreationOperation.op_desc=Creating example projects...
-ExampleProjectCreationOperation.op_desc_proj=Configuring project...
-
-ExampleProjectCreationWizardPage.error.alreadyexists=Project already exists.
-SaveFilesDialog_save_all_resources=Save All Modified Resources
-SaveFilesDialog_must_save=All modified resources must be saved before this operation.
diff --git a/plugins/org.eclipse.wst.common.ui/plugin.xml b/plugins/org.eclipse.wst.common.ui/plugin.xml
deleted file mode 100644
index f00b632..0000000
--- a/plugins/org.eclipse.wst.common.ui/plugin.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-  <extension-point id="exampleProjectCreationWizard" name="Example Project Creation Wizard" schema="schema/exampleProjectCreationWizard.exsd"/>
-  <extension
-	point="org.eclipse.search.searchResultViewPages">
-	<viewPage
-		id="org.eclipse.wst.common.ui.internal.search.SearchResultPage"
-		searchResultClass="org.eclipse.wst.common.ui.internal.search.SearchResult"
-		class="org.eclipse.wst.common.ui.internal.search.SearchResultPage">
-	</viewPage>
-  </extension>
- 
-  <!--
-   <extension point="org.eclipse.ui.popupMenus"> 
-      <objectContribution 
-         id="test" 
-         objectClass="org.eclipse.core.resources.IFile">  
-         <action
-            id="testit" 
-            enablesFor="1"
-            style="pulldown"
-            menubarPath="additions"
-            label="TEST SEARCH DIALOG" 
-            class="org.eclipse.wst.common.ui.internal.search.dialogs.Test"> 
-         </action>          
-      </objectContribution>               
-    </extension> 
-   -->
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.ui/schema/exampleProjectCreationWizard.exsd b/plugins/org.eclipse.wst.common.ui/schema/exampleProjectCreationWizard.exsd
deleted file mode 100644
index 578c329..0000000
--- a/plugins/org.eclipse.wst.common.ui/schema/exampleProjectCreationWizard.exsd
+++ /dev/null
@@ -1,243 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.ui" id="ExampleProjectCreationWizard" name="Example Project Creation Wizard"/>

-      </appInfo>

-      <documentation>

-         This extension point allows to extend New project withard with the

-page set up setup information for the created project as well as source files that will be imported on the project creation.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="wizard"/>

-         </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="wizard">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  Id of the wizard that this extension is intended for.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Plugin relative path to the image that will be displayed as a banner on the wizard.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="projectsetup">

-      <annotation>

-         <documentation>

-            Element that describes additional project setup.

-There will be as many pages created for the wizard as there are projectsetup elements.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

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

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

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  Title of the wizard&apos;s page.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Initial project name that will be provided on the wizard page.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Label for the project name field on the wizard page.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Description of the wizard page

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Plugin relative path of the file that will be opened when wizard finished.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="import">

-      <annotation>

-         <documentation>

-            Element that describes what to import into the project when it&apos;s created.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  Project relative path of the folder where project files will be imported to, if not specified, it&apos;s the projest itself.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Plugin relative path of the import .zip file with the files to be imported into the project.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="nature">

-      <annotation>

-         <documentation>

-            Element that specified Eclipse nature that is applicable to the project.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The id of the nature that will be opened when project will be created.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="references">

-      <annotation>

-         <documentation>

-            Element that specifies reference for the project that will be created.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The id of the referenced project.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;

-   &lt;extension

-         point=&quot;org.eclipse.wst.common.ui.exampleProjectCreationWizard&quot;

-         id=&quot;org.eclipse.wst.xml.ui.ExampleProjectCreationWizardExtension&quot;&gt; 

-      &lt;wizard

-           id=&quot;org.eclipse.wst.xml.ui.ExampleProjectCreationWizard&quot;

-           banner=&quot;icons/newSampleProject_wizbanner.gif&quot;&gt;

-         &lt;projectsetup

-               pagetitle=&quot;%XMLExampleProjectCreationWizard.pagetitle&quot;

-               name=&quot;%XMLExampleProjectCreationWizard.projectname&quot;

-               label=&quot;%XMLExampleProjectCreationWizard.label&quot;

-               pagedescription=&quot;%XMLExampleProjectCreationWizard.pagedescription&quot;

-               open=&quot;readme.html&quot;&gt;

-            &lt;import

-                  dest=&quot;&quot;

-                  src=&quot;examples/EditingAndValidatingXML.zip&quot;&gt;

-            &lt;/import&gt;

-        &lt;/projectsetup&gt;

-     &lt;/wizard&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2005 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/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/AbstractSearchQuery.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/AbstractSearchQuery.java
deleted file mode 100644
index ade97fe..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/AbstractSearchQuery.java
+++ /dev/null
@@ -1,180 +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.wst.common.ui.internal.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.search.ui.IQueryListener;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.wst.common.core.search.SearchEngine;
-import org.eclipse.wst.common.core.search.pattern.QualifiedName;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-import org.eclipse.wst.common.ui.internal.search.basecode.Messages;
-
-
-public abstract class AbstractSearchQuery implements ISearchQuery {
-	
-	protected String fPattern;
-	protected SearchScope fScope;
-	protected SearchResult fResult;
-	protected String fScopeDescription;
-
-	public AbstractSearchQuery(String pattern, SearchScope scope, String scopeDescription) {
-		super();
-		fPattern= pattern;
-		fScope= scope;
-		fScopeDescription= scopeDescription;
-	}
-
-	public boolean canRerun() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public boolean canRunInBackground() {
-		return true;
-	}
-
-	public String getLabel() {
-		return SearchMessages.FileSearchQuery_label; 
-	}
-
-	public ISearchResult getSearchResult() {
-		if (fResult == null) {
-			fResult= new SearchResult(this);
-			new SearchResultUpdater(fResult);
-		}
-		return fResult;
-	}
-	
-	public String getResultLabel(int nMatches) {
-		if (nMatches == 1) {
-			if (fPattern.length() > 0) {
-				Object[] args= { fPattern, fScopeDescription };
-				return Messages.format(SearchMessages.FileSearchQuery_singularLabel, args); 
-			}
-			Object[] args= { "", fScopeDescription };
-			return Messages.format(SearchMessages.FileSearchQuery_singularLabel_fileNameSearch, args); 
-		}
-		if (fPattern.length() > 0) {
-			Object[] args= { fPattern, new Integer(nMatches), fScopeDescription }; //$NON-NLS-1$
-			return Messages.format(SearchMessages.FileSearchQuery_pluralPattern, args); 
-		}
-		Object[] args= { "", new Integer(nMatches), fScopeDescription }; //$NON-NLS-1$
-		return Messages.format(SearchMessages.FileSearchQuery_pluralPattern_fileNameSearch, args); 
-	
-	
-	}
-
-	public IStatus run(IProgressMonitor pm) throws OperationCanceledException {
-		final SearchResult textResult= (SearchResult) getSearchResult();
-		textResult.removeAll();
-		SearchQueryResultCollector collector= new SearchQueryResultCollector(textResult);
-		String searchString= fPattern;
-		if (searchString.trim().equals(String.valueOf('*'))) {
-			searchString= new String();
-		}
-		String message= SearchMessages.TextSearchEngine_statusMessage; 
-		MultiStatus status= new MultiStatus(NewSearchUI.PLUGIN_ID, IStatus.OK, message, null);
-		
-		SearchEngine searchEngine = new SearchEngine();
-	
-		QualifiedName typeName = QualifiedName.valueOf(searchString);
-		
-		try {
-            SearchPattern pattern = createSearchPattern(typeName);
-            searchEngine.search(pattern, collector, fScope, null, new NullProgressMonitor());
-		} catch (CoreException e) {
-			status.add(e.getStatus());
-		}
-	
-		return status;
-
-	}
-    
-    protected abstract SearchPattern createSearchPattern(QualifiedName typeName);
-	
-	public class SearchResultUpdater implements IResourceChangeListener, IQueryListener {
-		SearchResult fResult;
-
-		public SearchResultUpdater(SearchResult result) {
-			fResult= result;
-			NewSearchUI.addQueryListener(this);
-			ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-		}
-
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta delta= event.getDelta();
-			if (delta != null)
-				handleDelta(delta);
-		}
-
-		protected void handleDelta(IResourceDelta d) {
-			try {
-				d.accept(new IResourceDeltaVisitor() {
-					public boolean visit(IResourceDelta delta) throws CoreException {
-						switch (delta.getKind()) {
-							case IResourceDelta.ADDED :
-								return false;
-							case IResourceDelta.REMOVED :
-								IResource res= delta.getResource();
-								if (res instanceof IFile) {
-									Match[] matches= fResult.getMatches(res);
-									fResult.removeMatches(matches);
-								}
-								break;
-							case IResourceDelta.CHANGED :
-								// handle changed resource
-								break;
-						}
-						return true;
-					}
-				});
-			} catch (CoreException e) {
-				e.printStackTrace();
-			}
-		}
-
-		public void queryAdded(ISearchQuery query) {
-			// don't care
-		}
-
-		public void queryRemoved(ISearchQuery query) {
-			if (fResult.equals(query.getSearchResult())) {
-				ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-				NewSearchUI.removeQueryListener(this);
-			}
-		}
-		
-		public void queryStarting(ISearchQuery query) {
-			// don't care
-		}
-
-		public void queryFinished(ISearchQuery query) {
-			// don't care
-		}
-    }	
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/ISearchConstants.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/ISearchConstants.java
deleted file mode 100644
index 0bc1403..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/ISearchConstants.java
+++ /dev/null
@@ -1,38 +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.wst.common.ui.internal.search;
-
-public interface ISearchConstants {
-	
-	/**
-	 * The search result is a declaration.
-	 * Can be used in conjunction with any of the nature of searched elements
-	 * so as to better narrow down the search.
-	 */
-	public static int DECLARATIONS= 0;
-
-
-	/**
-	 * The search result is a reference.
-	 * Can be used in conjunction with any of the nature of searched elements
-	 * so as to better narrow down the search.
-	 * References can contain implementers since they are more generic kind
-	 * of matches.
-	 */
-	public static int REFERENCES= 1;
-
-	/**
-	 * The search result is a declaration, or a reference.
-	 * Can be used in conjunction with any of the nature of searched elements
-	 * so as to better narrow down the search.
-	 */
-	public static int ALL_OCCURRENCES= 2;
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.java
deleted file mode 100644
index 9bfdfef..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.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.wst.common.ui.internal.search;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class SearchMessages extends NLS {
-
-	private static final String BUNDLE_NAME= "org.eclipse.wst.common.ui.internal.search.SearchMessages";//$NON-NLS-1$
-
-	private SearchMessages() {
-		// Do not instantiate
-	}
-
-	public static String group_references;
-	public static String Search_FindDeclarationAction_label;
-	public static String Search_FindDeclarationsInProjectAction_label;
-	public static String Search_FindDeclarationsInWorkingSetAction_label;
-	public static String FileSearchPage_limited_format;	
-	public static String FileSearchPage_error_marker;
-	public static String FileSearchPage_sort_by_label;
-	public static String OpenWithMenu_label;
-	public static String FileSearchQuery_label;
-	public static String FileSearchQuery_pluralPattern;
-	public static String FileSearchQuery_singularLabel;
-	public static String FileSearchQuery_singularLabel_fileNameSearch;
-	public static String FileSearchQuery_pluralPattern_fileNameSearch;
-	public static String TextSearchEngine_statusMessage;
-	public static String FileLabelProvider_count_format;
-	public static String FileLabelProvider_removed_resource_label;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, SearchMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.properties b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.properties
deleted file mode 100644
index d3e9f83..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.properties
+++ /dev/null
@@ -1,35 +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
-###############################################################################
-
-group_references= Re&ferences
-Search_FindDeclarationAction_label= &Workspace
-Search_FindDeclarationsInProjectAction_label= &Project
-Search_FindDeclarationsInWorkingSetAction_label= Working &Set...
-FileSearchPage_limited_format={0} (showing {1} of {2} files)
-FileSearchPage_error_marker=Could not create marker
-FileSearchPage_sort_by_label=Sort By
-OpenWithMenu_label= Open Wit&h
-
-FileLabelProvider_count_format={0} ({1} matches)
-FileLabelProvider_removed_resource_label=<removed resource>
-
-FileSearchQuery_label=File Search
-
-# The first argument will be replaced by the pattern, the second by the count and the third by the scope
-FileSearchQuery_pluralPattern= ''{0}'' - {1} matches in {2}
-
-# The first argument will be replaced by the pattern, the second by the scope
-FileSearchQuery_singularLabel= ''{0}'' - 1 match in {1}
-
-FileSearchQuery_singularLabel_fileNameSearch=1 file name matching ''{0}'' in {1}
-FileSearchQuery_pluralPattern_fileNameSearch={1} file names matching ''{0}'' in {2}
-
-TextSearchEngine_statusMessage= Problems encountered during text search.
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchQueryResultCollector.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchQueryResultCollector.java
deleted file mode 100644
index 91d234a..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchQueryResultCollector.java
+++ /dev/null
@@ -1,33 +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.wst.common.ui.internal.search;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.wst.common.core.search.SearchMatch;
-import org.eclipse.wst.common.core.search.SearchRequestor;
-
-class SearchQueryResultCollector extends SearchRequestor {
-	
-	private SearchResult fSearchResult;
-
-	
-	protected SearchQueryResultCollector(SearchResult result){
-		super();
-		fSearchResult= result;
-	}
-
-	public void acceptSearchMatch(SearchMatch match) throws CoreException {
-		Match aMatch = new Match(match.getFile(), match.getOffset(), match.getLength());
-		fSearchResult.addMatch(aMatch);
-		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResult.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResult.java
deleted file mode 100644
index c2941d4..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResult.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.IEditorMatchAdapter;
-import org.eclipse.search.ui.text.IFileMatchAdapter;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-
-public class SearchResult extends AbstractTextSearchResult implements IEditorMatchAdapter, IFileMatchAdapter {
-	private final Match[] EMPTY_ARR= new Match[0];
-	
-	private AbstractSearchQuery fQuery;
-
-	public SearchResult(AbstractSearchQuery job) {
-		fQuery= job;
-	}
-	public ImageDescriptor getImageDescriptor() {
-		return UIPlugin.getDefault().getImageDescriptor("icons/tsearch_dpdn_obj.gif");
-	}
-	public String getLabel() {
-		return fQuery.getResultLabel(getMatchCount());
-	}
-	public String getTooltip() {
-		return getLabel();
-	}
-
-	public Match[] computeContainedMatches(AbstractTextSearchResult result, IFile file) {
-		return getMatches(file);
-	}
-
-	public IFile getFile(Object element) {
-		if (element instanceof IFile)
-			return (IFile)element;
-		return null;
-	}
-
-	public boolean isShownInEditor(Match match, IEditorPart editor) {
-		IEditorInput ei= editor.getEditorInput();
-		if (ei instanceof IFileEditorInput) {
-			IFileEditorInput fi= (IFileEditorInput) ei;
-			return match.getElement().equals(fi.getFile());
-		}
-		return false;
-	}
-	
-	public Match[] computeContainedMatches(AbstractTextSearchResult result, IEditorPart editor) {
-		IEditorInput ei= editor.getEditorInput();
-		if (ei instanceof IFileEditorInput) {
-			IFileEditorInput fi= (IFileEditorInput) ei;
-			return getMatches(fi.getFile());
-		}
-		return EMPTY_ARR;
-	}
-
-	public ISearchQuery getQuery() {
-		return fQuery;
-	}
-	
-	public IFileMatchAdapter getFileMatchAdapter() {
-		return this;
-	}
-	
-	public IEditorMatchAdapter getEditorMatchAdapter() {
-		return this;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultPage.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultPage.java
deleted file mode 100644
index 03247b5..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultPage.java
+++ /dev/null
@@ -1,378 +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.wst.common.ui.internal.search;
-
-import java.text.Collator;
-import java.text.MessageFormat;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.util.DelegatingDragAdapter;
-//import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.search.ui.IContextMenuConstants;
-import org.eclipse.search.ui.ISearchResultViewPart;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.AbstractTextSearchViewPage;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.ui.actions.OpenFileAction;
-import org.eclipse.ui.actions.OpenWithMenu;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-import org.eclipse.wst.common.ui.internal.search.basecode.FileLabelProvider;
-import org.eclipse.wst.common.ui.internal.search.basecode.IFileSearchContentProvider;
-import org.eclipse.wst.common.ui.internal.search.basecode.ResourceTransferDragAdapter;
-import org.eclipse.wst.common.ui.internal.search.basecode.SortAction;
-
-
-public class SearchResultPage extends AbstractTextSearchViewPage implements IAdaptable {
-	
-	public static class DecoratorIgnoringViewerSorter extends ViewerSorter {
-		private final ILabelProvider fLabelProvider;
-
-		public DecoratorIgnoringViewerSorter(ILabelProvider labelProvider) {
-			super(null); // lazy initialization
-			fLabelProvider= labelProvider;
-		}
-		
-	    public int compare(Viewer viewer, Object e1, Object e2) {
-	        String name1= fLabelProvider.getText(e1);
-	        String name2= fLabelProvider.getText(e2);
-	        if (name1 == null)
-	            name1 = "";//$NON-NLS-1$
-	        if (name2 == null)
-	            name2 = "";//$NON-NLS-1$
-	        return getCollator().compare(name1, name2);
-	    }
-	    
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ViewerSorter#getCollator()
-		 */
-		public final Collator getCollator() {
-			if (collator == null) {
-				collator= Collator.getInstance();
-			}
-			return collator;
-		}
-	}
-	
-	private static final String KEY_SORTING= "org.eclipse.search.resultpage.sorting"; //$NON-NLS-1$
-
-	private ActionGroup fActionGroup;
-	private IFileSearchContentProvider fContentProvider;
-	private int fCurrentSortOrder;
-	private SortAction fSortByNameAction;
-	private SortAction fSortByPathAction;
-	
-	// never used
-	//private EditorOpener fEditorOpener= new EditorOpener();
-
-		
-	private static final String[] SHOW_IN_TARGETS= new String[] { IPageLayout.ID_RES_NAV };
-	private  static final IShowInTargetList SHOW_IN_TARGET_LIST= new IShowInTargetList() {
-		public String[] getShowInTargetIds() {
-			return SHOW_IN_TARGETS;
-		}
-	};
-
-	// private IPropertyChangeListener fPropertyChangeListener;
-	
-	public SearchResultPage() {
-		// TODO
-		//fSortByNameAction= new SortAction(SearchMessages.FileSearchPage_sort_name_label, this, FileLabelProvider.SHOW_LABEL_PATH); 
-		//fSortByPathAction= new SortAction(SearchMessages.FileSearchPage_sort_path_label, this, FileLabelProvider.SHOW_PATH_LABEL); 
-        // cs : I've comment this code out for now.  We need to review the changes to the base class and react accordingly.
-		// Even more importantly we need to discuss with the base guys to get API lined up for this (see bug 163177).
-		/*
-		fPropertyChangeListener= new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (SearchPreferencePage.LIMIT_TABLE.equals(event.getProperty()) || SearchPreferencePage.LIMIT_TABLE_TO.equals(event.getProperty()))
-					if (getViewer() instanceof TableViewer) {
-						getViewPart().updateLabel();
-						getViewer().refresh();
-					}
-			}
-		};
-		SearchPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPropertyChangeListener);
-		*/
-}
-	
-	public StructuredViewer getViewer() {
-		return super.getViewer();
-	}
-	
-	private void addDragAdapters(StructuredViewer viewer) {
-		Transfer[] transfers= new Transfer[] { ResourceTransfer.getInstance() };
-		int ops= DND.DROP_COPY | DND.DROP_LINK;
-		
-		DelegatingDragAdapter adapter= new DelegatingDragAdapter();
-		adapter.addDragSourceListener(new ResourceTransferDragAdapter(viewer));
-		
-		viewer.addDragSupport(ops, transfers, adapter);
-	}	
-
-	protected void configureTableViewer(TableViewer viewer) {
-		viewer.setUseHashlookup(true);
-		FileLabelProvider innerLabelProvider= new FileLabelProvider(this, fCurrentSortOrder);
-		viewer.setLabelProvider(new DecoratingLabelProvider(innerLabelProvider, PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
-		viewer.setContentProvider(new SearchResultTableContentProvider(this));
-		viewer.setSorter(new DecoratorIgnoringViewerSorter(innerLabelProvider));
-		fContentProvider= (IFileSearchContentProvider) viewer.getContentProvider();
-		addDragAdapters(viewer);
-	}
-
-	protected void configureTreeViewer(TreeViewer viewer) {
-		viewer.setUseHashlookup(true);
-		FileLabelProvider innerLabelProvider= new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL);
-		viewer.setLabelProvider(new DecoratingLabelProvider(innerLabelProvider, PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
-		viewer.setContentProvider(new SearchResultTreeContentProvider(viewer));
-		viewer.setSorter(new DecoratorIgnoringViewerSorter(innerLabelProvider));
-		fContentProvider= (IFileSearchContentProvider) viewer.getContentProvider();
-		addDragAdapters(viewer);
-	}
-
-	protected void showMatch(Match match, int offset, int length, boolean activate) throws PartInitException {
-		IFile file= (IFile) match.getElement();
-		IWorkbenchPage wbPage= UIPlugin.getActivePage();
-		IEditorPart editor= IDE.openEditor(wbPage, (IFile) match.getElement(), activate);
-		if (offset != 0 && length != 0) {
-			if (editor instanceof ITextEditor) {
-				ITextEditor textEditor= (ITextEditor) editor;
-				textEditor.selectAndReveal(offset, length);
-			} else if (editor != null) {
-				showWithMarker(editor, file, offset, length);
-			}
-		}
-	}
-	
-	private void showWithMarker(IEditorPart editor, IFile file, int offset, int length) throws PartInitException {
-		IMarker marker= null;
-		try {
-			marker= file.createMarker(NewSearchUI.SEARCH_MARKER);
-			HashMap attributes= new HashMap(4);
-			attributes.put(IMarker.CHAR_START, new Integer(offset));
-			attributes.put(IMarker.CHAR_END, new Integer(offset + length));
-			marker.setAttributes(attributes);
-			IDE.gotoMarker(editor, marker);
-		} catch (CoreException e) {
-			throw new PartInitException(SearchMessages.FileSearchPage_error_marker, e); 
-		} finally {
-			if (marker != null)
-				try {
-					marker.delete();
-				} catch (CoreException e) {
-					// ignore
-				}
-		}
-	}
-
-	protected void fillContextMenu(IMenuManager mgr) {
-		super.fillContextMenu(mgr);
-		addSortActions(mgr);
-		fActionGroup.setContext(new ActionContext(getSite().getSelectionProvider().getSelection()));
-		fActionGroup.fillContextMenu(mgr);
-//		FileSearchQuery query= (FileSearchQuery) getInput().getQuery();
-
-	}
-	
-	
-	private void addSortActions(IMenuManager mgr) {
-		if (getLayout() != FLAG_LAYOUT_FLAT)
-			return;
-		MenuManager sortMenu= new MenuManager(SearchMessages.FileSearchPage_sort_by_label); 
-		sortMenu.add(fSortByNameAction);
-		sortMenu.add(fSortByPathAction);
-		
-		fSortByNameAction.setChecked(fCurrentSortOrder == fSortByNameAction.getSortOrder());
-		fSortByPathAction.setChecked(fCurrentSortOrder == fSortByPathAction.getSortOrder());
-		
-		mgr.appendToGroup(IContextMenuConstants.GROUP_VIEWER_SETUP, sortMenu);
-	}
-
-	public void setViewPart(ISearchResultViewPart part) {
-		super.setViewPart(part);
-		fActionGroup= new NewTextSearchActionGroup(part);
-	}
-	
-	public void dispose() {
-		fActionGroup.dispose();
-		// SearchPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPropertyChangeListener);
-		super.dispose();
-	}
-
-	protected void elementsChanged(Object[] objects) {
-		if (fContentProvider != null)
-			fContentProvider.elementsChanged(objects);
-	}
-
-	protected void clear() {
-		if (fContentProvider != null)
-			fContentProvider.clear();
-	}
-
-	public void setSortOrder(int sortOrder) {
-		fCurrentSortOrder= sortOrder;
-		DecoratingLabelProvider lpWrapper= (DecoratingLabelProvider) getViewer().getLabelProvider();
-		((FileLabelProvider) lpWrapper.getLabelProvider()).setOrder(sortOrder);
-		getViewer().refresh();
-		getSettings().put(KEY_SORTING, fCurrentSortOrder);
-	}
-	
-	public void restoreState(IMemento memento) {
-		super.restoreState(memento);
-		try {
-			fCurrentSortOrder= getSettings().getInt(KEY_SORTING);
-		} catch (NumberFormatException e) {
-			//fCurrentSortOrder= fSortByNameAction.getSortOrder();
-		}
-		if (memento != null) {
-			Integer value= memento.getInteger(KEY_SORTING);
-			if (value != null)
-				fCurrentSortOrder= value.intValue();
-		}
-	}
-	public void saveState(IMemento memento) {
-		super.saveState(memento);
-		memento.putInteger(KEY_SORTING, fCurrentSortOrder);
-	}
-	
-	public Object getAdapter(Class adapter) {
-		if (IShowInTargetList.class.equals(adapter)) {
-			return SHOW_IN_TARGET_LIST;
-		}
-		return null;
-	}
-	
-	public String getLabel() {
-		String label= super.getLabel();
-		StructuredViewer viewer= getViewer();
-		if (viewer instanceof TableViewer) {
-			TableViewer tv= (TableViewer) viewer;
-
-			AbstractTextSearchResult result= getInput();
-			if (result != null) {
-				int itemCount= ((IStructuredContentProvider) tv.getContentProvider()).getElements(getInput()).length;
-				int fileCount= getInput().getElements().length;
-				if (itemCount < fileCount) {
-					String format= SearchMessages.FileSearchPage_limited_format; 
-					return MessageFormat.format(format, new Object[]{label, new Integer(itemCount), new Integer(fileCount)});
-				}
-			}
-		}
-		return label;
-	}
-	
-	class NewTextSearchActionGroup extends ActionGroup {
-
-		private ISelectionProvider fSelectionProvider;		
-		private IWorkbenchPage fPage;
-		private OpenFileAction fOpenAction;
-		private PropertyDialogAction fOpenPropertiesDialog;
-
-		public NewTextSearchActionGroup(IViewPart part) {
-			Assert.isNotNull(part);
-			IWorkbenchPartSite site= part.getSite();
-			fSelectionProvider= site.getSelectionProvider();
-			fPage= site.getPage();
-			fOpenPropertiesDialog= new PropertyDialogAction(site, fSelectionProvider);
-			fOpenAction= new OpenFileAction(fPage);
-			ISelection selection= fSelectionProvider.getSelection();
-
-			if (selection instanceof IStructuredSelection)
-				fOpenPropertiesDialog.selectionChanged((IStructuredSelection)selection);
-			else
-				fOpenPropertiesDialog.selectionChanged(selection);
-			
-		}
-		
-		public void fillContextMenu(IMenuManager menu) {
-			// view must exist if we create a context menu for it.
-			
-			ISelection selection= getContext().getSelection();
-			if (selection instanceof IStructuredSelection) {
-				addOpenWithMenu(menu, (IStructuredSelection) selection);
-				if (fOpenPropertiesDialog != null && fOpenPropertiesDialog.isEnabled() && selection != null &&fOpenPropertiesDialog.isApplicableForSelection((IStructuredSelection) selection))
-					menu.appendToGroup(IContextMenuConstants.GROUP_PROPERTIES, fOpenPropertiesDialog);
-			}
-				
-		}
-		
-		private void addOpenWithMenu(IMenuManager menu, IStructuredSelection selection) {
-			if (selection == null || selection.size() != 1)
-				return;
-		
-			Object o= selection.getFirstElement();
-		
-			if (!(o instanceof IAdaptable))
-				return; 
-		
-			fOpenAction.selectionChanged(selection);
-			menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, fOpenAction);
-		
-			// Create menu
-			IMenuManager submenu= new MenuManager(SearchMessages.OpenWithMenu_label); 
-			submenu.add(new OpenWithMenu(fPage, (IAdaptable)o));
-		
-			// Add the submenu.
-			menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, submenu);
-		}
-
-		/* (non-Javadoc)
-		 * Method declared in ActionGroup
-		 */
-		public void fillActionBars(IActionBars actionBar) {
-			super.fillActionBars(actionBar);
-			setGlobalActionHandlers(actionBar);
-		}
-		
-		private void setGlobalActionHandlers(IActionBars actionBars) {
-			actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), fOpenPropertiesDialog);		
-		}
-	}	
-
-
-}
-
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTableContentProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTableContentProvider.java
deleted file mode 100644
index f757d29..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTableContentProvider.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.wst.common.ui.internal.search.basecode.IFileSearchContentProvider;
-
-public class SearchResultTableContentProvider implements IStructuredContentProvider, IFileSearchContentProvider {
-	
-	private final Object[] EMPTY_ARR= new Object[0];
-	
-	private SearchResultPage fPage;
-	private AbstractTextSearchResult fResult;
-
-	public SearchResultTableContentProvider(SearchResultPage page) {
-		fPage= page;
-	}
-	
-	public void dispose() {
-		// nothing to do
-	}
-	
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof SearchResult) {
-			Object[] elements= ((SearchResult)inputElement).getElements();
-   	        // cs : I've comment this code out for now.  We need to review the changes to the base class and react accordingly.
-			// Even more importantly we need to discuss with the base guys to get API lined up for this (see bug 163177).
-			/*
-			int tableLimit= SearchPreferencePage.getTableLimit();
-			if (SearchPreferencePage.isTableLimited() && elements.length > tableLimit) {
-				Object[] shownElements= new Object[tableLimit];
-				System.arraycopy(elements, 0, shownElements, 0, tableLimit);
-				return shownElements;
-			}*/
-			return elements;
-		}
-		return EMPTY_ARR;
-	}
-	
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (newInput instanceof SearchResult) {
-			fResult= (SearchResult) newInput;
-		}
-	}
-	
-	public void elementsChanged(Object[] updatedElements) {
-		TableViewer viewer= getViewer();
-	    // cs : I've comment 'tableLimited' related code out for now.  We need to review the changes to the base class and react accordingly.
-		// Even more importantly we need to discuss with the base guys to get API lined up for this (see bug 163177).
-		//boolean tableLimited= SearchPreferencePage.isTableLimited();
-		for (int i= 0; i < updatedElements.length; i++) {
-			if (fResult.getMatchCount(updatedElements[i]) > 0) {
-				if (viewer.testFindItem(updatedElements[i]) != null)
-					viewer.update(updatedElements[i], null);
-				else {
-					//if (!tableLimited || viewer.getTable().getItemCount() < SearchPreferencePage.getTableLimit())
-						viewer.add(updatedElements[i]);
-				}
-			} else
-				viewer.remove(updatedElements[i]);
-		}
-	}
-
-	private TableViewer getViewer() {
-		return (TableViewer) fPage.getViewer();
-	}
-	
-	public void clear() {
-		getViewer().refresh();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTreeContentProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTreeContentProvider.java
deleted file mode 100644
index 7c79ce9..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTreeContentProvider.java
+++ /dev/null
@@ -1,168 +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.wst.common.ui.internal.search;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.wst.common.ui.internal.search.basecode.IFileSearchContentProvider;
-
-
-public class SearchResultTreeContentProvider implements ITreeContentProvider, IFileSearchContentProvider {
-
-	private final Object[] EMPTY_ARR= new Object[0];
-
-	private AbstractTextSearchResult fResult;
-	private AbstractTreeViewer fTreeViewer;
-	private Map fChildrenMap;
-	
-	SearchResultTreeContentProvider(AbstractTreeViewer viewer) {
-		fTreeViewer= viewer;
-	}
-	
-	public Object[] getElements(Object inputElement) {
-		return getChildren(inputElement);
-	}
-	
-	public void dispose() {
-		// nothing to do
-	}
-	
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (newInput instanceof SearchResult) {
-			initialize((SearchResult) newInput);
-		}
-	}
-	
-
-	protected synchronized void initialize(AbstractTextSearchResult result) {
-		fResult= result;
-		fChildrenMap= new HashMap();
-		if (result != null) {
-			Object[] elements= result.getElements();
-			for (int i= 0; i < elements.length; i++) {
-				insert(elements[i], false);
-			}
-		}
-	}
-
-	protected void insert(Object child, boolean refreshViewer) {
-		Object parent= getParent(child);
-		while (parent != null) {
-			if (insertChild(parent, child)) {
-				if (refreshViewer)
-					fTreeViewer.add(parent, child);
-			} else {
-				if (refreshViewer)
-					fTreeViewer.refresh(parent);
-				return;
-			}
-			child= parent;
-			parent= getParent(child);
-		}
-		if (insertChild(fResult, child)) {
-			if (refreshViewer)
-				fTreeViewer.add(fResult, child);
-		}
-	}
-
-	/**
-	 * returns true if the child already was a child of parent.
-	 * 
-	 * @param parent
-	 * @param child
-	 * @return Returns <code>trye</code> if the child was added
-	 */
-	private boolean insertChild(Object parent, Object child) {
-		Set children= (Set) fChildrenMap.get(parent);
-		if (children == null) {
-			children= new HashSet();
-			fChildrenMap.put(parent, children);
-		}
-		return children.add(child);
-	}
-
-	protected void remove(Object element, boolean refreshViewer) {
-		// precondition here:  fResult.getMatchCount(child) <= 0
-	
-		if (hasChildren(element)) {
-			if (refreshViewer)
-				fTreeViewer.refresh(element);
-		} else {
-			if (fResult.getMatchCount(element) == 0) {
-				fChildrenMap.remove(element);
-				Object parent= getParent(element);
-				if (parent != null) {
-					removeFromSiblings(element, parent);
-					remove(parent, refreshViewer);
-				} else {
-					removeFromSiblings(element, fResult);
-					if (refreshViewer)
-						fTreeViewer.refresh();
-				}
-			} else {
-				if (refreshViewer) {
-					fTreeViewer.refresh(element);
-				}
-			}
-		}
-	}
-
-	private void removeFromSiblings(Object element, Object parent) {
-		Set siblings= (Set) fChildrenMap.get(parent);
-		if (siblings != null) {
-			siblings.remove(element);
-		}
-	}
-
-	public Object[] getChildren(Object parentElement) {
-		Set children= (Set) fChildrenMap.get(parentElement);
-		if (children == null)
-			return EMPTY_ARR;
-		return children.toArray();
-	}
-
-	public boolean hasChildren(Object element) {
-		return getChildren(element).length > 0;
-	}
-
-	public synchronized void elementsChanged(Object[] updatedElements) {
-		for (int i= 0; i < updatedElements.length; i++) {
-			if (fResult.getMatchCount(updatedElements[i]) > 0)
-				insert(updatedElements[i], true);
-			else
-				remove(updatedElements[i], true);
-		}
-	}
-
-	public void clear() {
-		initialize(fResult);
-		fTreeViewer.refresh();
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof IProject)
-			return null;
-		if (element instanceof IResource) {
-			IResource resource = (IResource) element;
-			return resource.getParent();
-		}
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/FileLabelProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/FileLabelProvider.java
deleted file mode 100644
index 8c7e273..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/FileLabelProvider.java
+++ /dev/null
@@ -1,133 +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
- *
- * Derived from org.eclipse.search.internal.ui.FileLabelProvider
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.basecode;
-
-import com.ibm.icu.text.MessageFormat;
-
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.wst.common.ui.internal.search.SearchMessages;
-
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.AbstractTextSearchViewPage;
-
-
-public class FileLabelProvider extends LabelProvider {
-		
-	public static final int SHOW_LABEL= 1;
-	public static final int SHOW_LABEL_PATH= 2;
-	public static final int SHOW_PATH_LABEL= 3;
-	public static final int SHOW_PATH= 4;
-	
-	private static final String fgSeparatorFormat= "{0} - {1}"; //$NON-NLS-1$
-	
-	private WorkbenchLabelProvider fLabelProvider;
-	private AbstractTextSearchViewPage fPage;
-		
-	private int fOrder;
-	private String[] fArgs= new String[2];
-
-	public FileLabelProvider(AbstractTextSearchViewPage page, int orderFlag) {
-		fLabelProvider= new WorkbenchLabelProvider();
-		fOrder= orderFlag;
-		fPage= page;
-	}
-
-	public void setOrder(int orderFlag) {
-		fOrder= orderFlag;
-	}
-	
-	public int getOrder() {
-		return fOrder;
-	}
-
-	public String getText(Object element) {
-		if (!(element instanceof IResource))
-			return null;
-
-		IResource resource= (IResource)element;
-		String text= null;
-
-		if (!resource.exists())
-			text= SearchMessages.FileLabelProvider_removed_resource_label; 
-		
-		else {
-			IPath path= resource.getFullPath().removeLastSegments(1);
-			if (path.getDevice() == null)
-				path= path.makeRelative();
-			if (fOrder == SHOW_LABEL || fOrder == SHOW_LABEL_PATH) {
-				text= fLabelProvider.getText(resource);
-				if (path != null && fOrder == SHOW_LABEL_PATH) {
-					fArgs[0]= text;
-					fArgs[1]= path.toString();
-					text= MessageFormat.format(fgSeparatorFormat, fArgs);
-				}
-			} else {
-				if (path != null)
-					text= path.toString();
-				else
-					text= ""; //$NON-NLS-1$
-				if (fOrder == SHOW_PATH_LABEL) {
-					fArgs[0]= text;
-					fArgs[1]= fLabelProvider.getText(resource);
-					text= MessageFormat.format(fgSeparatorFormat, fArgs);
-				}
-			}
-		}
-		
-		int matchCount= 0;
-		AbstractTextSearchResult result= fPage.getInput();
-		if (result != null)
-			matchCount= result.getMatchCount(element);
-		if (matchCount <= 1)
-			return text;
-		String format= SearchMessages.FileLabelProvider_count_format; 
-		return MessageFormat.format(format, new Object[] { text, new Integer(matchCount) });
-	}
-
-	public Image getImage(Object element) {
-		if (!(element instanceof IResource))
-			return null;
-
-		IResource resource= (IResource)element;
-		Image image= fLabelProvider.getImage(resource);
-		return image;
-	}
-
-	public void dispose() {
-		super.dispose();
-		fLabelProvider.dispose();
-	}
-
-	public boolean isLabelProperty(Object element, String property) {
-		return fLabelProvider.isLabelProperty(element, property);
-	}
-
-	public void removeListener(ILabelProviderListener listener) {
-		super.removeListener(listener);
-		fLabelProvider.removeListener(listener);
-	}
-
-	public void addListener(ILabelProviderListener listener) {
-		super.addListener(listener);
-		fLabelProvider.addListener(listener);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/IFileSearchContentProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/IFileSearchContentProvider.java
deleted file mode 100644
index 18ef416..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/IFileSearchContentProvider.java
+++ /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 
- *
- * Derived from org.eclipse.search.internal.ui.IFileSearchContentProvider
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.basecode;
-
-public interface IFileSearchContentProvider {
-
-	public abstract void elementsChanged(Object[] updatedElements);
-
-	public abstract void clear();
-
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/Messages.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/Messages.java
deleted file mode 100644
index 4e91dc7..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/Messages.java
+++ /dev/null
@@ -1,35 +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
- * 
- * Derived from org.eclipse.search.internal.ui.Messages
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.basecode;
-
-import com.ibm.icu.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/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/ResourceTransferDragAdapter.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/ResourceTransferDragAdapter.java
deleted file mode 100644
index 835281a..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/ResourceTransferDragAdapter.java
+++ /dev/null
@@ -1,88 +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
- * 
- * Derived from org.eclipse.search.internal.ui.ResourceTransferDragAdapter
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.basecode;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.Transfer;
-
-import org.eclipse.jface.util.TransferDragSourceListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * A drag adapter that transfers the current selection as </code>
- * IResource</code>. Only those elements in the selection are part 
- * of the transfer which can be converted into an <code>IResource
- * </code>.
- */
-public class ResourceTransferDragAdapter extends DragSourceAdapter implements TransferDragSourceListener {
-
-	private ISelectionProvider fProvider;
-
-	/**
-	 * Creates a new ResourceTransferDragAdapter for the given selection
-	 * provider.
-	 * 
-	 * @param provider the selection provider to access the viewer's selection
-	 */
-	public ResourceTransferDragAdapter(ISelectionProvider provider) {
-		fProvider= provider;
-		Assert.isNotNull(fProvider);
-	}
-	
-	public Transfer getTransfer() {
-		return ResourceTransfer.getInstance();
-	}
-	
-	public void dragStart(DragSourceEvent event) {
-		event.doit= convertSelection().size() > 0;
-	}
-	
-	public void dragSetData(DragSourceEvent event) {
-		List resources= convertSelection();
-		event.data= resources.toArray(new IResource[resources.size()]);
-	}
-	
-	public void dragFinished(DragSourceEvent event) {
-		if (!event.doit)
-			return;
-	}
-	
-	private List convertSelection() {
-		ISelection s= fProvider.getSelection();
-		if (!(s instanceof IStructuredSelection))
-			return Collections.EMPTY_LIST;
-		IStructuredSelection selection= (IStructuredSelection) s;
-		List result= new ArrayList(selection.size());
-		for (Iterator iter= selection.iterator(); iter.hasNext();) {
-			Object element= iter.next();
-			if (element instanceof IResource) {
-				result.add(element);
-			}
-		}
-		return result;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/SortAction.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/SortAction.java
deleted file mode 100644
index ae91ea2..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/basecode/SortAction.java
+++ /dev/null
@@ -1,35 +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
- * 
- * Derived from org.eclipse.search.internal.ui.SortAction
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.basecode;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.common.ui.internal.search.SearchResultPage;
-
-public class SortAction extends Action {
-	private int fSortOrder;
-	private SearchResultPage fPage;
-	
-	public SortAction(String label, SearchResultPage page, int sortOrder) {
-		super(label);
-		fPage= page;
-		fSortOrder= sortOrder;
-	}
-
-	public void run() {
-		fPage.setSortOrder(fSortOrder);
-	}
-
-	public int getSortOrder() {
-		return fSortOrder;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialog.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialog.java
deleted file mode 100644
index 01e158b..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialog.java
+++ /dev/null
@@ -1,640 +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.wst.common.ui.internal.search.dialogs;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-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.MenuManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-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.custom.CLabel;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-import org.eclipse.wst.common.ui.internal.Messages;
-
-
-public class ComponentSearchListDialog extends Dialog {
-    private Display display = Display.getCurrent();
-    private String dialogTitle;
-
-    protected ComponentSearchListDialogConfiguration configuration;
-    private List componentTableViewerInput;
-    private List masterComponentList;
-    
-    // widgets
-    protected Composite topComposite;
-    protected Composite bottomComposite; 
-    private Text textFilter;
-    protected TableViewer componentTableViewer;
-    
-    protected String fileLocationLabel = Messages._UI_LABEL_DECLARATION_LOCATION;
-    protected ViewForm fileLocationView;    
-    protected CLabel locationLabel;
-
-    // keep track of the item previously selected in the table
-	private TableItem prevItem;
-	private String prevItemText;
-
-	protected Object componentSelection;
-    protected Object qualifierTextSelection;
-    
-	protected ToolBar filterToolBar;
-	protected ToolItem toolItem;
-	protected MenuManager fMenuManager;
-	
-	protected HashMap TableDecoratorTrackingTool = new HashMap();  
-    private Button newButton;
- 
-
-	public ComponentSearchListDialog(Shell shell, String dialogTitle, ComponentSearchListDialogConfiguration configuration) {
-        super(shell);
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-        this.dialogTitle = dialogTitle;
-        this.configuration = configuration;
-        componentTableViewerInput = new ArrayList();
-        masterComponentList = new ArrayList();
-        configuration.init(this);
-    }
-    
-	public void create() {
-        super.create();
-        getButton(IDialogConstants.OK_ID).setEnabled(false);
-        setTextFilterFocus();
-    }
-    
-    protected void setTextFilterFocus() {
-        textFilter.setFocus();        
-    }
-
-    protected Control createDialogArea(Composite parent) {
-        getShell().setText(dialogTitle);
-
-        Composite mainComposite = (Composite) super.createDialogArea(parent);
-        GridData gData = (GridData) mainComposite.getLayoutData();
-        gData.heightHint = 500;
-        gData.widthHint = 400;
-        
-        configuration.createWidgetAboveQualifierBox(mainComposite);        
-        // Subclasses may use this Composite to add desired widgets
-        //topComposite = new Composite(mainComposite, SWT.NONE);
-        //topComposite.setLayoutData(new GridData());
-        //topComposite.setLayout(new GridLayout());
-
-        // do we need to introduce a method here to contain this
-        // so we can add different parent other than 'topComposite'
-        Composite filterLabelAndText = new Composite(mainComposite, SWT.NONE);
-        GridLayout layoutFilterLabelAndText = new GridLayout(2, false);
-        layoutFilterLabelAndText.marginWidth = 0;
-        layoutFilterLabelAndText.marginHeight = 0;
-        filterLabelAndText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        filterLabelAndText.setLayout(layoutFilterLabelAndText);
-
-        // Create Text textFilter
-        
-        Label filterLabel = new Label(filterLabelAndText, SWT.NONE);
-        filterLabel.setText(configuration.getFilterLabelText());// + "(? = any character, * = any string):");
-        GridData filterLabelData = new GridData();
-        filterLabelData.horizontalSpan = 2;
-        filterLabel.setLayoutData(filterLabelData);
-
-        textFilter = new Text(filterLabelAndText, SWT.SINGLE | SWT.BORDER);
-        textFilter.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));        
-        textFilter.addModifyListener(new TextFilterModifyAdapter());
-        GridData textFilterData = new GridData();
-        textFilterData.horizontalAlignment = GridData.FILL;
-        textFilterData.grabExcessHorizontalSpace = true;
-        textFilter.setLayoutData(textFilterData);
-        
-        final INewComponentHandler handler = configuration.getNewComponentHandler();
-        if (handler != null)
-        {  
-           newButton = new Button(filterLabelAndText, SWT.NONE);
-           newButton.setText(Messages._UI_LABEL_New);  
-           newButton.addSelectionListener(new SelectionListener()
-           {
-
-            public void widgetDefaultSelected(SelectionEvent e)
-            {
-              handler.openNewComponentDialog();              
-            }
-
-            public void widgetSelected(SelectionEvent e)
-            {
-              handler.openNewComponentDialog();
-            }             
-           });                   
-        }
-        
-        // Create Component TableViewer
-        createComponentTableViewer(mainComposite);
-
-        configuration.createWidgetAboveQualifierBox(mainComposite);
-        
-        // Create Qualifier List widget
-        Label qualifierLabel = new Label(mainComposite, SWT.NONE);
-        qualifierLabel.setText(Messages._UI_LABEL_QUALIFIER);
-		qualifierLabel.setText(fileLocationLabel);
-
-        fileLocationView = new ViewForm(mainComposite, SWT.BORDER | SWT.FLAT );
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        data.heightHint = 22;
-        fileLocationView.setLayoutData(data);
-        
-    	locationLabel = new CLabel(fileLocationView, SWT.FLAT);
-        fileLocationView.setContent(locationLabel);
-    	locationLabel.setFont(fileLocationView.getFont());
-
-        configuration.createWidgetBelowQualifierBox(mainComposite);
-        
-        bottomComposite = new Composite(mainComposite, SWT.NONE);
-        bottomComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        bottomComposite.setLayout(new GridLayout());
-
-        // Populate the Component TableViewer via the provider
-        // TODO: Is this the right way to set/get the ContentProvider?
-        componentTableViewer.setContentProvider(new ComponentTableContentProvider());
-        componentTableViewer.setLabelProvider(configuration.getDescriptionProvider().getLabelProvider());
-        componentTableViewer.setSorter(new ViewerSorter());
-        componentTableViewer.setInput(componentTableViewerInput);
-        
-        
-        // TODO (cs) need to do some work to make the default search scope
-        // more well defined, currently the default behaviour is to pass a null
-        // argument in to populateMasterComponentList but we should provide
-        // getters/setters to allow the default to be controlled
-        populateMasterComponentList(null);
-        refreshTableViewer("");
-
-        return mainComposite;
-    }
-    
-    /*
-     * Creates the Component TableViewer.
-     */
-    private void createComponentTableViewer(Composite base) {
-        componentTableViewer = createFilterMenuAndTableViewer(base);    
-        
-        componentTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                //IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection();
-                //List qualifiers = searchListProvider.getQualifiers(structuredSelection.getFirstElement());
-                //updateQualifierList(qualifiers);
-                updateCanFinish();
-            }
-        });
-        
-        componentTableViewer.getTable().addSelectionListener(new SelectionListener(){
-        	// Changing the text for the component selected and display its source
-        	// file in the box under the table viewer
-          
-        	IComponentDescriptionProvider descriptionProvider = configuration.getDescriptionProvider();        	
-			public void widgetSelected(SelectionEvent e) {				
-				run();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-        // bug 144548 - unnecessary
-        // run();
-			}
-
-			private void run() {
-				// restores the text of previous item
-				if (prevItem != null && !prevItem.isDisposed()){
-					prevItem.setText(prevItemText);
-				}
-				TableItem[] items = componentTableViewer.getTable().getSelection();
-				Object component = items[0].getData();
-
-				prevItem = items[0];
-				prevItemText = items[0].getText();
-
-				// add clarification for the first selected item
-				items[0].setText(  descriptionProvider.getName(component) + " - " + 
-    					descriptionProvider.getQualifier(component));
-
-				updateLocationView(component, descriptionProvider);
-			}
-        });
-        
-        componentTableViewer.addDoubleClickListener(new IDoubleClickListener() {
-
-			public void doubleClick(DoubleClickEvent event) {
-				okPressed();
-			}
-        	
-        });
-    }
-    
-    protected TableViewer createFilterMenuAndTableViewer(Composite comp) {
-    	Composite labelAndFilter = new Composite(comp, SWT.NONE);
-    	labelAndFilter.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginWidth= 0; layout.marginHeight= 0;
-    	labelAndFilter.setLayout(layout);
-    	
-        Label tableLabel = new Label(labelAndFilter, SWT.NONE);
-        tableLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        tableLabel.setText(configuration.getListLabelText());
-        
-        filterToolBar = new ToolBar(labelAndFilter,SWT.FLAT);
-        configuration.createToolBarItems(filterToolBar);
-
-        TableViewer tableViewer = new TableViewer(new Table(labelAndFilter, SWT.SINGLE | SWT.BORDER));
-        Control TableWidget = tableViewer.getTable();
-        GridData gd = new GridData(GridData.FILL_BOTH);
-        gd.horizontalSpan = 2;
-        TableWidget.setLayoutData(gd);
-
-        return tableViewer;
-    }
-    
-    private void updateLocationView(Object component, IComponentDescriptionProvider lp) {
-    	IFile file = lp.getFile(component);
-    	
-    	if ( file == null ){
-    		locationLabel.setText("");
-    		locationLabel.setImage(null);
-    		return;
-    	}
-    	String filePath = "";
-    	filePath = file.getFullPath().toString();
-        //locationView.redraw();
-        
-        locationLabel.setText(filePath);
-        locationLabel.setImage(lp.getFileIcon(component));
-    }
-    
-    
-    /*
-     * Returns the processed filter text for the Text field.  Inserts a "."
-     * before each supported meta-character.
-     */
-    protected String getProcessedFilterString() {
-        return processFilterString(textFilter.getText());
-    }
-
-    /*
-     * If supported metacharacters are used in the filter string, we need to
-     * insert a "." before each metacharacter.
-     */
-    private String processFilterString(String inputString) {
-        if (!(inputString.equals(""))) {
-            inputString = insertString("*", ".", inputString);
-            inputString = insertString("?", ".", inputString);
-            inputString = inputString + ".*";
-        } else {
-            inputString = ".*";
-        }
-
-        return inputString.toLowerCase();
-    }
-    
-    /*
-     * Helper method to insert a "." before each metacharacter in the
-     * search/filter string.
-     */
-    private String insertString(String target, String newString, String string) {
-        StringBuffer stringBuffer = new StringBuffer(string);
-
-        int index = stringBuffer.indexOf(target);
-        while (index != -1) {
-            stringBuffer = stringBuffer.insert(index, newString);
-            index = stringBuffer.indexOf(target, index + newString.length() + target.length());
-        }
-
-        return stringBuffer.toString();
-    }
-    
-
-
-    /*
-     * Listens to changes made in the text filter widget
-     */
-    private class TextFilterModifyAdapter implements ModifyListener {
-        public void modifyText(ModifyEvent e) {
-            if (e.widget == textFilter) {
-                if (delayedEvent != null) {
-                    delayedEvent.CANCEL = true;
-                }
-
-                delayedEvent = new DelayedEvent();
-                Display.getCurrent().timerExec(400, delayedEvent);
-            }
-        }
-    }
-
-    //TODO... do we really need one instance?
-    private DelayedEvent delayedEvent;
-
-    /*
-     * Update the component TableViewer when the text filter is modified.
-     * Use a DelayedEvent so we don't update on every keystroke.
-     */
-    private class DelayedEvent implements Runnable {
-        public boolean CANCEL = false;
-
-        public void run() {
-            if (!CANCEL) {
-                refreshTableViewer(getProcessedFilterString());
-                
-                // Select first match
-                if (componentTableViewer.getTable().getItemCount() > 0) {
-                    TableItem item = componentTableViewer.getTable().getItems()[0];
-                    TableItem items[] = new TableItem[1];
-                    items[0] = item;
-                    componentTableViewer.getTable().setSelection(items);
-                }
-                
-                // Update qualifierList
-                //IStructuredSelection structuredSelection = (IStructuredSelection) componentTableViewer.getSelection();
-                // TODO ... manage qualifiers
-                //List qualifiers = searchListProvider.getQualifiers(structuredSelection.getFirstElement());
-                //updateQualifierList(qualifiers);
-                
-                updateCanFinish();
-            }
-        }
-    }
-
-    class ComponentList implements IComponentList {
-        private Vector objectVector = new Vector();
-        private long currentChangeCounter = 0;
-        private long lastUpdateTime = 0;
-        
-        public void add(Object o) {
-            objectVector.add(o);
-            currentChangeCounter++;
-            doViewerUpdate();
-        }
-        
-        public void addAll(Collection collection)
-        {
-          objectVector.addAll(collection);
-          currentChangeCounter += collection.size();
-          doViewerUpdate();          
-        }
-        
-        private void doViewerUpdate() {
-            // TODO: Investigate if we should also add a timer condition??
-          //  if (currentChangeCounter >= 10) {
-          //      currentChangeCounter = 0;
-          //      fireUpdateList(this);
-          //  }
-          
-          // cs: yep I think we really do need to use a time based approach
-          //          
-          long time = System.currentTimeMillis();
-          if (time - lastUpdateTime > 300)
-          {
-             lastUpdateTime = time;
-             fireUpdateList(ComponentList.this);                              
-          }          
-        }
-
-        public int size() {
-            return objectVector.size();
-        }
-        
-        public List subList(int startIndex, int endIndex) {
-            return objectVector.subList(startIndex, endIndex);
-        }
-        
-        public Iterator iterator() {
-            return objectVector.iterator();
-        }
-    }
-
-    
-    // this method gets called from a non-ui thread so needs to call
-    // asyncExec to ensure the UI updates happen on the UI thread
-    //
-    protected void fireUpdateList(final ComponentList list) {    
-        Runnable runnable = new Runnable() {
-            public void run(){
-                // add new objects
-                int growingListSize = list.size();
-                int currentSize = masterComponentList.size();
-                if (growingListSize > currentSize) {
-                    masterComponentList.addAll(list.subList(currentSize, growingListSize));
-                }
-
-                refreshTableViewer(getProcessedFilterString());
-            }
-        };
-        display.asyncExec(runnable);        
-    }
-
-    
-    public void updateForFilterChange()
-    {
-      populateMasterComponentList(null);
-      refreshTableViewer(getProcessedFilterString());
-    }  
-    
-    /*
-     * Populate the Component TreeViewer with items.
-     */
-    protected void populateMasterComponentList(final SearchScope searchScope) {
-        masterComponentList.clear();
-        
-        final ComponentList componentList = new ComponentList();
-        
-        // TODO (cs) it doesn't seem to make sennse to do any of the work on the UI thread
-        // I've change the behaviour here to do all of the work in the background
-        //
-        //searchListProvider._populateComponentListQuick(componentList, 0);        
-        Job job = new Job("read components") {
-          protected IStatus run(IProgressMonitor monitor) {
-            try {
-              // this stuff gets executed on a non-UI thread
-              //
-              long time1 = System.currentTimeMillis();
-              configuration.getSearchListProvider().populateComponentList(componentList, searchScope, null);              
-              // Do a final update of our Input for the component tree viewer.
-              fireUpdateList(componentList);
-              long time2 = System.currentTimeMillis();
-              System.out.println("time=" + (time2 - time1) + " items= " + masterComponentList.size());
-            }
-            catch (Exception e) {
-            	e.printStackTrace();
-            }
-            return Status.OK_STATUS;
-          }          
-        };
-        job.schedule();
-    }
-    
-    protected void refreshTableViewer(String filterText) {
-        componentTableViewerInput.clear();
-        ILabelProvider labelProvider = configuration.getDescriptionProvider().getLabelProvider();
-        Pattern regex = Pattern.compile(filterText);
-        Iterator it = masterComponentList.iterator();
-        while (it.hasNext()) {
-            Object item = it.next();
-            String itemString = labelProvider.getText(item);           
-            Matcher m = regex.matcher(itemString.toLowerCase());
-            if (itemString.toLowerCase().startsWith(filterText) || m.matches()) {
-                componentTableViewerInput.add(item);
-            }
-        }
-        
-        componentTableViewer.refresh();
-        decorateTable();
-    }
-    
-    /**
-     * Looking at each item in the Table. If there are other items with same name
-     * , then add extra info (namespace, file) into the the text label of all these
-     * duplicated items.
-     * - This should be called everytime the Table viewer is refreshed..
-     */
-    protected void decorateTable(){
-    	TableDecoratorTrackingTool.clear();
-    	
-    	IComponentDescriptionProvider lp = configuration.getDescriptionProvider();
-
-    	// init the name-duplicates counter
-    	for (int i = 0; i < componentTableViewerInput.size(); i++){
-    		Object currentItem = componentTableViewerInput.get(i);
-    		String name = lp.getName(currentItem);
-    		Integer count = (Integer) TableDecoratorTrackingTool.get(name);
-			if ( count == null){
-    			TableDecoratorTrackingTool.put(name, new Integer(1));
-    		}
-    		else{
-    			TableDecoratorTrackingTool.put(
-    					name, new Integer(count.intValue() + 1));
-    		}
-    	}
-
-    	// Modify/decorate those items in the Table that have duplicated name
-    	TableItem[] items = componentTableViewer.getTable().getItems();
-    	for (int i =0 ; i < items.length; i++){
-    		Object currentItem = items[i].getData();
-    		Integer count = (Integer) TableDecoratorTrackingTool.get(lp.getName(currentItem));
-    		if ( count != null && count.intValue() > 1){	
-    			items[i].setText(lp.getName(currentItem) + " - " + 
-    					lp.getQualifier(currentItem));
-    		}
-    	}
-    }
-    
-
-    
-    /*
-     * If there is a selection in the ComponentTreeViewer, enable OK
-     */
-    protected void updateCanFinish() {
-        IStructuredSelection selection = (IStructuredSelection) componentTableViewer.getSelection();
-        if (selection.getFirstElement() != null) {
-            getButton(IDialogConstants.OK_ID).setEnabled(true);
-        }
-        else {
-            getButton(IDialogConstants.OK_ID).setEnabled(false);
-        }
-    }
-    
-    protected void okPressed() {
-        IStructuredSelection selection = (IStructuredSelection) componentTableViewer.getSelection();
-        componentSelection = selection.getFirstElement();
-        
-        super.okPressed();
-    }
-    
-    private class ComponentTableContentProvider implements ITreeContentProvider {
-        public Object[] getChildren(Object parentElement) {
-            if (parentElement instanceof List) {
-                return ((List) parentElement).toArray();
-            }
-            return new Object[0];
-        }
-        
-        public Object[] getElements(Object inputElement) {
-            return getChildren(inputElement);
-        }
-        
-        public Object getParent(Object element) {
-            return null;
-        }
-        
-        public boolean hasChildren(Object element) {
-            if (getChildren(element).length > 0) {
-                return true;
-            }
-            return false;
-        }
-        
-        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        }
-        
-        public void dispose() {
-        }
-    }
-
-
-    public ComponentSpecification getSelectedComponent()
-    {
-      ComponentSpecification result = null;
-      if (componentSelection != null)
-      {  
-        result = new ComponentSpecification();
-        IComponentDescriptionProvider componentDescriptionProvider = configuration.getDescriptionProvider();
-        result.setName(componentDescriptionProvider.getName(componentSelection));
-        result.setQualifier(componentDescriptionProvider.getQualifier(componentSelection));
-        result.setFile(componentDescriptionProvider.getFile(componentSelection));
-        result.setObject(componentSelection);
-      }  
-      return result;
-    }       
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialogConfiguration.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialogConfiguration.java
deleted file mode 100644
index 8371108..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialogConfiguration.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.wst.common.ui.internal.search.dialogs;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.wst.common.ui.internal.Messages;
-
-public class ComponentSearchListDialogConfiguration
-{
-  private String filterLabelText = Messages._UI_LABEL_COMPONENT_NAME;
-  private String listLabelText = Messages._UI_LABEL_COMPONENTS;
-  private IComponentSearchListProvider searchListProvider; 
-  private IComponentDescriptionProvider descriptionProvider;
-  private INewComponentHandler newComponentHandler;
-  private ComponentSearchListDialog dialog;
-
-  public void init(ComponentSearchListDialog dialog)
-  {
-    this.dialog = dialog;
-  }
-
-  public void createWidgetAtTop(Composite parent)
-  {    
-  }    
-  
-  public void createWidgetAboveQualifierBox(Composite parent)
-  {    
-  }
-  
-  public void createWidgetBelowQualifierBox(Composite parent)
-  {    
-  }
-  
-  public void createToolBarItems(ToolBar toolBar)
-  {    
-  }
-
-  public IComponentDescriptionProvider getDescriptionProvider()
-  {
-    return descriptionProvider;
-  }
-
-  public void setDescriptionProvider(IComponentDescriptionProvider descriptionProvider)
-  {
-    this.descriptionProvider = descriptionProvider;
-  }
-
-  public IComponentSearchListProvider getSearchListProvider()
-  {
-    return searchListProvider;
-  }
-
-  public void setSearchListProvider(IComponentSearchListProvider searchListProvider)
-  {
-    this.searchListProvider = searchListProvider;
-  }
-
-  public ComponentSearchListDialog getDialog()
-  {
-    return dialog;
-  }
-
-  public INewComponentHandler getNewComponentHandler()
-  {
-    return newComponentHandler;
-  }
-
-  public void setNewComponentHandler(INewComponentHandler newComponentHandler)
-  {
-    this.newComponentHandler = newComponentHandler;
-  }
-  
-  public String getFilterLabelText()
-  {
-    return filterLabelText;
-  }
-  
-  public String getListLabelText()
-  {
-    return listLabelText;
-  }
-
-  public void setFilterLabelText(String filterLabelText)
-  {
-    this.filterLabelText = filterLabelText;
-  }
-
-  public void setListLabelText(String listLabelText)
-  {
-    this.listLabelText = listLabelText;
-  }  
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSpecification.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSpecification.java
deleted file mode 100644
index b7cabd1..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSpecification.java
+++ /dev/null
@@ -1,98 +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.wst.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.common.core.search.pattern.QualifiedName;
-
-// TODO.. use QualifiedName consistently for name and metaName
-//
-public class ComponentSpecification
-{
-  String qualifier;
-  String name;
-  IFile file;
-  Object object;
-  boolean isNew;
-  QualifiedName metaName;
-  
-  public ComponentSpecification()
-  {    
-  }
-  
-  public ComponentSpecification(String qualifier, String name, IFile file)
-  {
-    super();
-    this.qualifier = qualifier;
-    this.name = name;
-    this.file = file;
-  }
-
-  public IFile getFile()
-  {
-    return file;
-  }
-
-  public void setFile(IFile file)
-  {
-    this.file = file;
-  }
-
-  public String getName()
-  {
-    return name;
-  }
-
-  public void setName(String name)
-  {
-    this.name = name;
-  }
-
-  public String getQualifier()
-  {
-    return qualifier;
-  }
-
-  public void setQualifier(String qualifier)
-  {
-    this.qualifier = qualifier;
-  }
-
-  public Object getObject()
-  {
-    return object;
-  }
-
-  public void setObject(Object object)
-  {
-    this.object = object;
-  }
-
-  public boolean isNew()
-  {
-    return isNew;
-  }
-
-  public void setNew(boolean isNew)
-  {
-    this.isNew = isNew;
-  }
-
-  public QualifiedName getMetaName()
-  {
-    return metaName;
-  }
-
-  public void setMetaName(QualifiedName metaName)
-  {
-    this.metaName = metaName;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentDescriptionProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentDescriptionProvider.java
deleted file mode 100644
index 6389ff6..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentDescriptionProvider.java
+++ /dev/null
@@ -1,30 +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.wst.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public interface IComponentDescriptionProvider
-{
-  boolean isApplicable(Object component);
-  
-  String getQualifier(Object component);
-
-  String getName(Object component);
-
-  IFile getFile(Object component);
-  
-  Image getFileIcon(Object component);
-
-  ILabelProvider getLabelProvider();
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentList.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentList.java
deleted file mode 100644
index 0fa248a..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentList.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.dialogs;
-
-import java.util.Iterator;
-
-public interface IComponentList {
-   public void add(Object o);
-   public Iterator iterator();
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentSearchListProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentSearchListProvider.java
deleted file mode 100644
index 66a79ad..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentSearchListProvider.java
+++ /dev/null
@@ -1,20 +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.wst.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-
-public interface IComponentSearchListProvider
-{
-  void populateComponentList(IComponentList list, SearchScope scope, IProgressMonitor pm);
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/INewComponentHandler.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/INewComponentHandler.java
deleted file mode 100644
index 7a5093f..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/INewComponentHandler.java
+++ /dev/null
@@ -1,16 +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.wst.common.ui.internal.search.dialogs;
-
-public interface INewComponentHandler
-{
-  void openNewComponentDialog();
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ScopedComponentSearchListDialog.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ScopedComponentSearchListDialog.java
deleted file mode 100644
index 4bf7d8d..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ScopedComponentSearchListDialog.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.resources.IResource;
-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.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.wst.common.core.search.scope.ProjectSearchScope;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-import org.eclipse.wst.common.core.search.scope.WorkingSetSearchScope;
-import org.eclipse.wst.common.core.search.scope.WorkspaceSearchScope;
-import org.eclipse.wst.common.ui.internal.Messages;
-
-public class ScopedComponentSearchListDialog extends ComponentSearchListDialog
-{
-  protected final static String DEFAULT_NAME_FIELD_TITLE = Messages._UI_LABEL_COMPONENT_NAME;
-  protected final static String DEFAULT_LIST_TITLE = Messages._UI_LABEL_MATCHING_COMPONENTS;
-  public static final String SCOPE_SPECIFIED_FILE = Messages._UI_LABEL_SPECIFIED_FILE;
-  public static final String SCOPE_ENCLOSING_PROJECT = Messages._UI_LABEL_ENCLOSING_PROJECT;
-  public static final String SCOPE_WORKSPACE = Messages._UI_LABEL_WORKSPACE;
-  public static final String SCOPE_CURRENT_RESOURCE = Messages._UI_LABEL_CURRENT_RESOURCE;
-  public static final String SCOPE_WORKING_SETS = Messages._UI_LABEL_WORKING_SETS;
-  
-  private String currentSearchScope = SCOPE_CURRENT_RESOURCE;
-  protected Button chooseButton;
-  protected Button[] radioButton = new Button[4];
-  protected String filterLabel;
-  protected String listTitle;
-  protected IResource currentResource;
-  protected Composite selectWorkingSetsGroup;
-  protected Text workingSetsText;
-  
-  protected static String valueForWorkingSetsText;
-  
-  // working sets currently chosen by the user
-  private static IWorkingSet[] workingSets;
-
-  public ScopedComponentSearchListDialog(Shell shell, String dialogTitle, ComponentSearchListDialogConfiguration configuration)
-  {
-    super(shell, dialogTitle, configuration);
-  }
-  
-  public void setFilterLabel(String filterLabel)
-  {
-    this.filterLabel = filterLabel;
-  }
-  
-  public void setListTitle(String listTitle)
-  {
-    this.listTitle = listTitle;
-  }  
-
-  protected Control createDialogArea(Composite parent)
-  {
-    //super.setFilterLabel(filterLabel != null ? filterLabel : DEFAULT_NAME_FIELD_TITLE);
-    //setListLabelText(listTitle != null ? listTitle : DEFAULT_LIST_TITLE);
-    super.createDialogArea(parent);
-    // We use the Composite topComposite to create additional widgets
-    GridLayout layout = new GridLayout();
-    layout.marginWidth = 0;
-    bottomComposite.setLayout(layout);
-    Group group = new Group(bottomComposite, SWT.NONE);
-    GridLayout gridLayout = new GridLayout(3, false);
-    // gridLayout.marginWidth = 0;
-    // gridLayout.marginLeft = 2;
-    group.setLayout(gridLayout);
-    group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    group.setText(Messages._UI_LABEL_SEARCH_SCOPE);
-    ScopeChangeListener scopeChangeListener = new ScopeChangeListener();
-    radioButton[0] = new Button(group, SWT.RADIO);
-    radioButton[0].setText(SCOPE_WORKSPACE);
-    radioButton[1] = new Button(group, SWT.RADIO);
-    radioButton[1].setText(SCOPE_ENCLOSING_PROJECT);
-    radioButton[2] = new Button(group, SWT.RADIO);
-    radioButton[2].setText(SCOPE_CURRENT_RESOURCE);
-    radioButton[3] = new Button(group, SWT.RADIO);
-    radioButton[3].setText(SCOPE_WORKING_SETS);
-    for (int i = 0; i < radioButton.length; i++)
-    {
-      if (radioButton[i].getText().equals(currentSearchScope))
-      {
-        radioButton[i].setSelection(true);
-      }
-      radioButton[i].addSelectionListener(scopeChangeListener);
-    }
-    
-    selectWorkingSetsGroup = new Composite(group, SWT.NONE);
-	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan = 2;
-    selectWorkingSetsGroup.setLayoutData(gd);
-    GridLayout workingSetGroupLayout = new GridLayout(2, false);
-    workingSetGroupLayout.marginWidth = 0;
-    workingSetGroupLayout.marginHeight = 0;
-    selectWorkingSetsGroup.setLayout(workingSetGroupLayout);
-    
-    workingSetsText = new Text(selectWorkingSetsGroup, SWT.BORDER | SWT.READ_ONLY);
-    workingSetsText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    if (valueForWorkingSetsText != null )
-    	workingSetsText.setText(valueForWorkingSetsText);
-    
-    chooseButton = new Button(selectWorkingSetsGroup, SWT.NONE);
-    chooseButton.setText(Messages._UI_LABEL_CHOOSE);
-    chooseButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Shell shell = getShell();
-			IWorkingSetSelectionDialog dialog = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(shell, true);
-			if ( dialog.open() == Window.OK){
-				workingSets = dialog.getSelection();
-				valueForWorkingSetsText = "";
-				for (int i = 0; i < workingSets.length; i++){
-					valueForWorkingSetsText += workingSets[i].getLabel();
-					// if not the last item, we add a comma
-					if ( i != workingSets.length - 1) 
-						valueForWorkingSetsText += ", ";
-				}
-				workingSetsText.setText(valueForWorkingSetsText);
-			}
-			// Set working sets radio button enabled, disable other buttons
-			radioButton[2].setSelection(false);
-			radioButton[1].setSelection(false);
-			radioButton[0].setSelection(false);
-			radioButton[3].setSelection(true);
-
-			scopeChangeHandler(radioButton[3]);
-		}
-    });
-
-    return parent;
-  } /*
-     * Returns the selected search scope.
-     */
-
-  public String getSearchScope()
-  {
-    return currentSearchScope;
-  }
-
-private void scopeChangeHandler(Button b) {	  
-	  if ((b.getStyle() & SWT.RADIO) != 0)
-	  {
-		  currentSearchScope = b.getText();
-		  
-		  // TODO (cs) need to do some work to make the default search scope
-		  // more well defined, currently the default behaviour is to pass a null
-		  // argument in to populateMasterComponentList but we should provide
-		  // getters/setters to allow the default to be controlled          
-		  SearchScope scope = null;
-		  if (currentSearchScope == SCOPE_ENCLOSING_PROJECT &&
-				  currentResource != null) { 
-			  scope = new ProjectSearchScope(currentResource.getFullPath());
-		  } 
-		  else if (currentSearchScope == SCOPE_WORKSPACE){
-			  scope = new WorkspaceSearchScope();
-		  }
-		  else if (currentSearchScope == SCOPE_WORKING_SETS){
-			  
-			  // Constructs the working sets scope from the working sets the user
-			  // selected
-			  WorkingSetSearchScope workingSetsScope = new WorkingSetSearchScope();
-			  for (int i = 0; i < workingSets.length; i++){
-				  workingSetsScope.addAWorkingSetToScope(workingSets[i].getElements());
-			  }			  
-			  scope = workingSetsScope;
-		  }
-		  
-		  populateMasterComponentList(scope);
-		  refreshTableViewer(getProcessedFilterString());
-		  // Select the first matching component. Though we should be
-		  // smarter here
-		  // and determine if there was a selection before the scope
-		  // switch (and if
-		  // the component is still available.
-		  Table table = componentTableViewer.getTable();
-		  TableItem items[] = table.getItems();
-		  if (items.length > 0)
-		  {
-			  TableItem select[] = new TableItem[1];
-			  select[0] = items[0];
-			  table.setSelection(select);
-		  }
-		  updateCanFinish();
-	  }
-  }
-
-private class ScopeChangeListener extends SelectionAdapter
-  {
-    public void widgetSelected(SelectionEvent e)
-    {
-      if (e.widget instanceof Button)       
-      {        
-        Button b = (Button) e.widget;
-        if (b.getSelection())
-        {  
-          scopeChangeHandler(b);
-        }  
-      }
-    }
-  }
-
-  public IResource getCurrentResource()
-  {
-    return currentResource;
-  }
-
-  public void setCurrentResource(IResource currentResource)
-  {
-    this.currentResource = currentResource;
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/Test.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/Test.java
deleted file mode 100644
index d9883c2..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/Test.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.ActionDelegate;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-public class Test extends ActionDelegate
-{
-  public void run(IAction action)
-  {
-    try
-    {
-      ComponentSearchListDialogConfiguration configuration = new ComponentSearchListDialogConfiguration();
-      configuration.setListLabelText("List:");
-      configuration.setFilterLabelText("Filter:");
-      configuration.setSearchListProvider(searchListProvider);
-      configuration.setDescriptionProvider(new BaseComponentDescriptionProvider("foo"));
-      Shell shell = Display.getCurrent().getActiveShell();
-      ComponentSearchListDialog dialog = new ComponentSearchListDialog(shell, "test", configuration);
-      dialog.setBlockOnOpen(true);
-      dialog.create();
-      dialog.open();
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-    }
-  }
-  class BaseComponentDescriptionProvider extends LabelProvider implements IComponentDescriptionProvider
-  {
-    String prefix;
-
-    BaseComponentDescriptionProvider(String prefix)
-    {
-      this.prefix = prefix;
-    }
-
-    public IFile getFile(Object component)
-    {
-      return null;
-    }
-
-    public ILabelProvider getLabelProvider()
-    {
-      return this;
-    }
-
-    public String getName(Object component)
-    {
-      String string = (String) component;
-      return string.substring(prefix.length() + 1);
-    }
-
-    public String getQualifier(Object component)
-    {
-      return prefix;
-    }
-
-    public String getText(Object element)
-    {
-      return getName(element);
-    }
-
-    public boolean isApplicable(Object component)
-    {
-      if (component instanceof String)
-      {
-        return ((String) component).startsWith(prefix);
-      }
-      return false;
-    }
-
-	public Image getFileIcon(Object component) {
-		return null;
-	}
-  }
-  
-  IComponentSearchListProvider searchListProvider = new IComponentSearchListProvider()
-  {
-    public void populateComponentList(IComponentList list, SearchScope scope, IProgressMonitor pm)
-    {
-      list.add("foo:" + "Hello!");
-      list.add("foo:" + "Hey!");
-      list.add("foo:" + "How-are-you?");
-      list.add("foo:" + "What-is-that-smell?");
-    }
-  };
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/Messages.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/Messages.java
deleted file mode 100644
index ce13bb8..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/Messages.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages {
-	private static final String BUNDLE_NAME = "plugin"; //$NON-NLS-1$
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class); //$NON-NLS-1$
-	}
-	
-//	 SelectSingleFilePage and SelectMultiFilePage
-	public static String _UI_LABEL_SOURCE_FILES;
-	public static String _UI_LABEL_SELECTED_FILES;
-
-	public static String _UI_POPUP_EXPAND_ALL;
-	public static String _UI_POPUP_COLLAPSE_ALL;
-	
-	public static String _UI_IMPORT_BUTTON;
-	public static String _UI_IMPORT_BUTTON_TOOL_TIP;
-	
-//	 SelectMultiFilePage
-	public static String _UI_ADD_BUTTON_TOOL_TIP;
-	public static String _UI_REMOVE_BUTTON_TOOL_TIP;
-	public static String _UI_REMOVE_ALL_BUTTON_TOOL_TIP;
-
-	public static String _UI_ADD_BUTTON;
-	public static String _UI_REMOVE_BUTTON;
-	public static String _UI_REMOVE_ALL_BUTTON;
-
-//	 SelectJavaProjectView
-	public static String _UI_LABEL_CHOOSE_FOLDER;
-
-//	 SelectJavaProjectDialog
-	public static String _UI_LABEL_FOLDER_SELECTION;
-
-//	 TextViewerOperationAction
-	public static String _UI_MENU_COPY;
-	public static String _UI_MENU_CUT;
-	public static String _UI_MENU_DELETE;
-	public static String _UI_MENU_PASTE;
-	public static String _UI_MENU_PREFIX;
-	public static String _UI_MENU_REDO;
-	public static String _UI_MENU_SELECT_ALL;
-	public static String _UI_MENU_SHIFT_LEFT;
-	public static String _UI_MENU_SHIFT_RIGHT;
-	public static String _UI_MENU_STRIP_PREFIX;
-	public static String _UI_MENU_UNDO;
-
-//	 SourceViewerGotoLineAction
-	public static String _UI_MENU_GOTO_LINE;
-	public static String _UI_GOTO_LINE_DIALOG_TITLE;
-	public static String _UI_GOTO_LINE_DIALOG_TEXT;
-
-	public static String _UI_FILE_CHANGED_TITLE;
-	public static String _UI_FILE_DELETED_SAVE_CHANGES;
-	public static String _UI_FILE_DELETED_EDITOR_CLOSED;
-	public static String _UI_FILE_CHANGED_LOAD_CHANGES;
-	public static String _UI_SAVE_BUTTON;
-	public static String _UI_CLOSE_BUTTON;
-
-
-//	 XSL Prefererence
-	public static String _UI_XSLT_SELECT;
-	public static String _UI_XSLT_STYLESHEET;
-	public static String _UI_XSLT_TRANSFORM;
-
-//	 XSL Debug Prefererence
-	public static String _UI_XSL_DEBUG_SELECT_LAUNCHER;
-	public static String _UI_XSL_DEBUG_LOCAL;
-	public static String _UI_XSL_DEBUG_REMOTE;
-	public static String _UI_XSL_TILE_EDITOR;
-	public static String _UI_XSL_DEBUG_AND_TRANSFORM;
-	public static String _UI_XSL_CONTEXT_URI;
-	public static String _UI_XSL_CONTEXT;
-
-
-	public static String _UI_OVERRIDE_FILE;
-	public static String _UI_JAVA_EXIST_FILE1;
-	public static String _UI_JAVA_EXIST_FILE2;
-	      
-//	 some options strings common to several plugins
-	public static String _UI_ERROR_CREATING_FILE_TITLE;
-	public static String _UI_ERROR_CREATING_FILE_SHORT_DESC;
-	public static String _UI_ERROR_CREATING_FILE_LONG_DESC;
-	public static String _UI_PARENT_FOLDER_IS_READ_ONLY;
-	public static String _UI_UNKNOWN_ERROR_WITH_HINT;
-	public static String _UI_UNKNOWN_ERROR;
-
-//	 usage - this label is followed by two radio button options for the file location
-	public static String _UI_LABEL_INCLUDE_URL_FILE;
-	public static String _UI_RADIO_FILE;
-	public static String _UI_RADIO_URL;
-
-	public static String _UI_LABEL_COMPONENTS;
-	public static String _UI_LABEL_QUALIFIER;
-
-//	- component selection dialogs 
-	public static String _UI_LABEL_COMPONENT_NAME;
-	public static String _UI_LABEL_MATCHING_COMPONENTS;
-	public static String _UI_LABEL_SPECIFIED_FILE;
-	public static String _UI_LABEL_ENCLOSING_PROJECT;
-	public static String _UI_LABEL_WORKSPACE;
-	public static String _UI_LABEL_CURRENT_RESOURCE;
-	public static String _UI_LABEL_SEARCH_SCOPE;
-	public static String _UI_LABEL_NARROW_SEARCH_SCOPE_RESOURCE;
-	public static String _UI_LABEL_AVAILABLE_TYPES;
-	public static String _UI_LABEL_WORKING_SETS;
-
-	public static String _UI_LABEL_New;
-	public static String _UI_LABEL_DECLARATION_LOCATION;
-	public static String _UI_LABEL_CHOOSE;
-
-
-
-
-
-
-	/*======================================================================================
-	!
-	! Here is the list of Error string that have message IDs - make sure they are unique
-	!  Range for b2bgui messageIDs: IWAX1201 - IWAX1400
-	!
-	!======================================================================================*/
-	public static String _ERROR_THE_CONTAINER_NAME;
-
-	public static String _ERROR_LOCAL_LOCATION;
-	public static String _ERROR_NOT_JAVA_PROJECT;
-
-//	 NOTE TO TRANSLATOR: this error message text is followed by a message from another plugin
-	public static String _ERROR_INVALID_JAVA_PACKAGE;
-
-//	 NOTE TO TRANSLATOR: (_ERROR_BAD_FILENAME_EXTENSION + string + _UI_LABEL_OR + string) or (_ERROR_BAD_FILENAME_EXTENSION)
-	public static String _ERROR_BAD_FILENAME_EXTENSION;
-	public static String _ERROR_FILE_ALREADY_EXISTS;
-
-	public static String _ERROR_CONTAINER_NOT_JAVA_BUILDPATH;
-	public static String _ERROR_USE_PROJECT_JAVA_SOURCE_FOLDER;
-
-	public static String _UI_ERROR;
-
-	public static String _ERROR_ROOT_ELEMENT;
-	public static String _ERROR_SAVING_FILE;
-
-//	 File Validator
-	public static String _UI_ERROR_VALIDATE_FAIL_TITLE;
-	public static String _UI_ERROR_VALIDATE_FAIL_MESSAGE;
-
-//	 PropertyDirtyChangeListener and PropertyResourceChangeListener
-	public static String _UI_ERROR_VALIDATE_EDIT_FAIL_ONE_FILE;
-
-//	public static String ExampleProjectCreationWizard.title;
-//	public static String ExampleProjectCreationWizard.op_error.title;
-//	public static String ExampleProjectCreationWizard.op_error.message;
-//
-//	public static String ExampleProjectCreationWizard.overwritequery.title;
-//	public static String ExampleProjectCreationWizard.overwritequery.message;
-//
-//
-//	public static String ExampleProjectCreationOperation.op_desc;
-//	public static String ExampleProjectCreationOperation.op_desc_proj;
-//
-//	public static String ExampleProjectCreationWizardPage.error.alreadyexists;
-	public static String SaveFilesDialog_save_all_resources;
-	public static String SaveFilesDialog_must_save;
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/UIPlugin.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/UIPlugin.java
deleted file mode 100644
index fafc278..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/UIPlugin.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UIPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static UIPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public UIPlugin() {
-		super();
-		plugin = this;
-	}
-	
-	/**
-	 * Returns the shared instance.
-	 */
-	public static UIPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle aResourceBundle = getDefault().getResourceBundle();
-		try {
-			return (aResourceBundle != null) ? aResourceBundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-    public static String getString(String key)
-    {
-      return getResourceString(key);     
-    }
-	/**
-	 * This gets the string resource and does one substitution.
-	 */
-	public static String getString(String key, Object s1)
-	{
-	  return MessageFormat.format(getResourceString(key), new Object [] { s1 });
-	}
-
-	/**
-	 * This gets the string resource and does two substitutions.
-	 */
-	public static String getString(String key, Object s1, Object s2)
-	{
-	  return MessageFormat.format(getResourceString(key), new Object [] { s1, s2 });
-	}     
-	
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			return Platform.getResourceBundle(plugin.getBundle());
-		} catch (MissingResourceException x) {
-			log(x);
-		}
-		return null;
-	}
-
-	public ImageDescriptor getImageDescriptor(String name) {
-		try {
-			URL url= new URL(getBundle().getEntry("/"), name);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-	
-    public Image getImage(String iconName)
-    {
-      ImageRegistry imageRegistry = getImageRegistry();
-      
-      if (imageRegistry.get(iconName) != null)
-      {
-        return imageRegistry.get(iconName);
-      }
-      else
-      {
-        imageRegistry.put(iconName, ImageDescriptor.createFromFile(getClass(), iconName));
-        return imageRegistry.get(iconName);
-      }
-    }
-    
-    public static String getPluginId() {
-		return getDefault().getBundle().getSymbolicName();
-	}	
-
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-
-	public static void log(String message, Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, message, e));
-	}
-	
-	public static void log(String message) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, message, null));
-	}
-
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, e.getLocalizedMessage(), e));
-	}
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-		super.start(context);
-	}
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-		super.stop(context);
-	}
-    
-    public static IWorkbenchPage getActivePage() {
-        return getDefault().internalGetActivePage();
-    }
-    
-    private IWorkbenchPage internalGetActivePage() {
-        IWorkbenchWindow window= getWorkbench().getActiveWorkbenchWindow();
-        if (window == null)
-            return null;
-        return getWorkbench().getActiveWorkbenchWindow().getActivePage();
-    }    
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SaveDirtyFilesDialog.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SaveDirtyFilesDialog.java
deleted file mode 100644
index ae180fd..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SaveDirtyFilesDialog.java
+++ /dev/null
@@ -1,157 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- */
-package org.eclipse.wst.common.ui.internal.dialogs;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListDialog;
-import org.eclipse.wst.common.ui.internal.Messages;
-/**
- * A generic save files dialog. The bulk of the code for this dialog was taken
- * from the JDT refactoring support in
- * org.eclipse.jdt.internal.ui.refactoring.RefactoringSaveHelper. This class is
- * a good candidate for reuse amoung components.
- */
-public class SaveDirtyFilesDialog extends ListDialog
-{
-  public static boolean saveDirtyFiles()
-  {
-    boolean result = true;
-    // TODO (cs) add support for save automatically
-    Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-    IEditorPart[] dirtyEditors = getDirtyEditors();
-    if (dirtyEditors.length > 0)
-    {  
-      result = false;
-      SaveDirtyFilesDialog saveDirtyFilesDialog = new SaveDirtyFilesDialog(shell);
-      saveDirtyFilesDialog.setInput(Arrays.asList(dirtyEditors));
-      // Save all open editors.
-      if (saveDirtyFilesDialog.open() == Window.OK)
-      {
-        result = true;        
-        int numDirtyEditors = dirtyEditors.length;
-        for (int i = 0; i < numDirtyEditors; i++)
-        {
-          dirtyEditors[i].doSave(null);
-        }
-      }     
-    }
-    return result;    
-  }
-
-  private static IEditorPart[] getDirtyEditors()
-  {
-    List result = new ArrayList(0);
-    IWorkbench workbench = PlatformUI.getWorkbench();
-    IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-    for (int i = 0; i < windows.length; i++)
-    {
-      IWorkbenchPage[] pages = windows[i].getPages();
-      for (int x = 0; x < pages.length; x++)
-      {
-        IEditorPart[] editors = pages[x].getDirtyEditors();
-        for (int z = 0; z < editors.length; z++)
-        {
-          IEditorPart ep = editors[z];
-          result.add(ep);
-        }
-      }
-    }
-    return (IEditorPart[]) result.toArray(new IEditorPart[result.size()]);
-  }
-
-  public SaveDirtyFilesDialog(Shell parent)
-  {
-    super(parent);
-    setTitle(Messages.SaveFilesDialog_save_all_resources);
-    setAddCancelButton(true);
-    setLabelProvider(createDialogLabelProvider());
-    setMessage(Messages.SaveFilesDialog_must_save);
-    setContentProvider(new ListContentProvider());
-  }
-
-  protected Control createDialogArea(Composite container)
-  {
-    Composite result = (Composite) super.createDialogArea(container);
-    // TODO... provide preference that supports 'always save'
-    return result;
-  }
-
-  
-  private ILabelProvider createDialogLabelProvider()
-  {
-    return new LabelProvider()
-    {
-      public Image getImage(Object element)
-      {
-        return ((IEditorPart) element).getTitleImage();
-      }
-
-      public String getText(Object element)
-      {
-        return ((IEditorPart) element).getTitle();
-      }
-    };
-  }
-  
-  /** 
-   * A specialized content provider to show a list of editor parts.
-   * This class has been copied from org.eclipse.jdt.internal.ui.viewsupport.ListContentProvider
-   * This class should be removed once a generic solution is made available.
-   */   
-  private static class ListContentProvider implements IStructuredContentProvider
-  {
-    List fContents;
-
-    public ListContentProvider()
-    {
-    }
-
-    public Object[] getElements(Object input)
-    {
-      if (fContents != null && fContents == input)
-        return fContents.toArray();
-      return new Object[0];
-    }
-
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-    {
-      if (newInput instanceof List)
-        fContents = (List) newInput;
-      else
-        fContents = null;
-      // we use a fixed set.
-    }
-
-    public void dispose()
-    {
-    }
-
-    public boolean isDeleted(Object o)
-    {
-      return fContents != null && !fContents.contains(o);
-    }
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SelectSingleFileDialog.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SelectSingleFileDialog.java
deleted file mode 100644
index 03503e8..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SelectSingleFileDialog.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.resource.DeviceResourceException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-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.wst.common.ui.internal.UIPlugin;
-import org.eclipse.wst.common.ui.internal.viewers.SelectSingleFileView;
-
-
-
-public class SelectSingleFileDialog extends TitleAreaDialog {
-	protected SelectSingleFileView selectSingleFileView;
-	protected Button okButton;
-	protected Image image;
-	private ImageDescriptor imageDescriptor;
-
-	public SelectSingleFileDialog(Shell parentShell, IStructuredSelection selection, boolean isFileMandatory) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		if (selection == null) {
-			selection = new StructuredSelection();
-		}
-		selectSingleFileView = new SelectSingleFileView(selection, isFileMandatory) {
-			public void createFilterControl(Composite composite) {
-				SelectSingleFileDialog.this.createFilterControl(composite);
-			}
-		};
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-
-		// TODO.. enable context help
-		// WorkbenchHelp.setHelp(dialogArea,
-		// B2BGUIContextIds.BTBG_SELECT_SINGLE_FILE_DIALOG);
-
-		Composite composite = new Composite(dialogArea, SWT.NONE);
-		composite.setLayout(new GridLayout());
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint = 350;
-		gd.heightHint = 350;
-		composite.setLayoutData(gd);
-
-		SelectSingleFileView.Listener listener = new SelectSingleFileView.Listener() {
-			public void setControlComplete(boolean isComplete) {
-				okButton.setEnabled(isComplete);
-			}
-		};
-		selectSingleFileView.setListener(listener);
-		selectSingleFileView.createControl(composite);
-		return dialogArea;
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		okButton.setEnabled(false);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	public void create() {
-		super.create();
-		selectSingleFileView.setVisibleHelper(true);
-		image = getSaveAsImage();
-		setTitleImage(image);
-	}
-
-	/**
-	 * this image was copied from org.eclipse.ui.ide/icons/full/wizban/ where
-	 * it is a non-API image, denoted by
-	 * IDEInternalWorkbenchImages.IMG_DLGBAN_SAVEAS_DLG.
-	 */
-	private Image getSaveAsImage() {
-		Image localimage = null;
-		try {
-			if (imageDescriptor == null) {
-				imageDescriptor = UIPlugin.getDefault().getImageDescriptor("icons/saveas_wiz.png");
-			}
-			localimage = (Image) imageDescriptor.createResource(getContents().getDisplay());
-		}
-		catch (DeviceResourceException e) {
-			// if image not found
-			localimage = (ImageDescriptor.getMissingImageDescriptor()).createImage();
-		}
-		return localimage;
-	}
-
-	public void createFilterCombo(Composite composite) {
-	}
-
-	public IFile getFile() {
-		return selectSingleFileView.getFile();
-	}
-
-	public void addFilterExtensions(String[] filterExtensions) {
-		selectSingleFileView.addFilterExtensions(filterExtensions);
-	}
-
-	public void addFilterExtensions(String[] filterExtensions, IFile[] excludedFiles) {
-		selectSingleFileView.addFilterExtensions(filterExtensions, excludedFiles);
-	}
-
-	public void createFilterControl(Composite composite) {
-	}
-
-	public boolean close() {
-		if (image != null && imageDescriptor != null) {
-			imageDescriptor.destroyResource(image);
-			image = null;
-		}
-		return super.close();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DefaultDragAndDropCommand.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DefaultDragAndDropCommand.java
deleted file mode 100644
index 9631e6a..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DefaultDragAndDropCommand.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.swt.dnd.DND;
-
-
-abstract public class DefaultDragAndDropCommand implements DragAndDropCommand
-{
-  /**
-   * This keeps track of the owner that is the target of the drag and drop.
-   */
-  protected Object target;
-
-  /**
-   * This keeps track of the location of the drag and drop.
-   */
-  protected float location;
-
-  /**
-   * This keeps track of the lower range of locations in which the effect of this command remains unchanged.
-   */
-  protected float lowerLocationBound;
-
-  /**
-   * This keeps track of the upper range of locations in which the effect of this command remains unchanged.
-   */
-  protected float upperLocationBound;
-
-  /**
-   * This keeps track of the permitted operations.
-   */
-  protected int operations;
-
-  /**
-   * This keeps track of the current operation that will be returned by {@link #getOperation}.
-   */
-  protected int operation;
-
-  /**
-   * This keeps track of the feedback that will be returned by {@link #getFeedback}.
-   */
-  protected int feedback;
-
-  /**
-   * This keeps track of the collection of dragged sources.
-   */
-  protected Collection sources;
-
-  public DefaultDragAndDropCommand(Object target, float location, int operations, int operation, Collection sources)
-  {
-    this.target = target;
-    this.location = location;
-    this.operations = operations;
-    this.operation = operation;
-    this.sources = new ArrayList(sources);
-    if (!canExecute()) 
-    {
-      this.operation = DND.DROP_NONE;
-    }
-    
-  }
-
-  public int getFeedback()
-  {
-    if (isAfter())
-    {
-      return DND.FEEDBACK_INSERT_AFTER;
-    }
-    else 
-    {
-      return DND.FEEDBACK_INSERT_BEFORE;
-    }
-  }    
-
-  public boolean isAfter()
-  {
-    return location > 0.5;
-  }
-
-  public int getOperation()
-  {
-    return operation;
-  }
-
-  public void reinitialize(Object target, float location, int operations, int operation, Collection sources)
-  {
-    this.target = target;
-    this.location = location;
-    this.operations = operations;
-    this.operation = operation;
-    this.sources = new ArrayList(sources);
-    if (!canExecute()) 
-    {
-      this.operation = DND.DROP_NONE;
-    }
-  }    
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropCommand.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropCommand.java
deleted file mode 100644
index 0ceb414..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropCommand.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-import java.util.Collection;
-
-public interface DragAndDropCommand
-{
-  //  public DragAndDropCommand(Object target, float location, int operations, int operation, Collection sources);
-
-  public boolean canExecute();
-
-  public void execute();
-
-  public int getFeedback();
-  
-  public int getOperation();
-
-  public void reinitialize(Object target, float location, int operations, int operation, Collection sources);
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropManager.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropManager.java
deleted file mode 100644
index 013a5b2..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropManager.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-import java.util.Collection;
-
-public interface DragAndDropManager
-{
-  public DragAndDropCommand createCommand(Object target, float location, int operations, int operation, Collection source);
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ObjectTransfer.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ObjectTransfer.java
deleted file mode 100644
index 684eafa..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ObjectTransfer.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-
-
-/**
- * This derived implementation of a byte array transfer short circuits the transfer process
- * so that a local transfer does not serialize the object
- * and hence can and will return the original object, not just a clone.
- * You only really need ever know about {@link #getInstance ObjectTransfer.getInstance()},
- * so that you can include it in when adding drag support to a viewer.
- * See {@link EditingDomainViewerDropAdapter} and {@link ViewerDragAdapter} for more details.
- * <p>
- * As an addded guard, the time is recorded and serialized in javaToNative
- * to that navive to java can ensure that it's returns the value that was really to have been transferred.
- */
-public class ObjectTransfer extends ByteArrayTransfer
-{
-  /**
-   * This is the register transfer type name.
-   */
-  protected static final String TYPE_NAME = "local-transfer-format";
-
-  /**
-   * This is the ID that is registered to the name.
-   */
-  protected static final int TYPE_ID = registerType(TYPE_NAME);
-
-  /**
-   * This is initialized and returned by {@link #getInstance}.
-   */
-  protected static ObjectTransfer instance;
-
-  /**
-   * This returns the one instance of this transfer agent.
-   */
-  public static ObjectTransfer getInstance()
-  {
-    if (instance == null)
-    {
-      instance = new ObjectTransfer();
-    }
-
-    return instance;
-  }
-
-  /**
-   * This records the time at which the transfer data was recorded.
-   */
-  protected long startTime;
-
-  /**
-   * This records the data being transferred.
-   */
-  protected Object object;
-
-  /**
-   * This creates an instance; typically you get one from {@link #getInstance}.
-   */
-  protected ObjectTransfer()
-  {
-  }
-
-  /**
-   * This returns the transfer ids that this agent supports.
-   */
-  protected int[] getTypeIds() 
-  {
-    return new int[] { TYPE_ID };
-  }
-
-  /**
-   * This returns the transfer names that this agent supports.
-   */
-  public String[] getTypeNames() 
-  {
-    return new String[] { TYPE_NAME };
-  }
-
-  /**
-   * This records the object and current time and encodes only the current time into the transfer data.
-   */
-  public void javaToNative(Object object, TransferData transferData) 
-  {
-    startTime = System.currentTimeMillis();
-    this.object = object;
-    if (transferData != null)
-    {
-      super.javaToNative(String.valueOf(startTime).getBytes(), transferData);
-    }
-  }
-
-  /**
-   * This decodes the time of the transfer and returns the recorded the object if the recorded time and the decoded time match.
-   */
-  public Object nativeToJava(TransferData transferData) 
-  {
-    long startTime  = Long.valueOf(new String((byte[])super.nativeToJava(transferData))).longValue();
-    return
-      this.startTime == startTime ?
-        object :
-        null;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDragAdapter.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDragAdapter.java
deleted file mode 100644
index d3aa343..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDragAdapter.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-
-
-/**
- * This is an implemention of {@link DragSourceListener}.
- * It allows the selection in effect at the start of the drag and drop interaction to be recorded,
- * which is especially important for a drag and drop interaction within a single view.
- * This is how one of these adapters is typically hooked up:
- * <pre>
- *   viewer.addDragSupport
- *     (DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK, 
- *      new Transfer [] { LocalTransfer.getInstance() },
- *      ViewerDragAdapter(viewer));
- * </pre>
- * Doing so simply allows a drag operation to be initiated from the viewer
- * such that the viewer's selection is transferred to the drop target.
- * See {@link EditingDomainViewerDropAdapter} and {@link LocalTransfer} for more details.
- */
-public class ViewerDragAdapter implements DragSourceListener
-{
-  /**
-   * This keeps track of the viewer to which we are listening.
-   */
-  protected Viewer viewer;
-
-  /**
-   * This keeps track of the selection that is in effect at the start of the drag operation
-   */
-  protected ISelection selection;
-
-  /**
-   * This creates an instance for the given viewer.
-   */
-  public ViewerDragAdapter(Viewer viewer)
-  {
-    super();
-
-    // Remember the viewer and listen to SWT.DragDetect to alert the start of the drag operation.
-    //
-    this.viewer = viewer;
-  }
-
-  /**
-   * This is called when dragging is initiated; it records the {@link #selection} of {@link #viewer}.
-   */
-  public void dragStart(DragSourceEvent event)
-  {
-    selection = viewer.getSelection();
-  }
-
-  /**
-   * This is called when dragging is completed; it forgets the {@link #selection}.
-   */
-  public void dragFinished(DragSourceEvent event)
-  {
-    selection = null;
-  }
-  
-  /**
-   * This is called to transfer the data.
-   */
-  public void dragSetData(DragSourceEvent event)
-  {
-    if (ObjectTransfer.getInstance().isSupportedType(event.dataType))
-    {
-      event.data = selection;
-    }
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDropAdapter.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDropAdapter.java
deleted file mode 100644
index 3bd03f2..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDropAdapter.java
+++ /dev/null
@@ -1,768 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-
-/**
- * This implementation of a drop target listener 
- * is designed to turn a drag and drop operation into a {@link Command} based on the model objects of an {@link EditingDomain}
- * and created by {@link DragAndDropManager#create}.
- * It is designed to do early data transfer so the the enablement and feedback of the drag and drop interaction
- * can intimately depend on the state of the model objects involed.
- * <p>
- * The base implementation of this class should be sufficient for most applications.
- * Any change in behaviour is typically accomplished by overriding 
- * {@link ItemProviderAdapter}.createDragAndDropCommand
- * to return a derived implementation of {@link DragAndDropCommand}.
- * This is how one these adapters is typically hooked up:
- * <pre>
- *   viewer.addDropSupport
- *     (DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK,
- *      new Transfer [] { ObjectTransfer.getInstance() },
- *      EditingDomainViewerDropAdapter(viewer));
- * </pre>
- * <p>
- * This implementation prefers to use a {@link ObjectTransfer}, 
- * which short-circuits the transfer process for simple transfers within the workbench,
- * the method {@link #getDragSource} can be overriden to change the behaviour.
- * The implementation also only handles an {@link IStructuredSelection},
- * but the method {@link #extractDragSource} can be overriden to change the behaviour.
- * <p>
- * You can call {@link #setHoverThreshold} to set the amount of time, in milliseconds, 
- * to hover over an item before {@link #hover} is called;
- * the default is 1500 milliseconds.
- */
-public class ViewerDropAdapter extends DropTargetAdapter
-{
-  /**
-   * This is the viewer for which this is a drop target listener.
-   */
-  protected Viewer viewer;
-
-  /**
-   * This is the collection of source objects being dragged.
-   */
-  protected Collection source;
-
-  /**
-   * This is the command created during dragging which provides the feedback and will carry out the action upon completion.
-   */
-  //  protected Command command;
-  protected DragAndDropCommand command;
- 
-  /**
-   * This records the object for which the {@link #command} was created.
-   */
-  protected Object commandTarget;
-
-  /**
-   * The amount of time to hover over a tree item before expanding it
-   */
-  protected int hoverThreshold = 1500;
-
-  /**
-   * The is the time the mouse first started hovering over the current item.
-   */
-  protected long hoverStart = 0;
-
-  /**
-   * This keeps track of the most recent item for the {@link #hoverStart}.
-   */
-  protected Widget previousItem;
-
-  /**
-   * This keeps track of the original operation that was in effect before we set the event.detail in here.
-   */
-  protected int originalOperation;
-
-  /**
-   * This keeps track of the information used to create the current command.
-   */
-  protected DragAndDropCommandInformation dragAndDropCommandInformation;
-
-  protected DragAndDropManager dragAndDropManager;
-
-  /**
-   * This creates and instance of the given domain and viewer.
-   */
-  public ViewerDropAdapter(Viewer viewer, DragAndDropManager dragAndDropManager)
-  {
-    this.viewer = viewer;
-    this.dragAndDropManager = dragAndDropManager;
-  }
-
-  /**
-   * This is called when the mouse first enters or starts dragging in the viewer.
-   */
-  public void dragEnter(DropTargetEvent event)
-  {
-    originalOperation = event.detail;
-    helper(event);
-  }
-
-  /**
-   * This is called when the mouse leaves or stops dragging in the viewer
-   */
-  public void dragLeave(DropTargetEvent event)
-  {
-    // Clean up the command if there is one.
-    //
-    if (command != null)
-    {
-//        command.dispose();
-      command = null;
-      commandTarget = null;
-    }
-
-    // Reset the other values.
-    //
-    previousItem = null;
-    hoverStart = 0;
-    source = null;
-  }
-
-  /**
-   * This is called when the operation has changed in some way, typically because the user changes keyboard modifiers.
-   */
-  public void dragOperationChanged(DropTargetEvent event)
-  {
-    originalOperation = event.detail;
-    helper(event);
-  }
-
-  /**
-   * This is called repeated when the mouse over the viewer.
-   */
-  public void dragOver(DropTargetEvent event) 
-  {
-    helper(event);
-  }
-
-  /**
-   * This is called just as the mouse is released over the viewer to initiate a drop.
-   */
-  public void dropAccept(DropTargetEvent event) 
-  {
-    // There seems to be a bug in SWT that the view may have scrolled.
-    // helper(event);
-  }
-
-  /**
-   * This is called to indate that the drop action should be invoked.
-   */
-  public void drop(DropTargetEvent event)
-  {
-    // There seems to be a bug in SWT that the view may have scrolled.
-    // helper(event);
-    if (dragAndDropCommandInformation != null)
-    {
-      command = dragAndDropCommandInformation.createCommand();
-
-      // Execute the command
-      command.execute();
-
-      // Clean up the state.
-      //
-      command = null;
-      commandTarget = null;
-      previousItem = null;
-      hoverStart = 0;
-      source = null;
-    }
-  }
-
-  /**
-   * This method is called the same way for each of the {@link org.eclipse.swt.dnd.DropTargetListener} methods, except during leave.
-   */
-  protected void helper(DropTargetEvent event)
-  {
-    // Try to get the source if there isn't one.
-    //
-    if (source == null)
-    {
-      source = getDragSource(event);
-    }                   
-    else if (event.currentDataType == null)
-    {
-      setCurrentDataType(event);
-    }
-
-    // If there's still no source, wait until the next time to try again.
-    //
-    if (source == null)
-    {
-      event.detail = DND.DROP_NONE;
-      event.feedback = DND.FEEDBACK_SELECT;
-    }
-    // Otherwise, if we need to scroll...
-    //
-    else if (scrollIfNeeded(event))
-    {
-      // In the case that we scroll, we just do all the work on the next event and only just scroll now.
-      //
-      event.feedback = DND.FEEDBACK_SELECT;
-    }
-    else
-    {
-      // Get the data from the item, if there is one.
-      //
-      Object target = event.item == null ? null : event.item.getData();
-      if (target instanceof TableTreeItem)
-      {
-        target = ((TableTreeItem)target).getData();
-      }
-
-      // Do the logic to determine the hover information.
-      // If we're over a new item from before.
-      //
-      if (event.item != previousItem)
-      {
-        // Remember the item and the time.
-        //
-        previousItem = event.item;
-        hoverStart = event.time;
-      } 
-      else if (target != null)
-      {
-        if (event.time - hoverStart > hoverThreshold)
-        {
-          hover(target);
-
-          // We don't need to hover over this guy again.
-          //
-          hoverStart = Integer.MAX_VALUE;
-        }
-      }
-
-      // Determine if we can create a valid command at the current mouse location.
-      //
-      boolean valid = false;
-
-      // If we don't have a previous cached command...
-      //
-      if (command == null)
-      {
-        // Create the command and test if it is executable.
-        //
-        commandTarget = target;
-        command = dragAndDropManager.createCommand(target, getLocation(event), event.operations, event.detail, source);
-        if (command != null)
-        {
-        	valid = command.canExecute();
-        }
-      }
-      else
-      {
-        int operation = originalOperation != event.detail ? originalOperation : event.detail;
-
-        // Check if the cached command is able to provide drag and drop feedback.
-        //
-        if (target == commandTarget)// && command instanceof DragAndDropFeedback)
-        {
-          float location = getLocation(event);
-
-          dragAndDropCommandInformation = 
-            new DragAndDropCommandInformation(target, location, event.operations, operation, source);
-
-          // If so, revalidate the command.
-          //
-          command.reinitialize(target, location, event.operations, operation, source);
-          if (command != null)
-          {
-          valid = command.canExecute();
-          }
-        }
-        else
-        {
-          // If not, dispose the current command and create a new one.
-          //
-          //          command.dispose();
-          commandTarget = target;
-
-          dragAndDropCommandInformation = 
-            new DragAndDropCommandInformation(target, getLocation(event), event.operations, operation, source);
-
-          // DragAndDropManager.create(domain, target, getLocation(event), event.operations, operation, source);
-          //
-          command = dragAndDropCommandInformation.createCommand();
-
-          if (command != null)
-          {
-          	valid = command.canExecute();
-          }
-        }
-      }
-
-      // If this command can provide detailed drag and drop feedback...
-      //
-      //if (command instanceof DragAndDropCommand)
-      if (command != null)
-      {
-        // Use the feedback for the operation and mouse point from the command.
-        //
-        event.detail = command.getOperation();
-        event.feedback = command.getFeedback();
-      }
-      else if (valid)
-      {
-        // All we can know is to provide selection feedback.
-        //
-        event.feedback = DND.FEEDBACK_SELECT;
-      }
-      else
-      {
-        // There is no executable command, so we'd better nix the whole deal.
-        //
-        event.detail = DND.DROP_NONE;
-        event.feedback = DND.FEEDBACK_SELECT;
-      }
-    }
-  }
-    
-
-  protected void setCurrentDataType(DropTargetEvent event)
-  {                                
-    ObjectTransfer objectTransfer = ObjectTransfer.getInstance();
-    TransferData [] dataTypes = event.dataTypes;
-    for (int i = 0; i < dataTypes.length; ++i)
-    {
-      TransferData transferData = dataTypes[i];
-      // If the local tansfer supports this datatype, switch to that data type
-      //
-      if (objectTransfer.isSupportedType(transferData))
-      {
-        event.currentDataType = transferData;
-      }
-    }
-  }
-
-  /** 
-   * This  attempts to extract the drag source from the event early, i.e., before the drop method.
-   * This implementation tries to use a {@link org.eclipse.wst.common.ui.internal.dnd.ObjectTransfer}.
-   */
-  protected Collection getDragSource(DropTargetEvent event)
-  {
-    // Check whether the current data type can be transfered locally.
-    //
-    ObjectTransfer objectTransfer = ObjectTransfer.getInstance();
-    if (!objectTransfer.isSupportedType(event.currentDataType))
-    {
-      // Iterate over the data types to see if there is a datatype that supports a local transfer.
-      //
-      setCurrentDataType(event);
-      return null;
-    }
-    else
-    {
-      // Transfer the data and extract it.
-      //
-      Object object = objectTransfer.nativeToJava(event.currentDataType);
-      if (object == null)
-      {
-      	return null;
-      }
-      else
-      {
-      	return extractDragSource(object);
-      }
-    }
-  }
-
-  /**
-   * This extracts a collection of dragged source objects from the given object retrieved from the transfer agent.
-   * This default implementation converts a structured selection into a collection of elements.
-   */
-  protected Collection extractDragSource(Object object)
-  {
-    // Transfer the data and convert the structured selection to a collection of objects.
-    //
-    if (object instanceof IStructuredSelection)
-    {
-      Collection result = new ArrayList();
-      for (Iterator elements = ((IStructuredSelection)object).iterator(); elements.hasNext(); )
-      {
-        result.add(elements.next());
-      }
-      return result;
-    }
-    else
-    {
-      return Collections.EMPTY_LIST;
-    }
-  }
-
-  /**
-   * This gets the amount of time, in milliseconds, to hover over an item before {@link #hover} is called.
-   */
-  public int getHoverThreshold()
-  {
-    return hoverThreshold;
-  }
-
-  /**
-   * This set the amount of time, in milliseconds, to hover over an item before {@link #hover} is called.
-   */
-  public void setHoverThreshold(int hoverThreshold)
-  {
-    this.hoverThreshold = hoverThreshold;
-  }
-
-  /**
-   * This is called when the cursor has hovered over the given target for longer than {@link #hoverThreshold}.
-   */
-  protected void hover(Object target)
-  {
-    if (viewer instanceof AbstractTreeViewer)
-    {
-      ((AbstractTreeViewer)viewer).expandToLevel(target, 1);
-    }
-  }
-
-  /** 
-   * This returns whether a scroll was performed based on the given drag coordinates.
-   */
-  protected boolean scrollIfNeeded(DropTargetEvent event)
-  {
-    // By default we'll not scroll
-    //
-    boolean result = false;
-
-    // We only handle a tree item right now.
-    //
-    if (event.item instanceof TreeItem)
-    {
-      // Tree items have special data that will help.
-      //
-      TreeItem treeItem = (TreeItem)event.item;
-
-      // We need need the point in the coordinates of the control and the control's bounds.
-      //
-      Tree tree = treeItem.getParent();
-      Point point = tree.toControl(new Point(event.x, event.y));
-      Rectangle bounds = tree.getClientArea();
-
-      // This is the distance in pixels from the top or bottom that will cause scrolling.
-      //
-      int scrollEpsilon = Math.min(treeItem.getBounds().height, bounds.height / 3);
-
-      // This will be the item that should be scrolled into the view.
-      //
-      TreeItem scrollTreeItem = null;
-
-      // If we should scroll up.
-      //
-      if (point.y < scrollEpsilon)
-      {
-        // Determine the parent to find the sibling.
-        //
-        TreeItem parent = treeItem.getParentItem();
-        // Walk through the siblings.
-        //
-        TreeItem [] children = parent == null ? tree.getItems() : parent.getItems();
-        for (int i = 0; i < children.length; ++i)
-        {
-          // Is this a match.
-          //
-          if (children[i] == treeItem)
-          {
-            // If there is a previous sibling...
-            //
-            if (i > 0)
-            {
-              scrollTreeItem = children[i - 1];
-
-              // Get the last deepest descendent of this previous sibling.
-              //
-              for (;;)
-              {
-                children = scrollTreeItem.getItems();
-                if (children != null && children.length != 0 && scrollTreeItem.getExpanded())
-                {
-                  scrollTreeItem = children[children.length - 1];
-                }
-                else
-                {
-                  break;
-                }
-              }
-            }
-            else
-            {
-              // The parent must be the previous.
-              //
-              scrollTreeItem = parent;
-            }
-
-            // We're done after the match.
-            //
-            break;
-          }
-        }
-      }
-      // If we should scroll down...
-      //
-      else if (bounds.height - point.y < scrollEpsilon)
-      {
-        // If this thing has visible children, then the first child must be next.
-        //
-        TreeItem [] children = treeItem.getItems();
-        if (children != null && children.length != 0 && treeItem.getExpanded())
-        {
-          scrollTreeItem = children[0];
-        }
-        else
-        {
-          // We need the parent to determine siblings and will walk up the tree if we are the last sibling.
-          //
-          while (scrollTreeItem == null)
-          {
-            // If there's no parent, we're done.
-            //
-            TreeItem parent = treeItem.getParentItem();
-            // Walk the children.
-            //
-            children = parent == null ? tree.getItems() : parent.getItems();
-            for (int i = 0; i < children.length; ++i)
-            {
-              // When we find the child.
-              //
-              if (children[i] == treeItem)
-              {
-                // If the next index is a valid index...
-                //
-                if (++i < children.length)
-                {
-                  // We've found the item.
-                  //
-                  scrollTreeItem = children[i];
-                }
-
-                // We're done with this parent.
-                //
-                break;
-              }
-            }
-
-            if (parent == null)
-            {
-              break;
-            }
-
-            // Walk up.
-            //
-            treeItem = parent;
-          }
-        }
-      }
-
-      // If we should scroll.
-      //
-      if (scrollTreeItem != null)
-      {
-        // Only scroll if we're on an item for a while.
-        //
-        if (previousItem != null && event.time - hoverStart > 200)
-        {
-          ScrollBar verticalScrollBar = tree.getVerticalBar();
-          if (verticalScrollBar != null)
-          {
-            int before = verticalScrollBar.getSelection();
-
-            // Make sure the item is scrolled in place.
-            //
-            tree.showItem(scrollTreeItem);
-
-            // Make sure we don't scroll again quickly.
-            //
-            previousItem = null;
-
-            // Indicate that we've done a scroll and nothing else should be done.
-            //
-            result = before != verticalScrollBar.getSelection();
-          }
-        }
-        else
-        {
-          // If the item changes, reset the timer information.
-          //
-          if (event.item != previousItem)
-          {
-            previousItem = event.item;
-            hoverStart = event.time;
-          }
-        }
-      }
-    }
-    else if (event.item instanceof TableItem)
-    {
-      // Table items have special data that will help.
-      //
-      TableItem tableItem = (TableItem)event.item;
-
-      // We need need the point in the coordinates of the control and the control's bounds.
-      //
-      Table table = tableItem.getParent();
-      Point point = table.toControl(new Point(event.x, event.y));
-      Rectangle bounds = table.getClientArea();
-      if (table.getHeaderVisible())
-      {
-        int offset = table.getItemHeight();
-        bounds.y += offset;
-        bounds.height -= offset;
-        point.y -= offset;
-      }
-
-      // The position of this item.
-      //
-      int index = table.indexOf(tableItem);
-
-      // This is the distance in pixels from the top or bottom that will cause scrolling.
-      //
-      int scrollEpsilon = Math.min(tableItem.getBounds(0).height, bounds.height / 3);
-
-      // This will be the item that should be scrolled into the view.
-      //
-      TableItem scrollTableItem = null;
-
-      // If we should scroll up.
-      //
-      if (point.y < scrollEpsilon)
-      {
-        if (index > 0)
-        {
-          scrollTableItem = table.getItems()[index - 1];
-        }
-      }
-      // If we should scroll down...
-      //
-      else if (bounds.height - point.y < scrollEpsilon)
-      {
-        if (index + 1 < table.getItems().length)
-        {
-          scrollTableItem =  table.getItems()[index + 1];
-        }
-      }
-
-      // If we should scroll.
-      //
-      if (scrollTableItem != null)
-      {
-        // Only scroll if we're on an item for a while.
-        //
-        if (previousItem != null && event.time - hoverStart > 200)
-        {
-          ScrollBar verticalScrollBar = table.getVerticalBar();
-          if (verticalScrollBar != null)
-          {
-            int before = verticalScrollBar.getSelection();
-
-            // Make sure the item is scrolled in place.
-            //
-            table.showItem(scrollTableItem);
-
-            // Make sure we don't scroll again quickly.
-            //
-            previousItem = null;
-
-            // Indicate that we've done a scroll and nothing else should be done.
-            //
-            result = before != verticalScrollBar.getSelection();
-          }
-        }
-        else
-        {
-          // If the item changes, reset the timer information.
-          //
-          if (event.item != previousItem)
-          {
-            previousItem = event.item;
-            hoverStart = event.time;
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-
-  protected static float getLocation(DropTargetEvent event) 
-  {
-    if (event.item instanceof TreeItem)
-    {
-      TreeItem treeItem = (TreeItem)event.item;
-      Control control = treeItem.getParent();
-      Point point = control.toControl(new Point(event.x, event.y));
-      Rectangle bounds = treeItem.getBounds();
-      return (float)(point.y - bounds.y) / (float)bounds.height;
-    }
-    else if (event.item instanceof TableItem)
-    {
-      TableItem tableItem = (TableItem)event.item;
-      Control control = tableItem.getParent();
-      Point point = control.toControl(new Point(event.x, event.y));
-      Rectangle bounds = tableItem.getBounds(0);
-      return (float)(point.y - bounds.y) / (float)bounds.height;
-    }
-    else
-    {
-      return 0.0F;
-    }
-  }
-
-  protected class DragAndDropCommandInformation
-  {
-    //    protected EditingDomain domain;
-    protected Object target;
-    protected float location;
-    protected int operations;
-    protected int operation;
-    protected Collection source;
-    public DragAndDropCommandInformation
-      (Object target, float location, int operations, int operation, Collection source)
-    {
-      this.target = target;
-      this.location = location;
-      this.operations = operations;
-      this.operation = operation;
-      this.source = new ArrayList(source);
-    }
-
-    public DragAndDropCommand createCommand()
-    {
-      return dragAndDropManager.createCommand(target, location, operations, operation, source);
-    }
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/NavigableTableViewer.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/NavigableTableViewer.java
deleted file mode 100644
index 9f03d3b..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/NavigableTableViewer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.widgets.Table;
-
-public class NavigableTableViewer extends TableViewer
-{
-   TableNavigator navigator;
-
-   public NavigableTableViewer(Table parent)
-   {
-      super(parent);
-      navigator = new TableNavigator(getTable(), this);
-   }
-
-   //override setCellEditors to put in call to moveAboveCellEditors for TableNavigator
-   public void setCellEditors(CellEditor[] editors)
-   {
-     super.setCellEditors(editors);
-     navigator.moveCellEditorsAbove(editors);
-
-   }
-
-   //override refresh so that TableNavigator is refreshed for all model changes
-   public void refresh()
-   {
-   	if( !this.getTable().isDisposed() )
-   	{
-      	super.refresh();
-      	navigator.refresh();
-   	}
-   }
-
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/ResourceFilter.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/ResourceFilter.java
deleted file mode 100644
index aaa3f5d..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/ResourceFilter.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-public class ResourceFilter extends ViewerFilter 
-{
-  protected String[] fExtensions;
-  protected IFile[] fExcludedFiles;
-  protected Collection fExcludes;
-	
-  public ResourceFilter(String[] extensions, Collection exclude) 
-  {
-    fExtensions= extensions;
-    fExcludes= exclude;
-    fExcludedFiles = null;
-  }
-
-  public ResourceFilter(String[] extensions, IFile[] excludedFiles, Collection exclude) 
-  {
-    fExtensions= extensions;
-    fExcludes= exclude;
-    fExcludedFiles = excludedFiles;
-  }
-	
-  public boolean isFilterProperty(Object element, Object property) 
-  {
-    return false;
-  }
-	
-  public boolean select(Viewer viewer, Object parent, Object element) 
-  {
-    if (element instanceof IFile) 
-    {
-      if (fExcludes != null && fExcludes.contains(element)) 
-      {
-	return false;
-      }
-      String name= ((IFile)element).getName();
-      if (fExcludedFiles != null) 
-      {
-        for (int j= 0; j < fExcludedFiles.length; j++) 
-        {
-          if ( ((IFile)element).getLocation().
-               toOSString().compareTo((fExcludedFiles[j]).getLocation().toOSString()) == 0 )
-           return false;             
-        }            
-      }
-      if (fExtensions.length == 0) 
-      {
-        // assume that we don't want to filter any files based on 
-        // extension
-        return true;
-      }
-      for (int i= 0; i < fExtensions.length; i++) 
-      {
-        if (name.endsWith(fExtensions[i]))
-        {
-          return true;
-        }
-      } 
-      return false;
-    } 
-    else if (element instanceof IContainer) 
-    { // IProject, IFolder
-      try 
-      {
-      	IResource[] resources= ((IContainer)element).members();
-	for (int i= 0; i < resources.length; i++) 
-        {
-	  // recursive!
-	  if (select(viewer, parent, resources[i])) 
-          {
-	    return true;
-	  }
-	}
-      } 
-      catch (CoreException e) 
-      {
-      }				
-    }
-    return false;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectMultiFilePage.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectMultiFilePage.java
deleted file mode 100644
index d8a9083..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectMultiFilePage.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import java.util.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.core.resources.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.model.*;
-import org.eclipse.ui.wizards.datatransfer.*;
-import org.eclipse.wst.common.ui.internal.Messages;
-
-
-// Page to specify the source files
-public class SelectMultiFilePage extends WizardPage {
-  IWorkbench workbench;
-  IStructuredSelection selection;
-  boolean isFileMandatory;
-  TreeViewer sourceFileViewer;
-  Button addButton;
-  Button removeButton;
-  Button removeAllButton;
-  org.eclipse.swt.widgets.List selectedListBox;
-  Button importButton;
-  private Vector fFilters;
-  protected IFile[] fileNames;
-  IWorkspaceRoot workspaceRoot;
-
-  private final static int SIZING_LISTS_HEIGHT = 200;
-  private final static int SIZING_LISTS_WIDTH = 150;
-
-  // parameter isFileMandatory is used to determine if at least one file must be selected  
-  // before being able to proceed to the next page
-  public SelectMultiFilePage(
-      IWorkbench workbench,
-      IStructuredSelection selection,
-      boolean isFileMandatory) {
-    super("SelectMultiFilePage");
-    this.workbench = workbench;
-    this.selection = selection;
-    this.isFileMandatory = isFileMandatory;
-    this.workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-    this.fileNames = null;
-  }
-
-  public void createControl(Composite parent) {
-    
-    Composite pageContent = new Composite(parent, SWT.NONE);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 3;
-    pageContent.setLayout(layout);
-    pageContent.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    // variable never used ... is pageContent.getLayoutData() needed?
-    //GridData outerFrameGridData = (GridData) 
-    pageContent.getLayoutData();
-    
-    //		outerFrameGridData.horizontalAlignment = GridData.HORIZONTAL_ALIGN_FILL;
-    //		outerFrameGridData.verticalAlignment = GridData.VERTICAL_ALIGN_FILL;
-
-    //    WorkbenchHelp.setHelp(
-    //        pageContent,
-    //        B2BGUIContextIds.BTBG_SELECT_MULTI_FILE_PAGE);
-
-    createLabels(pageContent);
-    createSourceViewer(pageContent);
-    createButtonPanel(pageContent);
-    createSelectedListBox(pageContent);
-    createImportButton(pageContent);
-
-    setControl(pageContent);
-    if (isFileMandatory)
-      setPageComplete(false);
-
-  }
-
-  public IFile[] getFiles() {
-    return fileNames;
-  }
-
-  // This is a convenience method that allows filtering of the given file
-  // exensions. It internally creates a ResourceFilter so that users of this
-  // class don't have to construct one.
-  // If the extensions provided don't have '.', one will be added.
-  public void addFilterExtensions(String[] filterExtensions) {
-    // First add the '.' to the filterExtensions if they don't already have one
-    String[] correctedFilterExtensions =
-      new String[filterExtensions.length];
-    for (int i = 0; i < filterExtensions.length; i++) {
-      // If the extension doesn't start with a '.', then add one.
-      if (filterExtensions[i].startsWith("."))
-        correctedFilterExtensions[i] = filterExtensions[i];
-      else
-        correctedFilterExtensions[i] = "." + filterExtensions[i];
-    }
-
-    ViewerFilter filter =
-      new ResourceFilter(correctedFilterExtensions, null);
-    addFilter(filter);
-  }
-
-  public boolean isValidSourceFileViewerSelection(ISelection selection) {
-    return true;
-  }
-
-  public void setVisible(boolean visible) {
-    if (visible == true) {
-      if (fFilters != null) {
-        sourceFileViewer.resetFilters();
-        for (Iterator i = fFilters.iterator(); i.hasNext();)
-          sourceFileViewer.addFilter((ViewerFilter) i.next());
-      }
-      sourceFileViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
-    }
-    super.setVisible(visible);
-  }
-
-  public void setFiles(String[] fileNames) {
-    int size = Arrays.asList(fileNames).size();
-    Vector iFileNames = new Vector();
-    for (int i = 0; i < size; i++) {
-      IResource resource = workspaceRoot.findMember(fileNames[i]);
-      if (resource instanceof IFile)
-        iFileNames.addElement(resource);
-    }
-    IFile[] dummyArray = new IFile[iFileNames.size()];
-    this.fileNames = (IFile[]) (iFileNames.toArray(dummyArray));
-  }
-
-  public void resetFilters() {
-    fFilters = null;
-  }
-
-  public void addFilter(ViewerFilter filter) {
-    if (fFilters == null)
-      fFilters = new Vector();
-    fFilters.add(filter);
-  }
-
-  public void setAddButtonEnabled(boolean isEnabled) {
-    addButton.setEnabled(isEnabled);
-  }
-
-  public void setRemoveButtonEnabled(boolean isEnabled) {
-    removeButton.setEnabled(isEnabled);
-  }
-
-  private void createLabels(Composite pageContent) {
-    Label label = new Label(pageContent, SWT.LEFT);
-    label.setText(Messages._UI_LABEL_SOURCE_FILES);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.horizontalSpan = 2;
-    label.setLayoutData(data);
-
-    label = new Label(pageContent, SWT.LEFT);
-    label.setText(Messages._UI_LABEL_SELECTED_FILES);
-  }
-
-  public boolean checkIfFileInTarget(IFile fileToCheck) {
-    String[] strings = selectedListBox.getItems();
-    int size = selectedListBox.getItemCount();
-    for (int i = 0; i < size; i++) {
-      if (strings[i].compareTo(fileToCheck.getFullPath().toString())
-          == 0)
-        return true;
-    }
-    return false;
-  }
-
-  private void createSourceViewer(Composite parent) {
-    sourceFileViewer =
-      new TreeViewer(
-          new Tree(
-              parent,
-              SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER));
-    sourceFileViewer.setContentProvider(new WorkbenchContentProvider());
-    sourceFileViewer.setLabelProvider(new WorkbenchLabelProvider());
-    sourceFileViewer
-    .addSelectionChangedListener(new ISelectionChangedListener() {
-      public void selectionChanged(SelectionChangedEvent event) {
-        java.util.List list;
-        ISelection selection = event.getSelection();
-        boolean newFilesSelected = false;
-
-        if (selection instanceof IStructuredSelection) {
-          list = ((IStructuredSelection) selection).toList();
-          for (Iterator i = list.iterator(); i.hasNext();) {
-            IResource resource = (IResource) i.next();
-            if (resource instanceof IFile) {
-              if (checkIfFileInTarget((IFile) resource) == false)
-                newFilesSelected = true;
-            }
-          }
-          setAddButtonEnabled(newFilesSelected);
-        }
-      }
-    });
-    sourceFileViewer.addDoubleClickListener(new IDoubleClickListener() {
-      public void doubleClick(DoubleClickEvent event) {
-        addSelectedFilesToTargetList();
-      }
-    });
-
-    Control treeWidget = sourceFileViewer.getTree();
-    GridData gd = new GridData(GridData.FILL_BOTH);
-    gd.widthHint = SIZING_LISTS_WIDTH;
-    gd.heightHint = SIZING_LISTS_HEIGHT;
-    treeWidget.setLayoutData(gd);
-  }
-
-  private void createButtonPanel(Composite pageContent) {
-    Composite buttonPanel = new Composite(pageContent, SWT.NONE);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 1;
-    buttonPanel.setLayout(layout);
-    
-    GridData gridData = new GridData();
-    gridData.grabExcessHorizontalSpace = false;
-    gridData.grabExcessVerticalSpace = true;
-    gridData.verticalAlignment = GridData.CENTER;
-    gridData.horizontalAlignment = GridData.CENTER;
-    buttonPanel.setLayoutData(gridData);
-
-    addButton = new Button(buttonPanel, SWT.PUSH);
-    addButton.setText(Messages._UI_ADD_BUTTON);
-    gridData = new GridData();
-    gridData.horizontalAlignment = GridData.FILL;
-    gridData.verticalAlignment = GridData.CENTER;
-    addButton.setLayoutData(gridData);
-    addButton.addSelectionListener(new ButtonSelectListener());
-    addButton.setToolTipText(Messages._UI_ADD_BUTTON_TOOL_TIP);
-    addButton.setEnabled(false);
-
-    removeButton = new Button(buttonPanel, SWT.PUSH);
-    removeButton.setText(Messages._UI_REMOVE_BUTTON);
-    gridData = new GridData();
-    gridData.horizontalAlignment = GridData.FILL;
-    gridData.verticalAlignment = GridData.CENTER;
-    removeButton.setLayoutData(gridData);
-    removeButton.addSelectionListener(new ButtonSelectListener());
-    removeButton.setToolTipText(Messages._UI_REMOVE_BUTTON_TOOL_TIP);
-    removeButton.setEnabled(false);
-
-    removeAllButton = new Button(buttonPanel, SWT.PUSH);
-    removeAllButton.setText(Messages._UI_REMOVE_ALL_BUTTON);
-    gridData = new GridData();
-    gridData.horizontalAlignment = GridData.FILL;
-    gridData.verticalAlignment = GridData.CENTER;
-    removeAllButton.setLayoutData(gridData);
-    removeAllButton.addSelectionListener(new ButtonSelectListener());
-    removeAllButton.setToolTipText(Messages._UI_REMOVE_ALL_BUTTON_TOOL_TIP);
-    removeAllButton.setEnabled(false);
-  }
-
-  private void createSelectedListBox(Composite parent) {
-    selectedListBox = new List(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-    selectedListBox.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent event) {
-      }
-
-      public void widgetSelected(SelectionEvent event) {
-        
-        if (selectedListBox.getSelectionCount() > 0)
-          setRemoveButtonEnabled(true);
-        else
-          setRemoveButtonEnabled(false);
-        return;
-      }
-    });
-
-    GridData gd = new GridData(GridData.FILL_BOTH);
-    gd.widthHint = SIZING_LISTS_WIDTH;
-    gd.heightHint = SIZING_LISTS_HEIGHT;
-    selectedListBox.setLayoutData(gd);
-  }
-
-  void createImportButton(Composite parent) {
-    importButton = new Button(parent, SWT.PUSH);
-    importButton.setText(Messages._UI_IMPORT_BUTTON);
-    
-    GridData gridData = new GridData();
-    gridData.horizontalAlignment = GridData.CENTER;
-    importButton.setLayoutData(gridData);
-    importButton.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-      }
-
-      public void widgetSelected(SelectionEvent e) {
-        FileSystemImportWizard importWizard =
-          new FileSystemImportWizard();
-        importWizard.init(workbench, selection);
-        Shell shell = Display.getCurrent().getActiveShell();
-        WizardDialog wizardDialog =
-          new WizardDialog(shell, importWizard);
-        wizardDialog.create();
-        wizardDialog.open();
-        sourceFileViewer.refresh();
-      }
-    });
-    importButton.setToolTipText(Messages._UI_IMPORT_BUTTON_TOOL_TIP);
-  }
-
-  public void addSelectedFilesToTargetList() {
-    ISelection selection = sourceFileViewer.getSelection();
-
-    if (isValidSourceFileViewerSelection(selection)) {
-      java.util.List list = null;
-      if (selection instanceof IStructuredSelection) {
-        list = ((IStructuredSelection) selection).toList();
-
-        if (list != null) {
-          list = ((IStructuredSelection) selection).toList();
-          for (Iterator i = list.iterator(); i.hasNext();) {
-            IResource resource = (IResource) i.next();
-            if (resource instanceof IFile) {
-              // Check if its in the list. Don't add it if it is.
-              String resourceName =
-                resource.getFullPath().toString();
-              if (selectedListBox.indexOf(resourceName) == -1)
-                selectedListBox.add(resourceName);
-            }
-          }
-          setFiles(selectedListBox.getItems());
-        }
-
-        setAddButtonEnabled(false);
-
-        if (selectedListBox.getItemCount() > 0) {
-          removeAllButton.setEnabled(true);
-          if (isFileMandatory)
-            setPageComplete(true);
-          if (selectedListBox.getSelectionCount() > 0)
-            setRemoveButtonEnabled(true);
-          else
-            setRemoveButtonEnabled(false);
-        }
-      }
-    }
-  }
-
-  class ButtonSelectListener implements SelectionListener {
-    public void widgetDefaultSelected(SelectionEvent e) {
-    }
-
-    public void widgetSelected(SelectionEvent e) {
-      if (e.widget == addButton) {
-        addSelectedFilesToTargetList();
-      } else if (e.widget == removeButton) {
-        String[] strings = selectedListBox.getSelection();
-        int size = selectedListBox.getSelectionCount();
-        for (int i = 0; i < size; i++) {
-          selectedListBox.remove(strings[i]);
-        }
-        removeButton.setEnabled(false);
-        if (selectedListBox.getItemCount() == 0) {
-          removeAllButton.setEnabled(false);
-          if (isFileMandatory)
-            setPageComplete(false);
-        }
-        setFiles(selectedListBox.getItems());
-      } else if (e.widget == removeAllButton) {
-        selectedListBox.removeAll();
-        removeButton.setEnabled(false);
-        removeAllButton.setEnabled(false);
-        if (isFileMandatory)
-          setPageComplete(false);
-        setFiles(selectedListBox.getItems());
-      }
-    }
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFilePage.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFilePage.java
deleted file mode 100644
index 78af295..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFilePage.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-//import org.eclipse.ui.help.WorkbenchHelp;
-
-public class SelectSingleFilePage extends WizardPage
-{
-  protected IWorkbench workbench;
-  protected SelectSingleFileView selectSingleFileView;
-  
-  // parameter isFileMandatory is used to determine if a file must be selected  
-  // before being able to proceed to the next page
-  public SelectSingleFilePage(IWorkbench workbench, IStructuredSelection selection, boolean isFileMandatory)
-  {
-    super("SelectSingleFilePage");
-    this.workbench = workbench;           
-    selectSingleFileView = new SelectSingleFileView(selection, isFileMandatory);    
-  }
-
-  public void setVisible(boolean visible)
-  {
-    selectSingleFileView.setVisibleHelper(visible);
-    super.setVisible(visible);
-  }
-
-  public void createControl(Composite parent)
-  {                          
-    SelectSingleFileView.Listener listener = new SelectSingleFileView.Listener()
-    {                                             
-      public void setControlComplete(boolean isComplete)
-      {
-        setPageComplete(isComplete);
-      }
-    };
-    selectSingleFileView.setListener(listener);
-    Control control = selectSingleFileView.createControl(parent);
-//    WorkbenchHelp.setHelp(control, B2BGUIContextIds.BTBG_SELECT_SINGLE_FILE_PAGE);
-    setControl(control);
-  }  
-
-  public void addFilter(ViewerFilter filter) 
-  { 
-    selectSingleFileView.addFilter(filter);
-  }
-
-  public void addFilterExtensions(String[] filterExtensions)
-  { 
-    selectSingleFileView.addFilterExtensions(filterExtensions);
-  }     
-
-  public void resetFilters()
-  {    
-    selectSingleFileView.resetFilters();
-  }
-  
-  public IFile getFile()
-  {  
-    return selectSingleFileView.getFile();
-  }
-  
-  
-  /**
-   * Returns the selectSingleFileView.
-   * @return SelectSingleFileView
-   */
-  public TreeViewer getSourceFileViewer() {
-    return selectSingleFileView.sourceFileViewer;
-  }
-
-  /**
-   * Returns the selectSingleFileView.
-   * @return SelectSingleFileView
-   */
-  public SelectSingleFileView getSelectSingleFileView() {
-    return selectSingleFileView;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java
deleted file mode 100644
index 70533c7..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.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.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.wizards.datatransfer.FileSystemImportWizard;
-import org.eclipse.wst.common.ui.internal.Messages;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-
-    
-
-public class SelectSingleFileView
-{                                
-  protected Composite            composite;
-  protected IStructuredSelection selection;
-  protected boolean              isFileMandatory;
-  protected TreeViewer           sourceFileViewer;
-  protected Button               importButton;
-  protected Vector               fFilters;
-  protected IFile                selectedFile;
-  protected ISelection           defaultSelection;  
-  protected Listener             listener;
-  
-  public static interface Listener
-  {
-    public void setControlComplete(boolean isComplete); 
-  }
-
-  public SelectSingleFileView(IStructuredSelection selection, boolean isFileMandatory)
-  {                      
-    this.selection = selection;
-    this.isFileMandatory = isFileMandatory;
-    this.selectedFile= null;
-    this.defaultSelection = null;      
-  }                              
-
-  public Composite createControl(Composite parent)
-  {              
-    Composite composite = new Composite(parent, SWT.NONE);
-    composite.setLayout(new GridLayout());
-    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    Composite smallComposite = new Composite(composite, SWT.NONE);
-    smallComposite.setLayoutData(new GridData(GridData.FILL, GridData.HORIZONTAL_ALIGN_FILL, true, false));
-    GridLayout gridLayout = new GridLayout(2, false);
-    gridLayout.marginHeight = 0;
-    smallComposite.setLayout(gridLayout);
-    
-    Label label = new Label(smallComposite, SWT.NONE);
-	label.setText(Messages._UI_LABEL_SOURCE_FILES);	
-	label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING, GridData.END, false, false));
-
-    //Collapse and Expand all buttons
-    ToolBar toolBar = new ToolBar(smallComposite, SWT.FLAT);
-    toolBar.setLayoutData(new GridData(GridData.END, GridData.END, true, false));
-    
-    ToolItem toolItem = new ToolItem(toolBar, SWT.NONE);
-    ImageDescriptor imageDescriptor = UIPlugin.getDefault().getImageDescriptor("icons/expandAll.gif");
-    Image image = imageDescriptor.createImage();
-    toolItem.setImage(image);
-    toolItem.setToolTipText(Messages._UI_POPUP_EXPAND_ALL);
-    toolItem.addSelectionListener(new SelectionListener(){
-    	
-	public void widgetDefaultSelected(SelectionEvent e) {
-	}
-
-	public void widgetSelected(SelectionEvent e) {
-		sourceFileViewer.expandAll();
-		
-	}});
-    
-    
-    toolItem = new ToolItem(toolBar, SWT.NONE);
-    imageDescriptor = UIPlugin.getDefault().getImageDescriptor("icons/collapseAll.gif");
-    image = imageDescriptor.createImage();
-    toolItem.setImage(image);
-    toolItem.setToolTipText(Messages._UI_POPUP_COLLAPSE_ALL);
-    toolItem.addSelectionListener(new SelectionListener(){
-
-	public void widgetDefaultSelected(SelectionEvent e) {
-	}
-
-	public void widgetSelected(SelectionEvent e) {
-		sourceFileViewer.collapseAll();
-		
-	}});
-
-    createSourceViewer(composite);
-    createFilterControl(composite);   
-    createImportButton(composite);  
-    sourceFileViewer.getTree().setFocus();
-    return composite;
-  }
-
-
-  protected void createFilterControl(Composite composite) 
-  {	
-  } 
-
-public void setListener(Listener listener)
-  {
-    this.listener = listener;
-  }  
-
-  protected void createSourceViewer(Composite parent)
-  {
-    sourceFileViewer = new TreeViewer(new Tree(parent, SWT.SINGLE | SWT.BORDER));
-    sourceFileViewer.setContentProvider(new WorkbenchContentProvider());
-    sourceFileViewer.setLabelProvider(new WorkbenchLabelProvider());
-    sourceFileViewer.addSelectionChangedListener(new ISelectionChangedListener() 
-    {
-      public void selectionChanged(SelectionChangedEvent event) 
-      {                  
-        boolean isComplete = true;
-        java.util.List list;
-        ISelection selection = event.getSelection();
-        if (selection instanceof IStructuredSelection) 
-        {
-          list = ((IStructuredSelection)selection).toList();
-          for (Iterator i = list.iterator(); i.hasNext();)
-          {
-            IResource resource = (IResource) i.next();
-            if (resource instanceof IFile) 
-            {
-              selectedFile = (IFile) resource;
-              if (isFileMandatory) 
-              {                                   
-                isComplete = true;
-                break;     
-              }                                   
-            }            
-            else 
-            {
-              selectedFile = null;
-              if (isFileMandatory) 
-              {            
-                isComplete = false;
-              }
-            }
-          } 
-          
-          if (listener != null)
-          {           
-            listener.setControlComplete(isComplete);
-          }
-        }
-      }	
-    });
-    Control treeWidget = sourceFileViewer.getTree();
-    GridData gd = new GridData(GridData.FILL_BOTH);
-    treeWidget.setLayoutData(gd);
-  }
-  
-                                        
-  protected void createImportButton(Composite parent)
-  {   
-    importButton = new Button(parent, SWT.NONE);
-    importButton.setText(Messages._UI_IMPORT_BUTTON);
-    
-    GridData gridData = new GridData();    
-    gridData.horizontalAlignment = GridData.CENTER;
-    importButton.setLayoutData(gridData);
-    importButton.addSelectionListener(new SelectionListener()
-    {
-      public void widgetDefaultSelected(SelectionEvent e)
-      {
-      }
-
-      public void widgetSelected(SelectionEvent e)
-      {                 
-        // This listener is if the Import Wizard adds a new few, we want
-        // it to be selected when we come back from it
-        ImportAddResourceListener importAddResourceListener= new ImportAddResourceListener();
-        
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(importAddResourceListener);
-          
-        FileSystemImportWizard importWizard = new FileSystemImportWizard();
-        IWorkbench workbench = UIPlugin.getDefault().getWorkbench();
-        selection = (IStructuredSelection) sourceFileViewer.getSelection();
-        importWizard.init(workbench, selection != null ? selection : new StructuredSelection());
-        Shell shell = Display.getCurrent().getActiveShell();
-        WizardDialog wizardDialog = new WizardDialog(shell, importWizard);
-        wizardDialog.create();
-        wizardDialog.open();
-        sourceFileViewer.refresh();
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener(importAddResourceListener);
-        IFile importedFile = importAddResourceListener.getImportedFile();
-        if (importedFile != null) 
-        {          
-          StructuredSelection structuredSelection = new StructuredSelection(importedFile);
-          sourceFileViewer.setSelection(structuredSelection);
-        }
-      }
-    });                  
-    importButton.setToolTipText(Messages._UI_IMPORT_BUTTON_TOOL_TIP);
-  } 
-
-  public IFile getFile()
-  {
-    return selectedFile;
-  }
-
-  public void setDefaultSelection(ISelection selection)
-  {
-    this.defaultSelection = selection;
-  } 
-
-  public void resetFilters()
-  {
-    fFilters=null;
-  }
-
-  public void addFilter(ViewerFilter filter) 
-  {
-    if (fFilters == null)
-    {
-      fFilters= new Vector();
-    }
-    fFilters.add(filter);
-  }
-
-  // This is a convenience method that allows filtering of the given file
-  // exensions. It internally creates a ResourceFilter so that users of this
-  // class don't have to construct one.
-  // If the extensions provided don't have '.', one will be added.
-  public void addFilterExtensions(String[] filterExtensions)
-  {
-    // First add the '.' to the filterExtensions if they don't already have one
-    String[] correctedFilterExtensions = new String[filterExtensions.length];
-    for (int i=0; i < filterExtensions.length; i++) 
-    {
-      // If the extension doesn't start with a '.', then add one.
-      if (filterExtensions[i].startsWith("."))
-      {
-        correctedFilterExtensions[i] = filterExtensions[i];
-      }
-      else
-      {
-        correctedFilterExtensions[i] = "." + filterExtensions[i];
-      }
-    }
-
-    ViewerFilter filter = new ResourceFilter(correctedFilterExtensions, null);
-    addFilter(filter);
-  }                     
-
-// This is a convenience method that allows filtering of the given file
-// exensions. It internally creates a ResourceFilter so that users of this
-// class don't have to construct one.
-// If the extensions provided don't have '.', one will be added.
-  public void addFilterExtensions(String[] filterExtensions, IFile [] excludedFiles)
-  {
-    // First add the '.' to the filterExtensions if they don't already have one
-    String[] correctedFilterExtensions = new String[filterExtensions.length];
-    for (int i=0; i < filterExtensions.length; i++)
-    {
-      // If the extension doesn't start with a '.', then add one.
-      if (filterExtensions[i].startsWith("."))
-      {
-        correctedFilterExtensions[i] = filterExtensions[i];
-      }
-      else
-      {
-        correctedFilterExtensions[i] = "." + filterExtensions[i];
-      }
-    }
-    ViewerFilter filter;
-    if (excludedFiles != null)
-    {
-      filter = new ResourceFilter(correctedFilterExtensions, excludedFiles, null);
-    }
-    else
-    {
-      filter = new ResourceFilter(correctedFilterExtensions, null);
-    }
-    addFilter(filter);
-  }
-  
-  // This is a convenience method that allows filtering of the given file
-  // exensions. It internally creates a ResourceFilter so that users of this
-  // class don't have to construct one.
-  // If the extensions provided don't have '.', one will be added.
-  public void setFilterExtensions(String[] filterExtensions)
-  {
-	// First add the '.' to the filterExtensions if they don't already have one
-	String[] correctedFilterExtensions = new String[filterExtensions.length];
-	for (int i=0; i < filterExtensions.length; i++) 
-	{		
-	  // If the extension doesn't start with a '.', then add one.
-	  if (filterExtensions[i].startsWith("."))
-	  {
-		correctedFilterExtensions[i] = filterExtensions[i];
-	  }
-	  else
-	  {
-		correctedFilterExtensions[i] = "." + filterExtensions[i];
-	  }
-	}
-	ViewerFilter filter = new ResourceFilter(correctedFilterExtensions, null);
-    fFilters= new Vector();
-	fFilters.add(filter);
-	if (sourceFileViewer != null)
-	{	
-	  sourceFileViewer.getTree().setRedraw(false);
-      sourceFileViewer.resetFilters();
-      for (Iterator i=fFilters.iterator(); i.hasNext();)
-      {     
-	    sourceFileViewer.addFilter((ViewerFilter)i.next());
- 	  }
-	  sourceFileViewer.getTree().setRedraw(true);
-	  sourceFileViewer.getTree().redraw();
-	}	
-  }     
-                                 
-  // this method should be called by a Wizard page or Dialog when it becomes visible
-  public void setVisibleHelper(boolean visible)
-  {    
-    if (visible == true) 
-    {
-      if (fFilters != null) 
-      {
-        sourceFileViewer.resetFilters();
-        for (Iterator i=fFilters.iterator(); i.hasNext();) 
-       	  sourceFileViewer.addFilter((ViewerFilter)i.next());
-      }
-      sourceFileViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
-      sourceFileViewer.expandToLevel(1);
-
-      if (defaultSelection != null) 
-      {
-        sourceFileViewer.setSelection(defaultSelection, true);        
-      }   
-      else if (!sourceFileViewer.getSelection().isEmpty())
-      {     
-        sourceFileViewer.setSelection(sourceFileViewer.getSelection());
-      } 
-      else
-      {                         
-        if (isFileMandatory && listener != null)
-        {           
-          listener.setControlComplete(false);
-        }
-      }         
-    }                                   
-  }
-  
-  class ImportAddResourceListener implements IResourceChangeListener, IResourceDeltaVisitor
-  {
-	Vector importedFiles;
-
-	ImportAddResourceListener()
-	{
-	  importedFiles = new Vector(); 
-	}
-  
-	public void resourceChanged(IResourceChangeEvent event)
-	{
-	  IResourceDelta resourceDelta = event.getDelta();
-    
-	  try
-	  {
-		if (resourceDelta != null) 
-		{
-		  resourceDelta.accept(this);
-		}
-	  }
-	  catch (Exception e)
-	  {
-		//TODO... log exception
-		//UIPlugin.getMsgLogger().write("Exception caught during resource change" + e);
-		//UIPlugin.getMsgLogger().writeCurrentThread(); 
-	  }      
-	}
-
-	public boolean visit(IResourceDelta delta)
-	{
-	  if (delta.getKind() == IResourceDelta.ADDED)
-	  {
-		if (delta.getResource() instanceof IFile) 
-		  importedFiles.add(delta.getResource());
-	  }
-	  return true;
-	}
-
-	public Collection getImportedFiles()
-	{
-	  return importedFiles;
-	}
-    
-	// This returns the first imported file in the list of imported files
-	public IFile getImportedFile()
-	{
-	  if (importedFiles.isEmpty() == false) 
-		return (IFile)importedFiles.firstElement();
-  
-	  return null;
-	}
-  }  
-  
-  public void addSelectionChangedTreeListener(ISelectionChangedListener treeListener) {
-  	sourceFileViewer.addSelectionChangedListener(treeListener);
-  }
-}              
-
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/TableNavigator.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/TableNavigator.java
deleted file mode 100644
index 1d037a0..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/TableNavigator.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.swt.custom.TableCursor;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.jface.viewers.*;
-
-
-  /**
-   * Adds a TableCursor to a StructuredViewer - for keyboard navigation of the table
-   * The intent of this class is to provide the standard listeners for using F2 to
-   * activate cell editors.
-   *
-   * Due to a current bug in the TableCursor, TableViewers using this class must make
-   * a call similar to the TableNavigator method moveCellEditorsAbove(cellEditors)
-   * whenever a setCellEditors call is made in the StructuredViewer.  This is so that the
-   * cell editor control shows up above the table cursor control.
-   */
-
-public class TableNavigator extends TableCursor
-{
-  private static final String TABLETREEITEM_ID = "TableTreeItemID";
-
-   final Table table;
-
-   public TableNavigator(Table table, StructuredViewer viewer)
-   {
-      super(table, SWT.NONE);
-      this.table = table;
-      final Table currentTable = table;
-      final StructuredViewer sViewer = viewer;
-
-      // Linux index out of bounds fix.  See defect 253429, 253433, and more
-      setVisible(false);
-
-      addPaintListener(viewer);
-      addKeyListeners(viewer);
-      addMouseListeners(viewer);
-      addSelectionListener(new SelectionAdapter()
-      {
-      	/**
-		 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			super.widgetSelected(e);
-			     if (sViewer instanceof TableTreeViewer)
-                 {
-                   TableTreeItem tableTreeItem = (TableTreeItem)getRow().getData(TABLETREEITEM_ID);
-                   StructuredSelection selection = new StructuredSelection(tableTreeItem.getData());
-                   sViewer.setSelection(selection, true);
-                 }
-		}
-
-
-      });
-      addFocusListener(new FocusAdapter(){
-         public void focusGained(FocusEvent e)
-         {
-         	// if e.source is not a child of the table then set selection - this is for tab into viewer
-         	Object eventSource = e.getSource();
-         	if (eventSource instanceof Control)
-         	{
-         	if (!isChild(currentTable, (Control)eventSource))
-         	{
-         	  if (currentTable.getItemCount() > 0 && currentTable.getSelectionCount() <= 0)
-              {
-                 if (sViewer instanceof TableTreeViewer)
-                 {
-                   TableTreeItem tableTreeItem = (TableTreeItem)getRow().getData(TABLETREEITEM_ID);
-                   StructuredSelection selection = new StructuredSelection(tableTreeItem.getData());
-                   sViewer.setSelection(selection, true);
-                 }
-                 else
-                 {
-               	   currentTable.setSelection(0); 
-               	   setSelection(0,0);
-                 }              
-              }              
-       	    }
-       	    else 
-       	    {
-       	      if (currentTable.getItems().length > 0)
-       	      {
-       	      	 // cursor can end up on a non-existent table row 
-       	         //   currently no way to get the current table cursor row 
-       	      	 //   so for now just catch the exception since it doesn't
-       	      	 //   cause any side effects.
-       	      	 try
-       	      	 {
-                   setVisible(true);
-       	      	 }
-       	      	 catch (Exception ee)
-       	      	 {     	            	      	
-       	      		currentTable.setSelection(0);       	      		         
-       	      		setSelection(0,0);
-       	      	 }
-       	       }       	    
-       	       else  // do not show table cursor if there are no elements in the table - avoid repaint
-       	       {
-       	         setVisible(false);
-       	       }
-              }
-         	}          
-          }
-          
-          protected boolean isChild(Control parent, Control child)
-          {
-            Control tempChild = child;
-            while (tempChild != null)
-            {
-              if (tempChild == parent)
-              {
-                return true;
-              }
-              tempChild = tempChild.getParent();
-            }
-            return false;
-          }
-          
-          /**
-           * @see org.eclipse.swt.events.FocusAdapter#focusLost(FocusEvent)
-           */
-          public void focusLost(FocusEvent e)
-          {
-            // Set the table navigator to be not visible if the the table
-            // is not in focus and a child of the table is not in focus
-            // note that we do this asynchronously so we don't mess up the
-            // current focus handling.
-            Display.getDefault().asyncExec(new Runnable()
-            { 
-              /**
-               * @see java.lang.Runnable#run()
-               */
-              public void run()
-              {
-                if (currentTable != null && !currentTable.isDisposed() && !currentTable.isFocusControl() &&
-                    !isChild(currentTable, Display.getDefault().getFocusControl()))
-                {
-                  setVisible(false);
-                }
-              }
-            });
-          }
-
-      }); 
-      
-     
-      
-
-      table.addFocusListener(new FocusAdapter()
-      {
-        /**
-         * @see org.eclipse.swt.events.FocusListener#focusGained(FocusEvent)
-         */
-        public void focusGained(FocusEvent e)
-        {
-          // only display navigator if there are items in the table 
-          // and if the focus wasn't gained from our own table navigator
-          // (ie focus came from outside)
-          if (currentTable.getItemCount() > 0 &&
-              (Display.getDefault().getFocusControl() != null) &&
-              !Display.getDefault().getFocusControl().equals(TableNavigator.this))
-          {
-            // note that we do this asynchronously so we don't mess up the
-            // current focus handling.
-            Display.getDefault().asyncExec(new Runnable()            
-            {
-              /**
-               * @see java.lang.Runnable#run()
-               */
-              public void run()
-              {
-                if (!isVisible())
-                {
-                  try
-                  {
-                    setVisible(true);
-                    setFocus();
-                  }
-                  catch (Exception e)
-                  {
-                      // catch IllegalArgumentExceptions here - index out of bounds on tableviewer
-                      if (currentTable.getItemCount() > 0)
-                      {
-                      currentTable.setSelection(0);                     
-                      setSelection(0,0);                   
-                      }
-                      else  // do not show table cursor if there are no elements in the table - avoid repaint
-                      {
-                        setVisible(false);
-                      }
-                  }
-                }
-              }
-            });
-          }
-        }
-      });           
-   }
-
-   public Table getTable()
-   {
-     return table;
-   }
-
-    public void addPaintListener(StructuredViewer viewer)
-    {
-     
-      addPaintListener(new PaintListener() 
-      {
-         public void paintControl(PaintEvent e)
-         {
-         	TableItem[] selection = table.getSelection();
-            final TableItem row = (selection.length == 0) ? table.getItem(table.getTopIndex()) : selection[0];
-            final String cellText = row.getText(getColumn());
-            final Image cellImage = row.getImage(getColumn());
-            final int col = getColumn();
-
-            Display.getCurrent().asyncExec(new Runnable()
-            {
-               public void run()
-               {
-                  if (!row.isDisposed())
-                  {
-                     String newText = row.getText(getColumn());
-                     if (!newText.equals(cellText) || !(row.getImage(col) == cellImage)) 
-                     {
-                       redraw();
-                     }
-                  }
-                }
-             });
-           }
-       });
-    }
-
-
-    public SelectionKeyAdapter getKeyAdapter(StructuredViewer viewer)
-    {
-        if (keyAdapter == null)
-        {
-           return new SelectionKeyAdapter(viewer);
-        }
-        else return keyAdapter;
-    }
-
-    public void setKeyAdapter(SelectionKeyAdapter kAdapter)
-    {
-       keyAdapter = kAdapter;
-    }
-
-    protected SelectionKeyAdapter keyAdapter = null;
-
-    public class SelectionKeyAdapter extends KeyAdapter
-    {
-       StructuredViewer structuredViewer;
-
-       public SelectionKeyAdapter(StructuredViewer viewer)
-       {
-          super();
-          this.structuredViewer = viewer;
-       }
-
-       int lastKeyPressed = -1;  // used to cache the last key for key combos
-
-       public void keyPressed(KeyEvent e) 
-       {       	
-               TableItem row = getRow();
-               int column = getColumn();                
-
-               // hack to emulate SHIFT+F10 popup menu - otherwise table cursor
-               //   obscures the table popup mechanism and it doesn't work.
-               if (lastKeyPressed == SWT.SHIFT && e.keyCode == SWT.F10)
-               {
-                  Menu popup = getTable().getMenu();
-                  popup.setVisible(true);
-               }
-               lastKeyPressed = e.keyCode;
-               
-               //jvh - look for + or - key
-               // column == 0
-               if (row.getData(TABLETREEITEM_ID) instanceof TableTreeItem)
-               {
-	               if (column == 0 && e.character == '+') 
-	               {
-               	  	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);	               	
-	               	  ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), true);                       
-	               	  refresh();
-	               }
-	               else if (column == 0 && e.character == '-') 
-	               {
-	               	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);	               	
-	               	  ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), false);                       
-                      refresh();
-	               }               
-               }
-               // use F2 to invoke editing for a cell
-               if (e.keyCode == SWT.F2)     
-               {
-               	  if (structuredViewer instanceof TableViewer)
-               	  {
-                    ((TableViewer)structuredViewer).editElement(row.getData(), column);   
-               	  }
-               	  else if (structuredViewer instanceof TableTreeViewer)
-               	  {  
-               	  	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);
-               	  	 ((TableTreeViewer)structuredViewer).editElement(tableTreeItem.getData(), column);   
-               	  }
-               }
-        }
-    }
-
-    public void addKeyListeners(StructuredViewer viewer)
-    {
-      final StructuredViewer structuredViewer = viewer;
-                     
-      addKeyListener(getKeyAdapter(structuredViewer));
-    }      
-    
-   public void addMouseListeners(StructuredViewer viewer)
-   {
-      final StructuredViewer structuredViewer = viewer;
-
-      addMouseListener(new MouseAdapter()
-      {
-
-         public void mouseUp(MouseEvent e) 
-         {        
-               TableItem row = getRow();
-               int column = getColumn(); 
-         
-               // use mouse button 1 to invoke editing for a cell
-               if (e.button == 1)     
-               {
-                  if (structuredViewer instanceof TableViewer)
-                        {
-                     ((TableViewer)structuredViewer).editElement(row.getData(), column);   
-                        }
-                        else if (structuredViewer instanceof TableTreeViewer && column == 1)
-                        {
-                                 TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);
-                                ((TableTreeViewer)structuredViewer).editElement(tableTreeItem.getData(), column);   
-                        }                                               
-               
-                 if (structuredViewer instanceof TableTreeViewer && row.getData(TABLETREEITEM_ID) instanceof TableTreeItem)
-                 {              
-                                   if (column == 0)
-                                   {
-                                    TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);                             
-                                          boolean expandState = tableTreeItem.getExpanded();
-                       ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), !expandState);
-                       refresh();
-                    }
-                 }
-               }          
-            }
-      });
-     }
-
-
-  /**
-   * Ensure that cell editor control shows up above the table cursor control.
-   * Should be called whenever the table viewer makes a new call to setCellEditors
-   * i.e. in constructor and in refreshCellEditors
-   *
-   * @param - array of cell editors for the StructuredViewer
-   */
-
-  public void moveCellEditorsAbove(CellEditor[] editorArray)
-  {
-    for (int i = 0; i < editorArray.length ; i++)
-    {
-      CellEditor cEd = editorArray[i];
-      if (cEd != null && cEd.getControl() != null)
-      {
-        cEd.getControl().moveAbove(null);
-      }
-    }
-  }
-
-  public void refresh()
-  {
-     Display.getCurrent().asyncExec(new Runnable()
-     {
-        public void run()
-        {
-           if (!isDisposed() && isVisible())
-             redraw();
-        }
-     });
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageEditorSite.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageEditorSite.java
deleted file mode 100644
index ee280ca..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageEditorSite.java
+++ /dev/null
@@ -1,103 +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.wst.common.ui.provisional.editors;
-
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageEditorSite;
-
-/**
- * @deprecated - No longer necessary as of 3.2M3.
- */
-public class PostMultiPageEditorSite extends MultiPageEditorSite {
-	/**
-	 * The post selection change listener, initialized lazily;
-	 * <code>null</code> if not yet created.
-	 */
-	private ISelectionChangedListener postSelectionChangedListener = null;
-
-	public PostMultiPageEditorSite(MultiPageEditorPart multiPageEditor, IEditorPart editor) {
-		super(multiPageEditor, editor);
-	}
-
-	/**
-	 * Returns the selection changed listener which listens to the nested
-	 * editor's post selection changes, and calls
-	 * <code>handlePostSelectionChanged</code>.
-	 * 
-	 * @return the selection changed listener
-	 */
-	private ISelectionChangedListener getPostSelectionChangedListener() {
-		if (postSelectionChangedListener == null) {
-			postSelectionChangedListener = new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					PostMultiPageEditorSite.this.handlePostSelectionChanged(event);
-				}
-			};
-		}
-		return postSelectionChangedListener;
-	}
-
-	/**
-	 * Handles a post selection changed event from the nested editor. The
-	 * default implementation gets the selection provider from the multi-page
-	 * editor's site, and calls <code>firePostSelectionChanged</code> on it
-	 * (only if it is an instance of <code>MultiPageSelectionProvider</code>),
-	 * passing a new event object.
-	 * <p>
-	 * Subclasses may extend or reimplement this method.
-	 * </p>
-	 * 
-	 * @param event
-	 *            the event
-	 */
-	protected void handlePostSelectionChanged(SelectionChangedEvent event) {
-		ISelectionProvider parentProvider = getMultiPageEditor().getSite().getSelectionProvider();
-		if (parentProvider instanceof PostMultiPageSelectionProvider) {
-			SelectionChangedEvent newEvent = new SelectionChangedEvent(parentProvider, event.getSelection());
-			((PostMultiPageSelectionProvider) parentProvider).firePostSelectionChanged(newEvent);
-		}
-	}
-
-	/**
-	 * The <code>MultiPageEditorSite</code> implementation of this
-	 * <code>IWorkbenchPartSite</code> method remembers the selection
-	 * provider, and also hooks a listener on it, which calls
-	 * <code>handleSelectionChanged</code> when a selection changed event
-	 * occurs and <code>handlePostSelectionChanged</code> when a post
-	 * selection changed event occurs.
-	 * 
-	 * @param provider
-	 *            The selection provider.
-	 * @see PostMultiPageEditorSite#handleSelectionChanged(SelectionChangedEvent)
-	 */
-	public void setSelectionProvider(ISelectionProvider provider) {
-		ISelectionProvider oldSelectionProvider = getSelectionProvider();
-		if (oldSelectionProvider != null) {
-			if (oldSelectionProvider instanceof IPostSelectionProvider) {
-				((IPostSelectionProvider) oldSelectionProvider).removePostSelectionChangedListener(getPostSelectionChangedListener());
-			}
-		}
-
-		super.setSelectionProvider(provider);
-
-		if (provider != null) {
-			if (provider instanceof IPostSelectionProvider) {
-				((IPostSelectionProvider) provider).addPostSelectionChangedListener(getPostSelectionChangedListener());
-			}
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageSelectionProvider.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageSelectionProvider.java
deleted file mode 100644
index 3a4f908..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageSelectionProvider.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.wst.common.ui.provisional.editors;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageSelectionProvider;
-
-/**
- * @deprecated - No longer necessary as of 3.2M3.
- */
-public class PostMultiPageSelectionProvider extends MultiPageSelectionProvider implements IPostSelectionProvider {
-	private ListenerList postListeners;
-
-	public PostMultiPageSelectionProvider(MultiPageEditorPart multiPageEditor) {
-		super(multiPageEditor);
-		postListeners = new ListenerList();
-	}
-
-	public void addPostSelectionChangedListener(ISelectionChangedListener listener) {
-		postListeners.add(listener);
-	}
-
-	public void firePostSelectionChanged(final SelectionChangedEvent event) {
-		Object[] listeners = postListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			final ISelectionChangedListener pl = (ISelectionChangedListener) listeners[i];
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					pl.selectionChanged(event);
-				}
-			});
-		}
-	}
-
-	public void removePostSelectionChangedListener(ISelectionChangedListener listener) {
-		postListeners.remove(listener);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostSelectionMultiPageEditorPart.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostSelectionMultiPageEditorPart.java
deleted file mode 100644
index bcd2f07..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostSelectionMultiPageEditorPart.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.provisional.editors;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.MultiPageEditorPart;
-
-/**
- * Adds posts selection notifications from contained editor parts to
- * listeners. This part was created as a workaround for
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=108324 and will be removed
- * once WTP is building on a platform milestone that includes a fix.
- * 
- * @deprecated - No longer necessary as of 3.2M3.
- */
-public abstract class PostSelectionMultiPageEditorPart extends MultiPageEditorPart {
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		super.init(site, input);
-		site.setSelectionProvider(new PostMultiPageSelectionProvider(this));
-	}
-
-	protected void pageChange(int newPageIndex) {
-		super.pageChange(newPageIndex);
-		IEditorPart activeEditor = getEditor(newPageIndex);
-		if (activeEditor != null) {
-			ISelectionProvider selectionProvider = activeEditor.getSite().getSelectionProvider();
-			if (selectionProvider != null) {
-				SelectionChangedEvent event = new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection());
-				((PostMultiPageSelectionProvider) getSite().getSelectionProvider()).firePostSelectionChanged(event);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/.classpath b/plugins/org.eclipse.wst.common.uriresolver/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/.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/plugins/org.eclipse.wst.common.uriresolver/.cvsignore b/plugins/org.eclipse.wst.common.uriresolver/.cvsignore
deleted file mode 100644
index 30d3363..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-uriresolver.jar
-build.xml
-temp.folder
-org.eclipse.wst.common.uriresolver_1.0.0.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.uriresolver/.project b/plugins/org.eclipse.wst.common.uriresolver/.project
deleted file mode 100644
index e19b693..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.uriresolver</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/plugins/org.eclipse.wst.common.uriresolver/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.uriresolver/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b8a0d61..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Mon Jan 30 19:48:07 EST 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=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.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF
deleted file mode 100644
index 202c7b5..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.uriresolver; singleton:=true
-Bundle-Version: 1.1.201.qualifier
-Bundle-Activator: org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.uriresolver.internal,
- org.eclipse.wst.common.uriresolver.internal.provisional,
- org.eclipse.wst.common.uriresolver.internal.util
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-ClassPath: .
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.common.uriresolver/README.txt b/plugins/org.eclipse.wst.common.uriresolver/README.txt
deleted file mode 100644
index acaf514..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-API for an URI resolver.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.uriresolver/about.html b/plugins/org.eclipse.wst.common.uriresolver/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" 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 ("Redistributor") 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>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/build.properties b/plugins/org.eclipse.wst.common.uriresolver/build.properties
deleted file mode 100644
index a1aa98a..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               about.html,\
-               .,\
-               plugin.properties,\
-               schema/
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-               
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.uriresolver/plugin.properties b/plugins/org.eclipse.wst.common.uriresolver/plugin.properties
deleted file mode 100644
index 307664b..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/plugin.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-providerName=Eclipse.org
-pluginName=Common URI Resolver Framework
-###############################################################################
-
-resolverExtensions=URI Resolver Extensions Point
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.uriresolver/plugin.xml b/plugins/org.eclipse.wst.common.uriresolver/plugin.xml
deleted file mode 100644
index 9aa99c4..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension-point id="resolverExtensions" name="%resolverExtensions" schema="schema/resolverExtensions.exsd"/>
-
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd b/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd
deleted file mode 100644
index 702bb0c..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.uriresolver">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.uriresolver" id="resolverExtensions" name="URI Resolver Extensions Point"/>
-      </appInfo>
-      <documentation>
-         The URI Resolver Extensions point allows clients to register custom URI resolvers that will be used in the resolution of resources by tools such as editors, generators, validators, and wizards.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="resolverExtension" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="resolverExtension">
-      <complexType>
-         <sequence>
-            <element ref="projectNature" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="stage" type="string">
-            <annotation>
-               <documentation>
-                  The stage in which to run this extension resolver: prenormalization, postnormalization, or physical. Defaults to postnormalization.&lt;br&gt;
-prenormalization:  run before normalization of the input&lt;br&gt;
-postnormalization: run after normalization of the input&lt;br&gt;
-physical:          run after all pre and postnormalization resolvers
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The class that implements &lt;code&gt;org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="priority" type="string">
-            <annotation>
-               <documentation>
-                  The priority of this resolver: high, medium, or low. Defaults to medium. The priority allows you to specify when this resolver should run with respect to other resolvers defined for the same stage.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="projectNature">
-      <annotation>
-         <documentation>
-            If a project nature is specified the URI resolver will only be used for projects that contain one of the specified project natures. If no project natures are specified the URI resolver will be used for all projects.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A project nature ID for which the URI resolver should be used.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an URI resolver contribution:
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.common.uriresolver.resolverExtensions&quot;&gt;
-      &lt;resolverExtension
-            stage=&quot;physical&quot;
-            priority=&quot;low&quot;
-            class=&quot;org.eclipse.wst.common.uriresolver.SampleResolver&quot;&gt;
-      &lt;/resolverExtension&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The supplied class must implement &lt;code&gt;org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         &lt;code&gt;
-org.eclipse.wst.common.componentcore.internal.util.ComponentResolver
-&lt;/code&gt;
-provides an URI resolver that resolves references in a project with multiple components
-&lt;code&gt;
-org.eclipse.wst.internet.cache.internal.CacheURIResolverExtension
-&lt;/code&gt;
-provides an URI resolver that resolves references in a cache
-&lt;code&gt;
-org.eclipse.wst.xml.core.internal.catalog.XMLCatalogURIResolverExtension
-&lt;/code&gt;
-provides an URI resolver that resolves references from an XML catalog
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the 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/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java
deleted file mode 100644
index e9b2c17..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
-import org.osgi.framework.Bundle;
-
-
-/**
- * @author csalter
- * 
- */
-public class ExtensibleURIResolver implements URIResolver
-{
-	private static final boolean logExceptions = false;
-
-	//protected IProject project;
-
-	//TODO... consider ctor that takes a project arg
-	//public ExtensibleURIResolver(IProject project)
-	//{
-	//	this.project = project;
-	//}
-
-	public ExtensibleURIResolver()
-	{
-	}
-
-	public String resolve(String baseLocation, String publicId, String systemId)
-	{
-		String result = systemId;
-
-		// compute the project that holds the resource
-		//
-    IFile file = computeFile(baseLocation);
-		IProject project =  file != null ? file.getProject() : null;
-
-		URIResolverExtensionRegistry resolverRegistry = URIResolverExtensionRegistry.getIntance();
-		List list = resolverRegistry.getExtensionDescriptors(project);
-
-		// get the list of applicable pre-normalized resolvers from the
-		// extension registry
-		//
-		for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_PRENORMALIZATION).iterator(); i.hasNext();)
-		{
-			URIResolverExtension resolver = (URIResolverExtension) i.next();
-			String tempresult = resolver.resolve(file, baseLocation, publicId, result);
-			if(tempresult != null)
-			{
-			  result = tempresult;
-			}
-		}
-
-		// normalize the uri
-		//
-		result = normalize(baseLocation, result);
-
-		// get the list of applicable post-normalized resolvers from the
-		// extension registry
-		//		
-		for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION).iterator(); i.hasNext();)
-		{ 
-			URIResolverExtension resolver = (URIResolverExtension) i.next();
-			String tempresult = resolver.resolve(file, baseLocation, publicId, result);
-			if(tempresult != null)
-			{
-			  result = tempresult;
-			}
-		}
-
-		return result;
-	}
-    
-    public String resolvePhysicalLocation(String baseLocation, String publicId, String logicalLocation)
-    {
-      String result = logicalLocation;
-      URIResolverExtensionRegistry resolverRegistry = URIResolverExtensionRegistry.getIntance();
-      IFile file = computeFile(baseLocation);
-      
-      // compute the project that holds the resource
-      //      
-      IProject project =  file != null ? file.getProject() : null;            
-      List list = resolverRegistry.getExtensionDescriptors(project);      
-      for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_PHYSICAL).iterator(); i.hasNext(); )
-      {        
-        // get the list of applicable physical resolvers from the extension registry
-        //
-        while (i.hasNext())
-        {
-          URIResolverExtension resolver = (URIResolverExtension) i.next();
-          String tempresult = resolver.resolve(file, baseLocation, publicId, result);
-          if(tempresult != null)
-          {
-            result = tempresult;
-          }
-        }
-      }        
-      return result;
-    }
-    
-
-	protected String normalize(String baseLocation, String systemId)
-	{
-	  // If no systemId has been specified there is nothing to do
-	  // so return null;
-	  if(systemId == null)
-	    return null;
-	  String result = systemId;
-      
-      // cs : sometimes normalizing the URI will cause an exception to get thrown
-      // for example the 'bad' version of the URI below ...
-      //
-      //   good = "jar:/resource/project-name/WebContent/WEB-INF/lib/generator.jar!/META-INF/schema/config.dtd"
-      //   bad  = "jar:/resource/project-name/WebContent/WEB-INF/lib/generator.jar/META-INF/schema/config.dtd"
-      //
-      // Here we enclose the normalization in a try/catch block with the assumption that the caller
-      // (i.e. the 'resolve' method) isn't interested in handling this exception.        
-	  try
-	  {
-	    // normalize the URI
-	    URI systemURI = URI.createURI(systemId);
-	    if (systemURI.isRelative())
-	    {
-	      baseLocation = baseLocation.replace('\\','/');
-	      URI baseURI = URI.createURI(baseLocation);
-          
-          // TODO (cs) we should add more comments to explain this in a bit more detail
-	      try
-	      {
-	        result = systemURI.resolve(baseURI).toString();
-	      }
-	      catch (IllegalArgumentException e) {
-	        Bundle bundle = URIResolverPlugin.getInstance().getBundle();
-	        IStatus statusObj = null;
-	        java.net.URI baseURI2 = null;
-	        try {
-	          baseURI2 = java.net.URI.create(baseLocation);
-	        }
-	        catch (IllegalArgumentException e2) {
-	          if(logExceptions) {
-	            statusObj = new Status(IStatus.ERROR, bundle.getSymbolicName(), IStatus.ERROR, "Problem in creating java.net.URI in ExtensibleURIResolver:" + e2.getMessage(), e2); //$NON-NLS-1$
-	            Platform.getLog(bundle).log(statusObj);
-	          }
-	        }
-	        try {
-	          if(baseURI2 != null) {
-	            java.net.URI resultURI = baseURI2.resolve(systemId);
-	            result = resultURI.toString();
-	          }
-	        }
-	        catch (IllegalArgumentException e2) {
-	          if(logExceptions) {
-	            statusObj = new Status(IStatus.ERROR, bundle.getSymbolicName(), IStatus.ERROR, "Problem in resolving with java.net.URI in ExtensibleURIResolver:" + e2.getMessage(), null); //$NON-NLS-1$
-	            Platform.getLog(bundle).log(statusObj);
-	          }
-	        }
-	      }
-	    }
-	  }
-	  catch (Exception e)
-	  {     
-        // just eat the exception and return back the original systemId
-	  }
-	  return result;
-	}
-
-  protected IFile computeFile(String baseLocation)
-  {
-    IFile file = null;
-    if (baseLocation != null)
-    {
-      String pattern = "file:///"; //$NON-NLS-1$
-      if (baseLocation.startsWith(pattern))
-      {
-        baseLocation = baseLocation.substring(pattern.length());
-      }
-      IPath path = new Path(baseLocation);
-      file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
-    }
-    return file;    
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java
deleted file mode 100644
index 044d20b..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java
+++ /dev/null
@@ -1,2900 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * A representation of a Uniform Resource Identifier (URI), as specified by
- * <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>, with certain
- * enhancements.  A <code>URI</code> instance can be created by specifying
- * values for its components, or by providing a single URI string, which is
- * parsed into its components.  Static factory methods whose names begin
- * with "create" are used for both forms of object creation.  No public or
- * protected constructors are provided; this class can not be subclassed.
- *
- * <p>Like <code>String</code>, <code>URI</code> is an immutable class;
- * a <code>URI</code> instance offers several by-value methods that return a
- * new <code>URI</code> object based on its current state.  Most useful,
- * a relative <code>URI</code> can be {@link #resolve(URI) resolve}d against
- * a base absolute <code>URI</code> -- the latter typically identifies the
- * document in which the former appears.  The inverse to this is {@link
- * #deresolve(URI) deresolve}, which answers the question, "what relative
- * URI will resolve, against the given base, to this absolute URI?"
- *
- * <p>In the <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC</a>, much
- * attention is focused on a hierarchical naming system used widely to
- * locate resources via common protocols such as HTTP, FTP, and Gopher, and
- * to identify files on a local file system.  Acordingly, most of this
- * class's functionality is for handling such URIs, which can be identified
- * via {@link #isHierarchical isHierarchical}.
- *
- * <p><a name="device_explanation">
- * The primary enhancement beyond the RFC description is an optional
- * device component.  Instead of treating the device as just another segment
- * in the path, it can be stored as a separate component (almost a
- * sub-authority), with the root below it.  For example, resolving
- * <code>/bar</code> against <code>file:///c:/foo</code> would result in
- * <code>file:///c:/bar</code> being returned.  Also, you cannot take
- * the parent of a device, so resolving <code>..</code> against
- * <code>file:///c:/</code> would not yield <code>file:///</code>, as you
- * might expect.  This feature is useful when working with file-scheme
- * URIs, as devices do not typically occur in protocol-based ones.  A
- * device-enabled <code>URI</code> is created by parsing a string with
- * {@link #createURI(String) createURI}; if the first segment of the path
- * ends with the <code>:</code> character, it is stored (including the colon)
- * as the device, instead.  Alternately, either the {@link
- * #createHierarchicalURI(String, String, String, String, String) no-path}
- * or the {@link #createHierarchicalURI(String, String, String, String[],
- * String, String) absolute-path} form of <code>createHierarchicalURI()</code>
- * can be used, in which a non-null <code>device</code> parameter can be
- * specified.
- *
- * <p><a name="archive_explanation"> 
- * The other enhancement provides support for the almost-hierarchical
- * form used for files within archives, such as the JAR scheme, defined
- * for the Java Platform in the documentation for {@link
- * java.net.JarURLConnection}. By default, this support is enabled for
- * absolute URIs with scheme equal to "jar", "zip", or "archive" (ignoring case), and
- * is implemented by a hierarchical URI, whose authority includes the
- * entire URI of the archive, up to and including the <code>!</code>
- * character.  The URI of the archive must have no fragment.  The whole
- * archive URI must have no device and an absolute path.  Special handling
- * is supported for {@link #createURI creating}, {@link
- * #validArchiveAuthority validating}, {@link #devicePath getting the path}
- * from, and {@link #toString displaying} archive URIs. In all other
- * operations, including {@link #resolve(URI) resolving} and {@link
- * #deresolve(URI) deresolving}, they are handled like any ordinary URI.
- *
- * <p>This implementation does not impose the all of the restrictions on
- * character validity that are specified in the RFC.  Static methods whose
- * names begin with "valid" are used to test whether a given string is valid
- * value for the various URI components.  Presently, these tests place no
- * restrictions beyond what would have been required in order for {@link
- * createURI(String) createURI} to have parsed them correctly from a single
- * URI string.  If necessary in the future, these tests may be made more
- * strict, to better coform to the RFC.
- * 
- * <p>Another group of static methods, whose names begin with "encode", use
- * percent escaping to encode any characters that are not permitted in the
- * various URI components. Another static method is provided to {@link
- * #decode decode} encoded strings.  An escaped character is represented as
- * a percent sybol (<code>%</code>), followed by two hex digits that specify
- * the character code.  These encoding methods are more strict than the
- * validation methods described above.  They ensure validity according to the
- * RFC, with one exception: non-ASCII characters.
- *
- * <p>The RFC allows only characters that can be mapped to 7-bit US-ASCII
- * representations.  Non-ASCII, single-byte characters can be used only via
- * percent escaping, as described above.  This implementation uses Java's
- * Unicode <code>char</code> and <code>String</code> representations, and
- * makes no attempt to encode characters 0xA0 and above.  Characters in the
- * range 0x80-0x9F are still escaped.  In this respect, this notion of a URI
- * is actually more like an IRI (Internationalized Resource Identifier), for
- * which an RFC is now in <href="http://www.w3.org/International/iri-edit/draft-duerst-iri-09.txt">draft
- * form</a>.
- *
- * <p>Finally, note the difference between a <code>null</code> parameter to
- * the static factory methods and an empty string.  The former signifies the
- * absense of a given URI component, while the latter simply makes the
- * component blank.  This can have a significant effect when resolving.  For
- * example, consider the following two URIs: <code>/bar</code> (with no
- * authority) and <code>///bar</code> (with a blank authority).  Imagine
- * resolving them against a base with an authority, such as
- * <code>http://www.eclipse.org/</code>.  The former case will yield
- * <code>http://www.eclipse.org/bar</code>, as the base authority will be
- * preserved.  In the latter case, the empty authority will override the
- * base authority, resulting in <code>http:///bar</code>!
- */
-public final class URI
-{
-  // Common to all URI types.
-  private final int hashCode;
-  private final boolean hierarchical;
-  private final String scheme;  // null -> relative URI reference
-  private final String authority;
-  private final String fragment;
-  private URI cachedTrimFragment;
-  private String cachedToString;
-  //private final boolean iri;
-  //private URI cachedASCIIURI;
-
-  // Applicable only to a hierarchical URI.
-  private final String device;
-  private final boolean absolutePath;
-  private final String[] segments; // empty last segment -> trailing separator
-  private final String query;
-
-  // A cache of URIs, keyed by the strings from which they were created.
-  // The fragment of any URI is removed before caching it here, to minimize
-  // the size of the cache in the usual case where most URIs only differ by
-  // the fragment.
-  private static final Map uriCache = Collections.synchronizedMap(new HashMap());
-
-  // The lower-cased schemes that will be used to identify archive URIs.
-  private static final Set archiveSchemes;
-
-  // Identifies a file-type absolute URI.
-  private static final String SCHEME_FILE = "file";
-  private static final String SCHEME_JAR = "jar";
-  private static final String SCHEME_ZIP = "zip";
-  private static final String SCHEME_ARCHIVE = "archive";
-
-  // Special segment values interpreted at resolve and resolve time.
-  private static final String SEGMENT_EMPTY = "";
-  private static final String SEGMENT_SELF = ".";
-  private static final String SEGMENT_PARENT = "..";
-  private static final String[] NO_SEGMENTS = new String[0];
-
-  // Separators for parsing a URI string.
-  private static final char SCHEME_SEPARATOR = ':';
-  private static final String AUTHORITY_SEPARATOR = "//";
-  private static final char DEVICE_IDENTIFIER = ':';
-  private static final char SEGMENT_SEPARATOR = '/';
-  private static final char QUERY_SEPARATOR = '?';
-  private static final char FRAGMENT_SEPARATOR = '#';
-  private static final char USER_INFO_SEPARATOR = '@';
-  private static final char PORT_SEPARATOR = ':';
-  private static final char FILE_EXTENSION_SEPARATOR = '.';
-  private static final char ARCHIVE_IDENTIFIER = '!';
-  private static final String ARCHIVE_SEPARATOR = "!/";
-
-  // Characters to use in escaping.
-  private static final char ESCAPE = '%';
-  private static final char[] HEX_DIGITS = {
-    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
-
-  // Some character classes, as defined in RFC 2396's BNF for URI.
-  // These are 128-bit bitmasks, stored as two longs, where the Nth bit is set
-  // iff the ASCII character with value N is included in the set.  These are
-  // created with the highBitmask() and lowBitmask() methods defined below,
-  // and a character is tested against them using matches().
-  //
-  private static final long ALPHA_HI = highBitmask('a', 'z') | highBitmask('A', 'Z');
-  private static final long ALPHA_LO = lowBitmask('a', 'z')  | lowBitmask('A', 'Z');
-  private static final long DIGIT_HI = highBitmask('0', '9');
-  private static final long DIGIT_LO = lowBitmask('0', '9');
-  private static final long ALPHANUM_HI = ALPHA_HI | DIGIT_HI;
-  private static final long ALPHANUM_LO = ALPHA_LO | DIGIT_LO;
-  private static final long HEX_HI = DIGIT_HI | highBitmask('A', 'F') | highBitmask('a', 'f');
-  private static final long HEX_LO = DIGIT_LO | lowBitmask('A', 'F')  | lowBitmask('a', 'f');
-  private static final long UNRESERVED_HI = ALPHANUM_HI | highBitmask("-_.!~*'()"); 
-  private static final long UNRESERVED_LO = ALPHANUM_LO | lowBitmask("-_.!~*'()");
-  private static final long RESERVED_HI = highBitmask(";/?:@&=+$,");
-  private static final long RESERVED_LO = lowBitmask(";/?:@&=+$,");
-  private static final long URIC_HI = RESERVED_HI | UNRESERVED_HI;  // | ucschar | escaped
-  private static final long URIC_LO = RESERVED_LO | UNRESERVED_LO;
-
-  // Additional useful character classes, including characters valid in certain
-  // URI components and separators used in parsing them out of a string. 
-  //
-  private static final long SEGMENT_CHAR_HI = UNRESERVED_HI | highBitmask(";:@&=+$,");  // | ucschar | escaped
-  private static final long SEGMENT_CHAR_LO = UNRESERVED_LO | lowBitmask(";:@&=+$,");
-  private static final long PATH_CHAR_HI = SEGMENT_CHAR_HI | highBitmask('/');  // | ucschar | escaped
-  private static final long PATH_CHAR_LO = SEGMENT_CHAR_LO | lowBitmask('/');
-//  private static final long SCHEME_CHAR_HI = ALPHANUM_HI | highBitmask("+-.");
-//  private static final long SCHEME_CHAR_LO = ALPHANUM_LO | lowBitmask("+-.");
-  private static final long MAJOR_SEPARATOR_HI = highBitmask(":/?#");
-  private static final long MAJOR_SEPARATOR_LO = lowBitmask(":/?#");
-  private static final long SEGMENT_END_HI = highBitmask("/?#");
-  private static final long SEGMENT_END_LO = lowBitmask("/?#");
-
-  // Static initializer for archiveSchemes.
-  static
-  {
-    Set set = new HashSet();
-    set.add(SCHEME_JAR);
-    set.add(SCHEME_ZIP);
-    set.add(SCHEME_ARCHIVE);
-    
-    
-    archiveSchemes = Collections.unmodifiableSet(set);
-  }
-
-  // Returns the lower half bitmask for the given ASCII character.
-  private static long lowBitmask(char c)
-  {
-    return c < 64 ? 1L << c : 0L;
-  }
-
-  // Returns the upper half bitmask for the given ACSII character.
-  private static long highBitmask(char c)
-  {
-    return c >= 64 && c < 128 ? 1L << (c - 64) : 0L;
-  }
-
-  // Returns the lower half bitmask for all ASCII characters between the two
-  // given characters, inclusive.
-  private static long lowBitmask(char from, char to)
-  {
-    long result = 0L;
-    if (from < 64 && from <= to)
-    {
-      to = to < 64 ? to : 63;
-      for (char c = from; c <= to; c++)
-      {
-        result |= (1L << c);
-      }
-    }
-    return result;
-  }
-
-  // Returns the upper half bitmask for all AsCII characters between the two
-  // given characters, inclusive.
-  private static long highBitmask(char from, char to)
-  {
-    return to < 64 ? 0 : lowBitmask((char)(from < 64 ? 0 : from - 64), (char)(to - 64));
-  }
-
-  // Returns the lower half bitmask for all the ASCII characters in the given
-  // string.
-  private static long lowBitmask(String chars)
-  {
-    long result = 0L;
-    for (int i = 0, len = chars.length(); i < len; i++)
-    {
-      char c = chars.charAt(i);
-      if (c < 64) result |= (1L << c);
-    }
-    return result;
-  }
-
-  // Returns the upper half bitmask for all the ASCII characters in the given
-  // string.
-  private static long highBitmask(String chars)
-  {
-    long result = 0L;
-    for (int i = 0, len = chars.length(); i < len; i++)
-    {
-      char c = chars.charAt(i);
-      if (c >= 64 && c < 128) result |= (1L << (c - 64));
-    }
-    return result;
-  }
-
-  // Returns whether the given character is in the set specified by the given
-  // bitmask.
-  private static boolean matches(char c, long highBitmask, long lowBitmask)
-  {
-    if (c >= 128) return false;
-    return c < 64 ?
-      ((1L << c) & lowBitmask) != 0 :
-      ((1L << (c - 64)) & highBitmask) != 0;
-  }
-
-  // Debugging method: converts the given long to a string of binary digits.
-/*
-  private static String toBits(long l)
-  {
-    StringBuffer result = new StringBuffer();
-    for (int i = 0; i < 64; i++)
-    {
-      boolean b = (l & 1L) != 0;
-      result.insert(0, b ? '1' : '0');
-      l >>= 1;
-    }
-    return result.toString();
-  }
-*/
-
-  /**
-   * Static factory method for a generic, non-hierarchical URI.  There is no
-   * concept of a relative non-hierarchical URI; such an object cannot be
-   * created.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
-   * null, if <code>scheme</code> is an <a href="#archive_explanation">archive
-   * URI</a> scheme, or if <code>scheme</code>, <code>opaquePart</code>, or
-   * <code>fragment</code> is not valid according to {@link #validScheme
-   * validScheme}, {@link #validOpaquePart validOpaquePart}, or {@link
-   * #validFragment validFragment}, respectively.
-   */
-  public static URI createGenericURI(String scheme, String opaquePart,
-                                     String fragment)
-  {
-    if (scheme == null)
-    {
-      throw new IllegalArgumentException("relative non-hierarchical URI");
-    }
-
-    if (isArchiveScheme(scheme))
-    {
-      throw new IllegalArgumentException("non-hierarchical archive URI");
-    }
-
-    validateURI(false, scheme, opaquePart, null, false, NO_SEGMENTS, null, fragment);
-    return new URI(false, scheme, opaquePart, null, false, NO_SEGMENTS, null, fragment);
-  }
-
-  /**
-   * Static factory method for a hierarchical URI with no path.  The
-   * URI will be relative if <code>scheme</code> is non-null, and absolute
-   * otherwise.  An absolute URI with no path requires a non-null
-   * <code>authority</code> and/or <code>device</code>.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
-   * non-null while <code>authority</code> and <code>device</code> are null,
-   * if <code>scheme</code> is an <a href="#archive_explanation">archive
-   * URI</a> scheme, or if <code>scheme</code>, <code>authority</code>,
-   * <code>device</code>, <code>query</code>, or <code>fragment</code> is not
-   * valid according to {@link #validScheme validSheme}, {@link
-   * #validAuthority validAuthority}, {@link #validDevice validDevice},
-   * {@link #validQuery validQuery}, or {@link #validFragment validFragment},
-   * respectively.
-   */
-  public static URI createHierarchicalURI(String scheme, String authority,
-                                          String device, String query,
-                                          String fragment)
-  {
-    if (scheme != null && authority == null && device == null)
-    {
-      throw new IllegalArgumentException(
-        "absolute hierarchical URI without authority, device, path");
-    }
-
-    if (isArchiveScheme(scheme))
-    {
-      throw new IllegalArgumentException("archive URI with no path");
-    }
-
-    validateURI(true, scheme, authority, device, false, NO_SEGMENTS, query, fragment);
-    return new URI(true, scheme, authority, device, false, NO_SEGMENTS, query, fragment);
-  }
-
-  /**
-   * Static factory method for a hierarchical URI with absolute path.
-   * The URI will be relative if <code>scheme</code> is non-null, and
-   * absolute otherwise. 
-   *
-   * @param segments an array of non-null strings, each representing one
-   * segment of the path.  As an absolute path, it is automatically
-   * preceeded by a <code>/</code> separator.  If desired, a trailing
-   * separator should be represented by an empty-string segment as the last
-   * element of the array. 
-   *
-   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
-   * an <a href="#archive_explanation">archive URI</a> scheme and 
-   * <code>device</code> is non-null, or if <code>scheme</code>,
-   * <code>authority</code>, <code>device</code>, <code>segments</code>,
-   * <code>query</code>, or <code>fragment</code> is not valid according to
-   * {@link #validScheme validScheme}, {@link #validAuthority validAuthority}
-   * or {@link #validArchiveAuthority validArchiveAuthority}, {@link
-   * #validDevice validDevice}, {@link #validSegments validSegments}, {@link
-   * #validQuery validQuery}, or {@link #validFragment validFragment}, as
-   * appropriate.
-   */
-  public static URI createHierarchicalURI(String scheme, String authority,
-                                          String device, String[] segments,
-                                          String query, String fragment)
-  {
-    if (isArchiveScheme(scheme) && device != null)
-    {
-      throw new IllegalArgumentException("archive URI with device");
-    }
-
-    segments = fix(segments);
-    validateURI(true, scheme, authority, device, true, segments, query, fragment);
-    return new URI(true, scheme, authority, device, true, segments, query, fragment);
-  }
-
-  /**
-   * Static factory method for a relative hierarchical URI with relative
-   * path.
-   *
-   * @param segments an array of non-null strings, each representing one
-   * segment of the path.  A trailing separator is represented by an
-   * empty-string segment at the end of the array.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>segments</code>,
-   * <code>query</code>, or <code>fragment</code> is not valid according to 
-   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
-   * {@link #validFragment validFragment}, respectively.
-   */
-  public static URI createHierarchicalURI(String[] segments, String query,
-                                          String fragment)
-  {
-    segments = fix(segments);
-    validateURI(true, null, null, null, false, segments, query, fragment);
-    return new URI(true, null, null, null, false, segments, query, fragment);
-  }
-
-  // Converts null to length-zero array, and clones array to ensure
-  // immutability.
-  private static String[] fix(String[] segments)
-  {
-    return segments == null ? NO_SEGMENTS : (String[])segments.clone();
-  }
-  
-  /**
-   * Static factory method based on parsing a URI string, with 
-   * <a href="#device_explanation">explicit device support</a> and handling
-   * for <a href="#archive_explanation">archive URIs</a> enabled. The
-   * specified string is parsed as described in <a
-   * href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>, and an
-   * appropriate <code>URI</code> is created and returned.  Note that
-   * validity testing is not as strict as in the RFC; essentially, only
-   * separator characters are considered.  So, for example, non-Latin
-   * alphabet characters appearing in the scheme would not be considered an
-   * error.
-   *
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from <code>uri</code> is not valid according to {@link #validScheme
-   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
-   * #validAuthority validAuthority}, {@link #validArchiveAuthority
-   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
-   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
-   * #validFragment validFragment}, as appropriate.
-   */
-  public static URI createURI(String uri)
-  {
-    return createURIWithCache(uri); 
-  }
-
-  /**
-   * Static factory method that encodes and parses the given URI string.
-   * Appropriate encoding is performed for each component of the URI.
-   * If more than one <code>#</code> is in the string, the last one is
-   * assumed to be the fragment's separator, and any others are encoded.
-   *  
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   *
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from <code>uri</code> is not valid according to {@link #validScheme
-   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
-   * #validAuthority validAuthority}, {@link #validArchiveAuthority
-   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
-   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
-   * #validFragment validFragment}, as appropriate.
-   */
-  public static URI createURI(String uri, boolean ignoreEscaped)
-  {
-    return createURIWithCache(encodeURI(uri, ignoreEscaped));
-  }
-
-  /**
-   * Static factory method based on parsing a URI string, with 
-   * <a href="#device_explanation">explicit device support</a> enabled.  
-   * Note that validity testing is not a strict as in the RFC; essentially,
-   * only separator characters are considered.  So, for example, non-Latin
-   * alphabet characters appearing in the scheme would not be considered an
-   * error.
-   *
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from <code>uri</code> is not valid according to {@link #validScheme
-   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
-   * #validAuthority validAuthority}, {@link #validArchiveAuthority
-   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
-   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
-   * #validFragment validFragment}, as appropriate.
-   *
-   * @deprecated Use {@link #createURI createURI}, which now has explicit
-   * device support enabled. The two methods now operate identically.
-   */
-  public static URI createDeviceURI(String uri)
-  {
-    return createURIWithCache(uri);
-  }
-
-  // Uses a cache to speed up creation of a URI from a string.  The cache
-  // is consulted to see if the URI, less any fragment, has already been
-  // created.  If needed, the fragment is re-appended to the cached URI,
-  // which is considerably more efficient than creating the whole URI from
-  // scratch.  If the URI wasn't found in the cache, it is created using
-  // parseIntoURI() and then cached.  This method should always be used
-  // by string-parsing factory methods, instead of parseIntoURI() directly.
-  /**
-   * This method was included in the public API by mistake.
-   * 
-   * @deprecated Please use {@link #createURI createURI} instead.
-   */
-  public static URI createURIWithCache(String uri)
-  {
-    int i = uri.indexOf(FRAGMENT_SEPARATOR);
-    String base = i == -1 ? uri : uri.substring(0, i);
-    String fragment = i == -1 ? null : uri.substring(i + 1);
-
-    URI result = (URI)uriCache.get(base);
-
-    if (result == null)
-    {
-      result = parseIntoURI(base);
-      uriCache.put(base, result);
-    }
-
-    if (fragment != null)
-    {
-      result = result.appendFragment(fragment);
-    }
-    return result;
-  }
-
-  // String-parsing implementation.
-  private static URI parseIntoURI(String uri)
-  {
-    boolean hierarchical = true;
-    String scheme = null;
-    String authority = null;
-    String device = null;
-    boolean absolutePath = false;
-    String[] segments = NO_SEGMENTS;
-    String query = null;
-    String fragment = null;
-
-    int i = 0;
-    int j = find(uri, i, MAJOR_SEPARATOR_HI, MAJOR_SEPARATOR_LO);
-
-    if (j < uri.length() && uri.charAt(j) == SCHEME_SEPARATOR)
-    {
-      scheme = uri.substring(i, j);
-      i = j + 1;
-    }
-
-    boolean archiveScheme = isArchiveScheme(scheme);
-    if (archiveScheme)
-    {
-      j = uri.lastIndexOf(ARCHIVE_SEPARATOR);
-      if (j == -1)
-      {
-        throw new IllegalArgumentException("no archive separator");
-      }
-      hierarchical = true;
-      authority = uri.substring(i, ++j);
-      i = j;
-    }
-    else if (uri.startsWith(AUTHORITY_SEPARATOR, i))
-    {
-      i += AUTHORITY_SEPARATOR.length();
-      j = find(uri, i, SEGMENT_END_HI, SEGMENT_END_LO);
-      authority = uri.substring(i, j);
-      i = j;
-    }
-    else if (scheme != null &&
-             (i == uri.length() || uri.charAt(i) != SEGMENT_SEPARATOR))
-    {
-      hierarchical = false;
-      j = uri.indexOf(FRAGMENT_SEPARATOR, i);
-      if (j == -1) j = uri.length();
-      authority = uri.substring(i, j);
-      i = j;
-    }
-
-    if (!archiveScheme && i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
-    {
-      j = find(uri, i + 1, SEGMENT_END_HI, SEGMENT_END_LO);
-      String s = uri.substring(i + 1, j);
-      
-      if (s.length() > 0 && s.charAt(s.length() - 1) == DEVICE_IDENTIFIER)
-      {
-        device = s;
-        i = j;
-      }
-    }
-
-    if (i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
-    {
-      i++;
-      absolutePath = true;
-    }
-
-    if (segmentsRemain(uri, i))
-    {
-      List segmentList = new ArrayList();
-
-      while (segmentsRemain(uri, i))
-      {
-        j = find(uri, i, SEGMENT_END_HI, SEGMENT_END_LO);
-        segmentList.add(uri.substring(i, j));
-        i = j;
-
-        if (i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
-        {
-          if (!segmentsRemain(uri, ++i)) segmentList.add(SEGMENT_EMPTY);
-        }
-      }
-      segments = new String[segmentList.size()];
-      segmentList.toArray(segments);
-    }
-
-    if (i < uri.length() && uri.charAt(i) == QUERY_SEPARATOR)
-    {
-      j = uri.indexOf(FRAGMENT_SEPARATOR, ++i);
-      if (j == -1) j = uri.length();
-      query = uri.substring(i, j);
-      i = j;
-    }
-
-    if (i < uri.length()) // && uri.charAt(i) == FRAGMENT_SEPARATOR (implied)
-    {
-      fragment = uri.substring(++i);
-    }
-
-    validateURI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment);
-    return new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment);
-  }
-
-  // Checks whether the string contains any more segments after the one that
-  // starts at position i.
-  private static boolean segmentsRemain(String uri, int i)
-  {
-    return i < uri.length() && uri.charAt(i) != QUERY_SEPARATOR &&
-      uri.charAt(i) != FRAGMENT_SEPARATOR;
-  }
-
-  // Finds the next occurance of one of the characters in the set represented
-  // by the given bitmask in the given string, beginning at index i. The index
-  // of the first found character, or s.length() if there is none, is
-  // returned.  Before searching, i is limited to the range [0, s.length()].
-  //
-  private static int find(String s, int i, long highBitmask, long lowBitmask)
-  {
-    int len = s.length();
-    if (i >= len) return len;
-
-    for (i = i > 0 ? i : 0; i < len; i++)
-    {
-      if (matches(s.charAt(i), highBitmask, lowBitmask)) break;
-    }
-    return i;
-  }
-
-  /**
-   * Static factory method based on parsing a {@link java.io.File} path
-   * string.  The <code>pathName</code> is converted into an appropriate
-   * form, as follows: platform specific path separators are converted to
-   * <code>/<code>; the path is encoded; and a "file" scheme and, if missing,
-   * a leading <code>/</code>, are added to an absolute path.  The result
-   * is then parsed using {@link #createURI(String) createURI}.
-   *
-   * <p>The encoding step escapes all spaces, <code>#</code> characters, and
-   * other characters disallowed in URIs, as well as <code>?</code>, which
-   * would delimit a path from a query.  Decoding is automatically performed
-   * by {@link #toFileString toFileString}, and can be applied to the values
-   * returned by other accessors by via the static {@link #decode(String)
-   * decode} method.
-   *
-   * <p>A relative path with a specified device (something like
-   * <code>C:myfile.txt</code>) cannot be expressed as a valid URI.
-   * 
-   * @exception java.lang.IllegalArgumentException if <code>pathName</code>
-   * specifies a device and a relative path, or if any component of the path
-   * is not valid according to {@link #validAuthority validAuthority}, {@link
-   * #validDevice validDevice}, or {@link #validSegments validSegments},
-   * {@link #validQuery validQuery}, or {@link #validFragment validFragment}.
-   */
-  public static URI createFileURI(String pathName)
-  {
-    File file = new File(pathName);
-    String uri = File.separatorChar != '/' ? pathName.replace(File.separatorChar, SEGMENT_SEPARATOR) : pathName;
-    uri = encode(uri, PATH_CHAR_HI, PATH_CHAR_LO, false);
-    if (file.isAbsolute())
-    {
-      URI result = createURI((uri.charAt(0) == SEGMENT_SEPARATOR ? "file:" : "file:/") + uri);
-      return result;
-    }
-    else
-    {
-      URI result = createURI(uri);
-      if (result.scheme() != null)
-      {
-        throw new IllegalArgumentException("invalid relative pathName: " + pathName);
-      }
-      return result;
-    }
-  }
-
-  /**
-   * Static factory method based on parsing a platform-relative path string.
-   *
-   * <p>The <code>pathName</code> must be of the form:
-   * <pre>
-   *   /project-name/path</pre>
-   *
-   * <p>Platform-specific path separators will be converterted to slashes.
-   * If not included, the leading path separator will be added.  The
-   * result will be of this form, which is parsed using {@link #createURI
-   * createURI}:
-   * <pre>
-   *   platform:/resource/project-name/path</pre>
-   *
-   * 
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from the path is not valid according to {@link #validDevice validDevice},
-   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
-   * {@link #validFragment validFragment}.
-   *
-   * @see org.eclipse.core.runtime.Platform#resolve
-   * @see #createPlatformResourceURI(String, boolean)
-   */
-  public static URI createPlatformResourceURI(String pathName)
-  {
-    return createPlatformResourceURI(pathName, false);
-  }
-
-  /**
-   * Static factory method based on parsing a platform-relative path string,
-   * with an option to encode the created URI.
-   *
-   * <p>The <code>pathName</code> must be of the form:
-   * <pre>
-   *   /project-name/path</pre>
-   *
-   * <p>Platform-specific path separators will be converterted to slashes.
-   * If not included, the leading path separator will be added.  The
-   * result will be of this form, which is parsed using {@link #createURI
-   * createURI}:
-   * <pre>
-   *   platform:/resource/project-name/path</pre>
-   *
-   * <p>This scheme supports relocatable projects in Eclipse and in
-   * stand-alone .
-   *
-   * <p>Depending on the <code>encode</code> argument, the path may be
-   * automatically encoded to escape all spaces, <code>#</code> characters,
-   * and other characters disallowed in URIs, as well as <code>?</code>,
-   * which would delimit a path from a query.  Decoding can be performed with
-   * the static {@link #decode(String) decode} method.
-   * 
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from the path is not valid according to {@link #validDevice validDevice},
-   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
-   * {@link #validFragment validFragment}.
-   *
-   * @see org.eclipse.core.runtime.Platform#resolve
-   */
-  public static URI createPlatformResourceURI(String pathName, boolean encode)
-  {
-    if (File.separatorChar != SEGMENT_SEPARATOR)
-    {
-      pathName = pathName.replace(File.separatorChar, SEGMENT_SEPARATOR);
-    }
-
-    if (encode)
-    {
-      pathName = encode(pathName, PATH_CHAR_HI, PATH_CHAR_LO, false);
-    }
-    URI result = createURI((pathName.charAt(0) == SEGMENT_SEPARATOR ? "platform:/resource" : "platform:/resource/") + pathName);
-    return result;
-  }
-  
-  // Private constructor for use of static factory methods.
-  private URI(boolean hierarchical, String scheme, String authority,
-              String device, boolean absolutePath, String[] segments,
-              String query, String fragment)
-  {
-    int hashCode = 0;
-    //boolean iri = false;
-
-    if (hierarchical)
-    {
-      ++hashCode;
-    }
-    if (absolutePath)
-    {
-      hashCode += 2;
-    }
-    if (scheme != null)
-    {
-      hashCode ^= scheme.toLowerCase().hashCode();
-    }
-    if (authority != null)
-    {
-      hashCode ^= authority.hashCode();
-      //iri = iri || containsNonASCII(authority);
-    }
-    if (device != null)
-    {
-      hashCode ^= device.hashCode();
-      //iri = iri || containsNonASCII(device);
-    }
-    if (query != null)
-    {
-      hashCode ^= query.hashCode();
-      //iri = iri || containsNonASCII(query);
-    }
-    if (fragment != null)
-    {
-      hashCode ^= fragment.hashCode();
-      //iri = iri || containsNonASCII(fragment);
-    }
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      hashCode ^= segments[i].hashCode();
-      //iri = iri || containsNonASCII(segments[i]);
-    }
-
-    this.hashCode = hashCode;
-    //this.iri = iri;
-    this.hierarchical = hierarchical;
-    this.scheme = scheme == null ? null : scheme.intern();
-    this.authority = authority;
-    this.device = device;
-    this.absolutePath = absolutePath;
-    this.segments = segments;
-    this.query = query;
-    this.fragment = fragment;
-  }
-  
-  // Validates all of the URI components.  Factory methods should call this
-  // before using the constructor, though they must ensure that the
-  // inter-component requirements described in their own Javadocs are all
-  // satisfied, themselves.  If a new URI is being constructed out of
-  // an existing URI, this need not be called.  Instead, just the new
-  // components may be validated individually.
-  private static void validateURI(boolean hierarchical, String scheme,
-                                    String authority, String device,
-                                    boolean absolutePath, String[] segments,
-                                    String query, String fragment)
-  {
-    if (!validScheme(scheme))
-    {
-      throw new IllegalArgumentException("invalid scheme: " + scheme);
-    }
-    if (!hierarchical && !validOpaquePart(authority))
-    {
-      throw new IllegalArgumentException("invalid opaquePart: " + authority);
-    }
-    if (hierarchical && !isArchiveScheme(scheme) && !validAuthority(authority))
-    {
-      throw new IllegalArgumentException("invalid authority: " + authority);
-    }
-    if (hierarchical && isArchiveScheme(scheme) && !validArchiveAuthority(authority))
-    {
-      throw new IllegalArgumentException("invalid authority: " + authority);
-    }
-    if (!validDevice(device))
-    {
-      throw new IllegalArgumentException("invalid device: " + device);
-    }
-    if (!validSegments(segments))
-    {
-      String s = segments == null ? "invalid segments: " + segments :
-        "invalid segment: " + firstInvalidSegment(segments);
-      throw new IllegalArgumentException(s);
-    }
-    if (!validQuery(query))
-    {
-      throw new IllegalArgumentException("invalid query: " + query);
-    }
-    if (!validFragment(fragment))
-    {
-      throw new IllegalArgumentException("invalid fragment: " + fragment);
-    }
-  }
-
-  // Alternate, stricter implementations of the following validation methods
-  // are provided, commented out, for possible future use...
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the scheme component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid scheme may be null or contain any characters except for the
-   * following: <code>: / ? #</code>
-   */
-  public static boolean validScheme(String value)
-  {
-    return value == null || !contains(value, MAJOR_SEPARATOR_HI, MAJOR_SEPARATOR_LO);  
-
-  // <p>A valid scheme may be null, or consist of a single letter followed
-  // by any number of letters, numbers, and the following characters:
-  // <code>+ - .</code>
-
-    //if (value == null) return true;
-    //return value.length() != 0 &&
-    //  matches(value.charAt(0), ALPHA_HI, ALPHA_LO) &&
-    //  validate(value, SCHEME_CHAR_HI, SCHEME_CHAR_LO, false, false);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the opaque part component of a URI; <code>false</code>
-   * otherwise.
-   *
-   * <p>A valid opaque part must be non-null, non-empty, and not contain the
-   * <code>#</code> character.  In addition, its first character must not be
-   * <code>/</code>
-   */
-  public static boolean validOpaquePart(String value)
-  {
-    return value != null && value.indexOf(FRAGMENT_SEPARATOR) == -1 &&
-    value.length() > 0 && value.charAt(0) != SEGMENT_SEPARATOR;
-
-  // <p>A valid opaque part must be non-null and non-empty. It may contain
-  // any allowed URI characters, but its first character may not be
-  // <code>/</code> 
-
-    //return value != null && value.length() != 0 &&
-    //  value.charAt(0) != SEGMENT_SEPARATOR &&
-    //  validate(value, URIC_HI, URIC_LO, true, true);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the authority component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid authority may be null or contain any characters except for
-   * the following: <code>/ ? #</code>
-   */
-  public static boolean validAuthority(String value)
-  {
-    return value == null || !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
-
-  // A valid authority may be null or contain any allowed URI characters except
-  // for the following: <code>/ ?</code>
-
-    //return value == null || validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the authority component of an <a
-   * href="#archive_explanation">archive URI</a>; <code>false</code>
-   * otherwise.
-   *
-   * <p>To be valid, the authority, itself, must be a URI with no fragment,
-   * followed by the character <code>!</code>.
-   */
-  public static boolean validArchiveAuthority(String value)
-  {
-    if (value != null && value.length() > 0 &&
-        value.charAt(value.length() - 1) == ARCHIVE_IDENTIFIER)
-    {
-      try
-      {
-        URI archiveURI = createURI(value.substring(0, value.length() - 1));
-        return !archiveURI.hasFragment();
-      }
-      catch (IllegalArgumentException e)
-      {
-      }
-    }
-    return false;
-  }
-
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the device component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid device may be null or non-empty, containing any characters
-   * except for the following: <code>/ ? #</code>  In addition, its last
-   * character must be <code>:</code>
-   */
-  public static boolean validDevice(String value)
-  {    
-    if (value == null) return true;
-    int len = value.length();
-    return len > 0 && value.charAt(len - 1) == DEVICE_IDENTIFIER &&
-      !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
-
-  // <p>A valid device may be null or non-empty, containing any allowed URI
-  // characters except for the following: <code>/ ?</code>  In addition, its
-  // last character must be <code>:</code>
-
-    //if (value == null) return true;
-    //int len = value.length();
-    //return len > 0 && validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true) &&
-    //  value.charAt(len - 1) == DEVICE_IDENTIFIER;
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * a valid path segment of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid path segment must be non-null and not contain any of the
-   * following characters: <code>/ ? #</code>
-   */
-  public static boolean validSegment(String value)
-  {
-    return value != null && !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
-
-  // <p>A valid path segment must be non-null and may contain any allowed URI
-  // characters except for the following: <code>/ ?</code> 
-
-    //return value != null && validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * a valid path segment array of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid path segment array must be non-null and contain only path
-   * segements that are valid according to {@link #validSegment validSegment}.
-   */
-  public static boolean validSegments(String[] value)
-  {
-    if (value == null) return false;
-    for (int i = 0, len = value.length; i < len; i++)
-    {
-      if (!validSegment(value[i])) return false;
-    }
-    return true;
-  }
-
-  // Returns null if the specicied value is null or would be a valid path
-  // segment array of a URI; otherwise, the value of the first invalid
-  // segment. 
-  private static String firstInvalidSegment(String[] value)
-  {
-    if (value == null) return null;
-    for (int i = 0, len = value.length; i < len; i++)
-    {
-      if (!validSegment(value[i])) return value[i];
-    }
-    return null;
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the query component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid query may be null or contain any characters except for
-   * <code>#</code>
-   */
-  public static boolean validQuery(String value)
-  {
-    return value == null || value.indexOf(FRAGMENT_SEPARATOR) == -1;
-
-  // <p>A valid query may be null or contain any allowed URI characters.
-
-    //return value == null || validate(value, URIC_HI, URIC_LO, true, true);
-}
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the fragment component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A fragment is taken to be unconditionally valid.
-   */
-  public static boolean validFragment(String value)
-  {
-    return true;
-
-  // <p>A valid fragment may be null or contain any allowed URI characters.
-
-    //return value == null || validate(value, URIC_HI, URIC_LO, true, true);
-  }
-
-  // Searches the specified string for any characters in the set represnted
-  // by the 128-bit bitmask.  Returns true if any occur, or false otherwise.
-  private static boolean contains(String s, long highBitmask, long lowBitmask)
-  {
-    for (int i = 0, len = s.length(); i < len; i++)
-    {
-      if (matches(s.charAt(i), highBitmask, lowBitmask)) return true;
-    }
-    return false;
-  }
-
-  // Tests the non-null string value to see if it contains only ASCII
-  // characters in the set represented by the specified 128-bit bitmask,
-  // as well as, optionally, non-ASCII characters 0xA0 and above, and,
-  // also optionally, escape sequences of % followed by two hex digits.
-  // This method is used for the new, strict URI validation that is not
-  // not currently in place.
-/*
-  private static boolean validate(String value, long highBitmask, long lowBitmask,
-                                     boolean allowNonASCII, boolean allowEscaped)
-  {
-    for (int i = 0, len = value.length(); i < len; i++)
-    { 
-      char c = value.charAt(i);
-
-      if (matches(c, highBitmask, lowBitmask)) continue;
-      if (allowNonASCII && c >= 160) continue;
-      if (allowEscaped && isEscaped(value, i))
-      {
-        i += 2;
-        continue;
-      }
-      return false;
-    }
-    return true;
-  }
-*/
-
-  /**
-   * Returns <code>true</code> if this is a relative URI, or
-   * <code>false</code> if it is an absolute URI.
-   */
-  public boolean isRelative()
-  {
-    return scheme == null;
-  }
-
-  /**
-   * Returns <code>true</code> if this a a hierarchical URI, or
-   * <code>false</code> if it is of the generic form.
-   */
-  public boolean isHierarchical()
-  {
-    return hierarchical;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarcical URI with an authority
-   * component; <code>false</code> otherwise. 
-   */
-  public boolean hasAuthority()
-  {
-    return hierarchical && authority != null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a non-hierarchical URI with an
-   * opaque part component; <code>false</code> otherwise.
-   */
-  public boolean hasOpaquePart()
-  {
-    // note: hierarchical -> authority != null
-    return !hierarchical;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with a device
-   * component; <code>false</code> otherwise.
-   */
-  public boolean hasDevice()
-  {
-    // note: device != null -> hierarchical
-    return device != null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with an
-   * absolute or relative path; <code>false</code> otherwise.
-   */
-  public boolean hasPath()
-  {
-    // note: (absolutePath || authority == null) -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return absolutePath || (authority == null && device == null);
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with an
-   * absolute path, or <code>false</code> if it is non-hierarchical, has no
-   * path, or has a relative path.
-   */
-  public boolean hasAbsolutePath()
-  {
-    // note: absolutePath -> hierarchical
-    return absolutePath;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with a relative
-   * path, or <code>false</code> if it is non-hierarchical, has no path, or
-   * has an absolute path.
-   */
-  public boolean hasRelativePath()
-  {
-    // note: authority == null -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return authority == null && device == null && !absolutePath;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with an empty
-   * relative path; <code>false</code> otherwise.  
-   *
-   * <p>Note that <code>!hasEmpty()</code> does <em>not</em> imply that this
-   * URI has any path segments; however, <code>hasRelativePath &&
-   * !hasEmptyPath()</code> does.
-   */
-  public boolean hasEmptyPath()
-  {
-    // note: authority == null -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return authority == null && device == null && !absolutePath &&
-      segments.length == 0;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with a query
-   * component; <code>false</code> otherwise.
-   */
-  public boolean hasQuery()
-  {
-    // note: query != null -> hierarchical
-    return query != null;
-  }
-
-  /**
-   * Returns <code>true</code> if this URI has a fragment component;
-   * <code>false</code> otherwise.
-   */
-  public boolean hasFragment()
-  {
-    return fragment != null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a current document reference; that
-   * is, if it is a relative hierarchical URI with no authority, device or
-   * query components, and no path segments; <code>false</code> is returned
-   * otherwise.
-   */
-  public boolean isCurrentDocumentReference()
-  {
-    // note: authority == null -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return authority == null && device == null && !absolutePath &&
-      segments.length == 0 && query == null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a {@link
-   * #isCurrentDocumentReference() current document reference} with no
-   * fragment component; <code>false</code> otherwise.
-   *
-   * @see #isCurrentDocumentReference()
-   */
-  public boolean isEmpty()
-  {
-    // note: authority == null -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return authority == null && device == null && !absolutePath &&
-      segments.length == 0 && query == null && fragment == null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI that may refer
-   * directly to a locally accessible file.  This is considered to be the
-   * case for a file-scheme absolute URI, or for a relative URI with no query;
-   * <code>false</code> is returned otherwise.
-   */
-  public boolean isFile()
-  {
-    return isHierarchical() &&
-      ((isRelative() && !hasQuery()) || SCHEME_FILE.equalsIgnoreCase(scheme));
-  }
-
-  // Returns true if this is an archive URI.  If so, we should expect that
-  // it is also hierarchical, with an authority (consisting of an absolute
-  // URI followed by "!"), no device, and an absolute path.
-  private boolean isArchive()
-  {
-    return isArchiveScheme(scheme);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the scheme of an <a
-   * href="#archive_explanation">archive URI</a>; <code>false</code>
-   * otherwise.
-   */
-  public static boolean isArchiveScheme(String value)
-  {
-    return value != null && archiveSchemes.contains(value.toLowerCase());
-  }
-  
-  /**
-   * Returns the hash code.
-   */
-  public int hashCode()
-  {
-    return hashCode;
-  }
-
-  /**
-   * Returns <code>true</code> if <code>obj</code> is an instance of
-   * <code>URI</code> equal to this one; <code>false</code> otherwise.
-   *
-   * <p>Equality is determined strictly by comparing components, not by
-   * attempting to interpret what resource is being identified.  The
-   * comparison of schemes is case-insensitive.
-   */
-  public boolean equals(Object obj)
-  {
-    if (this == obj) return true;
-    if (!(obj instanceof URI)) return false;
-    URI uri = (URI) obj;
-
-    return hashCode == uri.hashCode() &&
-      hierarchical == uri.isHierarchical() &&
-      absolutePath == uri.hasAbsolutePath() &&
-      equals(scheme, uri.scheme(), true) &&
-      equals(authority, hierarchical ? uri.authority() : uri.opaquePart()) &&
-      equals(device, uri.device()) &&
-      equals(query, uri.query()) && 
-      equals(fragment, uri.fragment()) &&
-      segmentsEqual(uri);
-  }
-
-  // Tests whether this URI's path segment array is equal to that of the
-  // given uri.
-  private boolean segmentsEqual(URI uri)
-  {
-    if (segments.length != uri.segmentCount()) return false;
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (!segments[i].equals(uri.segment(i))) return false;
-    }
-    return true;
-  }
-
-  // Tests two objects for equality, tolerating nulls; null is considered
-  // to be a valid value that is only equal to itself.
-  private static boolean equals(Object o1, Object o2)
-  {
-    return o1 == null ? o2 == null : o1.equals(o2);
-  }
-
-  // Tests two strings for equality, tolerating nulls and optionally
-  // ignoring case.
-  private static boolean equals(String s1, String s2, boolean ignoreCase)
-  {
-    return s1 == null ? s2 == null :
-      ignoreCase ? s1.equalsIgnoreCase(s2) : s1.equals(s2);
-  }
-
-  /**
-   * If this is an absolute URI, returns the scheme component;
-   * <code>null</code> otherwise.
-   */
-  public String scheme()
-  {
-    return scheme;
-  }
-
-  /**
-   * If this is a non-hierarchical URI, returns the opaque part component;
-   * <code>null</code> otherwise.
-   */
-  public String opaquePart()
-  {
-    return isHierarchical() ? null : authority;
-  }
-
-  /**
-   * If this is a hierarchical URI with an authority component, returns it;
-   * <code>null</code> otherwise.
-   */
-  public String authority()
-  {
-    return isHierarchical() ? authority : null;
-  }
-
-  /**
-   * If this is a hierarchical URI with an authority component that has a
-   * user info portion, returns it; <code>null</code> otherwise.
-   */
-  public String userInfo()
-  { 
-    if (!hasAuthority()) return null;
-   
-    int i = authority.indexOf(USER_INFO_SEPARATOR);
-    return i < 0 ? null : authority.substring(0, i);
-  }
-
-  /**
-   * If this is a hierarchical URI with an authority component that has a
-   * host portion, returns it; <code>null</code> otherwise.
-   */
-  public String host()
-  {
-    if (!hasAuthority()) return null;
-    
-    int i = authority.indexOf(USER_INFO_SEPARATOR);
-    int j = authority.indexOf(PORT_SEPARATOR);
-    return j < 0 ? authority.substring(i + 1) : authority.substring(i + 1, j);
-  }
-
-  /**
-   * If this is a hierarchical URI with an authority component that has a
-   * port portion, returns it; <code>null</code> otherwise.
-   */
-  public String port()
-  {
-    if (!hasAuthority()) return null;
-
-    int i = authority.indexOf(PORT_SEPARATOR);
-    return i < 0 ? null : authority.substring(i + 1);
-  }
-
-  /**
-   * If this is a hierarchical URI with a device component, returns it;
-   * <code>null</code> otherwise.
-   */
-  public String device()
-  {
-    return device;
-  }
-
-  /**
-   * If this is a hierarchical URI with a path, returns an array containing
-   * the segments of the path; an empty array otherwise.  The leading
-   * separator in an absolute path is not represented in this array, but a
-   * trailing separator is represented by an empty-string segment as the
-   * final element.
-   */
-  public String[] segments()
-  {
-    return (String[])segments.clone();
-  }
-
-  /**
-   * Returns an unmodifiable list containing the same segments as the array
-   * returned by {@link #segments segments}.
-   */
-  public List segmentsList()
-  {
-    return Collections.unmodifiableList(Arrays.asList(segments));
-  }
-
-  /**
-   * Returns the number of elements in the segment array that would be
-   * returned by {@link #segments segments}.
-   */
-  public int segmentCount()
-  {
-    return segments.length;
-  }
-
-  /**
-   * Provides fast, indexed access to individual segments in the path
-   * segment array.
-   *
-   * @exception java.lang.IndexOutOfBoundsException if <code>i < 0</code> or
-   * <code>i >= segmentCount()</code>.
-   */
-  public String segment(int i)
-  {
-    return segments[i];
-  }
-
-  /**
-   * Returns the last segment in the segment array, or <code>null</code>.
-   */
-  public String lastSegment()
-  {
-    int len = segments.length;
-    if (len == 0) return null;
-    return segments[len - 1];
-  }
-
-  /**
-   * If this is a hierarchical URI with a path, returns a string
-   * representation of the path; <code>null</code> otherwise.  The path
-   * consists of a leading segment separator character (a slash), if the
-   * path is absolute, followed by the slash-separated path segments.  If
-   * this URI has a separate <a href="#device_explanation">device
-   * component</a>, it is <em>not</em> included in the path.
-   */
-  public String path()
-  {
-    if (!hasPath()) return null;
-
-    StringBuffer result = new StringBuffer();
-    if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (i != 0) result.append(SEGMENT_SEPARATOR);
-      result.append(segments[i]);
-    }
-    return result.toString();
-  }
-
-  /**
-   * If this is a hierarchical URI with a path, returns a string
-   * representation of the path, including the authority and the 
-   * <a href="#device_explanation">device component</a>; 
-   * <code>null</code> otherwise.  
-   *
-   * <p>If there is no authority, the format of this string is:
-   * <pre>
-   *   device/pathSegment1/pathSegment2...</pre>
-   *
-   * <p>If there is an authority, it is:
-   * <pre>
-   *   //authority/device/pathSegment1/pathSegment2...</pre>
-   *
-   * <p>For an <a href="#archive_explanation">archive URI</a>, it's just:
-   * <pre>
-   *   authority/pathSegment1/pathSegment2...</pre>
-   */
-  public String devicePath()
-  {
-    if (!hasPath()) return null;
-
-    StringBuffer result = new StringBuffer();
-
-    if (hasAuthority())
-    {
-      if (!isArchive()) result.append(AUTHORITY_SEPARATOR);
-      result.append(authority);
-
-      if (hasDevice()) result.append(SEGMENT_SEPARATOR);
-    }
-
-    if (hasDevice()) result.append(device);
-    if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (i != 0) result.append(SEGMENT_SEPARATOR);
-      result.append(segments[i]);
-    }
-    return result.toString();
-  }
-
-  /**
-   * If this is a hierarchical URI with a query component, returns it;
-   * <code>null</code> otherwise.
-   */
-  public String query()
-  {
-    return query;
-  }
-
-
-  /**
-   * Returns the URI formed from this URI and the given query.
-   *
-   * @exception java.lang.IllegalArgumentException if
-   * <code>query</code> is not a valid query (portion) according
-   * to {@link #validQuery validQuery}.
-   */
-  public URI appendQuery(String query)
-  {
-    if (!validQuery(query))
-    {
-      throw new IllegalArgumentException(
-        "invalid query portion: " + query);
-    }
-    return new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment); 
-  }
-
-  /**
-   * If this URI has a non-null {@link #query query}, returns the URI
-   * formed by removing it; this URI unchanged, otherwise.
-   */
-  public URI trimQuery()
-  {
-    if (query == null)
-    {
-      return this;
-    }
-    else
-    {
-      return new URI(hierarchical, scheme, authority, device, absolutePath, segments, null, fragment); 
-    }
-  }
-
-  /**
-   * If this URI has a fragment component, returns it; <code>null</code>
-   * otherwise.
-   */
-  public String fragment()
-  {
-    return fragment;
-  }
-
-  /**
-   * Returns the URI formed from this URI and the given fragment.
-   *
-   * @exception java.lang.IllegalArgumentException if
-   * <code>fragment</code> is not a valid fragment (portion) according
-   * to {@link #validFragment validFragment}.
-   */
-  public URI appendFragment(String fragment)
-  {
-    if (!validFragment(fragment))
-    {
-      throw new IllegalArgumentException(
-        "invalid fragment portion: " + fragment);
-    }
-    URI result = new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment); 
-
-    if (!hasFragment())
-    {
-      result.cachedTrimFragment = this;
-    }
-    return result;
-  }
-
-  /**
-   * If this URI has a non-null {@link #fragment fragment}, returns the URI
-   * formed by removing it; this URI unchanged, otherwise.
-   */
-  public URI trimFragment()
-  {
-    if (fragment == null)
-    {
-      return this;
-    }
-    else if (cachedTrimFragment == null)
-    {
-      cachedTrimFragment = new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, null); 
-    }
-
-    return cachedTrimFragment;
-  }
-
-  /**
-   * Resolves this URI reference against a <code>base</code> absolute
-   * hierarchical URI, returning the resulting absolute URI.  If already
-   * absolute, the URI itself is returned.  URI resolution is described in
-   * detail in section 5.2 of <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC
-   * 2396</a>, "Resolving Relative References to Absolute Form."
-   *
-   * <p>During resolution, empty segments, self references ("."), and parent
-   * references ("..") are interpreted, so that they can be removed from the
-   * path.  Step 6(g) gives a choice of how to handle the case where parent
-   * references point to a path above the root: the offending segments can
-   * be preserved or discarded.  This method preserves them.  To have them
-   * discarded, please use the two-parameter form of {@link
-   * #resolve(URI, boolean) resolve}.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>base</code> is
-   * non-hierarchical or is relative.
-   */
-  public URI resolve(URI base)
-  {
-    return resolve(base, true);
-  }
-
-  /**
-   * Resolves this URI reference against a <code>base</code> absolute
-   * hierarchical URI, returning the resulting absolute URI.  If already
-   * absolute, the URI itself is returned.  URI resolution is described in
-   * detail in section 5.2 of <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC
-   * 2396</a>, "Resolving Relative References to Absolute Form."
-   *
-   * <p>During resultion, empty segments, self references ("."), and parent
-   * references ("..") are interpreted, so that they can be removed from the
-   * path.  Step 6(g) gives a choice of how to handle the case where parent
-   * references point to a path above the root: the offending segments can
-   * be preserved or discarded.  This method can do either.
-   *
-   * @param preserveRootParents <code>true</code> if segments refering to the
-   * parent of the root path are to be preserved; <code>false</code> if they
-   * are to be discarded.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>base</code> is
-   * non-hierarchical or is relative.
-   */
-  public URI resolve(URI base, boolean preserveRootParents)
-  {
-    if (!base.isHierarchical() || base.isRelative())
-    {
-      throw new IllegalArgumentException(
-        "resolve against non-hierarchical or relative base");
-    }
-
-    // an absolute URI needs no resolving
-    if (!isRelative()) return this;
-
-    // note: isRelative() -> hierarchical
-
-    String newAuthority = authority;
-    String newDevice = device;
-    boolean newAbsolutePath = absolutePath;
-    String[] newSegments = segments;
-    String newQuery = query;
-    // note: it's okay for two URIs to share a segments array, since
-    // neither will ever modify it
-    
-    if (authority == null)
-    {
-      // no authority: use base's
-      newAuthority = base.authority();
-
-      if (device == null)
-      {
-        // no device: use base's
-        newDevice = base.device();
-
-        if (hasEmptyPath() && query == null)
-        {
-          // current document reference: use base path and query
-          newAbsolutePath = base.hasAbsolutePath();
-          newSegments = base.segments();
-          newQuery = base.query();
-        }
-        else if (hasRelativePath())
-        {
-          // relative path: merge with base and keep query (note: if the
-          // base has no path and this a non-empty relative path, there is
-          // an implied root in the resulting path) 
-          newAbsolutePath = base.hasAbsolutePath() || !hasEmptyPath();
-          newSegments = newAbsolutePath ? mergePath(base, preserveRootParents)
-            : NO_SEGMENTS;
-        }
-        // else absolute path: keep it and query
-      }
-      // else keep device, path, and query
-    }
-    // else keep authority, device, path, and query
-    
-    // always keep fragment, even if null, and use scheme from base;
-    // no validation needed since all components are from existing URIs
-    return new URI(true, base.scheme(), newAuthority, newDevice,
-                   newAbsolutePath, newSegments, newQuery, fragment);
-  }
-
-  // Merges this URI's relative path with the base non-relative path.  If
-  // base has no path, treat it as the root absolute path, unless this has
-  // no path either.
-  private String[] mergePath(URI base, boolean preserveRootParents)
-  {
-    if (base.hasRelativePath())
-    {
-      throw new IllegalArgumentException("merge against relative path");
-    }
-    if (!hasRelativePath())
-    {
-      throw new IllegalStateException("merge non-relative path");
-    }
-
-    int baseSegmentCount = base.segmentCount();
-    int segmentCount = segments.length;
-    String[] stack = new String[baseSegmentCount + segmentCount];
-    int sp = 0;
-
-    // use a stack to accumulate segments of base, except for the last
-    // (i.e. skip trailing separator and anything following it), and of
-    // relative path
-    for (int i = 0; i < baseSegmentCount - 1; i++)
-    {
-      sp = accumulate(stack, sp, base.segment(i), preserveRootParents);
-    }
-
-    for (int i = 0; i < segmentCount; i++)
-    {
-      sp = accumulate(stack, sp, segments[i], preserveRootParents);
-    }
-
-    // if the relative path is empty or ends in an empty segment, a parent 
-    // reference, or a self referenfce, add a trailing separator to a
-    // non-empty path
-    if (sp > 0 &&  (segmentCount == 0 ||
-                    SEGMENT_EMPTY.equals(segments[segmentCount - 1]) ||
-                    SEGMENT_PARENT.equals(segments[segmentCount - 1]) ||
-                    SEGMENT_SELF.equals(segments[segmentCount - 1])))
-    {
-      stack[sp++] = SEGMENT_EMPTY;
-    }
-
-    // return a correctly sized result
-    String[] result = new String[sp];
-    System.arraycopy(stack, 0, result, 0, sp);
-    return result;
-  }
-
-  // Adds a segment to a stack, skipping empty segments and self references,
-  // and interpreting parent references.
-  private static int accumulate(String[] stack, int sp, String segment,
-                                boolean preserveRootParents)
-  {
-    if (SEGMENT_PARENT.equals(segment))
-    {
-      if (sp == 0)
-      {
-        // special care must be taken for a root's parent reference: it is
-        // either ignored or the symbolic reference itself is pushed
-        if (preserveRootParents) stack[sp++] = segment;
-      }
-      else
-      {
-        // unless we're already accumulating root parent references,
-        // parent references simply pop the last segment descended
-        if (SEGMENT_PARENT.equals(stack[sp - 1])) stack[sp++] = segment;
-        else sp--;
-      }
-    }
-    else if (!SEGMENT_EMPTY.equals(segment) && !SEGMENT_SELF.equals(segment))
-    {
-      // skip empty segments and self references; push everything else
-      stack[sp++] = segment;
-    }
-    return sp;
-  }
-
-  /**
-   * Finds the shortest relative or, if necessary, the absolute URI that,
-   * when resolved against the given <code>base</code> absolute hierarchical
-   * URI using {@link #resolve(URI) resolve}, will yield this absolute URI.  
-   *
-   * @exception java.lang.IllegalArgumentException if <code>base</code> is
-   * non-hierarchical or is relative.
-   * @exception java.lang.IllegalStateException if <code>this</code> is
-   * relative.
-   */
-  public URI deresolve(URI base)
-  {
-    return deresolve(base, true, false, true);
-  }
-
-  /**
-   * Finds an absolute URI that, when resolved against the given
-   * <code>base</code> absolute hierarchical URI using {@link
-   * #resolve(URI, boolean) resolve}, will yield this absolute URI.
-   *
-   * @param preserveRootParents the boolean argument to <code>resolve(URI,
-   * boolean)</code> for which the returned URI should resolve to this URI.
-   * @param anyRelPath if <code>true</code>, the returned URI's path (if
-   * any) will be relative, if possible.  If <code>false</code>, the form of
-   * the result's path will depend upon the next parameter.
-   * @param shorterRelPath if <code>anyRelPath</code> is <code>false</code>
-   * and this parameter is <code>true</code>, the returned URI's path (if
-   * any) will be relative, if one can be found that is no longer (by number
-   * of segments) than the absolute path.  If both <code>anyRelPath</code>
-   * and this parameter are <code>false</code>, it will be absolute.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>base</code> is
-   * non-hierarchical or is relative.
-   * @exception java.lang.IllegalStateException if <code>this</code> is
-   * relative.
-   */
-  public URI deresolve(URI base, boolean preserveRootParents,
-                       boolean anyRelPath, boolean shorterRelPath)
-  {
-    if (!base.isHierarchical() || base.isRelative())
-    {
-      throw new IllegalArgumentException(
-        "deresolve against non-hierarchical or relative base");
-    }
-    if (isRelative())
-    {
-      throw new IllegalStateException("deresolve relative URI");
-    }
-
-    // note: these assertions imply that neither this nor the base URI has a
-    // relative path; thus, both have either an absolute path or no path
-    
-    // different scheme: need complete, absolute URI
-    if (!scheme.equalsIgnoreCase(base.scheme())) return this;
-
-    // since base must be hierarchical, and since a non-hierarchical URI
-    // must have both scheme and opaque part, the complete absolute URI is
-    // needed to resolve to a non-hierarchical URI
-    if (!isHierarchical()) return this;
-
-    String newAuthority = authority;
-    String newDevice = device;
-    boolean newAbsolutePath = absolutePath;
-    String[] newSegments = segments;
-    String newQuery = query;
-
-    if (equals(authority, base.authority()) &&
-        (hasDevice() || hasPath() || (!base.hasDevice() && !base.hasPath())))
-    {
-      // matching authorities and no device or path removal
-      newAuthority = null;
-
-      if (equals(device, base.device()) && (hasPath() || !base.hasPath()))
-      {
-        // matching devices and no path removal
-        newDevice = null;
-
-        // exception if (!hasPath() && base.hasPath())
-
-        if (!anyRelPath && !shorterRelPath)
-        {
-          // user rejects a relative path: keep absolute or no path
-        }
-        else if (hasPath() == base.hasPath() && segmentsEqual(base) &&
-                 equals(query, base.query()))
-        {
-          // current document reference: keep no path or query
-          newAbsolutePath = false;
-          newSegments = NO_SEGMENTS;
-          newQuery = null;
-        }
-        else if (!hasPath() && !base.hasPath())
-        {
-          // no paths: keep query only
-          newAbsolutePath = false;
-          newSegments = NO_SEGMENTS;
-        }
-        // exception if (!hasAbsolutePath())
-        else if (hasCollapsableSegments(preserveRootParents))
-        {
-          // path form demands an absolute path: keep it and query
-        }
-        else
-        {
-          // keep query and select relative or absolute path based on length
-          String[] rel = findRelativePath(base, preserveRootParents);
-          if (anyRelPath || segments.length > rel.length)
-          {
-            // user demands a relative path or the absolute path is longer
-            newAbsolutePath = false;
-            newSegments = rel;
-          }
-          // else keep shorter absolute path
-        }
-      }
-      // else keep device, path, and query
-    }
-    // else keep authority, device, path, and query
-
-    // always include fragment, even if null;
-    // no validation needed since all components are from existing URIs
-    return new URI(true, null, newAuthority, newDevice, newAbsolutePath,
-                   newSegments, newQuery, fragment);
-  }
-
-  // Returns true if the non-relative path includes segments that would be
-  // collapsed when resolving; false otherwise.  If preserveRootParents is
-  // true, collapsable segments include any empty segments, except for the
-  // last segment, as well as and parent and self references.  If
-  // preserveRootsParents is false, parent references are not collapsable if
-  // they are the first segment or preceeded only by other parent
-  // references.
-  private boolean hasCollapsableSegments(boolean preserveRootParents)
-  {
-    if (hasRelativePath())
-    {
-      throw new IllegalStateException("test collapsability of relative path");
-    }
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      String segment = segments[i];
-      if ((i < len - 1 && SEGMENT_EMPTY.equals(segment)) ||
-          SEGMENT_SELF.equals(segment) ||
-          SEGMENT_PARENT.equals(segment) && (
-            !preserveRootParents || (
-              i != 0 && !SEGMENT_PARENT.equals(segments[i - 1]))))
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  // Returns the shortest relative path between the the non-relative path of
-  // the given base and this absolute path.  If the base has no path, it is
-  // treated as the root absolute path.
-  private String[] findRelativePath(URI base, boolean preserveRootParents)
-  {
-    if (base.hasRelativePath())
-    {
-      throw new IllegalArgumentException(
-        "find relative path against base with relative path");
-    }
-    if (!hasAbsolutePath())
-    {
-      throw new IllegalArgumentException(
-        "find relative path of non-absolute path");
-    }
-
-    // treat an empty base path as the root absolute path
-    String[] startPath = base.collapseSegments(preserveRootParents);
-    String[] endPath = segments;
-
-    // drop last segment from base, as in resolving
-    int startCount = startPath.length > 0 ? startPath.length - 1 : 0;
-    int endCount = endPath.length;
-
-    // index of first segment that is different between endPath and startPath
-    int diff = 0;
-
-    // if endPath is shorter than startPath, the last segment of endPath may
-    // not be compared: because startPath has been collapsed and had its
-    // last segment removed, all preceeding segments can be considered non-
-    // empty and followed by a separator, while the last segment of endPath
-    // will either be non-empty and not followed by a separator, or just empty
-    for (int count = startCount < endCount ? startCount : endCount - 1;
-         diff < count && startPath[diff].equals(endPath[diff]); diff++);
-
-    int upCount = startCount - diff;
-    int downCount = endCount - diff;
-
-    // a single separator, possibly preceeded by some parent reference
-    // segments, is redundant
-    if (downCount == 1 && SEGMENT_EMPTY.equals(endPath[endCount - 1]))
-    {
-      downCount = 0;
-    }
-
-    // an empty path needs to be replaced by a single "." if there is no
-    // query, to distinguish it from a current document reference
-    if (upCount + downCount == 0)
-    {
-      if (query == null) return new String[] { SEGMENT_SELF };
-      return NO_SEGMENTS;
-    }
-
-    // return a correctly sized result
-    String[] result = new String[upCount + downCount];
-    Arrays.fill(result, 0, upCount, SEGMENT_PARENT);
-    System.arraycopy(endPath, diff, result, upCount, downCount);
-    return result;
-  }
-
-  // Collapses non-ending empty segments, parent references, and self
-  // references in a non-relative path, returning the same path that would
-  // be produced from the base hierarchical URI as part of a resolve.
-  String[] collapseSegments(boolean preserveRootParents)
-  {
-    if (hasRelativePath())
-    {
-      throw new IllegalStateException("collapse relative path");
-    }
-
-    if (!hasCollapsableSegments(preserveRootParents)) return segments();
-
-    // use a stack to accumulate segments
-    int segmentCount = segments.length;
-    String[] stack = new String[segmentCount];
-    int sp = 0;
-
-    for (int i = 0; i < segmentCount; i++)
-    {
-      sp = accumulate(stack, sp, segments[i], preserveRootParents);
-    }
-
-    // if the path is non-empty and originally ended in an empty segment, a
-    // parent reference, or a self reference, add a trailing separator
-    if (sp > 0 && (SEGMENT_EMPTY.equals(segments[segmentCount - 1]) ||
-                   SEGMENT_PARENT.equals(segments[segmentCount - 1]) ||
-                   SEGMENT_SELF.equals(segments[segmentCount - 1])))
-    {                   
-      stack[sp++] = SEGMENT_EMPTY;
-    }
-
-    // return a correctly sized result
-    String[] result = new String[sp];
-    System.arraycopy(stack, 0, result, 0, sp);
-    return result;
-  }
-
-  /**
-   * Returns the string representation of this URI.  For a generic,
-   * non-hierarchical URI, this looks like:
-   * <pre>
-   *   scheme:opaquePart#fragment</pre>
-   * 
-   * <p>For a hierarchical URI, it looks like:
-   * <pre>
-   *   scheme://authority/device/pathSegment1/pathSegment2...?query#fragment</pre>
-   *
-   * <p>For an <a href="#archive_explanation">archive URI</a>, it's just:
-   * <pre>
-   *   scheme:authority/pathSegment1/pathSegment2...?query#fragment</pre>
-   * <p>Of course, absent components and their separators will be omitted.
-   */
-  public String toString()
-  {
-    if (cachedToString == null)
-    {
-      StringBuffer result = new StringBuffer();
-      if (!isRelative())
-      {
-        result.append(scheme);
-        result.append(SCHEME_SEPARATOR);
-      }
-
-      if (isHierarchical())
-      {
-        if (hasAuthority())
-        {
-          if (!isArchive()) result.append(AUTHORITY_SEPARATOR);
-          result.append(authority);
-        }
-
-        if (hasDevice())
-        {
-          result.append(SEGMENT_SEPARATOR);
-          result.append(device);
-        }
-
-        if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
-
-        for (int i = 0, len = segments.length; i < len; i++)
-        {
-          if (i != 0) result.append(SEGMENT_SEPARATOR);
-          result.append(segments[i]);
-        }
-
-        if (hasQuery())
-        {
-          result.append(QUERY_SEPARATOR);
-          result.append(query);
-        }
-      }
-      else
-      {
-        result.append(authority);
-      }
-
-      if (hasFragment())
-      {
-        result.append(FRAGMENT_SEPARATOR);
-        result.append(fragment);
-      }
-      cachedToString = result.toString();
-    }
-    return cachedToString;
-  }
-
-  // Returns a string representation of this URI for debugging, explicitly
-  // showing each of the components.
-  String toString(boolean includeSimpleForm)
-  {
-    StringBuffer result = new StringBuffer();
-    if (includeSimpleForm) result.append(toString());
-    result.append("\n hierarchical: ");
-    result.append(hierarchical);
-    result.append("\n       scheme: ");
-    result.append(scheme);
-    result.append("\n    authority: ");
-    result.append(authority);
-    result.append("\n       device: ");
-    result.append(device);
-    result.append("\n absolutePath: ");
-    result.append(absolutePath);
-    result.append("\n     segments: ");
-    if (segments.length == 0) result.append("<empty>");
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (i > 0) result.append("\n               ");
-      result.append(segments[i]);
-    }
-    result.append("\n        query: ");
-    result.append(query);
-    result.append("\n     fragment: ");
-    result.append(fragment);
-    return result.toString();
-  }
-
-  /**
-   * If this URI may refer directly to a locally accessible file, as
-   * determined by {@link #isFile isFile}, {@link decode decodes} and formats  
-   * the URI as a pathname to that file; returns null otherwise.
-   *
-   * <p>If there is no authority, the format of this string is:
-   * <pre>
-   *   device/pathSegment1/pathSegment2...</pre>
-   *
-   * <p>If there is an authority, it is:
-   * <pre>
-   *   //authority/device/pathSegment1/pathSegment2...</pre>
-   * 
-   * <p>However, the character used as a separator is system-dependant and
-   * obtained from {@link java.io.File#separatorChar}.
-   */
-  public String toFileString()
-  {
-    if (!isFile()) return null;
-
-    StringBuffer result = new StringBuffer();
-    char separator = File.separatorChar;
-
-    if (hasAuthority())
-    {
-      result.append(separator);
-      result.append(separator);
-      result.append(authority);
-
-      if (hasDevice()) result.append(separator);
-    }
-
-    if (hasDevice()) result.append(device);
-    if (hasAbsolutePath()) result.append(separator);
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (i != 0) result.append(separator);
-      result.append(segments[i]);
-    }
-
-    return decode(result.toString());
-  }
-
-  /**
-   * Returns the URI formed by appending the specified segment on to the end
-   * of the path of this URI, if hierarchical; this URI unchanged,
-   * otherwise.  If this URI has an authority and/or device, but no path,
-   * the segment becomes the first under the root in an absolute path.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>segment</code>
-   * is not a valid segment according to {@link #validSegment}.
-   */
-  public URI appendSegment(String segment)
-  {
-    if (!validSegment(segment))
-    {
-      throw new IllegalArgumentException("invalid segment: " + segment);
-    }
-
-    if (!isHierarchical()) return this;
-
-    // absolute path or no path -> absolute path
-    boolean newAbsolutePath = !hasRelativePath();
-
-    int len = segments.length;
-    String[] newSegments = new String[len + 1];
-    System.arraycopy(segments, 0, newSegments, 0, len);
-    newSegments[len] = segment;
-
-    return new URI(true, scheme, authority, device, newAbsolutePath,
-                   newSegments, query, fragment);
-  }
-
-  /**
-   * Returns the URI formed by appending the specified segments on to the
-   * end of the path of this URI, if hierarchical; this URI unchanged,
-   * otherwise.  If this URI has an authority and/or device, but no path,
-   * the segments are made to form an absolute path.
-   *
-   * @param segments an array of non-null strings, each representing one
-   * segment of the path.  If desired, a trailing separator should be
-   * represented by an empty-string segment as the last element of the
-   * array.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>segments</code>
-   * is not a valid segment array according to {@link #validSegments}.
-   */
-  public URI appendSegments(String[] segments)
-  {
-    if (!validSegments(segments))
-    {
-      String s = segments == null ? "invalid segments: " + segments :
-        "invalid segment: " + firstInvalidSegment(segments);
-      throw new IllegalArgumentException(s);
-    }
-
-    if (!isHierarchical()) return this;
-
-    // absolute path or no path -> absolute path
-    boolean newAbsolutePath = !hasRelativePath(); 
-
-    int len = this.segments.length;
-    int segmentsCount = segments.length;
-    String[] newSegments = new String[len + segmentsCount];
-    System.arraycopy(this.segments, 0, newSegments, 0, len);
-    System.arraycopy(segments, 0, newSegments, len, segmentsCount);
-    
-    return new URI(true, scheme, authority, device, newAbsolutePath,
-                   newSegments, query, fragment);
-  }
-
-  /**
-   * Returns the URI formed by trimming the specified number of segments
-   * (including empty segments, such as one representing a trailing
-   * separator) from the end of the path of this URI, if hierarchical;
-   * otherwise, this URI is returned unchanged.
-   *
-   * <p>Note that if all segments are trimmed from an absolute path, the
-   * root absolute path remains.
-   * 
-   * @param i the number of segments to be trimmed in the returned URI.  If
-   * less than 1, this URI is returned unchanged; if equal to or greater
-   * than the number of segments in this URI's path, all segments are
-   * trimmed.  
-   */
-  public URI trimSegments(int i)
-  {
-    if (!isHierarchical() || i < 1) return this;
-
-    String[] newSegments = NO_SEGMENTS;
-    int len = segments.length - i;
-    if (len > 0)
-    {
-      newSegments = new String[len];
-      System.arraycopy(segments, 0, newSegments, 0, len);
-    }
-    return new URI(true, scheme, authority, device, absolutePath,
-                   newSegments, query, fragment);
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI that has a path
-   * that ends with a trailing separator; <code>false</code> otherwise.
-   *
-   * <p>A trailing separator is represented as an empty segment as the
-   * last segment in the path; note that this definition does <em>not</em>
-   * include the lone separator in the root absolute path.
-   */
-  public boolean hasTrailingPathSeparator()
-  {
-    return segments.length > 0 && 
-      SEGMENT_EMPTY.equals(segments[segments.length - 1]);
-  }
-
-  /**
-   * If this is a hierarchical URI whose path includes a file extension,
-   * that file extension is returned; null otherwise.  We define a file
-   * extension as any string following the last period (".") in the final
-   * path segment.  If there is no path, the path ends in a trailing
-   * separator, or the final segment contains no period, then we consider
-   * there to be no file extension.  If the final segment ends in a period,
-   * then the file extension is an empty string.
-   */
-  public String fileExtension()
-  {
-    int len = segments.length;
-    if (len == 0) return null;
-
-    String lastSegment = segments[len - 1];
-    int i = lastSegment.lastIndexOf(FILE_EXTENSION_SEPARATOR);
-    return i < 0 ? null : lastSegment.substring(i + 1);
-  }
-
-  /**
-   * Returns the URI formed by appending a period (".") followed by the
-   * specified file extension to the last path segment of this URI, if it is
-   * hierarchical with a non-empty path ending in a non-empty segment;
-   * otherwise, this URI is returned unchanged.
-
-   * <p>The extension is appended regardless of whether the segment already
-   * contains an extension.
-   *
-   * @exception java.lang.IllegalArgumentException if
-   * <code>fileExtension</code> is not a valid segment (portion) according
-   * to {@link #validSegment}.
-   */
-  public URI appendFileExtension(String fileExtension)
-  {
-    if (!validSegment(fileExtension))
-    {
-      throw new IllegalArgumentException(
-        "invalid segment portion: " + fileExtension);
-    }
-
-    int len = segments.length;
-    if (len == 0) return this;
-
-    String lastSegment = segments[len - 1];
-    if (SEGMENT_EMPTY.equals(lastSegment)) return this;
-    StringBuffer newLastSegment = new StringBuffer(lastSegment);
-    newLastSegment.append(FILE_EXTENSION_SEPARATOR);
-    newLastSegment.append(fileExtension);
-
-    String[] newSegments = new String[len];
-    System.arraycopy(segments, 0, newSegments, 0, len - 1);
-    newSegments[len - 1] = newLastSegment.toString();
-    
-    // note: segments.length > 0 -> hierarchical
-    return new URI(true, scheme, authority, device, absolutePath,
-                   newSegments, query, fragment); 
-  }
-
-  /**
-   * If this URI has a non-null {@link #fileExtension fileExtension},
-   * returns the URI formed by removing it; this URI unchanged, otherwise.
-   */
-  public URI trimFileExtension()
-  {
-    int len = segments.length;
-    if (len == 0) return this;
-
-    String lastSegment = segments[len - 1];
-    int i = lastSegment.lastIndexOf(FILE_EXTENSION_SEPARATOR);
-    if (i < 0) return this;
-
-    String newLastSegment = lastSegment.substring(0, i);
-    String[] newSegments = new String[len];
-    System.arraycopy(segments, 0, newSegments, 0, len - 1);
-    newSegments[len - 1] = newLastSegment;
-
-    // note: segments.length > 0 -> hierarchical
-    return new URI(true, scheme, authority, device, absolutePath,
-                   newSegments, query, fragment); 
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI that ends in a
-   * slash; that is, it has a trailing path separator or is the root
-   * absolute path, and has no query and no fragment; <code>false</code>
-   * is returned otherwise.
-   */
-  public boolean isPrefix()
-  {
-    return hierarchical && query == null && fragment == null &&
-      (hasTrailingPathSeparator() || (absolutePath && segments.length == 0));
-  }
-
-  /**
-   * If this is a hierarchical URI reference and <code>oldPrefix</code> is a
-   * prefix of it, this returns the URI formed by replacing it by
-   * <code>newPrefix</code>; <code>null</code> otherwise.
-   *
-   * <p>In order to be a prefix, the <code>oldPrefix</code>'s
-   * {@link #isPrefix isPrefix} must return <code>true</code>, and it must
-   * match this URI's scheme, authority, and device.  Also, the paths must
-   * match, up to prefix's end.
-   *
-   * @exception java.lang.IllegalArgumentException if either
-   * <code>oldPrefix</code> or <code>newPrefix</code> is not a prefix URI
-   * according to {@link #isPrefix}.
-   */
-  public URI replacePrefix(URI oldPrefix, URI newPrefix)
-  {
-    if (!oldPrefix.isPrefix() || !newPrefix.isPrefix())
-    {
-      String which = oldPrefix.isPrefix() ? "new" : "old";
-      throw new IllegalArgumentException("non-prefix " + which + " value");
-    }
-
-    // Get what's left of the segments after trimming the prefix.
-    String[] tailSegments = getTailSegments(oldPrefix);
-    if (tailSegments == null) return null;
-
-    // If the new prefix has segments, it is not the root absolute path,
-    // and we need to drop the trailing empty segment and append the tail
-    // segments.
-    String[] mergedSegments = tailSegments;
-    if (newPrefix.segmentCount() != 0)
-    {
-      int segmentsToKeep = newPrefix.segmentCount() - 1;
-      mergedSegments = new String[segmentsToKeep + tailSegments.length];
-      System.arraycopy(newPrefix.segments(), 0, mergedSegments, 0,
-                       segmentsToKeep);
-
-      if (tailSegments.length != 0)
-      {
-        System.arraycopy(tailSegments, 0, mergedSegments, segmentsToKeep,
-                         tailSegments.length);
-      }
-    }
-
-    // no validation needed since all components are from existing URIs
-    return new URI(true, newPrefix.scheme(), newPrefix.authority(),
-                   newPrefix.device(), newPrefix.hasAbsolutePath(),
-                   mergedSegments, query, fragment);
-  }
-
-  // If this is a hierarchical URI reference and prefix is a prefix of it,
-  // returns the portion of the path remaining after that prefix has been
-  // trimmed; null otherwise.
-  private String[] getTailSegments(URI prefix)
-  {
-    if (!prefix.isPrefix())
-    {
-      throw new IllegalArgumentException("non-prefix trim");
-    }
-
-    // Don't even consider it unless this is hierarchical and has scheme,
-    // authority, device and path absoluteness equal to those of the prefix.
-    if (!hierarchical ||
-        !equals(scheme, prefix.scheme(), true) ||
-        !equals(authority, prefix.authority()) ||
-        !equals(device, prefix.device()) ||
-        absolutePath != prefix.hasAbsolutePath())
-    {
-      return null;
-    }
-
-    // If the prefix has no segments, then it is the root absolute path, and
-    // we know this is an absolute path, too.
-    if (prefix.segmentCount() == 0) return segments;
-
-    // This must have no fewer segments than the prefix.  Since the prefix
-    // is not the root absolute path, its last segment is empty; all others
-    // must match.
-    int i = 0;
-    int segmentsToCompare = prefix.segmentCount() - 1;
-    if (segments.length <= segmentsToCompare) return null;
-
-    for (; i < segmentsToCompare; i++)
-    {
-      if (!segments[i].equals(prefix.segment(i))) return null;
-    }
-
-    // The prefix really is a prefix of this.  If this has just one more,
-    // empty segment, the paths are the same.
-    if (i == segments.length - 1 && SEGMENT_EMPTY.equals(segments[i]))
-    {
-      return NO_SEGMENTS;
-    }
-    
-    // Otherwise, the path needs only the remaining segments.
-    String[] newSegments = new String[segments.length - i];
-    System.arraycopy(segments, i, newSegments, 0, newSegments.length);
-    return newSegments;
-  }
-
-  /**
-   * Encodes a string so as to produce a valid opaque part value, as defined
-   * by the RFC.  All excluded characters, such as space and <code>#</code>,
-   * are escaped, as is <code>/</code> if it is the first character.
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeOpaquePart(String value, boolean ignoreEscaped)
-  {
-    String result = encode(value, URIC_HI, URIC_LO, ignoreEscaped);
-    return result != null && result.length() > 0 && result.charAt(0) == SEGMENT_SEPARATOR ?
-      "%2F" + result.substring(1) :
-      result;
-  }
-
-  /**
-   * Encodes a string so as to produce a valid authority, as defined by the
-   * RFC.  All excluded characters, such as space and <code>#</code>,
-   * are escaped, as are <code>/</code> and <code>?</code>
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeAuthority(String value, boolean ignoreEscaped)
-  {
-    return encode(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, ignoreEscaped);
-  }
-
-  /**
-   * Encodes a string so as to produce a valid segment, as defined by the
-   * RFC.  All excluded characters, such as space and <code>#</code>,
-   * are escaped, as are <code>/</code> and <code>?</code>
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeSegment(String value, boolean ignoreEscaped)
-  {
-    return encode(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, ignoreEscaped);
-  }
-
-  /**
-   * Encodes a string so as to produce a valid query, as defined by the RFC.
-   * Only excluded characters, such as space and <code>#</code>, are escaped.
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeQuery(String value, boolean ignoreEscaped)
-  {
-    return encode(value, URIC_HI, URIC_LO, ignoreEscaped);
-  }
-
-  /**
-   * Encodes a string so as to produce a valid fragment, as defined by the
-   * RFC.  Only excluded characters, such as space and <code>#</code>, are
-   * escaped.
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeFragment(String value, boolean ignoreEscaped)
-  {
-    return encode(value, URIC_HI, URIC_LO, ignoreEscaped);
-  }
-
-  // Encodes a complete URI, optionally leaving % characters unescaped when
-  // beginning a valid three-character escape sequence.  We assume that the
-  // last # begins the fragment.
-  private static String encodeURI(String uri, boolean ignoreEscaped)
-  {
-    if (uri == null) return null;
-
-    StringBuffer result = new StringBuffer();
-
-    int i = uri.indexOf(SCHEME_SEPARATOR);
-    if (i != -1)
-    {
-      String scheme = uri.substring(0, i);
-      result.append(scheme);
-      result.append(SCHEME_SEPARATOR);
-    }
-    
-    int j = uri.lastIndexOf(FRAGMENT_SEPARATOR);
-    if (j != -1)
-    {
-      String sspart = uri.substring(++i, j);
-      result.append(encode(sspart, URIC_HI, URIC_LO, ignoreEscaped));
-      result.append(FRAGMENT_SEPARATOR);
-
-      String fragment = uri.substring(++j);
-      result.append(encode(fragment, URIC_HI, URIC_LO, ignoreEscaped));
-    }
-    else
-    {
-      String sspart = uri.substring(++i);
-      result.append(encode(sspart, URIC_HI, URIC_LO, ignoreEscaped));
-    }
-    
-    return result.toString();
-  }
-
-  // Encodes the given string, replacing each ASCII character that is not in
-  // the set specified by the 128-bit bitmask and each non-ASCII character
-  // below 0xA0 by an escape sequence of % followed by two hex digits.  If
-  // % is not in the set but ignoreEscaped is true, then % will not be encoded
-  // iff it already begins a valid escape sequence.
-  private static String encode(String value, long highBitmask, long lowBitmask, boolean ignoreEscaped)
-  {
-    if (value == null) return null;
-
-    StringBuffer result = null;
-
-    for (int i = 0, len = value.length(); i < len; i++)
-    {
-      char c = value.charAt(i);
-
-      if (!matches(c, highBitmask, lowBitmask) && c < 160 &&
-          (!ignoreEscaped || !isEscaped(value, i)))
-      {
-        if (result == null)
-        {
-          result = new StringBuffer(value.substring(0, i));
-        }
-        appendEscaped(result, (byte)c);
-      }
-      else if (result != null)
-      {
-        result.append(c);
-      }
-    }
-    return result == null ? value : result.toString();
-  }
-
-  // Tests whether an escape occurs in the given string, starting at index i.
-  // An escape sequence is a % followed by two hex digits.
-  private static boolean isEscaped(String s, int i)
-  {
-    return s.charAt(i) == ESCAPE && s.length() > i + 2 &&
-      matches(s.charAt(i + 1), HEX_HI, HEX_LO) &&
-      matches(s.charAt(i + 2), HEX_HI, HEX_LO);
-  }
-
-  // Computes a three-character escape sequence for the byte, appending
-  // it to the StringBuffer.  Only characters up to 0xFF should be escaped;
-  // all but the least significant byte will be ignored.
-  private static void appendEscaped(StringBuffer result, byte b)
-  {
-    result.append(ESCAPE);
-
-    // The byte is automatically widened into an int, with sign extension,
-    // for shifting.  This can introduce 1's to the left of the byte, which
-    // must be cleared by masking before looking up the hex digit.
-    //
-    result.append(HEX_DIGITS[(b >> 4) & 0x0F]);
-    result.append(HEX_DIGITS[b & 0x0F]);
-  }
-
-  /**
-   * Decodes the given string, replacing each three-digit escape sequence by
-   * the character that it represents.  Incomplete escape sequences are
-   * ignored.
-   */
-  public static String decode(String value)
-  {
-    if (value == null) return null;
-
-    StringBuffer result = null;
-
-    for (int i = 0, len = value.length(); i < len; i++)
-    {
-      if (isEscaped(value, i)) 
-      {
-        if (result == null)
-        {
-          result = new StringBuffer(value.substring(0, i));
-        }
-        result.append(unescape(value.charAt(i + 1), value.charAt(i + 2)));
-        i += 2;
-      }
-      else if (result != null)
-      {
-        result.append(value.charAt(i));
-      }
-    }
-    return result == null ? value : result.toString();
-  }
-
-  // Returns the character encoded by % followed by the two given hex digits,
-  // which is always 0xFF or less, so can safely be casted to a byte.  If
-  // either character is not a hex digit, a bogus result will be returned.
-  private static char unescape(char highHexDigit, char lowHexDigit)
-  {
-    return (char)((valueOf(highHexDigit) << 4) | valueOf(lowHexDigit));
-  }
-
-  // Returns the int value of the given hex digit.
-  private static int valueOf(char hexDigit)
-  {
-    if (hexDigit >= 'A' && hexDigit <= 'F')
-    {
-      return hexDigit - 'A' + 10;
-    }
-    if (hexDigit >= 'a' && hexDigit <= 'f')
-    {
-      return hexDigit - 'a' + 10;
-    }
-    if (hexDigit >= '0' && hexDigit <= '9')
-    {
-      return hexDigit - '0';
-    }
-    return 0;
-  }
-
-  
-  /**
-   * This method takes two URIs, the first one relative, the second absolute. It
-   * tries to resolve the first URI (making it absolute) by using the second one.
-   * If the URI cannot be resolved, the relative one is returned unmodified.
-   * 
-   * @param relativeURI
-   * @param absoluteURI
-   * @return relativeURI resolved (absolute) or relativeURI unmodified if it cannot
-   * be resolved.
-   */
-  public static String resolveRelativeURI(String relativeURI, String absoluteURI) {
-
-	  String result = relativeURI;
-
-	  try {
-      	URI relative = URI.createURI(relativeURI);
-       	URI absolute = URI.createURI(absoluteURI);
-       	URI resolvedRelative = relative.resolve(absolute);
-       	result = resolvedRelative.toString();
-      } catch (Exception e) {}
-      return result;
-  }
-  
-  
-  /*
-   * Returns <code>true</code> if this URI contains non-ASCII characters;
-   * <code>false</code> otherwise.
-   *
-   * This unused code is included for possible future use... 
-   */
-/*
-  public boolean isIRI()
-  {
-    return iri; 
-  }
-
-  // Returns true if the given string contains any non-ASCII characters;
-  // false otherwise.
-  private static boolean containsNonASCII(String value)
-  {
-    for (int i = 0, len = value.length(); i < len; i++)
-    {
-      if (value.charAt(i) > 127) return true;
-    }
-    return false;
-  }
-*/
-
-  /*
-   * If this is an {@link #isIRI IRI}, converts it to a strict ASCII URI,
-   * using the procedure described in Section 3.1 of the
-   * <a href="http://www.w3.org/International/iri-edit/draft-duerst-iri-09.txt">IRI
-   * Draft RFC</a>.  Otherwise, this URI, itself, is returned.
-   *
-   * This unused code is included for possible future use...
-   */
-/*
-  public URI toASCIIURI()
-  {
-    if (!iri) return this;
-
-    if (cachedASCIIURI == null)
-    {
-      String eAuthority = encodeAsASCII(authority);
-      String eDevice = encodeAsASCII(device);
-      String eQuery = encodeAsASCII(query);
-      String eFragment = encodeAsASCII(fragment);
-      String[] eSegments = new String[segments.length];
-      for (int i = 0; i < segments.length; i++)
-      {
-        eSegments[i] = encodeAsASCII(segments[i]);
-      }
-      cachedASCIIURI = new URI(hierarchical, scheme, eAuthority, eDevice, absolutePath, eSegments, eQuery, eFragment); 
-
-    }
-    return cachedASCIIURI;
-  }
-
-  // Returns a strict ASCII encoding of the given value.  Each non-ASCII
-  // character is converted to bytes using UTF-8 encoding, which are then
-  // represnted using % escaping.
-  private String encodeAsASCII(String value)
-  {
-    if (value == null) return null;
-
-    StringBuffer result = null;
-
-    for (int i = 0, len = value.length(); i < len; i++)
-    {
-      char c = value.charAt(i);
-
-      if (c >= 128)
-      {
-        if (result == null)
-        {
-          result = new StringBuffer(value.substring(0, i));
-        }
-
-        try
-        {
-          byte[] encoded = (new String(new char[] { c })).getBytes("UTF-8");
-          for (int j = 0, encLen = encoded.length; j < encLen; j++)
-          {
-            appendEscaped(result, encoded[j]);
-          }
-        }
-        catch (UnsupportedEncodingException e)
-        {
-          throw new WrappedException(e);
-        }
-      }
-      else if (result != null)
-      {
-        result.append(c);
-      }
-
-    }
-    return result == null ? value : result.toString();
-  }
-
-  // Returns the number of valid, consecutive, three-character escape
-  // sequences in the given string, starting at index i.
-  private static int countEscaped(String s, int i)
-  {
-    int result = 0;
-
-    for (int len = s.length(); i < len; i += 3)
-    {
-      if (isEscaped(s, i)) result++;
-    }
-    return result;
-  }
-*/
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java
deleted file mode 100644
index 647fa36..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
-import org.osgi.framework.Bundle;
-
-/**
- * A URI resolver extension descriptor contains all the information about
- * an extension URI resolver. The information contained allows for the
- * extension resolver to be instantiated and called at the correct times.
- */
-public class URIResolverExtensionDescriptor
-{
-	protected URIResolverExtension resolver;
-
-	protected String fileType;
-
-	protected String className;
-
-	public List projectNatureIds;
-
-	protected String resourceType;
-
-	protected int stage = URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION;
-
-	protected String priority = URIResolverExtensionRegistry.PRIORITY_MEDIUM;
-
-	protected String pluginId;
-
-	protected boolean error;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param className The extension URI resolver class name.
-	 * @param pluginId The ID of the plugin that contains the extension URI resolver class.
-	 * @param projectNatureIds The project nature IDs for which the resolver should run.
-	 * @param resourceType The type of resource for which the resolver should run.
-	 * @param stage The stage of the resolver. Either prenormalization or postnormalization.
-	 * @param priority The resolver's priority. high, medium, or low.
-	 */
-	public URIResolverExtensionDescriptor(String className, String pluginId,
-			List projectNatureIds, String resourceType, int stage, String priority)
-	{
-		this.className = className;
-		this.pluginId = pluginId;
-		this.projectNatureIds = projectNatureIds;
-		this.resourceType = resourceType;
-		this.stage = stage;
-		this.priority = priority;
-	}
-
-	/**
-	 * Get the extension URI resolver.
-	 * 
-	 * @return The extension URI resolver.
-	 */
-	public URIResolverExtension getResolver()
-	{
-
-		if (resolver == null && className != null && !error)
-		{
-			try
-			{
-				// Class theClass = classLoader != null ?
-				// classLoader.loadClass(className) : Class.forName(className);
-				Bundle bundle = Platform.getBundle(pluginId);
-				Class theClass = bundle.loadClass(className);
-				resolver = (URIResolverExtension) theClass.newInstance();
-			} catch (Exception e)
-			{
-				error = true;
-				e.printStackTrace();
-			}
-		}
-		return resolver;
-	}
-
-	/**
-	 * Determines if the resolver should run in the current scenario given
-	 * the project nature ID, resource type, and stage.
-	 * 
-	 * @param projectNatureId The project nature ID to check against.
-	 * @param resourceType The resource type to check against.
-	 * @param stage The stage to check against.
-	 * @return True if the resolver should run, false otherwise.
-	 */
-	public boolean matches(String projectNatureId, String resourceType, int stage)
-	{
-		if (projectNatureIds.contains(projectNatureId))
-		{
-			return matches(this.resourceType, resourceType) && this.stage == stage;
-		}
-		return false;
-	}
-
-	/**
-	 * Determines if string a matches string b.
-	 * TODO: Why is this required instead of just using String.equals?
-	 * 
-	 * @param a String for comparison.
-	 * @param b String for comparison.
-	 * @return True if the strings match, false otherwise.
-	 */
-	private boolean matches(String a, String b)
-	{
-		return (a != null) ? a.equals(b) : a == b;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java
deleted file mode 100644
index d081bf1..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * The URI resolver extension registry contains information about
- * all of the extension URI resolvers.
- */
-public class URIResolverExtensionRegistry
-{
-	protected HashMap map = new HashMap();
-
-	public static final int STAGE_PRENORMALIZATION = 1;
-
-	public static final int STAGE_POSTNORMALIZATION = 2;
-
-	public static final int STAGE_PHYSICAL = 3;
-
-	public static final String PRIORITY_LOW = "low";
-
-	public static final String PRIORITY_MEDIUM = "medium";
-
-	public static final String PRIORITY_HIGH = "high";
-
-	protected final static String NULL_PROJECT_NATURE_ID = "";
-
-	protected static URIResolverExtensionRegistry instance;
-
-	private URIResolverExtensionRegistry()
-	{
-	}
-
-	/**
-	 * Get the one and only instance of the registry.
-	 * 
-	 * @return The one and only instance of the registry.
-	 */
-	public synchronized static URIResolverExtensionRegistry getIntance()
-	{
-		if (instance == null)
-		{
-			instance = new URIResolverExtensionRegistry();
-			new URIResolverExtensionRegistryReader(instance).readRegistry();
-		}
-		return instance;
-	}
-
-	/**
-	 * Add an extension resolver to the registry.
-	 * 
-	 * @param className The name of the extension URI resolver class.
-	 * @param pluginId The ID of the plugin that contains the extension URI resolver class.
-	 * @param projectNatureIds A list of project natures IDs for which the resolver should run.
-	 * @param resourceType The type of resoure for which an extension resource should run.
-	 * @param stage The stage to run. Either prenormalization or postnormalization.
-	 * @param priority The priority of the resolver. Valid values are high, medium, and low.
-	 */
-	public void put(String className, String pluginId, List projectNatureIds,
-			String resourceType, int stage, String priority)
-	{
-		if (projectNatureIds == null)
-			projectNatureIds = new ArrayList();
-		if (projectNatureIds.isEmpty())
-		{
-			projectNatureIds.add(NULL_PROJECT_NATURE_ID);
-		}
-		URIResolverExtensionDescriptor info = new URIResolverExtensionDescriptor(
-				className, pluginId, projectNatureIds, resourceType, stage, priority);
-
-		Iterator idsIter = projectNatureIds.iterator();
-		while (idsIter.hasNext())
-		{
-			String key = (String) idsIter.next();
-
-			HashMap priorityMap = (HashMap) map.get(key);
-			if (priorityMap == null)
-			{
-				priorityMap = new HashMap();
-				map.put(key, priorityMap);
-				priorityMap.put(PRIORITY_HIGH, new ArrayList());
-				priorityMap.put(PRIORITY_MEDIUM, new ArrayList());
-				priorityMap.put(PRIORITY_LOW, new ArrayList());
-			}
-			List list = (List) priorityMap.get(priority);
-			list.add(info);
-		}
-	}
-
-	/**
-	 * Return a list of URIResolverExtensionDescriptor objects that apply to this
-	 * project. The list is in the priority order high, medium, low.
-	 * 
-	 * @param project The project for which you are requesting resolvers.
-	 * @return A list of URIResolverExtensionDescriptor objects.
-	 */
-	public List getExtensionDescriptors(IProject project)
-	{
-		List result = new ArrayList();
-		for (Iterator i = map.keySet().iterator(); i.hasNext();)
-		{
-			String key = (String) i.next();
-			try
-			{
-				if (key == NULL_PROJECT_NATURE_ID || project == null
-						|| project.hasNature(key))
-				{
-					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_HIGH));
-					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_MEDIUM));
-					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_LOW));
-				}
-			} catch (CoreException e)
-			{
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Return a list of URIResolver objects that match the stage.
-	 * TODO: This seems like an odd method to house here. It may need to be moved
-	 *       or removed if the stage attribute dissapears.
-	 * 
-	 * @param resolverInfoList A list of resolvers to prune.
-	 * @param stage The stage requested.
-	 * @return A list of URIResolver objects that match the stage.
-	 */
-	public List getMatchingURIResolvers(List resolverInfoList, int stage)
-	{
-		List result = new ArrayList();
-		for (Iterator i = resolverInfoList.iterator(); i.hasNext();)
-		{
-			URIResolverExtensionDescriptor info = (URIResolverExtensionDescriptor) i
-					.next();
-			if (info.stage == stage)
-			{
-				Object resolver = info.getResolver();
-				if (resolver != null)
-				{
-					result.add(resolver);
-				}
-			}
-		}
-		return result;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java
deleted file mode 100644
index a173f28..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
-
-/**
- * This class reads the URI resolver extension point and registers extension
- * resolvers with the URI resolver registry.
- */
-public class URIResolverExtensionRegistryReader
-{
-
-	protected static final String EXTENSION_POINT_ID = "resolverExtensions";
-
-	protected static final String TAG_NAME = "resolverExtension";
-
-	protected static final String ATT_ID = "id";
-
-	protected static final String ELEM_PROJECT_NATURE_ID = "projectNature";
-
-	protected static final String ATT_RESOURCE_TYPE = "resourceType";
-
-	protected static final String ATT_CLASS = "class";
-
-	protected static final String ATT_STAGE = "stage";
-
-	protected static final String VAL_STAGE_PRE = "prenormalization";
-
-	protected static final String VAL_STAGE_POST = "postnormalization";
-
-	protected static final String VAL_STAGE_PHYSICAL = "physical";
-
-	protected static final String ATT_VALUE = "value";
-
-	protected static final String ATT_PRIORITY = "priority";
-
-	protected URIResolverExtensionRegistry registry;
-
-	public URIResolverExtensionRegistryReader(URIResolverExtensionRegistry registry)
-	{
-		this.registry = registry;
-	}
-
-	/**
-	 * read from plugin registry and parse it.
-	 */
-	public void readRegistry()
-	{
-		IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
-		IExtensionPoint point = pluginRegistry.getExtensionPoint(URIResolverPlugin
-				.getInstance().getBundle().getSymbolicName(), EXTENSION_POINT_ID);
-		if (point != null)
-		{
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++)
-			{
-				readElement(elements[i]);
-			}
-		}
-	}
-
-	/**
-	 * readElement() - parse and deal with an extension like:
-	 * 
-	 * <extension point="org.eclipse.wst.contentmodel.util_implementation">
-	 * <util_implementation class =
-	 * org.eclipse.wst.baseutil.CMUtilImplementationImpl /> </extension>
-	 */
-	protected void readElement(IConfigurationElement element)
-	{
-		if (element.getName().equals(TAG_NAME))
-		{
-			// String id = element.getAttribute(ATT_ID);
-			String className = element.getAttribute(ATT_CLASS);
-			// String projectNatureId = element.getAttribute(ATT_PROJECT_NATURE_ID);
-			String resourceType = element.getAttribute(ATT_RESOURCE_TYPE);
-			String stage = element.getAttribute(ATT_STAGE);
-			String priority = element.getAttribute(ATT_PRIORITY);
-			if (priority == null || priority.equals(""))
-			{
-				priority = URIResolverExtensionRegistry.PRIORITY_MEDIUM;
-			}
-			List projectNatureIds = new ArrayList();
-			IConfigurationElement[] ids = element.getChildren(ELEM_PROJECT_NATURE_ID);
-			int numids = ids.length;
-			for (int i = 0; i < numids; i++)
-			{
-				String tempid = ids[i].getAttribute(ATT_VALUE);
-
-				if (tempid != null)
-				{
-					projectNatureIds.add(tempid);
-				}
-			}
-			if (className != null)
-			{
-				try
-				{
-					String pluginId = element.getDeclaringExtension().getNamespaceIdentifier();
-
-					int stageint = URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION;
-					if (stage.equalsIgnoreCase(VAL_STAGE_PRE))
-					{
-						stageint = URIResolverExtensionRegistry.STAGE_PRENORMALIZATION;
-					} else if (stage.equalsIgnoreCase(VAL_STAGE_PHYSICAL))
-					{
-						stageint = URIResolverExtensionRegistry.STAGE_PHYSICAL;
-					}
-					registry.put(className, pluginId, projectNatureIds, resourceType,
-							stageint, priority);
-				} catch (Exception e)
-				{
-					// TODO: Log exception as this will cause an extension resolver
-					//       from loading.
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java
deleted file mode 100644
index ef0a4ca..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.provisional;
-
-/**
- * A URIResolver is used to resolve URI references to resources.
- */
-public interface URIResolver {
-	
-	/**
-	 * @param baseLocation - the location of the resource that contains the uri 
-	 * @param publicId - an optional public identifier (i.e. namespace name), or null if none
-	 * @param systemId - an absolute or relative URI, or null if none 
-	 * @return an absolute URI represention the 'logical' location of the resource
-	 */
-	public String resolve(String baseLocation, String publicId, String systemId);
-    
-    /**
-     * @param baseLocation - the location of the resource that contains the uri 
-     * @param publicId - an optional public identifier (i.e. namespace name), or null if none
-     * @param systemId - an absolute or relative URI, or null if none 
-     * @return an absolute URI represention the 'physical' location of the resource
-     */
-    public String resolvePhysicalLocation(String baseLocation, String publicId, String logicalLocation);    
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java
deleted file mode 100644
index 16d61e7..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.provisional;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * An extension to augment the behaviour of a URIResolver.  Extensions are project aware
- * so that they can apply specialized project specific resolving rules. 
- */
-public interface URIResolverExtension {
-	/**
-	 * @param file the in-workspace base resource, if one exists
-	 * @param baseLocation - the location of the resource that contains the uri
-	 * @param publicId - an optional public identifier (i.e. namespace name), or null if none
-	 * @param systemId - an absolute or relative URI, or null if none 
-	 * 
-	 * @return an absolute URI or null if this extension can not resolve this reference
-	 */
-	public String resolve(IFile file, String baseLocation, String publicId, String systemId);
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java
deleted file mode 100644
index 2b63687..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.provisional;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.common.uriresolver.internal.ExtensibleURIResolver;
-import org.eclipse.wst.common.uriresolver.internal.URIResolverExtensionRegistry;
-
-
-public class URIResolverPlugin extends Plugin {
-	protected static URIResolverPlugin instance;	
-	protected URIResolverExtensionRegistry xmlResolverExtensionRegistry;
-
-	public static URIResolverPlugin getInstance()
-	{
-		return instance;
-	}
-	
-	public URIResolverPlugin() {
-		super();
-		instance = this;
-	}	
-	
-					
-	public static URIResolver createResolver()
-	{
-		return createResolver(null);
-	}
-	
-	public static URIResolver createResolver(Map properties)
-	{
-		// TODO... utilize properties
-		return new ExtensibleURIResolver();
-	}	
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java
deleted file mode 100644
index 6fc7c9e..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.util;
-
-import java.io.BufferedWriter;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.util.BitSet;
-
-/**
- *  This class is a modified version of java.lang.URLEncoder.
- */
-public class URIEncoder 
-{
-  static BitSet dontNeedEncoding;
-  static final int caseDiff = ('a' - 'A');
-  static String dfltEncName = null;
-  
-
-  static 
-  {            
-	  dontNeedEncoding = new BitSet(256);
-	  int i;
-	  for (i = 'a'; i <= 'z'; i++) 
-    {
-	    dontNeedEncoding.set(i);
-	  }
-	  for (i = 'A'; i <= 'Z'; i++) 
-    {
-	    dontNeedEncoding.set(i);
-	  }
-	  for (i = '0'; i <= '9'; i++) 
-    {
-	    dontNeedEncoding.set(i);
-	  }
-
-	  //dontNeedEncoding.set(' '); // cs.. removed so that space character will be replaced by %20
-	  dontNeedEncoding.set('-');
-	  dontNeedEncoding.set('_');
-	  dontNeedEncoding.set('.');
-	  dontNeedEncoding.set('*');
-	  dontNeedEncoding.set(':');   // cs.. added 
-	  dontNeedEncoding.set('/');   // cs.. added so that slashes don't get encoded as %2F
-
-  	// dfltEncName = (String)AccessController.doPrivileged(new GetPropertyAction("file.encoding"));
-  	// As discussed with Sandy, we should encode URIs with UTF8
-   dfltEncName = "UTF8";
-    //System.out.println("dfltEncName " + dfltEncName);
-   }
-
-  /**
-   * You can't call the constructor.
-   */
-  private URIEncoder() { }
-
-  /**
-   * Translates a string into <code>x-www-form-urlencoded</code>
-   * format. This method uses the platform's default encoding
-   * as the encoding scheme to obtain the bytes for unsafe characters.
-   *
-   * @param   s   <code>String</code> to be translated.
-   * @deprecated The resulting string may vary depending on the platform's
-   *             default encoding. Instead, use the encode(String,String)
-   *             method to specify the encoding.
-   * @return  the translated <code>String</code>.
-   */
-  public static String encode(String s) 
-  {
-	  String str = null;
-	  try 
-    {
-	    str = encode(s, dfltEncName);
-	  } 
-    catch (UnsupportedEncodingException e) 
-    {
-	    // The system should always have the platform default
-	  }
-	  return str;
-  }
-
-  /**
-   * Translates a string into <code>application/x-www-form-urlencoded</code>
-   * format using a specific encoding scheme. This method uses the
-   * supplied encoding scheme to obtain the bytes for unsafe
-   * characters.
-   * <p>
-   * <em><strong>Note:</strong> The <a href=
-   * "http://www.w3.org/TR/html40/appendix/notes.html#non-ascii-chars">
-   * World Wide Web Consortium Recommendation</a> states that
-   * UTF-8 should be used. Not doing so may introduce
-   * incompatibilites.</em>
-   *
-   * @param   s   <code>String</code> to be translated.
-   * @param   enc   The name of a supported 
-   *    <a href="../lang/package-summary.html#charenc">character
-   *    encoding</a>.
-   * @return  the translated <code>String</code>.
-   * @exception  UnsupportedEncodingException
-   *             If the named encoding is not supported
-   * @see java.net.URLDecoder#decode(java.lang.String, java.lang.String)
-   */
-  public static String encode(String s, String enc) throws UnsupportedEncodingException 
-  {
-	  boolean needToChange = false;
-	  boolean wroteUnencodedChar = false; 
-	  int maxBytesPerChar = 10; // rather arbitrary limit, but safe for now
-    StringBuffer out = new StringBuffer(s.length());
-	  ByteArrayOutputStream buf = new ByteArrayOutputStream(maxBytesPerChar);
-	  BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buf, enc));
-
-	  for (int i = 0; i < s.length(); i++) 
-    {
-	    int c = s.charAt(i);
-	    //System.out.println("Examining character: " + c);
-	    if (dontNeedEncoding.get(c))
-      {
-		   //if (c == ' ')
-       //{
-		   //  c = '+';
-		   //  needToChange = true;
-		   //}
-		   //System.out.println("Storing: " + c);
-		   out.append((char)c);
-		   wroteUnencodedChar = true;
-	    }
-      else
-      {
-		    // convert to external encoding before hex conversion
-		    try
-        {
-		      if (wroteUnencodedChar) 
-          { // Fix for 4407610
-		    	  writer = new BufferedWriter(new OutputStreamWriter(buf, enc));
-			      wroteUnencodedChar = false;
-		      }
-		      writer.write(c);
-		        
-		      // If this character represents the start of a Unicode
-		      // surrogate pair, then pass in two characters. It's not
-		      // clear what should be done if a bytes reserved in the 
-		      // surrogate pairs range occurs outside of a legal
-		      // surrogate pair. For now, just treat it as if it were 
-		      // any other character.
-		      // 
-		      if (c >= 0xD800 && c <= 0xDBFF) 
-          {
-			      //  System.out.println(Integer.toHexString(c) + " is high surrogate");			      
-			      if ( (i+1) < s.length()) 
-            {
-			        int d = s.charAt(i+1);
-			        // System.out.println("\tExamining " + Integer.toHexString(d));			      
-			        if (d >= 0xDC00 && d <= 0xDFFF) 
-              {
-				        // System.out.println("\t" + Integer.toHexString(d) + " is low surrogate");				
-				        writer.write(d);
-				        i++;
-			        }
-			      }
-		      }
-		      writer.flush();
-		    } 
-        catch(IOException e) 
-        {
-		      buf.reset();
-		      continue;
-		    }
-		    byte[] ba = buf.toByteArray();
-
-		    for (int j = 0; j < ba.length; j++) 
-        {
-		      out.append('%');
-		      char ch = Character.forDigit((ba[j] >> 4) & 0xF, 16);
-		      // converting to use uppercase letter as part of
-		      // the hex value if ch is a letter.
-		      if (Character.isLetter(ch)) 
-          {
-			      ch -= caseDiff;
-		      }
-		      out.append(ch);
-		      ch = Character.forDigit(ba[j] & 0xF, 16);
-		      if (Character.isLetter(ch)) 
-          {
-			      ch -= caseDiff;
-		      }
-		      out.append(ch);
-		    }
-		    buf.reset();
-		    needToChange = true;
-	    }
-	  }
-	  return (needToChange? out.toString() : s);
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java
deleted file mode 100644
index f9540b3..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java
+++ /dev/null
@@ -1,528 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.util;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URL;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-
-public class URIHelper
-{                       
-  protected static final String FILE_PROTOCOL = "file:";
-  protected static final String PLATFORM_RESOURCE_PROTOCOL = "platform:/resource/";
-  protected static final String PROTOCOL_PATTERN = ":"; 
-  
-  
-  public static String ensureURIProtocolFormat(String uri) {
-	  String protocol = getProtocol(uri);
-	  if (protocol != null) {
-		  if (protocol.equals(FILE_PROTOCOL)) {
-			  return ensureFileURIProtocolFormat(uri);
-		  }
-	  }
-	 return uri;
-  }
-  
-  
-  /**
-   * This method takes a file URI in String format and ensures the protocol is followed by three slashes.
-   * For example, files "file:D:/XXX", "file:/D:/XXX" and "file://D:/XXX" are corrected to:
-   * "file:///D:/XXX".
-   * If the input is not a file URI (does not start with "file:"), the String is returned unmodified.
-   */
-  public static String ensureFileURIProtocolFormat(String uri) {
-      if (uri.startsWith(FILE_PROTOCOL) && !uri.startsWith(FILE_PROTOCOL + "///")) //$NON-NLS-1$
-      {
-      	if (uri.startsWith(FILE_PROTOCOL + "//")) {
-      		uri = FILE_PROTOCOL + "/" + uri.substring(FILE_PROTOCOL.length()); //$NON-NLS-1$
-      	} else if (uri.startsWith(FILE_PROTOCOL + "/")) {
-      		uri = FILE_PROTOCOL + "//" + uri.substring(FILE_PROTOCOL.length()); //$NON-NLS-1$
-      	} else {
-      		uri = FILE_PROTOCOL + "///" + uri.substring(FILE_PROTOCOL.length()); //$NON-NLS-1$
-      	}
-      }
-     return uri;
-  }
-  
-  public static String normalize(String uri)
-  {                           
-    if (uri != null)
-    {                      
-      String protocol = getProtocol(uri);
-      String file = uri;
-           
-      if (protocol != null)
-      {               
-        try
-        {   
-          // 
-          URL url = new URL(uri); 
-          // we use a 'Path' on the 'file' part of the url in order to normalize the '.' and '..' segments
-          IPath path = new Path(url.getFile()); 
-          URL url2 = new URL(url.getProtocol(), url.getHost(), url.getPort(), path.toString());
-          uri = url2.toString();                               
-        }                        
-        catch (Exception e)
-        {  
-        }
-      }   
-      else
-      {      
-        IPath path = new Path(file);
-        uri = path.toString();
-      }
-    }
-    return uri;
-  }
-
-
-  /**
-   * a 'null' rootLocation argument will causes uri that begins with a '/' to be treated as a workspace relative resource
-   * (i.e. the string "platform:/resource" is prepended and the uri is resolved via the Platform object)
-   */
-  public static String normalize(String uri, String resourceLocation, String rootLocation)
-  {
-    String result = null;
-
-    if (uri != null)
-    { 
-      // is the uri a url
-      if (hasProtocol(uri))
-      {                  
-        if (isPlatformResourceProtocol(uri))
-        {
-          result = resolvePlatformUrl(uri);
-        }
-        else
-        {
-          result = uri;
-        }
-      }
-   
-      // is uri absolute
-      //
-      if (result == null)
-      {
-        if (uri.indexOf(":") != -1 || uri.startsWith("/") || uri.startsWith("\\"))
-        {                   
-          result = uri;
-        }
-      }
-  
-      // if uri is relative to the resourceLocation
-      //
-      if (result == null && resourceLocation != null)
-      {          
-        if (resourceLocation.endsWith("/"))
-        {
-			    result = resourceLocation + uri;
-        }
-		    else
-        {
-			    result = resourceLocation + "/../" + uri;
-        }
-      }
-      
-      if (result == null)
-      {
-        result = uri;
-      }
-  
-      result = normalize(result);
-    }
-
-    //System.out.println("normalize(" + uri + ", " + resourceLocation + ", " + rootLocation + ") = " + result);
-    return result;
-  }
-
-
-  public static boolean isURL(String uri)
-  {
-    return uri.indexOf(":/") > 2; // test that the index is > 2 so that C:/ is not considered a protocol
-  }
-
-
-  public static String getLastSegment(String uri)
-  {
-    String result = uri;
-    int index = Math.max(uri.lastIndexOf("/"), uri.lastIndexOf("\\"));
-    if (index != -1)
-    {
-      result = uri.substring(index + 1);
-    }
-    return result;
-  }
-
-
-  public static String getFileExtension(String uri)
-  {
-    String result = null;
-    int dotIndex = getExtensionDotIndex(uri);
-               
-    if (dotIndex != -1)
-    {
-      result = uri.substring(dotIndex + 1);
-    }
-
-    return result;
-  }
-
-
-  public static String removeFileExtension(String uri)
-  {
-    String result = null;
-    int dotIndex = getExtensionDotIndex(uri);
-
-    if (dotIndex != -1)
-    {
-      result = uri.substring(0, dotIndex);
-    }
-
-    return result;
-  }   
-             
-
-  // here we use the Platform to resolve a workspace relative path to an actual url
-  //
-  protected static String resolvePlatformUrl(String urlspec)
-  {
-    String result = null;
-    try
-    {                        
-      urlspec = urlspec.replace('\\', '/'); 
-      URL url = new URL(urlspec);
-      URL resolvedURL = FileLocator.resolve(url);
-      result = resolvedURL.toString();
-    }
-    catch (Exception e)
-    {
-    }
-    return result;
-  }
-
-
-  protected static int getExtensionDotIndex(String uri)
-  {
-    int result = -1;
-    int dotIndex = uri.lastIndexOf(".");
-    int slashIndex = Math.max(uri.lastIndexOf("/"), uri.lastIndexOf("\\"));
-
-    if (dotIndex != -1 && dotIndex > slashIndex)
-    {
-      result = dotIndex;
-    }
-
-    return result;
-  }
-  
-
-  public static boolean isPlatformResourceProtocol(String uri)
-  {                                                     
-    return uri != null && uri.startsWith(PLATFORM_RESOURCE_PROTOCOL);
-  }                                                   
-
-  public static String removePlatformResourceProtocol(String uri)
-  {  
-    if (uri != null && uri.startsWith(PLATFORM_RESOURCE_PROTOCOL))
-    {
-      uri = uri.substring(PLATFORM_RESOURCE_PROTOCOL.length());
-    }                                                          
-    return uri;
-  }            
-
-
-  public static String prependPlatformResourceProtocol(String uri)
-  {  
-    if (uri != null && !uri.startsWith(PLATFORM_RESOURCE_PROTOCOL))
-    {
-      uri = PLATFORM_RESOURCE_PROTOCOL + uri;
-    }                                                          
-    return uri;
-  } 
-  
-
-  public static String prependFileProtocol(String uri)
-  {  
-    if (uri != null && !uri.startsWith(FILE_PROTOCOL))
-    {
-      uri = FILE_PROTOCOL + uri;
-    }                                                          
-    return uri;
-  } 
-            
-  public static boolean hasProtocol(String uri)
-  {
-    boolean result = false;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(PROTOCOL_PATTERN);
-      if (index != -1 && index > 2) // assume protocol with be length 3 so that the'C' in 'C:/' is not interpreted as a protocol
-      {
-        result = true;
-      }
-    }
-    return result;
-  }     
-                      
-
-  public static boolean isAbsolute(String uri)
-  {
-    boolean result = false;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(PROTOCOL_PATTERN);
-      if (index != -1 || uri.startsWith("/") || uri.startsWith("\\"))
-      {
-        result = true;
-      }
-    }
-    return result;
-  }
-
-
-  public static String addImpliedFileProtocol(String uri)
-  {  
-    if (!hasProtocol(uri))
-    {                           
-      String prefix = FILE_PROTOCOL;
-      prefix += uri.startsWith("/") ? "//" : "///";
-      uri = prefix + uri;
-    }
-    return uri;
-  }
-             
-  // todo... need to revisit this before we publicize it
-  // 
-  protected static String getProtocol(String uri)
-  {  
-    String result = null;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(PROTOCOL_PATTERN);
-      if (index > 2) // assume protocol with be length 3 so that the'C' in 'C:/' is not interpreted as a protocol
-      {
-        result = uri.substring(0, index + PROTOCOL_PATTERN.length());
-      }
-    }
-    return result;
-  } 
- 
-
-  public static String removeProtocol(String uri)
-  {
-    String result = uri;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(PROTOCOL_PATTERN);
-      if (index > 2)
-      {
-        result = result.substring(index + PROTOCOL_PATTERN.length());                 
-      }
-    }
-    return result;
-  } 
-
-
-  protected static boolean isProtocolFileOrNull(String uri)
-  {                                    
-    String protocol = getProtocol(uri);   
-    return protocol == null || protocol.equals(FILE_PROTOCOL);
-  }  
-
-                                           
-  protected static boolean isMatchingProtocol(String uri1, String uri2)
-  { 
-    boolean result = false;  
-
-    String protocol1 = getProtocol(uri1);
-    String protocol2 = getProtocol(uri2);
-
-    if (isProtocolFileOrNull(protocol1) && isProtocolFileOrNull(protocol2))
-    {                                                                      
-      result = true;
-    } 
-    else
-    {
-      result = protocol1 != null && protocol2 != null && protocol1.equals(protocol2);
-    }             
-
-    return result;
-  }
-
-  /**
-   * warning... this method not fully tested yet
-   */
-  public static String getRelativeURI(String uri, String resourceLocation)
-  {                                      
-    String result = uri;  
-    if (isMatchingProtocol(uri, resourceLocation)) 
-    {
-      result = getRelativeURI(new Path(removeProtocol(uri)),
-                              new Path(removeProtocol(resourceLocation)));
-    }            
-
-    return result;
-  }
-
-  /**
-   * warning... this method not fully tested yet
-   */
-  public static String getRelativeURI(IPath uri, IPath resourceLocation)
-  {            
-    String result = null;
-    int nMatchingSegments = 0;       
-    resourceLocation = resourceLocation.removeLastSegments(1);
-    while (true)
-    {                   
-      String a = uri.segment(nMatchingSegments); 
-      String b = resourceLocation.segment(nMatchingSegments); 
-      if (a != null && b != null && a.equals(b))
-      {
-        nMatchingSegments++;
-      }
-      else
-      {
-        break;
-      }
-    }                 
-
-    if (nMatchingSegments == 0)
-    {
-      result = uri.toOSString();
-    }
-    else
-    {    
-      result = "";   
-      boolean isFirst = true;
-      String[] segments = resourceLocation.segments();
-      for (int i = nMatchingSegments; i < segments.length; i++)
-      {  
-        result += isFirst ? ".." : "/..";     
-        if (isFirst)
-        {
-          isFirst = false;
-        }        
-      }
-      // 
-      segments = uri.segments();
-      for (int i = nMatchingSegments; i < segments.length; i++)
-      {                      
-        result += isFirst ? segments[i] : ("/" + segments[i]);     
-        if (isFirst)
-        {
-          isFirst = false;
-        } 
-      }
-    }   
-    return result;
-  }
-
-
-  public static String getPlatformURI(IResource resource)
-  {                            
-    String fullPath = resource.getFullPath().toString();
-    if (fullPath.startsWith("/"))
-    {
-      fullPath = fullPath.substring(1);
-    }
-    return PLATFORM_RESOURCE_PROTOCOL + fullPath;
-  }
-  
-
-  /**
-   * This methods is used as a quick test to see if a uri can be resolved to an existing resource.   
-   */
-  public static boolean isReadableURI(String uri, boolean testRemoteURI)
-  {  
-    boolean result = true;  
-    if (uri != null)
-    {   
-      try
-      {                               
-        uri = normalize(uri, null, null);
-        if (isProtocolFileOrNull(uri))
-        {
-          uri = removeProtocol(uri);                            
-          File file = new File(org.eclipse.wst.common.uriresolver.internal.URI.decode(uri));
-          result = file.exists() && file.isFile();
-        }
-        else if (isPlatformResourceProtocol(uri))
-        {
-          // Note - If we are here, uri has been failed to resolve
-          // relative to the Platform. See normalize() to find why.
-          result = false;
-        }
-        else if (testRemoteURI)
-        {
-          URL url = new URL(uri);
-          InputStream is = url.openConnection().getInputStream();
-          is.close();
-          // the uri is readable if we reach here.
-          result = true;
-        }
-      }
-      catch (Exception e)
-      {
-        result = false;
-      }
-    }
-    else // uri is null
-      result = false;
-
-    return result;
-  }  
-
-  /**
-   * return true if this is a valid uri
-   */
-  public static boolean isValidURI(String uri)
-  {                       
-    boolean result = false;
-    try                                                              
-    {
-      new URI(uri);
-      result = true;
-    }
-    catch (Exception e)
-    {
-    }               
-    return result;
-  }
-
-  /**
-   * returns an acceptable URI for a file path
-   */
-  public static String getURIForFilePath(String filePath)
-  {
-    String result = addImpliedFileProtocol(filePath);
-    if (!isValidURI(result))
-    {
-    	try
-    	{
-        result = URIEncoder.encode(result, "UTF8");
-    	}
-    	catch(UnsupportedEncodingException e)
-    	{
-    		// Do nothing as long as UTF8 is used. This is supported.
-    	}
-    }
-    return result;
-  }
-}