This commit was manufactured by cvs2svn to create tag 'v200603012100'.
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 58363a8..0000000
--- a/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +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.101.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %Plugin.providerName
-Require-Bundle: org.eclipse.help
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 e18a4e5..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.
-
-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 > Validation</b>.
-
-Select the <b>Run validation when you manually build a project</b> check box if you want the selected validators to run whenever you build your projects.
-To enable the <b>Run validation when you manually build a project</b> check box, select at least one validator in the list.
-
-Select  the <b>Run validation automatically when you save changes to a resource</b> check box if you want the selected validators to automatically run whenever you save changes to any project resources.
-To enable the <b>Run validation automatically when you save changes to a resource</b> check box, select at least one validator in the list. 
-
-Use the <b>Maximum number of validation messages</b> field to define the maximum allowable validation messages for the project.
-If the number of validation messages reported in the task list exceeds the number set in this field, validation will terminate.
-</description>
-<topic label="Validating code in enterprise applications" href="../org.eclipse.jst.j2ee.doc.user/topics/tjval.html"/>
-<topic label="Common validation errors and solutions" href="../org.eclipse.jst.j2ee.doc.user/topics/rvalerr.html"/>
-</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 1e9fba0..0000000
--- a/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml
+++ /dev/null
@@ -1,26 +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.
-
-Select the <b>Override validation preferences</b> check box. Select this 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 > Preferences > Validation</b> and select the <b>Allow projects to override these preference settings</b> check box.
-
-Select the <b>Run validation when you manually build</b> check box if you want the selected validators to run whenever you build your project.
-To enable the <b>Run validation when you manually build</b> check box, select at least one validator in the list.
-
-Select  the <b>Run validation automatically when you save changes to resources</b> check box if you want the selected validators to automatically run whenever you save changes to your project resources.
-To enable the <b>Run validation automatically when you save changes to resources</b> check box, select at least one validator in the list. 
-
-Use the <b>Maximum number of validation messages</b> field to define the maximum allowable validation messages for the project.
-If the number of validation messages reported in the task list exceeds the number set in this field, validation will terminate.
-</description>
-<topic label="Validating code in enterprise applications" href="../org.eclipse.jst.j2ee.doc.user/topics/tjval.html"/>
-<topic label="Common validation errors and solutions" href="..org.eclipse.jst.j2ee.doc.user/topics/rvalerr.html"/>
-</context>
-
-</contexts>
\ No newline at end of file
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 1df77e7..0000000
--- a/docs/org.eclipse.wst.validation.infopop/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               ValidationPrefs_HelpContexts.xml,\
-               ValidationProjPrefs_HelpContexts.xml,\
-               plugin.properties
-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 1a861c3..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.toc">
-    <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/.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/build.properties b/features/org.eclipse.wst.common_core.feature/build.properties
deleted file mode 100644
index d6a4dce..0000000
--- a/features/org.eclipse.wst.common_core.feature/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-src.includes = license.html,\
-               feature.xml,\
-               epl-v10.html,\
-               eclipse_update_120.jpg,\
-               build.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 64893f7..0000000
--- a/features/org.eclipse.wst.common_core.feature/feature.properties
+++ /dev/null
@@ -1,130 +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
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_core.feature/feature.xml b/features/org.eclipse.wst.common_core.feature/feature.xml
deleted file mode 100644
index 83ba351..0000000
--- a/features/org.eclipse.wst.common_core.feature/feature.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_core.feature"
-      label="WST Common Core Feature"
-      version="1.0.100.qualifier"
-      provider-name="Eclipse.org">
-
-   <description>
-      %description
-   </description>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.jem" version="1.2" match="equivalent"/>
-      <import feature="org.eclipse.emf" version="2.2" match="equivalent"/>
-   </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.wst.common.explorer"
-         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 2347060..0000000
--- a/features/org.eclipse.wst.common_core.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "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></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 64893f7..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,130 +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
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index aea5453..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_core.feature.source"
-      label="%featureName"
-      version="1.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="Web Tools Platform (WTP) Updates" 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 c6af966..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index 0a8aea0..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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<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 2dee36a..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=eclipse32.gif
-
-# 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 f95b457..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, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
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_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 84ad202..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/build.properties
+++ /dev/null
@@ -1,11 +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
-src.includes = eclipse_update_120.jpg,\
-               epl-v10.html,\
-               feature.xml,\
-               license.html,\
-               build.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 64893f7..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/feature.properties
+++ /dev/null
@@ -1,130 +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
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_sdk.feature/feature.xml b/features/org.eclipse.wst.common_sdk.feature/feature.xml
deleted file mode 100644
index 25d4d58..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/feature.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_sdk.feature"
-      label="WST Common Feature SDK"
-      version="1.0.100.qualifier"
-      provider-name="Eclipse.org">
-
-   <description>
-      %description
-   </description>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <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 2347060..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "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></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 d6a4dce..0000000
--- a/features/org.eclipse.wst.common_ui.feature/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-src.includes = license.html,\
-               feature.xml,\
-               epl-v10.html,\
-               eclipse_update_120.jpg,\
-               build.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 64893f7..0000000
--- a/features/org.eclipse.wst.common_ui.feature/feature.properties
+++ /dev/null
@@ -1,130 +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
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_ui.feature/feature.xml b/features/org.eclipse.wst.common_ui.feature/feature.xml
deleted file mode 100644
index 8986bb8..0000000
--- a/features/org.eclipse.wst.common_ui.feature/feature.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_ui.feature"
-      label="org.eclipse.wst.common_ui.feature"
-      version="1.0.101.qualifier"
-      provider-name="Eclipse.org">
-
-   <description>
-      %description
-   </description>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.common_userdoc.feature"
-         version="0.0.0"/>
-
-   <requires>
-      <import feature="org.eclipse.gef" version="3.2" match="equivalent"/>
-      <import feature="org.eclipse.wst.common_core.feature" version="1.0.0" match="equivalent"/>
-   </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.navigator.views"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.navigator.workbench"
-         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.proxy"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.internet.proxy.infopop"
-         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 2347060..0000000
--- a/features/org.eclipse.wst.common_ui.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "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></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 01950e3..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,132 +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=Eclipse JDT 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=Eclipse.org update site
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse Java development tools.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index c5652c6..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_ui.feature.source"
-      label="WST Common UI Feature Source"
-      version="1.0.1.qualifier"
-      provider-name="Eclipse.org">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-   
-   <url>
-      <update label="Web Tools Platform (WTP) Updates" 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 c6af966..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index 0a8aea0..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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<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 2dee36a..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=eclipse32.gif
-
-# 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 5895597..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, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
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/plugins/org.eclipse.jem.util/.classpath b/plugins/org.eclipse.jem.util/.classpath
deleted file mode 100644
index d4d58af..0000000
--- a/plugins/org.eclipse.jem.util/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="jemutil"/>
-	<classpathentry kind="src" path="property_files"/>
-	<classpathentry kind="src" path="jemutil-nonworkbnech"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry sourcepath="org.eclipse.perfmsr.core.stub/perfmsr.jar" kind="lib" path="org.eclipse.perfmsr.core.stub/perfmsr.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.util/.cvsignore b/plugins/org.eclipse.jem.util/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.jem.util/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.jem.util/.options b/plugins/org.eclipse.jem.util/.options
deleted file mode 100644
index 0565417..0000000
--- a/plugins/org.eclipse.jem.util/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.jem.util/debug/logtrace=false
-org.eclipse.jem.util/debug/logtracefile=false
-org.eclipse.jem.util/debug/loglevel=WARNING
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/.project b/plugins/org.eclipse.jem.util/.project
deleted file mode 100644
index e0e4120..0000000
--- a/plugins/org.eclipse.jem.util/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.util</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.jem.util/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d78073f..0000000
--- a/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,289 +0,0 @@
-#Tue Feb 21 10:09:19 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.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=error
-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.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.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.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=150
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=150
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6c8e1bc..0000000
--- a/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Tue Feb 21 10:09:19 EST 2006
-eclipse.preferences.version=1
-formatter_profile=_jve
-formatter_settings_version=10
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;org.eclipse.wtp;org.eclipse.jem;org.eclipse.ve.internal.cdm;org.eclipse.ve.internal.cde;org.eclipse.ve.internal.jcm;org.eclipse.ve.internal.java;org.eclipse.ve;com;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/plugins/org.eclipse.jem.util/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jem.util/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fb46b28..0000000
--- a/plugins/org.eclipse.jem.util/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Fri May 13 10:10:04 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=2
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=2
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=2
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.jem.util/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem.util/META-INF/MANIFEST.MF
deleted file mode 100644
index aaa7e87..0000000
--- a/plugins/org.eclipse.jem.util/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jem.util; singleton:=true
-Bundle-Version: 1.2.0.qualifier
-Bundle-Activator: org.eclipse.jem.util.plugin.JEMUtilPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jem.internal.util.emf.workbench;x-friends:="org.eclipse.jem.beaninfo",
- org.eclipse.jem.internal.util.emf.workbench.nature;x-internal:=true,
- org.eclipse.jem.internal.util.emf.workbench.nls;x-internal:=true,
- org.eclipse.jem.util,
- org.eclipse.jem.util.emf.workbench,
- org.eclipse.jem.util.emf.workbench.nature,
- org.eclipse.jem.util.logger,
- org.eclipse.jem.util.logger.proxy,
- org.eclipse.jem.util.logger.proxyrender,
- org.eclipse.jem.util.plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.perfmsr.core;resolution:=optional,
- com.ibm.icu
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jem.util/PERFMSR_README.txt b/plugins/org.eclipse.jem.util/PERFMSR_README.txt
deleted file mode 100644
index ea51258..0000000
--- a/plugins/org.eclipse.jem.util/PERFMSR_README.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-org.eclipse.perfmsr.core code can be found in the perfmsr.jar loaded as binary in this
-project. Since this is optional, we needed to be able to compile without the true
-plugin being available. So we created the stub jar containing just what we needed.
-
-If there is a need to change anything in the stub jar, you will need to checkout
-the folder org.eclipse.jem.util/org.eclipse.perfmsr.core.stub. This will then
-be a separate project. You can then make the changes there, and then following the
-README in that project to create and commit the changes. 
-
-The jar is in this project's classpath, but it is not exported and is not in
-the plugin.xml or build.properties. This means it will be available for compilation
-but it won't show up in the runtime workbench.
\ No newline at end of file
diff --git "a/plugins/org.eclipse.jem.util/READ_ME_BEFORE_CHANGING_MANIFEST\041\041\041" "b/plugins/org.eclipse.jem.util/READ_ME_BEFORE_CHANGING_MANIFEST\041\041\041"
deleted file mode 100644
index 718e94a..0000000
--- "a/plugins/org.eclipse.jem.util/READ_ME_BEFORE_CHANGING_MANIFEST\041\041\041"
+++ /dev/null
@@ -1,8 +0,0 @@
-Do not include a new dependency plugin to the MANIFEST for this plugind!!!
-
-The reason for this is that this plugin is also executed outside of Eclipse framework, such IBM Websphere Application Server (c) IBM. We cannot add
-new dependencies to the plugin because the current set is considered to be API. Adding a new set without consulting those users would break
-them.
-
-The external API is anything in the jemutil-nonworkbench folder. If it is only for a class in the other source folder(s) it may be OK since they would not be 
-using that code. But it would be best to consult with them first.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/about.html b/plugins/org.eclipse.jem.util/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/plugins/org.eclipse.jem.util/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/build.properties b/plugins/org.eclipse.jem.util/build.properties
deleted file mode 100644
index b40afd0..0000000
--- a/plugins/org.eclipse.jem.util/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               .options,\
-               about.html,\
-               plugin.properties,\
-               META-INF/,\
-               .
-src.includes = schema/,\
-               about.html
-output.. = bin/
-source.. = jemutil/,\
-           property_files/,\
-           jemutil-nonworkbnech/
-jars.compile.order = .
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/LogEntry.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/LogEntry.java
deleted file mode 100644
index 09269a2..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/LogEntry.java
+++ /dev/null
@@ -1,329 +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
- *******************************************************************************/
-/*
- *  $RCSfile: LogEntry.java,v $
- *  $Revision: 1.4 $  $Date: 2006/01/20 19:30:40 $ 
- */
-package org.eclipse.jem.util.logger;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintWriter;
-
-/**
- * This class should be used when logging information which should be grouped together. Instead of creating a new instance of this class every time it
- * is needed, for performance reasons, create an instance and reuse it.
- * <p>
- * Currently the only fields that are logged are the {@link #getText()} and {@link #getTargetException()}.
- * 
- * @since 1.0.0
- */
-public class LogEntry {
-
-	private int _executionMap = 0;
-
-	private Throwable _caughtException = null;
-
-	private String _propertiesFileName = null;
-
-	private String localeOfOrigin = null;
-
-	private String sourceIdentifier;
-
-	private String elapsedTime;
-
-	private String text;
-
-	private String messageTypeIdentifier;
-
-	/**
-	 * The file name parameter must be a name which can be used by ResourceBundle to load the string from the .properties file. The parameter must not
-	 * be null or the empty string.
-	 * 
-	 * @param propertiesFileName
-	 * 
-	 * @since 1.0.0
-	 */
-	public LogEntry(String propertiesFileName) {
-		setPropertiesFileName(propertiesFileName);
-	}
-
-	/**
-	 * Default Constructor
-	 */
-	public LogEntry() {
-	}
-
-	/**
-	 * Get execution map
-	 * 
-	 * @return execution map
-	 * 
-	 * @since 1.0.0
-	 */
-	public int getExecutionMap() {
-		return _executionMap;
-	}
-
-	/**
-	 * Get the properties file name
-	 * 
-	 * @return properties file name or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getPropertiesFileName() {
-		return _propertiesFileName;
-	}
-
-	/**
-	 * Get target exception
-	 * 
-	 * @return target exception or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Throwable getTargetException() {
-		return _caughtException;
-	}
-
-	/**
-	 * Get locale of origin
-	 * 
-	 * @return locale of origin or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getLocaleOfOrigin() {
-		return localeOfOrigin;
-	}
-
-	/**
-	 * Get source identifier.
-	 * 
-	 * @return source identifier or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getSourceidentifier() {
-		return sourceIdentifier;
-	}
-
-	/**
-	 * Get elapsed time
-	 * 
-	 * @return elapsed time
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getElapsedTime() {
-		return elapsedTime;
-	}
-
-	/**
-	 * Get the message type identifier
-	 * 
-	 * @return message type identifier or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getMessageTypeIdentifier() {
-		return messageTypeIdentifier;
-	}
-
-	/**
-	 * Set execution map
-	 * 
-	 * @param map
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setExecutionMap(int map) {
-		_executionMap = map;
-	}
-
-	/**
-	 * Set properties file name
-	 * 
-	 * @param fName
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setPropertiesFileName(String fName) {
-		_propertiesFileName = fName;
-	}
-
-	/**
-	 * Set target exception
-	 * 
-	 * @param exc
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setTargetException(Throwable exc) {
-		_caughtException = exc;
-	}
-
-	/**
-	 * Append stacktrace of current stack (at the time of call to this method) to the text buffer.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void appendStackTrace() {
-		// Grab the stack trace from the Thread ...
-		ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
-		PrintWriter printWriter = new PrintWriter(byteOutput);
-		// Can't call Thread.dumpStack() because it doesn't take a writer as input.
-		// Copy its mechanism instead.
-		new Exception("Stack trace").printStackTrace(printWriter); //$NON-NLS-1$
-		printWriter.flush();
-
-		// and update the text to the LogEntry's text.
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getText());
-		buffer.append("\n"); //$NON-NLS-1$
-		buffer.append(byteOutput.toString());
-		setText(buffer.toString());
-	}
-
-	/**
-	 * Get the text.
-	 * 
-	 * @return text or or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getText() {
-		return text;
-	}
-
-	/**
-	 * Set the text
-	 * 
-	 * @param string
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setText(String string) {
-		text = string;
-	}
-
-	/**
-	 * Set every entry to the default value except the properties file name.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void reset() {
-		setExecutionMap(0);
-		setTargetException(null);
-		localeOfOrigin = null;
-		sourceIdentifier = null;
-		elapsedTime = null;
-		setText(null);
-	}
-
-	/**
-	 * Set locale of origin.
-	 * 
-	 * @param origin
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setLocaleOfOrigin(String origin) {
-		localeOfOrigin = origin;
-	}
-
-	/**
-	 * Set source id.
-	 * 
-	 * @param id
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setSourceID(String id) {
-		sourceIdentifier = id;
-	}
-
-	/**
-	 * Set elapsed time.
-	 * 
-	 * @param time
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setElapsedTime(long time) {
-		elapsedTime = String.valueOf(time);
-	}
-
-	/**
-	 * Set source identifier.
-	 * 
-	 * @param string
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setSourceIdentifier(String string) {
-		setSourceID(string);
-	}
-
-	/**
-	 * Set message type identifier.
-	 * 
-	 * @param string
-	 * 
-	 * @since 1.0.0
-	 * @deprecated Use {@link #setText(String)} instead and calling it with the result of {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])}
-	 */
-	public void setMessageTypeIdentifier(String string) {
-		messageTypeIdentifier = string;
-	}
-
-	/**
-	 * Set message type id. Same as <code>setMessageTypeIdentifier.</code>
-	 * @param string
-	 * 
-	 * @since 1.0.0
-	 * @deprecated Use {@link #setText(String)} instead and calling it with the result of {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])}
-	 */
-	public void setMessageTypeID(String string) {
-		setMessageTypeIdentifier(string);
-	}
-
-	/**
-	 * Set tokens. (Currently this is ignored).
-	 * 
-	 * @param strings
-	 * 
-	 * @since 1.0.0
-	 * @deprecated Use {@link #setText(String)} instead and calling it with the result of {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])}
-	 */
-	public void setTokens(String[] strings) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
-		PrintWriter printWriter = new PrintWriter(byteOutput);
-		if (text != null)
-			printWriter.println(text);
-		if (_caughtException != null) {
-			_caughtException.printStackTrace(printWriter);
-		}
-		printWriter.flush();
-		return byteOutput.toString();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer.java
deleted file mode 100644
index 3ba7c4d..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer.java
+++ /dev/null
@@ -1,72 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ILogRenderer.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:05:54 $ 
- */
-package org.eclipse.jem.util.logger.proxy;
-
-/**
- * Basic log renderer interface. It is replaced by the extension <code>ILogRenderer2.</code>
- * 
- * @since 1.0.0
- */
-public interface ILogRenderer {
-
-	/**
-	 * Logged to console.
-	 */
-	final public static String CONSOLE_DESCRIPTION = "console"; //$NON-NLS-1$
-
-	/**
-	 * Logged to workbench.
-	 */
-	final public static String WORKBENCH_DESCRIPTION = "workbench log"; //$NON-NLS-1$
-
-	/**
-	 * Not logged.
-	 */
-	final public static String NOLOG_DESCRIPTION = ""; //$NON-NLS-1$
-
-	/**
-	 * Log levels. These are deprecated, use <code>java.util.logging.Level</code> codes instead.
-	 */
-	final public static int LOG_ERROR = 0;
-
-	final public static int LOG_TRACE = 1;
-
-	final public static int LOG_WARNING = 2;
-
-	final public static int LOG_INFO = 3;
-
-	final public static String DefaultPluginID = "org.eclipse.jem.util"; //$NON-NLS-1$
-
-	/**
-	 * Log the string at the specified type.
-	 * 
-	 * @param msg
-	 * @param type
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(String msg, int type);
-
-	/**
-	 * Start or stop the tracing.
-	 * 
-	 * @param Flag
-	 *            <code>true</code> to start the tracing.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setTraceMode(boolean Flag);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer2.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer2.java
deleted file mode 100644
index 69ee144..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer2.java
+++ /dev/null
@@ -1,151 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ILogRenderer2.java,v $
- *  $Revision: 1.4 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util.logger.proxy;
-
-import java.util.logging.Level;
- 
-/**
- * Log renderer that provides more function. Basically it can handle
- * the logging of specific types in a different manner than the default
- * conversion to string supplied by Logger.
- * 
- * It also uses the Level classes from java.util.logging as the logging levels.
- * 
- * @since 1.0.0
- */
-public interface ILogRenderer2 extends ILogRenderer {
-	
-	/**
-	 * When Logger.setLevel(DEFAULT): restore to what the default level was.
-	 * When log(...,DEFAULT): Log at the default level for the type of object.
-	 */
-	static final Level DEFAULT = new Logger.LocalLevel("DEFAULT", Integer.MAX_VALUE-1); //$NON-NLS-1$
-	
-	/**
-	 * When log(...,TRACE) : Log only when in trace mode.
-	 * Don't use in Logger.setLevel(). Has no meaning in that case.
-	 */
-	static final Level TRACE = new Logger.LocalLevel("TRACE", Integer.MAX_VALUE-2);	 //$NON-NLS-1$
-
-	/**
-	 * Log the throwable at the given level (if DEFAULT, use default level for a throwable).
-	 * 
-	 * @param t
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(Throwable t, Level level);
-	
-	/**
-	 * Log the object at the given level (if DEFAULT, use default level for an object).
-	 * 
-	 * @param o
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(Object o, Level level);
-	
-	/**
-	 * Log the boolean at the given level (if DEFAULT, use default level for a boolean).
-	 * 
-	 * @param b
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(boolean b, Level level);	
-
-	/**
-	 * Log the char at the given level (if DEFAULT, use default level for a char).
-	 * 
-	 * @param c
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(char c, Level level);	
-	
-	/**
-	 * Log the byte at the given level (if DEFAULT, use default level for a byte).
-	 * 
-	 * @param b
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(byte b, Level level);
-	
-	/**
-	 * Log the short at the given level (if DEFAULT, use default level for a short).
-	 * 
-	 * @param s
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(short s, Level level);
-	
-	/**
-	 * Log the int at the given level (if DEFAULT, use default level for an int).
-	 * 
-	 * @param i
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(int i, Level level);
-
-	/**
-	 * Log the long at the given level (if DEFAULT, use default level for a long).
-	 * 
-	 * @param l
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(long l, Level level);
-
-	/**
-	 * Log the float at the given level (if DEFAULT, use default level for a float).
-	 * 
-	 * @param f
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(float f, Level level);
-
-	/**
-	 * Log the double at the given level (if DEFAULT, use default level for a double).
-	 * 
-	 * @param d
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(double d, Level level);
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/JDKConsoleRenderer.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/JDKConsoleRenderer.java
deleted file mode 100644
index 6f0f828..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/JDKConsoleRenderer.java
+++ /dev/null
@@ -1,247 +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
- *******************************************************************************/
-/*
- *  $RCSfile: JDKConsoleRenderer.java,v $
- *  $Revision: 1.3 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util.logger.proxy;
-
-import java.util.logging.Level;
-
-/**
- * Default log renderer to use when not running under Eclipse. It logs to sysout and syserr.
- * 
- * @since 1.1.0
- */
-
-public class JDKConsoleRenderer implements ILogRenderer2 {
-
-	private boolean fTraceMode = false; // will we actually punch trace messaged or not
-
-	private boolean fSettingTrace = false;
-
-	private Logger fMyLogger = null;
-
-	/**
-	 * Constructer taking a logger.
-	 * 
-	 * @param logger
-	 * 
-	 * @since 1.1.0
-	 */
-	public JDKConsoleRenderer(Logger logger) {
-		super();
-		fMyLogger = logger;
-		fTraceMode = fMyLogger.getTraceMode();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer#log(java.lang.String, int)
-	 */
-	public String log(String msg, int type) {
-
-		if (type == ILogRenderer.LOG_TRACE && !fTraceMode)
-			return null;
-
-		if (type == ILogRenderer.LOG_ERROR)
-			System.err.println(msg);
-		else
-			System.out.println(msg);
-		return ILogRenderer.CONSOLE_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer#setTraceMode(boolean)
-	 */
-	public void setTraceMode(boolean flag) {
-
-		if (fSettingTrace)
-			return;
-		fSettingTrace = true;
-		fTraceMode = flag;
-		fMyLogger.setTraceMode(flag);
-		fSettingTrace = false;
-	}
-
-	/**
-	 * Log the string at the given level.
-	 * 
-	 * @param msg
-	 * @param level
-	 * @return <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @since 1.1.0
-	 */
-	protected String log(String msg, Level level) {
-		if (level == Level.SEVERE)
-			System.err.println(msg);
-		else
-			System.out.println(msg);
-		return ILogRenderer.CONSOLE_DESCRIPTION;
-	}
-
-	/**
-	 * Answer if logging at the given level
-	 * 
-	 * @param logLevel
-	 * @return <code>true</code> if logging at the given level.
-	 * 
-	 * @since 1.1.0
-	 */
-	protected boolean isLogging(Level logLevel) {
-		return fTraceMode || fMyLogger.isLoggingLevel(logLevel);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(boolean, java.util.logging.Level)
-	 */
-	public String log(boolean b, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(b), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(byte, java.util.logging.Level)
-	 */
-	public String log(byte b, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(b), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(char, java.util.logging.Level)
-	 */
-	public String log(char c, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(c), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(double, java.util.logging.Level)
-	 */
-	public String log(double d, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(d), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(float, java.util.logging.Level)
-	 */
-	public String log(float f, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(f), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(int, java.util.logging.Level)
-	 */
-	public String log(int i, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(i), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(long, java.util.logging.Level)
-	 */
-	public String log(long l, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(l), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(java.lang.Object, java.util.logging.Level)
-	 */
-	public String log(Object o, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(o), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(short, java.util.logging.Level)
-	 */
-	public String log(short s, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(s), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(java.lang.Throwable, java.util.logging.Level)
-	 */
-	public String log(Throwable t, Level level) {
-		if (level == DEFAULT)
-			level = Level.SEVERE;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(fMyLogger.exceptionToString(t), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/Logger.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/Logger.java
deleted file mode 100644
index 6a33f8f..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/Logger.java
+++ /dev/null
@@ -1,843 +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
- *******************************************************************************/
-/*
- *  $RCSfile: Logger.java,v $
- *  $Revision: 1.7 $  $Date: 2006/02/15 23:40:59 $ 
- */
-package org.eclipse.jem.util.logger.proxy;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.*;
-import java.util.logging.Level;
-
-/**
- * This is a base, UI independent logger.   It will
- * construct a consistent msg. body, and call an enfironment specific ILogRenderer.
- * By default, this logger will use a console based ILogRenderer,
- * and a J2EE Plugin identification.
- * 
- * <p>
- * When running outside of Eclipse, the trace and logging level come from the system properties
- * <ul>
- * 		<li>"debug" (="true") - The default is <code>false</code>. 
- * 		<li>"logLevel" (="level" where "level" is a level string, e.g. SEVERE, WARNING, etc. from the <code>java.util.logging.Level</code> class).
- * 			The default is "WARNING".
- * </ul>
- * 
- * 
- * @since 1.0.0
- */
-public class Logger {
-	
-	// This is used by ILogRenderer2 to define the default level.
-	static class LocalLevel extends Level {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 * 
-		 * @since 1.1.0
-		 */
-		private static final long serialVersionUID = -6273357074767854883L;
-
-		public LocalLevel(String name, int level) {
-			super(name, level);
-		}
-	}	
-	
-	private boolean fTraceMode = false; // will we actually punch trace messaged or not              
-	private String fPluginID;
-	private ILogRenderer fRenderer = null;
-	private ILogRenderer2 renderer2 = null;
-	public String fLineSeperator;
-	private Level level;
-	private Level defaultLevel = Level.SEVERE;	// By default only severe or greater are logged.
-	private String logFileName;
-	private final static String DefaultLoggerPlugin = ILogRenderer.DefaultPluginID;
-	static private Hashtable Loggers = new Hashtable(); // Keep track of all the Loggers
-	final protected static String[] LogMark = { "*** ERROR *** ", //$NON-NLS-1$
-		"[Trace] ", //$NON-NLS-1$
-		"+++ Warning +++ ", //$NON-NLS-1$
-		"Info " }; //$NON-NLS-1$
-
-	final protected static String Filler = "    "; // Use this to indent msg. body //$NON-NLS-1$
-	
-	protected Logger() {
-		this(ILogRenderer.DefaultPluginID);
-	}
-	
-	protected Logger(String pluginID) {
-		fPluginID = pluginID;
-		setRenderer(new JDKConsoleRenderer(this));	// Set up default to this. Someone can change it later.
-	}
-
-	/**
-	 * Return the stacktrace as a print formatted string.
-	 * @param e
-	 * @return the stacktrace as a string.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String exceptionToString(Throwable e) {
-		StringWriter stringWriter = new StringWriter();
-		e.printStackTrace(new PrintWriter(stringWriter));
-		return stringWriter.toString();
-	}
-	
-	/**
-	 * Get the system default logger. This is used for clients that don't know if they
-	 * are running in Eclipse or outside of it. This way they have a common logger format
-	 * which switch correctly.
-	 * @return default logger.
-	 * 
-	 * @since 1.0.0
-	 */
-	static public Logger getLogger() {
-		Logger defaultLogger = (Logger) Loggers.get(DefaultLoggerPlugin);
-		if (defaultLogger == null) {
-			defaultLogger = new Logger();
-			defaultLogger.init();
-			Loggers.put(DefaultLoggerPlugin, defaultLogger);
-		}
-		return defaultLogger;
-	}
-	
-	/**
-	 * Get the logger for a specific plugin.
-	 * @param pluginId
-	 * @return logger for a specific pluggin.
-	 * 
-	 * @since 1.0.0
-	 */
-	static public Logger getLogger(String pluginId) {
-		if (pluginId == null)
-			return Logger.getLogger();
-		Logger Logger = (Logger) Loggers.get(pluginId);
-		if (Logger == null) {
-			Logger = new Logger(pluginId);
-			Logger.init();
-			Loggers.put(pluginId, Logger);
-		}
-		return Logger;
-	}
-	
-	/**
-	 * Used by subclass to get a logger if it exists, but not create one.
-	 * @param pluginId
-	 * @return logger.
-	 * 
-	 * @since 1.0.0
-	 */
-	static protected Logger getLoggerIfExists(String pluginId) {
-		if (pluginId == null)
-			return Logger.getLogger();
-		else
-			return (Logger) Loggers.get(pluginId);
-	}
-
-	/**
-	 * Get the plugin id for this logger.
-	 * @return pluginid
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getPluginID() {
-		return fPluginID;
-	}
-	
-	/**
-	 * Get the trace mode for this logger
-	 * @return <code>true</code> if tracing is going on.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean getTraceMode() {
-		return fTraceMode;
-	}
-	
-	/*
-	 * Indent the Msg. Body to make it easier to read the log
-	 */
-	private void indentMsg(String msg, StringBuffer logMsg) {
-		// Line seperator is different on different platform, unix = \n, windows \r\n and mac \r
-		String sep = fLineSeperator;
-		if (msg.indexOf("\r\n") != -1) //$NON-NLS-1$
-			sep = "\r\n"; //$NON-NLS-1$
-		else if (msg.indexOf("\n") != -1) //$NON-NLS-1$
-			sep = "\n"; //$NON-NLS-1$
-		else if (msg.indexOf("\r") != -1) //$NON-NLS-1$
-			sep = "\r"; //$NON-NLS-1$
-		StringTokenizer tokenizer = new StringTokenizer(msg, sep);
-		boolean first = true;
-		while (tokenizer.hasMoreTokens()) {
-			if (first) {
-				first = false;
-				logMsg.append(Filler + tokenizer.nextToken());
-			} else
-				logMsg.append(fLineSeperator + Filler + tokenizer.nextToken());
-		}
-	}
-	/*
-	 * If Eclipse is started with the -XDebug or -debug turn traces on for this Logger
-	 * Creation date: (8/23/2001 7:37:04 PM)
-	 */
-	private void init() {
-		if (System.getProperty("debug") != null) //$NON-NLS-1$
-			fTraceMode = true;
-		level = defaultLevel = Level.parse(System.getProperty("logLevel", Level.WARNING.getName())); //$NON-NLS-1$
-		
-		try {
-			fLineSeperator = System.getProperty("line.separator"); // Diff on Win/Unix/Mac //$NON-NLS-1$
-		} catch (Throwable e) {
-			fLineSeperator = "\n"; //$NON-NLS-1$
-		}
-	}
-	/*
-	 * Generic log.
-	 * Creation date: (8/24/2001 1:55:34 PM)
-	 * @return java.lang.String
-	 * @param msg java.lang.String
-	 * @param type int
-	 */
-	private String logAny(String msg, int type) {
-		StringBuffer logMsg = new StringBuffer();
-		logMsg.append(fLineSeperator);
-		logMsg.append(LogMark[type]);
-		return punchLog(logRest(msg, logMsg), type);
-	}
-	
-	/**
-	 * This is to be used by renderers that want to put a msg out
-	 * in a generic format. This just returns the string that
-	 * should be logged. It puts things like headers on it.
-	 * 
-	 * @param msg
-	 * @param aLevel
-	 * @return The generic message for the string and level.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getGenericMsg(String msg, Level aLevel) {
-		StringBuffer genMsg = new StringBuffer(msg.length()+16);
-		genMsg.append(fLineSeperator);
-		genMsg.append(getLevelHeader(aLevel));
-		genMsg.append(": "); //$NON-NLS-1$
-		genMsg.append(new Date());
-		indentMsg(msg, genMsg);
-		return genMsg.toString();
-	}
-	
-	private static final Level[] LEVEL_SEARCH = new Level[] {
-		Level.SEVERE,
-		Level.WARNING,
-		Level.INFO,
-		ILogRenderer2.TRACE
-	};
-	
-	private static final String[] LEVEL_MARK = new String[] {
-		"*** ERROR ***", //$NON-NLS-1$
-		"+++ Warning +++", //$NON-NLS-1$
-		"Info", //$NON-NLS-1$
-		"[Trace]" //$NON-NLS-1$
-	};
-	
-	private String getLevelHeader(Level aLevel) {
-		for (int i=0; i<LEVEL_SEARCH.length; i++)
-			if (LEVEL_SEARCH[i] == aLevel)
-				return LEVEL_MARK[i];
-		return aLevel.getName();	// Not found, just use level string.
-	}
-	
-	// The write's are here for history. Will implement using log(obj, Level) for all of the types.
-
-
-	/**
-	 * deprecated use log(Level, Exception)
-	 * @param aLevel
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 * 
-	 */
-	public String write(Level aLevel, Exception ex) {
-		return log(aLevel, ex);
-	}
-	
-	/**
-	 * deprecated use log(Throwable)
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 * 
-	 */
-	public String write(Throwable ex) {
-		return log(ex);
-	}
-	
-	/**
-	 * deprecated use log(Object, Level)
-	 * @param aLevel
-	 * @param logEntry
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String write(Level aLevel, Object logEntry) {
-		return log(logEntry, aLevel);
-	}
-	
-	/**
-	 * deprecated use log(String, Level)
-	 * @param aLevel
-	 * @param string
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String write(Level aLevel, String string) {
-		return log(string, aLevel);
-	}
-	/**
-	 * deprecated use log(Throwable, Level)
-	 * @param aLevel
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String write(Level aLevel, Throwable ex) {
-		return log(ex, aLevel);
-	}
-	/**
-	 * deprecated use log(Throwable, Level)
-	 * @param aLevel
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Level aLevel, Exception ex) {
-		return log(ex, aLevel);
-	}
-	/**
-	 * deprecated use log(Throwable, Level)
-	 * @param aLevel
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Level aLevel, Throwable ex) {
-		return log(ex, aLevel);
-	}
-	
-	/**
-	 * Get the logging level
-	 * @return logging level
-	 * 
-	 * @since 1.0.0
-	 */
-	public Level getLevel() {
-		return level;
-	}
-	
-	/**
-	 * Check if the requested level is being logged. (e.g. if current level is SEVERE, then FINE will not be logged).
-	 * @param requestlevel
-	 * @return <code>true</code> if the level will be logged.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean isLoggingLevel(Level requestlevel) {
-		if (requestlevel == ILogRenderer2.TRACE && !getTraceMode())
-			return false;	// We aren't tracing but requested trace.
-		
-		return !(requestlevel.intValue() < getLevel().intValue() || getLevel() == Level.OFF);
-	}
-
-	/**
-	 * Log an error string.
-	 * @param msg
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logError(String msg) {
-		return log(msg, Level.SEVERE);
-	}
-
-	/**
-	 * Log an error throwable
-	 * @param e
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logError(Throwable e) {
-		return log(e, Level.SEVERE);
-	}
-
-	/**
-	 * Log an info message.
-	 * @param msg
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logInfo(String msg) {
-		return log(msg, Level.INFO);
-	}
-	
-/**
- * Log a throwable as a warning.
- * @param e
- * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
- * 
- * @since 1.0.0
- */
-	public String logInfo(Throwable e) {
-		return log(e, Level.INFO);
-	}
-
-	/**
-	 * Append the string to logMsg buffer passed in. Append the date and format the
-	 * string with nice indentation.
-	 * 
-	 * @param msg
-	 * @param logMsg
-	 * @return the string from the logMsg after logging the rest.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected String logRest(String msg, StringBuffer logMsg) {
-		logMsg.append(new Date());
-		indentMsg(msg, logMsg);
-		return logMsg.toString();
-	}
-
-	/**
-	 * Log the msg as trace only.
-	 * @param msg
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logTrace(String msg) {
-		if (fTraceMode)
-			return log(msg, ILogRenderer2.TRACE);
-		else
-			return ILogRenderer.NOLOG_DESCRIPTION;
-	}
-
-	/**
-	 * Log the throwable as trace only.
-	 * @param e
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logTrace(Throwable e) {
-		return log(e, ILogRenderer2.TRACE);
-	}
-
-	/**
-	 * Log the message as warning.
-	 * @param msg
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logWarning(String msg) {
-		return log(msg, Level.WARNING);
-	}
-	/**
-	 * Log the throwable as a warning.
-	 * @param e
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logWarning(Throwable e) {
-		return log(e, Level.WARNING);
-	}
-	
-	/**
-	 * Ask the Renderer to punch the msg. in the log.. one
-	 * caller at the time
-	 * Creation date: (8/24/2001 9:19:17 AM)
-	 * @return java.lang.String
-	 * @param msg java.lang.String
-	 * @param type int
-	 */
-	protected synchronized String punchLog(String msg, int type) {
-		return fRenderer.log(msg, type);
-	}
-	
-	/**
-	 * Set the renderer to use.
-	 * @param renderer
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setRenderer(ILogRenderer renderer) {
-		fRenderer = renderer;
-		renderer2 = (renderer instanceof ILogRenderer2) ? (ILogRenderer2) renderer : null;
-		renderer.setTraceMode(getTraceMode());
-	}
-	
-	/**
-	 * Set the trace mode.
-	 * @param flag <code>true</code> to turn on tracing.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setTraceMode(boolean flag) {
-		fTraceMode = flag;
-		if (fRenderer != null)
-			fRenderer.setTraceMode(flag);
-	}
-	
-	/**
-	 * Set the level cutoff for logging. Anything below this level will not log.
-	 * Do not set level to <code>ILogRenderer2.TRACE</code>. It doesn't make sense.
-	 * 
-	 * @param level (Use <code>ILogRenderer2.DEFAULT</code> to restore to default for this logger.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setLevel(Level level) {
-		this.level = level != ILogRenderer2.DEFAULT ? level : defaultLevel;
-	}
-	
-	/**
-	 * Set the default level for this logger. It won't touch the current level.
-	 * 
-	 * @param level
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setDefaultLevel(Level level) {
-		this.defaultLevel = level;
-	}
-	
-	/**
-	 * Get the log file name.
-	 * @return Returns the logFileName.
-	 */
-	public String getLogFileName() {
-		return logFileName;
-	}
-
-	/**
-	 * Set the log file name.
-	 * @param logFileName The logFileName to set.
-	 */
-	public void setLogFileName(String logFileName) {
-		this.logFileName = logFileName;
-	}
-	
-	// Now all of the log() types that use a Level.
-
-	/**
-	 * Log the throwable at the default level for a throwable. 
-	 * @param e
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Throwable e) {
-		return log(e, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the throwable at the given level.
-	 * @param e
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Throwable e, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(e, logLevel);
-		} else {
-			// Do it the old way.
-			String stackTrace = exceptionToString(e);
-			return logAny(stackTrace, getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.SEVERE));
-		}
-	}
-	
-	public String log(Object o) {
-		return log(o, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the object at the given level.
-	 * @param o
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Object o, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(o, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(o), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	// The following are added to match up with Hyades so that primitives can be logged too.
-	
-	/**
-	 * Log a boolean at the default level. 
-	 * @param b
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(boolean b) {
-		return log(b, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log a boolean at the given level.
-	 * @param b
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(boolean b, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(b, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(b), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	/**
-	 * Log the character at the default level.
-	 * @param c
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(char c) {
-		return log(c, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the character at the given level.
-	 * @param c
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(char c, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(c, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(c), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}
-	
-	/**
-	 * Log the byte at the default level.
-	 * @param b
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(byte b) {
-		return log(b, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the byte at the given level.
-	 * @param b
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(byte b, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(b, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(b), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	/**
-	 * Log the short at the default level.
-	 * @param s
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(short s) {
-		return log(s, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the short at the given level.
-	 * @param s
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(short s, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(s, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(s), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}
-	
-	/**
-	 * Log the int at the default level.
-	 * @param i
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(int i) {
-		return log(i, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the int at the default level.
-	 * @param i
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(int i, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(i, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(i), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}
-	
-	/**
-	 * Log the long at the default level.
-	 * @param l
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(long l) {
-		return log(l, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the long at the given level.
-	 * @param l
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(long l, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(l, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(l), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	/**
-	 * Log the float at the default level.
-	 * @param f
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(float f) {
-		return log(f, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the float at the given level.
-	 * @param f
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(float f, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(f, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(f), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}
-	
-	/**
-	 * Log the double at the default level
-	 * @param d
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(double d) {
-		return log(d, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the double at the given level
-	 * 
-	 * @param d
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(double d, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(d, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(d), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	/*
-	 * Turn new type into old type. The defaultLevel is the
-	 * level to use if the incoming level is marked as default.
-	 */
-	private int getOldType(Level aLevel) {
-		if (aLevel == Level.SEVERE)
-			return ILogRenderer.LOG_ERROR;
-		else if (aLevel == Level.WARNING)
-			return ILogRenderer.LOG_WARNING;
-		else if (aLevel == Level.INFO)
-			return ILogRenderer.LOG_INFO;
-		else if (aLevel == ILogRenderer2.TRACE)
-			return ILogRenderer.LOG_TRACE;
-		else
-			return ILogRenderer.LOG_INFO;		
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/EMFWorkbenchContextFactory.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/EMFWorkbenchContextFactory.java
deleted file mode 100644
index 698a435..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/EMFWorkbenchContextFactory.java
+++ /dev/null
@@ -1,172 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFWorkbenchContextFactory.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2005/06/16 20:14:27 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.jem.util.emf.workbench.*;
-import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-
-public class EMFWorkbenchContextFactory  {
-	public static final EMFWorkbenchContextFactory INSTANCE;
-	
-	static {
-		INSTANCE = createFactoryInstance();
-	}
-	private final Class CONTRIBUTOR_CLASS = IEMFContextContributor.class;
-	protected Map emfContextCache = new WeakHashMap();
-
-	
-	private static EMFWorkbenchContextFactory createFactoryInstance() {
-		EMFWorkbenchContextFactory factory = createFactoryInstanceFromExtension();
-		if (factory == null)
-			factory = new EMFWorkbenchContextFactory();
-		return factory;
-	}
-	
-	private static EMFWorkbenchContextFactory createFactoryInstanceFromExtension() {
-		final EMFWorkbenchContextFactory[] factoryHolder = new EMFWorkbenchContextFactory[1];
-		RegistryReader reader = new RegistryReader(JEMUtilPlugin.ID, "internalWorkbenchContextFactory") { //$NON-NLS-1$
-			public boolean readElement(IConfigurationElement element) {
-				if (element.getName().equals("factoryClass")) //$NON-NLS-1$
-					try {
-						factoryHolder[0] = (EMFWorkbenchContextFactory)element.createExecutableExtension("name"); //$NON-NLS-1$
-						return true;
-					} catch (CoreException e) {
-						Logger.getLogger().logError(e);
-					}				
-				return false;
-			}
-		};
-		reader.readRegistry();
-		return factoryHolder[0];
-	}
-
-	/**
-	 * Constructor for EMFNatureFactory.
-	 */
-	protected EMFWorkbenchContextFactory() {
-		super();
-
-	}
-
-
-	protected void cacheEMFContext(IProject aProject, EMFWorkbenchContextBase emfContext) {
-		if (aProject != null && emfContext != null)
-			emfContextCache.put(aProject, emfContext);
-	}
-
-	protected EMFWorkbenchContextBase getCachedEMFContext(IProject aProject) {
-		if (aProject != null)
-			return (EMFWorkbenchContextBase) emfContextCache.get(aProject);
-		return null;
-	}
-
-	/**
-	 * <code>aProject</code> is either being closed or deleted so we need to cleanup our cache.
-	 */
-	public void removeCachedProject(IProject aProject) {
-		if (aProject != null) 
-			emfContextCache.remove(aProject); 
-		
-	}
-	/**
-	 * Return a new or existing EMFNature on <code>aProject</code>. Allow the <code>contributor</code>
-	 * to contribute to the new or existing nature prior to returning.
-	 */
-	public EMFWorkbenchContextBase createEMFContext(IProject aProject, IEMFContextContributor contributor) {
-		if (aProject == null)
-			throw new IllegalStateException("[EMFWorkbenchContextBase]" + EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextFactory_UI_0")); //$NON-NLS-1$ //$NON-NLS-2$
-		if (!aProject.isAccessible())
-			throw new IllegalStateException("[EMFWorkbenchContextBase]" + EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextFactory_UI_1", new Object[]{aProject.getName()})); //$NON-NLS-1$ //$NON-NLS-2$
-		EMFWorkbenchContextBase context = getCachedEMFContext(aProject);
-		boolean contributorFound = false;
-		if (context == null) {
-			context = primCreateEMFContext(aProject);
-			cacheEMFContext(aProject, context);
-			contributorFound = initializeEMFContextFromContributors(aProject, context, contributor);
-		}
-		if (contributor != null && context != null && !contributorFound)
-			contributor.primaryContributeToContext(context);
-		return context;
-	}
-	
-	protected boolean initializeEMFContextFromContributors(IProject aProject, EMFWorkbenchContextBase emfContext, IEMFContextContributor contributor) {
-		boolean contributorFound = false;
-		if (aProject == null || emfContext == null)
-			return contributorFound;
-		List runtimes = EMFNature.getRegisteredRuntimes(aProject);
-		for (int i = 0; i < runtimes.size(); i++) {
-			IProjectNature nature = (IProjectNature) runtimes.get(i);
-			if (nature != null && CONTRIBUTOR_CLASS.isInstance(nature)) {
-				if (nature == contributor)
-					contributorFound = true;
-				((IEMFContextContributor) nature).primaryContributeToContext(emfContext);
-			}
-		}
-		return contributorFound;
-	}
-
-	protected boolean isNatureEnabled(IProject aProject, String natureId) {
-		try {
-			return aProject.isNatureEnabled(natureId);
-		} catch (CoreException e) {
-			return false;
-		}
-	}
-
-	protected String[] getNatureIds(IProject aProject) {
-		try {
-			if (aProject.isAccessible())
-				return aProject.getDescription().getNatureIds();
-		} catch (CoreException e) {
-		}
-		return null;
-	}
-
-	protected IProjectNature getNature(IProject aProject, String natureId) {
-		try {
-			return aProject.getNature(natureId);
-		} catch (CoreException e) {
-			return null;
-		}
-	}
-
-	protected EMFWorkbenchContextBase primCreateEMFContext(IProject aProject) {
-		return new EMFWorkbenchContextBase(aProject);
-	}
-	/**
-	 * Return an existing EMFNature on <code>aProject</code>.
-	 */
-	public EMFWorkbenchContextBase getEMFContext(IProject aProject) {
-		return getCachedEMFContext(aProject);
-	}
-
-	public ResourceSetWorkbenchSynchronizer createSynchronizer(ResourceSet aResourceSet, IProject aProject) {
-		return new ResourceSetWorkbenchSynchronizer(aResourceSet, aProject);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java
deleted file mode 100644
index 36c8f4d..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java
+++ /dev/null
@@ -1,274 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ProjectResourceSetImpl.java,v $$
- *  $$Revision: 1.8 $$  $$Date: 2005/03/18 18:52:06 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench;
-
-import java.io.IOException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-import org.eclipse.jem.util.emf.workbench.*;
-import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-public class ProjectResourceSetImpl extends ResourceSetImpl implements ProjectResourceSet {
-	private boolean isReleasing = false;
-	private IProject project;
-	protected List resourceHandlers = new ArrayList();
-	protected ResourceSetWorkbenchSynchronizer synchronizer;
-	protected ProjectResourceSetImpl() {
-		setURIResourceMap(new HashMap(10));	// Tell it to cache uri->resource access.
-		getLoadOptions().put(XMLResource.OPTION_USE_PARSER_POOL, EMFNature.SHARED_PARSER_POOL);
-	}
-	public ProjectResourceSetImpl(IProject aProject) {
-		this();
-		setProject(aProject);
-		initializeSharedCacheListener();
-	}
-	protected void initializeSharedCacheListener() {
-		JEMUtilPlugin.getSharedCache().beginListening(this);
-	}
-	protected boolean isReleasing() {
-		return isReleasing;
-	}
-	/**
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceSetImpl#delegatedGetResource(URI, boolean)
-	 */
-	protected Resource delegatedGetResource(URI uri, boolean loadOnDemand) {
-		Resource res = super.delegatedGetResource(uri, loadOnDemand);
-		if (res == null)
-			res = getResourceFromHandlers(uri);
-		return res;
-	}
-	public Resource createResource(URI uri) {
-		if (isReleasing) return null;
-		//Check the map first when creating the resource and do not
-		//normalize if a value is found.
-		boolean isMapped = !(((URIConverterImpl.URIMap)getURIConverter().getURIMap()).getURI(uri).equals(uri));
-		URI converted = uri;
-		if (!isMapped)
-			converted = getURIConverter().normalize(uri);
-		Resource result = createResourceFromHandlers(converted);
-		if (result == null)
-			result = super.createResource(converted);
-		
-		return result;
-	}
-	/**
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceSetImpl#demandLoad(Resource)
-	 */
-	protected void demandLoad(Resource resource) throws IOException {
-		if (!isReleasing)
-			super.demandLoad(resource);
-	}
-	
-	/**
-	 * See if any resource handlers from the WorkbenchContext
-	 * decide to create the Resource in another manner.
-	 */
-	protected Resource createResourceFromHandlers(URI uri) {
-		Resource resource = null;
-		ResourceHandler handler = null;
-		for (int i = 0; i < resourceHandlers.size(); i++) {
-			handler = (ResourceHandler) resourceHandlers.get(i);
-			resource = handler.createResource(this, uri);
-			if (resource != null)
-				return resource;
-		}
-		return null;
-	}
-	/**
-	 * See if any resource handlers from the WorkbenchContext
-	 * can return a Resource from a <code>uri</code>.
-	 */
-	protected Resource getResourceFromHandlers(URI uri) {
-		if (isReleasing) return null;
-		for (int i = 0; i < resourceHandlers.size(); i++) {
-			Resource resource = ((ResourceHandler) resourceHandlers.get(i)).getResource(this, uri);
-			if (resource != null)
-				return resource;
-		}
-		return null;
-	}
-	
-	public void release() {
-		// Send out notification of release.
-		if (eNotificationRequired()) {
-			eNotify(new NotificationImpl(SPECIAL_NOTIFICATION_TYPE, null, null, Notification.NO_INDEX, false) {
-				/* (non-Javadoc)
-				 * @see org.eclipse.emf.common.notify.impl.NotificationImpl#getFeatureID(java.lang.Class)
-				 */
-				public int getFeatureID(Class expectedClass) {
-					return PROJECTRESOURCESET_ABOUT_TO_RELEASE_ID;
-				}
-				
-				/* (non-Javadoc)
-				 * @see org.eclipse.emf.common.notify.impl.NotificationImpl#getNotifier()
-				 */
-				public Object getNotifier() {
-					return ProjectResourceSetImpl.this;
-				}
-			});
-		}
-		setIsReleasing(true);
-		if (synchronizer != null)
-			synchronizer.dispose();
-		synchronizer = null;
-		removeAndUnloadAllResources();
-		resourceHandlers = null;
-		eAdapters().clear();
-		setProject(null);
-		JEMUtilPlugin.getSharedCache().stopListening(this);
-	}
-	protected void removeAndUnloadAllResources() {
-		boolean caughtException = false;
-		if (getResources().isEmpty()) return;
-		List list = new ArrayList(getResources());
-		getResources().clear();
-		Resource res;
-		int size = list.size();
-		for (int i = 0; i < size; i++) {
-			res = (Resource) list.get(i);
-			try {
-				res.unload();
-			} catch (RuntimeException ex) {
-				Logger.getLogger().logError(ex);
-				caughtException = true;
-			}
-		}
-		if (caughtException)
-			throw new RuntimeException("Exception(s) unloading resources - check log files"); //$NON-NLS-1$
-	}
-	protected void setIsReleasing(boolean aBoolean) {
-		isReleasing = aBoolean;
-	}
-	/**
-	 * Gets the project.
-	 * @return Returns a IProject
-	 */
-	public IProject getProject() {
-		return project;
-	}
-	/**
-	 * Sets the project.
-	 * @param project The project to set
-	 */
-	protected void setProject(IProject project) {
-		this.project = project;
-	}
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public EObject getEObject(URI uri, boolean loadOnDemand) {
-		if (isReleasing) return null;
-		Resource resource = getResource(uri.trimFragment(), loadOnDemand);
-		EObject result = null;
-		if (resource != null && resource.isLoaded())
-			result = resource.getEObject(uri.fragment());
-		if (result == null)
-			result = getEObjectFromHandlers(uri, loadOnDemand);
-		return result;
-	}
-	/**
-	 * See if any resource handlers from the WorkbenchContext
-	 * can return a EObject from a <code>uri</code> after
-	 * failing to find it using the normal mechanisms.
-	 */
-	protected EObject getEObjectFromHandlers(URI uri, boolean loadOnDemand) {
-		EObject obj = null;
-		ResourceHandler handler = null;
-		for (int i = 0; i < resourceHandlers.size(); i++) {
-			handler = (ResourceHandler) resourceHandlers.get(i);
-			obj = handler.getEObjectFailed(this, uri, loadOnDemand);
-			if (obj != null)
-				return obj;
-		}
-		return null;
-	}
-	
-	public boolean add(ResourceHandler resourceHandler) {
-		return resourceHandlers.add(resourceHandler);
-	}
-	public void addFirst(ResourceHandler resourceHandler) {
-		resourceHandlers.add(0, resourceHandler);
-	}
-	public boolean remove(ResourceHandler resourceHandler) {
-		return resourceHandlers.remove(resourceHandler);
-	}
-	/**
-	 * Returns the synchronizer.
-	 * @return ResourceSetWorkbenchSynchronizer
-	 */
-	public ResourceSetWorkbenchSynchronizer getSynchronizer() {
-		return synchronizer;
-	}
-	/**
-	 * Sets the synchronizer.
-	 * @param synchronizer The synchronizer to set
-	 */
-	public void setSynchronizer(ResourceSetWorkbenchSynchronizer synchronizer) {
-		this.synchronizer = synchronizer;
-	}
-	/**
-	 * @see org.eclipse.emf.ecore.resource.ResourceSet#setResourceFactoryRegistry(Resource.Factory.Registry)
-	 */
-	public void setResourceFactoryRegistry(Resource.Factory.Registry factoryReg) {
-		if (resourceFactoryRegistry != null && factoryReg != null) {
-			preserveEntries(factoryReg.getExtensionToFactoryMap(), resourceFactoryRegistry.getExtensionToFactoryMap());
-			preserveEntries(factoryReg.getProtocolToFactoryMap(), resourceFactoryRegistry.getProtocolToFactoryMap());
-		}
-		super.setResourceFactoryRegistry(factoryReg);
-	}
-	/*
-	 * Preserve the entries from map2 in map1 if no collision.
-	 */
-	protected void preserveEntries(Map map1, Map map2) {
-		if (map2.isEmpty())
-			return;
-		Iterator it = map2.entrySet().iterator();
-		Map.Entry entry;
-		while (it.hasNext()) {
-			entry = (Map.Entry) it.next();
-			if (!map1.containsKey(entry.getKey()))
-				map1.put(entry.getKey(), entry.getValue());
-		}
-	}
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public Resource getResource(URI uri, boolean loadOnDemand) {
-		if (isReleasing) return null;
-		return super.getResource(uri, loadOnDemand);
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.emf.workbench.ProjectResourceSet#resetNormalizedURICache()
-	 */
-	public void resetNormalizedURICache() {
-		if (getURIResourceMap() != null)
-			getURIResourceMap().clear();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceHandler.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceHandler.java
deleted file mode 100644
index 9234123..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceHandler.java
+++ /dev/null
@@ -1,147 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkspaceResourceHandler.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-
-import org.eclipse.jem.util.emf.workbench.ResourceHandler;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-/**
- * The main purpose of this class is to redirect, if necessary, to another 
- * ResourceSet.  This class should be used in conjunction with the WorkbenchURIConverter
- * so that the URIs passed will use the platform protocol.  Anything else will be considered
- * to be ambiguous and we will not be able to redirect.
- */
-public class WorkspaceResourceHandler implements ResourceHandler {
-	/**
-	 * Constructor for WorkspaceResourceHandler.
-	 */
-	public WorkspaceResourceHandler() {
-		super();
-	}
-	/*
-	* @see IResourceHandler#getResource(ResourceSet, URI)
-	*/
-	public Resource getResource(ResourceSet originatingResourceSet, URI uri) {
-		if (WorkbenchResourceHelperBase.isPlatformResourceURI(uri))
-			return getResourceForPlatformProtocol(originatingResourceSet, uri);
-		URI mappedURI = ((URIConverterImpl.URIMap)originatingResourceSet.getURIConverter().getURIMap()).getURI(uri);
-		if (isGlobalPluginLoad(mappedURI))
-			return getResourceForPlatformPluginProtocol(originatingResourceSet, uri);
-		return null;
-	}
-	/**
-	 * Redirect to the correct project based on the project name in the <code>uri</code>.
-	 * The <code>uri</code> will be in the following format:   platform:/resource/[project name].
-	 */
-	protected Resource createResourceForPlatformProtocol(ResourceSet originatingResourceSet, URI uri) {
-		String projectName = uri.segment(1);
-		IProject project = getProject(projectName);
-		if (project != null && project.isAccessible()) {
-			ResourceSet set = WorkbenchResourceHelperBase.getResourceSet(project);
-			if (originatingResourceSet != set)
-				return createResource(uri, set);
-		}
-		return null;
-	}
-	/**
-		 * Redirect to the correct project based on the project name in the <code>uri</code>.
-		 * The <code>uri</code> will be in the following format:   platform:/resource/[project name].
-		 */
-	protected Resource createResourceForPlatformPluginProtocol(ResourceSet originatingResourceSet, URI uri) {
-			
-		ResourceSet set = JEMUtilPlugin.getPluginResourceSet();
-		return createResource(uri, set);
-		}
-	protected Resource createResource(URI uri, ResourceSet redirectedResourceSet) {
-		return redirectedResourceSet.createResource(uri);
-	}
-	/**
-	 * Redirect to the correct project based on the first segment in the file name.
-	 * This is for compatability purposes for people using the platform:/resource protocol.
-	 */
-	protected Resource getResourceForPlatformProtocol(ResourceSet originatingResourceSet, URI uri) {
-		String projectName = uri.segment(1);
-		IProject project = getProject(projectName);
-		if (project != null && project.isAccessible()) {
-			ResourceSet set = WorkbenchResourceHelperBase.getResourceSet(project);
-			if (originatingResourceSet != set)
-				return getResource(uri, set);
-		}
-		return null;
-	}
-	/**
-		 * Redirect to the correct project based on the first segment in the file name.
-		 * This is for compatability purposes for people using the platform:/resource protocol.
-		 */
-	protected Resource getResourceForPlatformPluginProtocol(ResourceSet originatingResourceSet, URI uri) {
-			
-		ResourceSet set = JEMUtilPlugin.getPluginResourceSet();
-		return getResource(uri, set);
-			
-	}
-	protected Resource getResource(URI uri, ResourceSet redirectedResourceSet) {
-		return redirectedResourceSet.getResource(uri, false);
-	}
-	
-	protected IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	protected IProject getProject(String projectName) {
-		IWorkspace ws = getWorkspace();
-		if (ws == null)
-			return null;
-		return ws.getRoot().getProject(projectName);
-	}
-	protected IProject getProject(ResourceSet resourceSet) {
-		return WorkbenchResourceHelperBase.getProject(resourceSet);
-	}
-	/**
-	 * @see org.eclipse.jem.util.ResourceHandler#createResource(ResourceSet, URI)
-	 */
-	public Resource createResource(ResourceSet originatingResourceSet, URI uri) {
-		if (WorkbenchResourceHelperBase.isPlatformResourceURI(uri))
-			return createResourceForPlatformProtocol(originatingResourceSet, uri);
-		URI mappedURI = ((URIConverterImpl.URIMap)originatingResourceSet.getURIConverter().getURIMap()).getURI(uri);
-		if (isGlobalPluginLoad(mappedURI))
-			return createResourceForPlatformPluginProtocol(originatingResourceSet, uri);
-		return null;
-	}
-	/**
-	 * @see org.eclipse.jem.util.ResourceHandler#getEObjectFailed(ResourceSet, URI, boolean)
-	 * Subclasses may override.
-	 */
-	public EObject getEObjectFailed(ResourceSet originatingResourceSet, URI uri, boolean loadOnDemand) {
-		return null;
-	}
-	
-	protected boolean isGlobalPluginLoad(URI aURI) {
-		if (WorkbenchResourceHelperBase.isPlatformPluginResourceURI(aURI)) {
-			String[] globalPlugins = JEMUtilPlugin.getGlobalLoadingPluginNames();
-			for (int i=0;i<globalPlugins.length;i++) {
-				if (aURI.segment(1).startsWith(globalPlugins[i]))
-					return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceNotifier.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceNotifier.java
deleted file mode 100644
index 6c10afe..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceNotifier.java
+++ /dev/null
@@ -1,73 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkspaceResourceNotifier.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.notify.impl.NotifierImpl;
-
-import org.eclipse.jem.util.emf.workbench.ProjectResourceSet;
-
-/**
- * This class is used to capture all ADD and REMOVE notifications from each ProjectResourceSet
- * and forward it on to any interrested listeners.  This is to allow you to listen to one object
- * to gain all ADD and REMOVE notifications for each ResourceSet within the system.
- */
-public class WorkspaceResourceNotifier extends NotifierImpl {
-	protected Adapter projectAdapter = new WorkspaceResourceCacheAdapter();
-
-	class WorkspaceResourceCacheAdapter extends AdapterImpl {
-		/**
-		 * Forward ADD and REMOVE notification.
-		 */
-		public void notifyChanged(Notification msg) {
-			switch (msg.getEventType()) {
-				case Notification.ADD :
-				case Notification.ADD_MANY :
-				case Notification.REMOVE :
-				case Notification.REMOVE_MANY :
-					eNotify(msg);
-					break;
-			}
-		}
-	}
-
-	/**
-	 * Constructor for WorkspaceResourceCache.
-	 */
-	public WorkspaceResourceNotifier() {
-		super();
-	}
-
-	/**
-	 * Begin listening to a ProjectResourceSet.
-	 */
-	public void beginListening(ProjectResourceSet aResourceSet) {
-		if (aResourceSet != null) { 
-			if (aResourceSet.eAdapters() == null ||  
-			!aResourceSet.eAdapters().contains(projectAdapter))
-			aResourceSet.eAdapters().add(projectAdapter);
-		}
-	}
-	/**
-	 * Stop listening to a ProjectResourceSet.
-	 */
-	public void stopListening(ProjectResourceSet aResourceSet) {
-		if (aResourceSet != null)
-			aResourceSet.eAdapters().remove(projectAdapter);
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nature/EMFNatureRegistry.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nature/EMFNatureRegistry.java
deleted file mode 100644
index f85f7b0..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nature/EMFNatureRegistry.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFNatureRegistry.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench.nature;
-
-import java.util.HashSet;
-import java.util.Set;
-
-
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-public class EMFNatureRegistry {
-
-	private static final String NATURE_REGISTRATION_POINT = "org.eclipse.jem.util.nature_registration"; //$NON-NLS-1$
-	private static final String NATURE  = "nature"; //$NON-NLS-1$
-	private static final String STATIC_ID = "id"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 */
-	private EMFNatureRegistry() {
-		super();
-		readRegistry();
-	}
-	
-	private static EMFNatureRegistry singleton;
-	
-	public final Set REGISTERED_NATURE_IDS = new HashSet();
-	
-	public static EMFNatureRegistry singleton() {
-		if (singleton == null)
-			singleton = new EMFNatureRegistry();
-		return singleton;
-	}
-	
-	protected void readRegistry() {
-	// register Nature IDs for the J2EENatures
-		IExtensionRegistry r = Platform.getExtensionRegistry();
-		IConfigurationElement[] ce = r.getConfigurationElementsFor(NATURE_REGISTRATION_POINT);
-		String natureId;
-		for (int i=0; i<ce.length; i++) {
-			if (ce[i].getName().equals(NATURE)) {
-				natureId = ce[i].getAttribute(STATIC_ID);
-				if (natureId != null)
-					registerNatureID(natureId);
-			}
-		}
-	}
-
-	/**
-	 * @param natureId
-	 */
-	private void registerNatureID(String natureId) {
-		if (!REGISTERED_NATURE_IDS.contains(natureId))
-			REGISTERED_NATURE_IDS.add(natureId);
-		else
-			Logger.getLogger().logError(EMFWorkbenchResourceHandler.getString("EMFNatureRegistry_ERROR_0", new Object[] {natureId})); //$NON-NLS-1$
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nls/EMFWorkbenchResourceHandler.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nls/EMFWorkbenchResourceHandler.java
deleted file mode 100644
index 31a8e45..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nls/EMFWorkbenchResourceHandler.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFWorkbenchResourceHandler.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench.nls;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class EMFWorkbenchResourceHandler {
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("emfworkbench");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String, String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-	public static String getString(String key) {
-		if (fgResourceBundle == null) {
-			fgResourceBundle= getResourceBundle();
-		}
-		
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-		}
-	}
-public static String getString(String key, Object[] args) {
-
-	try {return MessageFormat.format(getString(key), args);}
-	catch (IllegalArgumentException e) {return getString(key);}
-
-}
-public static String getString(String key, Object[] args, int x) {
-
-		return getString(key);
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/CharacterUtil.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/CharacterUtil.java
deleted file mode 100644
index afe7279..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/CharacterUtil.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: CharacterUtil.java,v $
- *  $Revision: 1.1 $  $Date: 2006/02/24 17:32:14 $ 
- */
-package org.eclipse.jem.util;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import com.ibm.icu.text.UTF16;
- 
-
-/**
- * Static helper to handle characters in the new UTF multi-char format.
- * It is needed because ICU4J currently doesn't handle some correctly yet that we
- * need to have working. As ICU4J gets them working, the methods here will become
- * deprecated.
- * 
- * @since 1.2.0
- */
-public class CharacterUtil {
-
-	private CharacterUtil() {
-		
-	}
-	
-	
-	/**
-	 * TODO So until ICU4J does work correctly this util will be needed. It will
-	 * stay around because it is API, but at that time it will be marked deprecated. It should
-	 * also then reroute to ICU4J instead of doing the method reflections.
-	 */
-	private static Method METHOD_JAVA_IDENTIFIER_START, METHOD_JAVA_IDENTIFIER_PART;
-	
-	static {
-		// Try to get the Character.isJavaIdentifier(int) method. If there, then we are in 1.5 or above. Else use the char form.
-		try {
-			METHOD_JAVA_IDENTIFIER_START = Character.class.getMethod("isJavaIdentifierStart", new Class[] {Integer.TYPE});
-		} catch (SecurityException e) {
-			// Default to use (char) type instead.
-			METHOD_JAVA_IDENTIFIER_START = null;
-		} catch (NoSuchMethodException e) {
-			// Default to use (char) type instead.
-			METHOD_JAVA_IDENTIFIER_START = null;
-		}
-		try {
-			METHOD_JAVA_IDENTIFIER_PART = Character.class.getMethod("isJavaIdentifierPart", new Class[] {Integer.TYPE});
-		} catch (SecurityException e) {
-			// Default to use (char) type instead.
-			METHOD_JAVA_IDENTIFIER_PART = null;
-		} catch (NoSuchMethodException e) {
-			// Default to use (char) type instead.
-			METHOD_JAVA_IDENTIFIER_PART = null;
-		}		
-	}
-
-	/**
-	 * Is start of java identifier
-	 * @param intChar int character (UTF multi-char is valid)
-	 * @return <code>true</code> if start of java identifier.
-	 * 
-	 * @see Character#isJavaIdentifierStart(char)
-	 * @since 1.2.0
-	 */
-	public static boolean isJavaIdentifierStart(int intChar) {
-		if (METHOD_JAVA_IDENTIFIER_START != null) {
-			try {
-				return ((Boolean) METHOD_JAVA_IDENTIFIER_START.invoke(null, new Object[] {new Integer(intChar)})).booleanValue();
-			} catch (IllegalArgumentException e) {
-			} catch (IllegalAccessException e) {
-			} catch (InvocationTargetException e) {
-			}
-		}
-		return Character.isJavaIdentifierStart((char) intChar);
-	}
-	
-	/**
-	 * Is start of java identifier
-	 * @param intChar int character (UTF multi-char is valid)
-	 * @return <code>true</code> if start of java identifier.
-	 * 
-	 * @see Character#isJavaIdentifierStart(char)
-	 * @since 1.2.0
-	 */
-	public static boolean isJavaIdentifierPart(int intChar) {
-		if (METHOD_JAVA_IDENTIFIER_PART != null) {
-			try {
-				return ((Boolean) METHOD_JAVA_IDENTIFIER_PART.invoke(null, new Object[] {new Integer(intChar)})).booleanValue();
-			} catch (IllegalArgumentException e) {
-			} catch (IllegalAccessException e) {
-			} catch (InvocationTargetException e) {
-			}
-		}
-		return Character.isJavaIdentifierPart((char) intChar);
-	}
-	
-	public static abstract class AbstractCharIterator {
-
-		
-		protected final CharSequence charSeq;
-		private int pos = 0;
-		private int lastCharIndex = 0;
-
-		/**
-		 * Create with a string.
-		 * @param charSeq
-		 * 
-		 * @since 1.2.0
-		 */
-		public AbstractCharIterator(CharSequence charSeq) {
-			this.charSeq = charSeq;
-		}
-		
-		/**
-		 * Set the next char index.
-		 * @param index
-		 * 
-		 * @since 1.2.0
-		 */
-		public void setIndex(int index) {
-			pos = index;
-		}
-
-		/**
-		 * Has another char.
-		 * @return <code>true</code> if there is another char to return.
-		 * 
-		 * @since 1.2.0
-		 */
-		public boolean hasNext() {
-			return pos < charSeq.length();
-		}
-		
-		/**
-		 * Has another char before the current position. Doing previous
-		 * will return the char that was just returned.
-		 * @return
-		 * 
-		 * @since 1.2.0
-		 */
-		public boolean hasPrevious() {
-			return pos > 0;
-		}
-		
-		/**
-		 * Return next char from the one that was just returned.
-		 * @return next char.
-		 * 
-		 * @since 1.2.0
-		 */
-		public int next() {
-			if (!hasNext())
-				throw new IllegalStateException();
-			
-			int next = utfCharAt(pos);
-			lastCharIndex = pos;
-			pos += UTF16.getCharCount(next);
-			return next;
-		}
-		
-		/**
-		 * Return the UTF-32 char at the given position.
-		 * @param pos
-		 * @return
-		 * 
-		 * @since 1.2.0
-		 */
-		protected abstract int utfCharAt(int pos);
-		
-		/**
-		 * Return the previous character from the one that was just returned.
-		 * @return
-		 * 
-		 * @since 1.2.0
-		 */
-		public int previous() {
-			if (!hasPrevious())
-				throw new IllegalStateException();
-
-			int next;
-			if (UTF16.isTrailSurrogate(charSeq.charAt(--pos))) {
-				if (pos > 0)
-					next = utfCharAt(--pos);
-				else
-					next = charSeq.charAt(pos);
-			} else {
-				next = charSeq.charAt(pos);
-			}
-			lastCharIndex = pos;
-			return next;
-		}
-		
-		/**
-		 * Return the UTF16 character position of the char that was just returned from either
-		 * previous or next.
-		 * This is the (char) position not the
-		 * position of logical int chars returned. For example a standard string of
-		 * <code>"abc"</code> the position of the char 'b' is 1. But take the string
-		 * <code>"ab1b2c"</code> where "b1b2" is one UTF-32 char, then the position
-		 * of 'c' is 3. It would not be 2, which is what the logical char position
-		 * would be if taking UFT32 into account.
-		 * @return
-		 * 
-		 * @since 1.2.0
-		 */
-		public int getPosition() {
-			return lastCharIndex;
-		}
-	
-	}
-	
-	/**
-	 * Special char iterator that returns ints instead of chars for
-	 * walking strings that can contain UTF multi-chars. This is
-	 * a limited version of {@link java.text.CharacterIterator}.
-	 * 
-	 * @since 1.2.0
-	 */
-	public static class StringIterator extends AbstractCharIterator {
-		
-
-		/**
-		 * Create with a string.
-		 * @param str
-		 * 
-		 * @since 1.2.0
-		 */
-		public StringIterator(String str) {
-			super(str);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jem.util.CharacterUtil.AbstractCharIterator#utfCharAt(int)
-		 */
-		protected int utfCharAt(int pos) {
-			return UTF16.charAt((String) charSeq, pos);
-		}
-		
-	}
-	
-	/**
-	 * Special char iterator that returns ints instead of chars for
-	 * walking strings that can contain UTF multi-chars. This is
-	 * a limited version of {@link java.text.CharacterIterator}.
-	 * 
-	 * @since 1.2.0
-	 */
-	public static class StringBufferIterator extends AbstractCharIterator {
-		
-
-		/**
-		 * Create with a string.
-		 * @param strBuffer
-		 * 
-		 * @since 1.2.0
-		 */
-		public StringBufferIterator(StringBuffer strBuffer) {
-			super(strBuffer);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jem.util.CharacterUtil.AbstractCharIterator#utfCharAt(int)
-		 */
-		protected int utfCharAt(int pos) {
-			return UTF16.charAt((StringBuffer) charSeq, pos);
-		}
-		
-	}	
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/NotPresentPerformanceMonitor.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/NotPresentPerformanceMonitor.java
deleted file mode 100644
index 54af2bd..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/NotPresentPerformanceMonitor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.jem.util;
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- *  $$RCSfile: NotPresentPerformanceMonitor.java,v $$
- *  $$Revision: 1.3 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-/**
- * This is the instantiation to use if the performance monitor plugin is not installed. It basically does nothing.
- * 
- * <p>
- * This class is not intended to be instantiated by clients.
- * </p>
- * 
- * @since 1.0.0
- */
-public class NotPresentPerformanceMonitor extends PerformanceMonitorUtil {
-
-	/*
-	 * Only instantiated from this package.
-	 */
-	NotPresentPerformanceMonitor() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#setVar(java.lang.String)
-	 */
-	public void setVar(String var) {
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#doSnapshot(int, int)
-	 */
-	protected void doSnapshot(int step, int types) {
-	}
-
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#doSnapshot(int)
-	 */
-	protected void doSnapshot(int step) {
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PerformanceMonitorUtil.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PerformanceMonitorUtil.java
deleted file mode 100644
index a76fdd0..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PerformanceMonitorUtil.java
+++ /dev/null
@@ -1,280 +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
- *******************************************************************************/
-/*
- *  $RCSfile: PerformanceMonitorUtil.java,v $
- *  $Revision: 1.7 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util;
-import java.util.EventObject;
-
-import org.eclipse.perfmsr.core.IPerformanceMonitor;
-
-/**
- * This is a simplified wrapper to the IPerformanceMonitor that hides it so that the actual plugin can be optional and not required.
- * 
- * <p>
- * This class is not meant to be subclassed by clients.
- * </p>
- * 
- * @since 1.0.0
- */
-public abstract class PerformanceMonitorUtil {
-	/**
-	 * Event for PerformanceListener notification.
-	 * 
-	 * @since 1.1.0
-	 */
-	public static class PerformanceEvent extends EventObject {
-		
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 * 
-		 * @since 1.1.0
-		 */
-		private static final long serialVersionUID = -4680071462750180339L;
-
-		PerformanceEvent(Object source, int step) {
-			super(source);
-			snapshowWithTypes = false;
-			this.step = step;
-			this.types = 0;	// Not set.
-		}
-		
-		PerformanceEvent(Object source, int step, int types) {
-			super(source);
-			snapshowWithTypes = true;
-			this.step = step;
-			this.types = types;
-		}
-
-		
-		/**
-		 * Snapshot with types if <code>true</code>.
-		 * @since 1.1.0
-		 */
-		public final boolean snapshowWithTypes;
-
-		/**
-		 * Step of snapshot
-		 * @since 1.1.0
-		 */
-		public final int step;
-		
-		/**
-		 * types of snapshot.
-		 * @since 1.1.0
-		 */
-		public final int types;
-	}
-	
-	/**
-	 * Performance Listener interface
-	 * 
-	 * @since 1.1.0
-	 */
-	public interface PerformanceListener {
-		/**
-		 * Snapshot was called.
-		 * @param event
-		 * 
-		 * @since 1.1.0
-		 */
-		public void snapshot(PerformanceEvent event);
-	}
-	
-	private PerformanceListener[] listeners;
-
-	public interface Types {
-
-		/**
-		 * 1 - Write out the performance counters from the operating system. These include working set, peak working set, elapsed time, user time, and
-		 * kernel time.
-		 */
-		int OperatingSystemCounters = IPerformanceMonitor.Types.OperatingSystemCounters;
-
-		/**
-		 * 2 - Write out the global performance info. This includes things like the total committed memory for the entire system.
-		 * 
-		 * This function depends on the GetPerformanceInfo() function being available in the Windows psapi.dll. This is available in XP but is usually
-		 * not available in Win/2000. If it is not available then this function throws an UnsupportedOperationException.
-		 */
-		int GlobalSystemCounters = IPerformanceMonitor.Types.GlobalSystemCounters;
-
-		/**
-		 * 4 - Write out the size of the Java Heap.
-		 */
-		int JavaHeapSize = IPerformanceMonitor.Types.JavaHeapSize;
-
-		/**
-		 * 8 - Write out how much of the Java heap is being used. This calls the garbage collector so it may skew timing results.
-		 */
-		int JavaHeapUsed = IPerformanceMonitor.Types.JavaHeapUsed;
-
-		/**
-		 * 16 - The plugin startup and size information.
-		 */
-		int PluginInfo = IPerformanceMonitor.Types.PluginInfo;
-
-		/** 0xffff - Everything. */
-		int All = IPerformanceMonitor.Types.All;
-	}
-
-	private static PerformanceMonitorUtil sharedMonitor;
-
-	public static PerformanceMonitorUtil getMonitor() {
-		if (sharedMonitor == null) {
-			try {
-				Class.forName("org.eclipse.perfmsr.core.PerfMsrCorePlugin"); // This just tests if the performance plugin is available. Throws //$NON-NLS-1$
-																			 // exception otherwise.
-				Class presentClass = Class.forName("org.eclipse.jem.util.PresentPerformanceMonitor"); // Get the class we use wrapper it. //$NON-NLS-1$
-				sharedMonitor = (PerformanceMonitorUtil) presentClass.newInstance();
-				if (!sharedMonitor.isValid())
-					sharedMonitor = null;
-			} catch (RuntimeException e) {
-				// If any runtime exception, just use the not present one.
-			} catch (ClassNotFoundException e) {
-				// If class not found, then plugin not available, so just use the not present one.
-			} catch (InstantiationException e) {
-				// Problem instantiating, so just use the not present one.
-			} catch (IllegalAccessException e) {
-				// Some illegal access, so just use the not present one.
-			}
-			if (sharedMonitor == null) {
-				// Couldn't get the performance one for some reason. Use not present one instead.
-				sharedMonitor = new NotPresentPerformanceMonitor();
-			}
-		}
-		return sharedMonitor;
-	}
-	
-	protected boolean isValid() {
-		return true;
-	}
-
-	/**
-	 * Set the variations that are in effect.
-	 * 
-	 * @param var
-	 *            a comma delimited string of variation numbers
-	 */
-	public abstract void setVar(String var);
-
-	/**
-	 * Take a snapshot of some default performance measurements.
-	 * 
-	 * @param step
-	 *            this identifies the step that the snapshot is for
-	 */
-	public final void snapshot(int step) {
-		doSnapshot(step);
-		if (listeners != null)
-			notifySnapshot(new PerformanceEvent(this, step));
-	}
-	
-	private void notifySnapshot(PerformanceEvent event) {
-		PerformanceListener[] list = listeners;
-		for (int i = 0; i < list.length; i++) {
-			list[i].snapshot(event);
-		}
-	}
-	
-	/**
-	 * Do the actual snapshot
-	 * @param step
-	 * 
-	 * @see #snapshot(int)
-	 * @since 1.1.0
-	 */
-	protected abstract void doSnapshot(int step);
-
-	/**
-	 * Take a snapshot of the selected performance measurements.
-	 * 
-	 * @param step
-	 *            this identifies the step that the snapshot is for
-	 * 
-	 * @param types
-	 *            This controls which measurements are selected. It is an or'd together list of the IPerformanceMonitor.Types constants.
-	 * 
-	 * @see IPerformanceMonitor.Types
-	 */
-	public void snapshot(int step, int types) {
-		doSnapshot(step, types);
-		if (listeners != null)
-			notifySnapshot(new PerformanceEvent(this, step, types));		
-	}
-	
-	/**
-	 * Do the actual snapshot
-	 * @param step
-	 * 
-	 * @see #snapshot(int, int)
-	 * @since 1.1.0
-	 */
-	protected abstract void doSnapshot(int step, int types);	
-	
-	/**
-	 * Add listener to list.
-	 * @param listener
-	 * 
-	 * @since 1.1.0
-	 */
-	public void addPerformanceListener(PerformanceListener listener) {
-		if (findListener(listener) != -1)
-			return;
-		PerformanceListener[] newList = new PerformanceListener[listeners != null ? listeners.length+1 : 1];
-		if (listeners != null)
-			System.arraycopy(listeners, 0, newList, 0, listeners.length);
-		newList[newList.length-1] = listener;
-		listeners = newList;
-	}
-	
-	private int findListener(PerformanceListener listener) {
-		if (listeners != null) {
-			for (int i = 0; i < listeners.length; i++) {
-				if (listeners[i] == listener)
-					return i;
-			}
-		}
-		return -1;
-	}
-	
-	/**
-	 * Remove the listener from the list.
-	 * @param listener
-	 * 
-	 * @since 1.1.0
-	 */
-	public void removePerformanceListener(PerformanceListener listener) {
-		int index = findListener(listener);
-		if (index != -1) {
-			if (listeners.length == 1) {
-				listeners = null;
-				return;
-			}
-			PerformanceListener[] newList = new PerformanceListener[listeners.length-1];
-			System.arraycopy(listeners, 0, newList, 0, index);
-			System.arraycopy(listeners, index+1, newList, index, newList.length-index);
-			listeners = newList;
-		}
-	}
-	/**
-	 * Upload the results to the server. This causes the file to be
-	 * closed, and the monitor to be placed into the finished state.
-	 * 
-	 * This method can only be called if the uploadhost, uploadport and uploaduserid
-	 * have been configured before hand.
-	 * 
-	 * @param description an optional description (it can be null)
-	 * 
-	 */
-	public boolean upload(String description){return false;}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PresentPerformanceMonitor.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PresentPerformanceMonitor.java
deleted file mode 100644
index 3ee5b05..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PresentPerformanceMonitor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: PresentPerformanceMonitor.java,v $
- *  $Revision: 1.5 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util;
-import org.eclipse.perfmsr.core.IPerformanceMonitor;
-import org.eclipse.perfmsr.core.PerfMsrCorePlugin;
-
-/**
- * This is the version used when the performance plugin is available.
- * 
- * <p>
- * This class is not meant to be instantiated by clients.
- * </p>
- * 
- * @since 1.0.0
- */
-public class PresentPerformanceMonitor extends PerformanceMonitorUtil {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#upload(java.lang.String)
-	 */
-	public boolean upload(String description) {
-		return monitor.upload(description).success;
-	}
-	
-	private IPerformanceMonitor monitor;
-
-	/*
-	 * So that only instantiated by this package.
-	 */
-	PresentPerformanceMonitor() {
-		monitor = PerfMsrCorePlugin.getPerformanceMonitor(true);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#isValid()
-	 */
-	protected boolean isValid() {
-		return monitor != null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#setVar(java.lang.String)
-	 */
-	public void setVar(String var) {
-		monitor.setVar(var);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#doSnapshot(int)
-	 */
-	protected void doSnapshot(int step) {
-		monitor.snapshot(step);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#doSnapshot(int, int)
-	 */
-	protected void doSnapshot(int step, int types) {
-		monitor.snapshot(step, types);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/RegistryReader.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/RegistryReader.java
deleted file mode 100644
index b149c40..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/RegistryReader.java
+++ /dev/null
@@ -1,156 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: RegistryReader.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2006/02/21 17:16:30 $$ 
- */
-package org.eclipse.jem.util;
-import org.eclipse.core.runtime.*;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Class to read a registry. It is meant to be subclassed to provide specific function.
- * 
- * @since 1.0.0
- */
-public abstract class RegistryReader {
-
-	String pluginId;
-
-	String extensionPointId;
-
-	private static Bundle systemBundle;
-
-	/**
-	 * Utility method to get the plugin id of a configuation element
-	 * 
-	 * @param configurationElement
-	 * @return plugin id of configuration element
-	 * @since 1.0.0
-	 */
-	public static String getPluginId(IConfigurationElement configurationElement) {
-		String pluginId = null;
-
-		if (configurationElement != null) {
-			IExtension extension = configurationElement.getDeclaringExtension();
-
-			if (extension != null)
-				pluginId = extension.getContributor().getName();
-		}
-
-		return pluginId;
-	}
-
-	/**
-	 * Constructor for RegistryReader taking a registry, plugin id, and extension point id.
-	 * 
-	 * @param registry
-	 * @param pluginID
-	 * @param extensionPoint
-	 * 
-	 * @deprecated Use RegistryReader(plugin, extensionPoint) instead. The registry passed in is ignored.
-	 * @since 1.0.0
-	 */
-	public RegistryReader(IPluginRegistry registry, String pluginID, String extensionPoint) {
-		this(pluginID, extensionPoint);
-	}
-
-	/**
-	 * Constructor for RegistryReader taking the plugin id and extension point id.
-	 * 
-	 * @param pluginID
-	 * @param extensionPoint
-	 * 
-	 * @since 1.0.0
-	 */
-	public RegistryReader(String pluginID, String extensionPoint) {
-		super();
-		this.pluginId = pluginID;
-		extensionPointId = extensionPoint;
-	}
-
-	private void internalReadElement(IConfigurationElement element) {
-		boolean recognized = this.readElement(element);
-		if (!recognized) {
-			logError(element, "Error processing extension: " + element); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Logs the error in the desktop log using the provided text and the information in the configuration element.
-	 */
-	protected void logError(IConfigurationElement element, String text) {
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getContributor().getName() + ", extension " + extension.getExtensionPointUniqueIdentifier()); //$NON-NLS-1$ //$NON-NLS-2$
-		buf.append("\n" + text); //$NON-NLS-1$
-		Logger.getLogger().logError(buf.toString());
-	}
-
-	/*
-	 * Logs a very common registry error when a required attribute is missing.
-	 */
-	protected void logMissingAttribute(IConfigurationElement element, String attributeName) {
-		logError(element, "Required attribute '" + attributeName + "' not defined"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/*
-	 * Implement this method to read element attributes. If this element has subelements, the reader will recursively cycle through them and call this
-	 * method so don't do it here.
-	 */
-	public abstract boolean readElement(IConfigurationElement element);
-
-	/**
-	 * Read the extension point and parse it.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void readRegistry() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(pluginId, extensionPointId);
-		if (point == null)
-			return;
-		IConfigurationElement[] elements = point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			internalReadElement(elements[i]);
-		}
-	}
-
-	/**
-	 * Tests to see if it is valid at this point in time to create an executable extension. A valid reason not to would be that the workspace is
-	 * shutting donw.
-	 * 
-	 * @param element
-	 * @return <code>true</code> if it is valid point to create an executable extension.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean canCreateExecutableExtension(IConfigurationElement element) {
-		if (Platform.isRunning() && getSystemBundle().getState() != Bundle.STOPPING)
-			return true;
-		return false;
-	}
-
-	/**
-	 * Get the system bundle
-	 * 
-	 * @return system bundle.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected static Bundle getSystemBundle() {
-		if (systemBundle == null)
-			systemBundle = Platform.getBundle("org.eclipse.osgi"); //$NON-NLS-1$
-		return systemBundle;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/TimerTests.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/TimerTests.java
deleted file mode 100644
index 9757c84..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/TimerTests.java
+++ /dev/null
@@ -1,352 +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
- *******************************************************************************/
-/*
- *  $RCSfile: TimerTests.java,v $
- *  $Revision: 1.7 $  $Date: 2006/02/15 23:40:59 $ 
- */
-package org.eclipse.jem.util;
-
-import java.text.NumberFormat;
-import java.util.*;
-
-/**
- * 
- * @since 1.0.2
- */
-public class TimerTests {
-
-	/**
-	 * Default TimerTests class to use when not using your own. It's a global.
-	 */
-	public static TimerTests basicTest = new TimerTests();
-
-	public static final String CURRENT_PARENT_ID = "current parent"; //$NON-NLS-1$
-	protected String currentParentId = null;
-
-
-	protected static class TimerStep {
-		static final int START = 0;
-		static final int STOP = 1;
-		static final int START_CUMULATIVE = 2;
-		static final int STOP_CUMULATIVE = 3;
-		static final int START_ACCUMULATING = 4;
-		static final int STOP_ACCUMULATING = 5;
-		protected String id;
-		protected int type;
-		protected long currentTime;
-		protected int threadId;
-}
-
-	protected boolean testOn = false;
-	protected List steps;
-
-	public synchronized boolean startStep(String id) {
-		if (!testOn)
-			return true;
-
-		TimerStep step = createTimerStep(id, TimerStep.START);
-		return step != null;
-	}
-
-	protected TimerStep createTimerStep(String id, int stepType) {
-		TimerStep newStep = new TimerStep();
-		newStep.threadId = Thread.currentThread().hashCode();
-		newStep.id = id;
-		newStep.type = stepType;
-		newStep.currentTime = System.currentTimeMillis();
-		steps.add(newStep);
-
-		return newStep;
-	}
-
-	public synchronized boolean stopStep(String id) {
-		if (!testOn)
-			return true;
-		TimerStep step = createTimerStep(id, TimerStep.STOP);
-		return step != null;
-	}
-
-	public synchronized boolean startAccumulating(String id) {
-		if (!testOn)
-			return true;
-
-		return createTimerStep(id, TimerStep.START_ACCUMULATING) != null;
-	}
-
-	public synchronized boolean stopAccumulating(String id) {
-		if (!testOn)
-			return true;
-
-		return createTimerStep(id, TimerStep.STOP_ACCUMULATING) != null;
-	}
-	public synchronized boolean startCumulativeStep(String id) {
-		if (!testOn)
-			return true;
-
-		return createTimerStep(id, TimerStep.START_CUMULATIVE) != null;
-	}
-
-	public synchronized boolean stopCumulativeStep(String id) {
-		if (!testOn)
-			return true;
-		return createTimerStep(id, TimerStep.STOP_CUMULATIVE) != null;
-	}
-
-	/**
-	 * Clear the tests so that you can restart and do some more tests.
-	 * 
-	 * 
-	 * @since 1.0.2
-	 */
-	public synchronized void clearTests() {
-		if (!testOn)
-			return;
-		steps.clear();
-		currentParentId = null;
-	}
-
-	/**
-	 * Turn this test on. If not turned on then all calls will quickly return with no errors. This allows the code to stay in place even when not
-	 * debugging.
-	 * <p>
-	 * When turned off, it will clear the test.
-	 * 
-	 * @param on
-	 * 
-	 * @since 1.0.2
-	 */
-	public synchronized void testState(boolean on) {
-		if (on == testOn)
-			return;
-		if (on) {
-			testOn = true;
-			if (steps == null)
-				steps = new ArrayList();
-		} else {
-			testOn = false;
-			steps = null;
-		}
-		currentParentId = null;
-	}
-	private static class CumulativeInformation {
-		public TimerStep currentCumulativeStep;
-		public long cumTime;
-		public int cumCount;
-		public int cumCountNonZero;
-		public long maxTime;
-		public long minTime = Integer.MAX_VALUE;
-		public long minTimeNonZero = Integer.MAX_VALUE;
-	}
-	public synchronized void printIt() {
-		if (!testOn)
-			return;
-		if (steps == null)
-			return;
-		Map stepInfoByThreadId = new HashMap();
-		Map indentsByThreadId = new HashMap();
-		Map cumSteps;
-		TimerStep prevStep = null;
-		TimerStep startStep;
-		NumberFormat percentFormatter = NumberFormat.getPercentInstance();
-		double totalTime = 0;
-		StringBuffer strb = new StringBuffer(150);
-		if (steps.size() > 2){
-			totalTime = ((TimerStep)steps.get(steps.size()-1)).currentTime - ((TimerStep)steps.get(0)).currentTime;
-		}
-		for (int i = 0; i < steps.size(); i++) {
-			TimerStep step = (TimerStep) steps.get(i);
-			Integer threadId = new Integer(step.threadId);
-			switch (step.type) {
-				case TimerStep.START:
-				case TimerStep.STOP:
-					Integer threadIndent = (Integer) indentsByThreadId.get(threadId);
-					int indent = 0;
-					if (step.type == TimerStep.START) {
-						if (threadIndent != null)
-							indent = threadIndent.intValue() + 1;
-						indentsByThreadId.put(threadId, new Integer(indent));
-					} else {
-						if (threadIndent != null)
-							indent = threadIndent.intValue();
-						if (indent > 0)
-							indentsByThreadId.put(threadId, new Integer(indent - 1));
-						else {
-							indentsByThreadId.remove(threadId);
-							indent = 0;
-						}
-					}
-					strb.setLength(0);
-					strb.append(step.currentTime);
-					strb.append("\t"); //$NON-NLS-1$
-					for (int j = 0; j < indent; j++) {
-						strb.append("     "); //$NON-NLS-1$
-					}
-					switch (step.type) {
-						case TimerStep.START:
-							strb.append("Start"); //$NON-NLS-1$
-							break;
-
-						case TimerStep.STOP:
-							strb.append("Stop "); //$NON-NLS-1$
-							break;
-						default:
-							break;
-					}
-					;
-					strb.append(" \""); //$NON-NLS-1$
-					strb.append(step.id);
-					strb.append("\"   id("); //$NON-NLS-1$
-					strb.append(step.threadId);
-					strb.append(")"); //$NON-NLS-1$
-					Map startSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (startSteps == null)
-						stepInfoByThreadId.put(threadId, startSteps = new HashMap());
-					if (step.type == TimerStep.START) {
-						// Store the start step for later lookup when calulating the total time
-						startSteps.put(step.id, step);
-					} else {
-						// This is the stop time for a step. We need to find
-						// the corresponding start time and calculate the total time.
-						Object item = startSteps.remove(step.id);
-						if (item instanceof TimerStep) {
-							startStep = (TimerStep) item;
-							if (startStep != null) {
-								int addchars = 100 - strb.length();
-								for (int j = 0; j < addchars; j++) {
-									strb.append(" "); //$NON-NLS-1$
-								}
-								long delta = step.currentTime - startStep.currentTime;
-								strb.append("    Total = " + delta + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
-								if (totalTime > 0)
-									strb.append("   " + percentFormatter.format(delta/totalTime)); //$NON-NLS-1$
-							}
-						} else
-							strb.append("    ---> Couldn't find Starting point for \"" + step.id + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					if (i > 0 && (step.currentTime - prevStep.currentTime) > 0)
-						System.out.println("-- " + (step.currentTime - prevStep.currentTime) + " ms --"); //$NON-NLS-1$ //$NON-NLS-2$
-					prevStep = step;
-					System.out.println(strb);
-					break;
-
-				case TimerStep.START_ACCUMULATING:
-					cumSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (cumSteps == null)
-						stepInfoByThreadId.put(threadId, cumSteps = new HashMap());
-					cumSteps.put(step.id, new CumulativeInformation());
-					threadIndent = (Integer) indentsByThreadId.get(threadId);
-					indent = 0;
-					if (threadIndent != null)
-						indent = threadIndent.intValue();
-					strb.setLength(0);
-					strb.append(step.currentTime);
-					strb.append("\t"); //$NON-NLS-1$
-					for (int j = 0; j < indent; j++) {
-						strb.append("     "); //$NON-NLS-1$
-					}
-					strb.append("Start Accumulating"); //$NON-NLS-1$
-					strb.append(" \""); //$NON-NLS-1$
-					strb.append(step.id);
-					strb.append("\"   id("); //$NON-NLS-1$
-					strb.append(step.threadId);
-					strb.append(")"); //$NON-NLS-1$
-					if (i > 0 && (step.currentTime - prevStep.currentTime) > 0)
-						System.out.println("-- " + (step.currentTime - prevStep.currentTime) + " ms --"); //$NON-NLS-1$ //$NON-NLS-2$
-					prevStep = step;
-					System.out.println(strb);
-					break;
-
-				case TimerStep.START_CUMULATIVE:
-					cumSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (cumSteps != null) {
-						Object info = cumSteps.get(step.id);
-						if (info instanceof CumulativeInformation)
-							((CumulativeInformation) info).currentCumulativeStep = step;
-					}
-					break;
-					
-				case TimerStep.STOP_CUMULATIVE:
-					cumSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (cumSteps != null) {
-						Object info = cumSteps.get(step.id);
-						if (info instanceof CumulativeInformation) {
-							CumulativeInformation cumInfo = (CumulativeInformation) info;
-							if (cumInfo.currentCumulativeStep != null) {
-								cumInfo.cumCount++;
-								long delta = step.currentTime - cumInfo.currentCumulativeStep.currentTime;
-								cumInfo.cumTime += delta;
-								if (cumInfo.maxTime < delta)
-									cumInfo.maxTime = delta;
-								if (delta < cumInfo.minTime)
-									cumInfo.minTime = delta;
-								if (delta != 0) {
-									cumInfo.cumCountNonZero++;
-									if (delta < cumInfo.minTimeNonZero)
-										cumInfo.minTimeNonZero = delta;
-								}
-							}
-						}
-					}
-					break;
-					
-				case TimerStep.STOP_ACCUMULATING:
-					threadIndent = (Integer) indentsByThreadId.get(threadId);
-					indent = 0;
-					if (threadIndent != null)
-						indent = threadIndent.intValue();
-					strb.setLength(0);
-					strb.append(step.currentTime);
-					strb.append("\t"); //$NON-NLS-1$
-					for (int j = 0; j < indent; j++) {
-						strb.append("     "); //$NON-NLS-1$
-					}
-					strb.append("Stop  Accumulating"); //$NON-NLS-1$
-					strb.append(" \""); //$NON-NLS-1$
-					strb.append(step.id);
-					strb.append("\"   id("); //$NON-NLS-1$
-					strb.append(step.threadId);
-					strb.append(")"); //$NON-NLS-1$
-					cumSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (cumSteps != null) {
-						Object info = cumSteps.get(step.id);
-						if (info instanceof CumulativeInformation) {
-							CumulativeInformation cumInfo = (CumulativeInformation) info;
-							if (cumInfo.currentCumulativeStep != null) {
-								strb.append("   cumulative time="); //$NON-NLS-1$
-								strb.append(cumInfo.cumTime);
-								strb.append("   cumulative count="); //$NON-NLS-1$
-								strb.append(cumInfo.cumCount);
-								strb.append("   max time="); //$NON-NLS-1$
-								strb.append(cumInfo.maxTime);
-								strb.append("   min time="); //$NON-NLS-1$
-								strb.append(cumInfo.minTime);
-								strb.append("   avg time="); //$NON-NLS-1$
-								strb.append(((double) cumInfo.cumTime)/cumInfo.cumCount);
-								strb.append("   NonZero times: cumulative ~0 count="); //$NON-NLS-1$
-								strb.append(cumInfo.cumCountNonZero);
-								if (cumInfo.cumCountNonZero != 0) {
-									strb.append("   min ~0 time="); //$NON-NLS-1$
-									strb.append(cumInfo.minTimeNonZero);
-									strb.append("   avg ~0 time="); //$NON-NLS-1$
-									strb.append(((double) cumInfo.cumTime) / cumInfo.cumCountNonZero);
-								}
-							}
-						}
-					}
-					if (i > 0 && (step.currentTime - prevStep.currentTime) > 0)
-						System.out.println("-- " + (step.currentTime - prevStep.currentTime) + " ms --"); //$NON-NLS-1$ //$NON-NLS-2$
-					prevStep = step;
-					System.out.println(strb);
-					break;
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UIContextDetermination.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UIContextDetermination.java
deleted file mode 100644
index 45e754b..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UIContextDetermination.java
+++ /dev/null
@@ -1,189 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: UIContextDetermination.java,v $$
- *  $$Revision: 1.3 $$  $$Date: 2005/05/18 21:58:34 $$ 
- */
-package org.eclipse.jem.util;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * Static utility class for UIContext determination.
- * 
- * @since 1.0.0
- */
-public class UIContextDetermination {
-
-	private static final int UNKNOWN = 100;
-
-	public static final String HEADLESS_CONTEXT_LITERAL = "Headless"; //$NON-NLS-1$
-
-	public static final String UI_CONTEXT_LITERAL = "UI"; //$NON-NLS-1$
-
-	public static final int HEADLESS_CONTEXT = 102;
-
-	public static final int UI_CONTEXT = 100;
-
-	private static Map cachedExtensions = null;
-
-	private static int currentContext = UNKNOWN;
-
-	private UIContextDetermination() {
-	}
-
-	/**
-	 * Returns an instance of a given class based on the UI or Headless context.
-	 * 
-	 * @param key
-	 * @return new class instance for the given key.
-	 * @throws IllegalArgumentException
-	 *             If the key is invalid (e.g. no extension is found for the key)
-	 */
-	public static Object createInstance(String key) {
-		Object result = null;
-		if (cachedExtensions == null)
-			initExtensions();
-		IConfigurationElement contextSensitiveClass = (IConfigurationElement) cachedExtensions.get(key);
-		try {
-			if (contextSensitiveClass != null)
-				result = contextSensitiveClass
-						.createExecutableExtension(UIContextDeterminationRegistryReader.UI_CONTEXT_SENSTIVE_CLASS_CLASSNAME_ATTR);
-		} catch (CoreException e) {
-			Logger.getLogger().logError("Problem loading extension not found for key \"" + key + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
-			Logger.getLogger().logError(e);
-		}
-		if (result == null)
-			Logger.getLogger().logError("Extension not found for key \"" + key + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
-		return result;
-	}
-
-	/**
-	 * Returns the current context -- determines the value if necessary.
-	 * 
-	 * @return current context
-	 * @see #HEADLESS_CONTEXT
-	 * @see #UI_CONTEXT
-	 */
-	public static int getCurrentContext() {
-		if (currentContext == UNKNOWN) {
-			currentContext = HEADLESS_CONTEXT;
-			new UITesterRegistryReader().readRegistry();
-		}
-		return currentContext;
-	}
-
-	/*
-	 * Invokes the UIContextDeterminationRegistryReader to cache all of the extensions, if necessary.
-	 *  
-	 */
-	private static void initExtensions() {
-		if (cachedExtensions == null) {
-			cachedExtensions = new HashMap();
-			new UIContextDeterminationRegistryReader().readRegistry();
-		}
-	}
-
-	/*
-	 * Converts the input to one of UI_CONTEXT or HEADLESS_CONTEXT. Defaults to HEADLESS on invalid input
-	 * 
-	 * @param literal @return
-	 */
-	private static int convertLiteral(String literal) {
-		return (UI_CONTEXT_LITERAL.equals(literal)) ? UI_CONTEXT : HEADLESS_CONTEXT;
-	}
-
-	/*
-	 * Reads the registration of UI Context-sensitive class extensions and initializes the cache of the UIContextDetermination object.
-	 * 
-	 * @author mdelder
-	 */
-	private static class UIContextDeterminationRegistryReader extends RegistryReader {
-
-		public static final String UI_CONTEXT_SENSTIVE_CLASS_ELEMENT = "uiContextSensitiveClass"; //$NON-NLS-1$
-
-		public static final String UI_CONTEXT_SENSTIVE_CLASS_KEY_ATTR = "key"; //$NON-NLS-1$
-
-		public static final String UI_CONTEXT_SENSTIVE_CLASS_CLASSNAME_ATTR = "className"; //$NON-NLS-1$
-
-		public static final String UI_CONTEXT_SENSTIVE_CLASS_CONTEXT_ATTR = "context"; //$NON-NLS-1$
-
-		public UIContextDeterminationRegistryReader() {
-			super(JEMUtilPlugin.PLUGIN_ID, JEMUtilPlugin.UI_CONTEXT_EXTENSION_POINT);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jem.util.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-		 */
-		public boolean readElement(IConfigurationElement element) {
-			boolean result = false;
-			if (element.getName().equals(UI_CONTEXT_SENSTIVE_CLASS_ELEMENT)) {
-
-				String key = element.getAttribute(UI_CONTEXT_SENSTIVE_CLASS_KEY_ATTR);
-				String context = element.getAttribute(UI_CONTEXT_SENSTIVE_CLASS_CONTEXT_ATTR);
-
-				if (!cachedExtensions.containsKey(key) || getCurrentContext() == convertLiteral(context))
-					cachedExtensions.put(key, element);
-				result = true;
-			}
-			return result;
-		}
-	}
-
-	/*
-	 * Reads the uiTester extension and instantiate the any of the UITester classes it finds.
-	 * 
-	 * The implementation has the side effect that if multiple UITesters are registered, any of them can trip the currentContext into the UI_CONTEXT
-	 * state.
-	 * 
-	 * @author mdelder
-	 */
-	private static class UITesterRegistryReader extends RegistryReader {
-
-		public static final String UI_TESTER_ELEMENT = "uiTester"; //$NON-NLS-1$
-
-		public static final String UI_TESTER_CLASSNAME_ATTR = "className"; //$NON-NLS-1$
-
-		public UITesterRegistryReader() {
-			super(JEMUtilPlugin.PLUGIN_ID, JEMUtilPlugin.UI_TESTER_EXTENSION_POINT);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see com.ibm.etools.emf.workbench.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-		 */
-		public boolean readElement(IConfigurationElement element) {
-			boolean result = false;
-			if (element.getName().equals(UI_TESTER_ELEMENT)) {
-				result = true;
-				try {
-					if (canCreateExecutableExtension(element)) {
-						UITester tester = (UITester) element.createExecutableExtension(UI_TESTER_CLASSNAME_ATTR);
-						if (tester.isCurrentContextUI())
-							currentContext = UI_CONTEXT;
-					}
-				} catch (Throwable t) {
-					Logger.getLogger().log("UIContextDetermination is proceeding in HEADLESS mode"); //$NON-NLS-1$
-				}
-			}
-			return result;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UITester.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UITester.java
deleted file mode 100644
index 54517e8..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UITester.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.util;
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- *  $$RCSfile: UITester.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-/**
- * Interface for a UITester. The "classname" attribute on the "uiTester" extension point should implement this class.
- * 
- * @since 1.0.0
- */
-public interface UITester {
-
-	/**
-	 * Answer if the current context is an UI context.
-	 * 
-	 * @return <code>true</code> if an UI context.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean isCurrentContextUI();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/EMFWorkbenchContextBase.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/EMFWorkbenchContextBase.java
deleted file mode 100644
index bedff60..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/EMFWorkbenchContextBase.java
+++ /dev/null
@@ -1,193 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFWorkbenchContextBase.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import org.eclipse.jem.internal.util.emf.workbench.*;
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * ContextBase for EMFWorkbench.
- * 
- * <p>
- * This is meant to be subclassed as needed for additional or override function. It will be instantiated by default.
- * </p>
- * 
- * @since 1.0.0
- */
-public class EMFWorkbenchContextBase {
-
-	protected IProject project;
-
-	protected ProjectResourceSet resourceSet;
-
-	/**
-	 * Construct with a project.
-	 * 
-	 * @param aProject
-	 * 
-	 * @since 1.0.0
-	 */
-	public EMFWorkbenchContextBase(IProject aProject) {
-		if (aProject == null)
-			throw new IllegalArgumentException(EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextBase_ERROR_1")); //$NON-NLS-1$
-		project = aProject;
-	}
-
-	/**
-	 * Dispose of the context base.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void dispose() {
-		if (resourceSet != null)
-			resourceSet.release();
-		resourceSet = null;
-		project = null;
-	}
-
-	/**
-	 * Get the project this context is associated with.
-	 * 
-	 * @return project
-	 * 
-	 * @since 1.0.0
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Return the resource set (creating if needed) for context.
-	 * 
-	 * @return resource set
-	 * 
-	 * @since 1.0.0
-	 */
-	public ProjectResourceSet getResourceSet() {
-		if (resourceSet == null) {
-			resourceSet = createResourceSet();
-			initializeResourceSet(resourceSet);
-		}
-		return resourceSet;
-	}
-
-	/**
-	 * Used for optimization; answer whether a resourceSet has been created
-	 * 
-	 * @return <code>true</code> if a resource set has been created.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean hasResourceSet() {
-		return resourceSet != null;
-	}
-
-	/**
-	 * Initialize the resource set.
-	 * 
-	 * @param aResourceSet
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void initializeResourceSet(ProjectResourceSet aResourceSet) {
-		createResourceSetSynchronizer(aResourceSet);
-		aResourceSet.setURIConverter(createURIConverter(aResourceSet));
-		aResourceSet.add(new WorkspaceResourceHandler());
-		JEMUtilPlugin.getDefault().addExtendedResourceHandlers(aResourceSet);
-
-	}
-
-	/**
-	 * Create the resource set. By default it is a ProjectResourceSetImpl.
-	 * 
-	 * @return project's new resource set.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected ProjectResourceSet createResourceSet() {
-		if (project == null)
-			throw new IllegalStateException(EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextBase_ERROR_2")); //$NON-NLS-1$
-		return new ProjectResourceSetImpl(project);
-	}
-
-	/**
-	 * Create a URIConverter for the resource set.
-	 * 
-	 * @param aResourceSet
-	 * @return a uri converter.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected WorkbenchURIConverter createURIConverter(ProjectResourceSet aResourceSet) {
-		return new WorkbenchURIConverterImpl(getProject(), aResourceSet.getSynchronizer());
-	}
-
-	/**
-	 * Create a resource set workbench synchronizer.
-	 * 
-	 * @param aResourceSet
-	 * @return a resource set workbench synchronizer.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected ResourceSetWorkbenchSynchronizer createResourceSetSynchronizer(ProjectResourceSet aResourceSet) {
-		return EMFWorkbenchContextFactory.INSTANCE.createSynchronizer(aResourceSet, getProject());
-	}
-
-	/**
-	 * Delete the resource from the workspace.
-	 * 
-	 * @param aResource
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void deleteResource(Resource aResource) throws CoreException {
-		if (aResource != null)
-			deleteFile(aResource);
-	}
-
-	/**
-	 * Delete the file associated with the resource.
-	 * 
-	 * @param resource
-	 * 
-	 * @since 1.0.0
-	 */
-	public void deleteFile(Resource resource) {
-		throw new UnsupportedOperationException(EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextBase_ERROR_0")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Get resource (with the given URI) from the project resource set. Load it if not already loaded.
-	 * 
-	 * @param uri
-	 * @return resource for the uri, or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Resource getResource(URI uri) {
-		return this.resourceSet.getResource(uri, true);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/IEMFContextContributor.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/IEMFContextContributor.java
deleted file mode 100644
index 465d7fa..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/IEMFContextContributor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $$RCSfile: IEMFContextContributor.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-
-package org.eclipse.jem.util.emf.workbench;
-
-/**
- * EMF Context Contributor interface. Implimenters are called to contribute to the context.
- * 
- * @see org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase#createEMFContext(IProject, IEMFContextContributor)
- * @since 1.0.0
- */
-public interface IEMFContextContributor {
-
-	/**
-	 * This is your opportunity to add a primary EMFNature. Typically you would add to the WorkbenchContext held by <code>aNature</code> in order to
-	 * change the container for the WorkbenchURIConverter or add adapter factories to the ResourceSet or anything else that is needed.
-	 * 
-	 * @param aNature
-	 * 
-	 * @since 1.0.0
-	 */
-	void primaryContributeToContext(EMFWorkbenchContextBase aNature);
-
-	/**
-	 * This is your opportunity to add a secondary EMFNature. Typically you would add to the WorkbenchContext held by <code>aNature</code> in order
-	 * to change the container for the WorkbenchURIConverter or add adapter factories to the ResourceSet or anything else that is needed.
-	 * 
-	 * @param aNature
-	 * 
-	 * @since 1.0.0
-	 */
-	void secondaryContributeToContext(EMFWorkbenchContextBase aNature);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ISynchronizerExtender.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ISynchronizerExtender.java
deleted file mode 100644
index f70dd1e..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ISynchronizerExtender.java
+++ /dev/null
@@ -1,44 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ISynchronizerExtender.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import org.eclipse.core.resources.IResourceDelta;
-
-/**
- * Implimenters allows clients, eg {@link org.eclipse.jem.util.emf.workbench.EMFNatureContributor}, to extend the behavior of the
- * ResourceSetWorkbenchSynchronizer.
- * 
- * @see org.eclipse.jem.util.emf.workbench.ResourceSetWorkbenchSynchronizer#addExtender(ISynchronizerExtender)
- * @since 1.0.0
- */
-public interface ISynchronizerExtender {
-
-	/**
-	 * Notification that project has changed.
-	 * 
-	 * @param delta
-	 * 
-	 * @since 1.0.0
-	 */
-	void projectChanged(IResourceDelta delta);
-
-	/**
-	 * Notification that project has been closed.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	void projectClosed();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectResourceSet.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectResourceSet.java
deleted file mode 100644
index 68c9735..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectResourceSet.java
+++ /dev/null
@@ -1,117 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ProjectResourceSet.java,v $$
- *  $$Revision: 1.3 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-/**
- * A ResourceSet for an entire project. It allows sharing of resources from multiple editors/viewers for a project.
- * <p>
- * An additional Notification type is sent out by ProjectResourceSet's of project resource set about to be released. A release is
- * called when projects are about to be closed. They release all of the resources and unload them. This notification can be used 
- * to know that this is about to happen and to do something before the resources become invalid. It will be sent out just before the
- * resource set will be released. 
- * 
- * @see ProjectResourceSet#SPECIAL_NOTIFICATION_TYPE
- * @see ProjectResourceSet#PROJECTRESOURCESET_ABOUT_TO_RELEASE_ID 
- * @since 1.0.0
- */
-
-public interface ProjectResourceSet extends ResourceSet {
-
-	IProject getProject();
-	
-	/**
-	 * Notification type in notifications from the ProjectResourceSet for
-	 * special notifications, and not the standard ones from ResourceSet.
-	 * 
-	 * @see org.eclipse.emf.common.notify.Notification#getEventType()
-	 * @since 1.1.0
-	 */
-	static int SPECIAL_NOTIFICATION_TYPE = Notification.EVENT_TYPE_COUNT+4;
-	
-	/**
-	 * Notification Feature ID for resource set about to be released.
-	 * Use {@link org.eclipse.emf.common.notify.Notification#getFeatureID(java.lang.Class)} to
-	 * get this id. The getFeature() on notification will return null.
-	 * 
-	 * @since 1.1.0
-	 */
-	static int PROJECTRESOURCESET_ABOUT_TO_RELEASE_ID = 1000;
-
-	/**
-	 * Call when the ResourceSet is no longer to be used.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	void release();
-
-	/**
-	 * Add the <code>resourceHandler</code> to the end of the list of resourceHandlers.
-	 * 
-	 * @param resourceHandler
-	 *            IResourceHandler
-	 * @return boolean Return <code>true</code> if it was added.
-	 * @since 1.0.0
-	 */
-	boolean add(ResourceHandler resourceHandler);
-
-	/**
-	 * Add the <code>resourceHandler</code> to the front of the list of resourceHandlers.
-	 * 
-	 * @param resourceHandler
-	 *            IResourceHandler
-	 * @since 1.0.0
-	 */
-	void addFirst(ResourceHandler resourceHandler);
-
-	/**
-	 * Remove the <code>resourceHandler</code> from the list of resourceHandlers.
-	 * 
-	 * @param resourceHandler
-	 *            IResourceHandler
-	 * @return boolean Return true if it was removed.
-	 * @since 1.0.0
-	 */
-	boolean remove(ResourceHandler resourceHandler);
-
-	/**
-	 * Return the ResourceSet synchronizer that will synchronize the ResourceSet with changes from the Workbench.
-	 * 
-	 * @return ResourceSetWorkbenchSynchronizer
-	 * @since 1.0.0
-	 */
-	ResourceSetWorkbenchSynchronizer getSynchronizer();
-
-	/**
-	 * Set the ResourceSet synchronizer that will synchronize the ResourceSet with changes from the Workbench.
-	 * 
-	 * @param aSynchronizer
-	 * @return ResourceSetWorkbenchSynchronizer
-	 * @since 1.0.0
-	 */
-	void setSynchronizer(ResourceSetWorkbenchSynchronizer aSynchronizer);
-
-	/**
-	 * This should be called by clients whenever the structure of the project changes such that any cached URIs will be invalid. For example, if the
-	 * source folders within the URIConverter change.
-	 * 
-	 * @since 1.0.0
-	 */
-	void resetNormalizedURICache();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectUtilities.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectUtilities.java
deleted file mode 100644
index b339d88..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectUtilities.java
+++ /dev/null
@@ -1,754 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ProjectUtilities.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2005/05/11 19:01:24 $$ 
- */
-
-package org.eclipse.jem.util.emf.workbench;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.*;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * EMF Workbench Project Utilities.
- * 
- * @since 1.0.0
- */
-
-public class ProjectUtilities {
-
-	/**
-	 * Project control file name in project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public final static String DOT_PROJECT = ".project"; //$NON-NLS-1$
-
-	/**
-	 * Classpath control file name in project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public final static String DOT_CLASSPATH = ".classpath"; //$NON-NLS-1$
-
-	public ProjectUtilities() {
-	}
-
-	/**
-	 * Add the nature id to the project ahead of all other nature ids.
-	 * 
-	 * @param proj
-	 * @param natureId
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addNatureToProject(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 1, prevNatures.length);
-		newNatures[0] = natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, null);
-	}
-
-	/**
-	 * Add the nature id after all of the other nature ids for the project.
-	 * 
-	 * @param proj
-	 * @param natureId
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addNatureToProjectLast(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length] = natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, null);
-	}
-
-	/**
-	 * Remove the nature id from the project.
-	 * 
-	 * @param project
-	 * @param natureId
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void removeNatureFromProject(IProject project, String natureId) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		int size = prevNatures.length;
-		int newsize = 0;
-		String[] newNatures = new String[size];
-		boolean matchfound = false;
-		for (int i = 0; i < size; i++) {
-			if (prevNatures[i].equals(natureId)) {
-				matchfound = true;
-				continue;
-			} else
-				newNatures[newsize++] = prevNatures[i];
-		}
-		if (!matchfound)
-			throw new CoreException(new Status(IStatus.ERROR, JEMUtilPlugin.ID, 0,
-					"The nature id " + natureId + " does not exist on the project " + project.getName(), null)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		else {
-			String[] temp = newNatures;
-			newNatures = new String[newsize];
-			System.arraycopy(temp, 0, newNatures, 0, newsize);
-			description.setNatureIds(newNatures);
-			project.setDescription(description, null);
-		}
-	}
-
-	/**
-	 * Add the list of projects to end of the "referenced projects" list from the project's description.
-	 * 
-	 * @param project
-	 * @param toBeAddedProjectsList
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addReferenceProjects(IProject project, List toBeAddedProjectsList) throws CoreException {
-
-		IProjectDescription description = project.getDescription();
-		IProject[] projects = description.getReferencedProjects();
-
-		ArrayList projectsList = new ArrayList();
-
-		for (int i = 0; i < projects.length; i++) {
-			projectsList.add(projects[i]);
-		}
-
-		for (int i = 0; i < toBeAddedProjectsList.size(); i++) {
-			projectsList.add(toBeAddedProjectsList.get(i));
-		}
-
-		IProject[] refProjects = new IProject[projectsList.size()];
-
-		for (int i = 0; i < refProjects.length; i++) {
-			refProjects[i] = (IProject) (projectsList.get(i));
-		}
-
-		description.setReferencedProjects(refProjects);
-		project.setDescription(description, null);
-	}
-
-	/**
-	 * Add the single project to the end of the "referenced projects" list from the project's description.
-	 * 
-	 * @param project
-	 * @param projectToBeAdded
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addReferenceProjects(IProject project, IProject projectToBeAdded) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		IProject[] projects = description.getReferencedProjects();
-
-		ArrayList projectsList = new ArrayList();
-
-		for (int i = 0; i < projects.length; i++) {
-			projectsList.add(projects[i]);
-		}
-
-		projectsList.add(projectToBeAdded);
-
-		IProject[] refProjects = new IProject[projectsList.size()];
-
-		for (int i = 0; i < refProjects.length; i++) {
-			refProjects[i] = (IProject) (projectsList.get(i));
-		}
-
-		description.setReferencedProjects(refProjects);
-		project.setDescription(description, null);
-	}
-
-	/**
-	 * Force a an immediate build of the project.
-	 * 
-	 * @param project
-	 * @param progressMonitor
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void forceAutoBuild(IProject project, IProgressMonitor progressMonitor) {
-		try {
-			project.build(IncrementalProjectBuilder.FULL_BUILD, progressMonitor);
-		} catch (CoreException ce) {
-			//Revisit: Need to use a Logger
-			//Logger.getLogger().logError(ce);
-		}
-	}
-
-	/**
-	 * Return if auto build is turned on.
-	 * 
-	 * @return <code>true</code> if auto build is turned on.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean getCurrentAutoBuildSetting() {
-
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IWorkspaceDescription wd = workspace.getDescription();
-		return wd.isAutoBuilding();
-	}
-
-	/**
-	 * Get the project associated with the given object.
-	 * 
-	 * @param object
-	 *            may be an <code>IProject, IResource, IAdaptable (to an IProject), EObject (gets IProject if object is in a ProjectResourceSet</code>.
-	 * @param natureId
-	 *            if <code>null</code> then returns project. If not <code>null</code> then returns project only if project has this nature id.
-	 * @return project associated with the object or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(Object object, String natureId) {
-		IProject result = getProject(object);
-		if (natureId == null)
-			return result;
-		if (result != null && result.isAccessible() && natureId != null)
-			try {
-				if (result.hasNature(natureId))
-					return result;
-			} catch (CoreException e) {
-				Logger.getLogger().logError(e);
-			}
-		return null;
-	}
-
-	/**
-	 * Get the project associated with the given object.
-	 * 
-	 * @param object
-	 *            may be an <code>IProject, IResource, IAdaptable (to an IProject), EObject (gets IProject if object is in a ProjectResourceSet</code>.
-	 * @return project associated with the object or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(Object object) {
-		IProject result = null;
-
-		if (object instanceof IProject)
-			result = (IProject) object;
-		else if (object instanceof IResource)
-			result = ((IResource) object).getProject();
-		else if (object instanceof IAdaptable)
-			result = (IProject) ((IAdaptable) object).getAdapter(IProject.class);
-		else if (object instanceof EObject)
-			result = getProject((EObject) object);
-
-		return result;
-	}
-
-	/**
-	 * Get the project associated with the given EObject. (If in a ProjectResourceSet, then the project from that resource set).
-	 * 
-	 * @param aRefObject
-	 * @return project if associated or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(EObject aRefObject) {
-		if (aRefObject != null) {
-			Resource resource = aRefObject.eResource();
-			return getProject(resource);
-		}
-		return null;
-	}
-
-	/**
-	 * Get the project associated with the given Resource. (If in a ProjectResourceSet, then the project from that resource set).
-	 * 
-	 * @param resource
-	 * @return project if associated or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(Resource resource) {
-		ResourceSet set = resource == null ? null : resource.getResourceSet();
-		if (set instanceof ProjectResourceSet)
-			return ((ProjectResourceSet) set).getProject();
-		URIConverter converter = set == null ? null : set.getURIConverter();
-		if (converter != null && converter instanceof WorkbenchURIConverter && ((WorkbenchURIConverter) converter).getOutputContainer() != null)
-			return ((WorkbenchURIConverter) converter).getOutputContainer().getProject();
-		else
-			return null;
-	}
-
-	/**
-	 * Remove the list of projects from the list of "referenced projects" in the project's description.
-	 * 
-	 * @param project
-	 * @param toBeRemovedProjectList
-	 * @throws org.eclipse.core.runtime.CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void removeReferenceProjects(IProject project, List toBeRemovedProjectList) throws org.eclipse.core.runtime.CoreException {
-		IProjectDescription description = project.getDescription();
-		IProject[] projects = description.getReferencedProjects();
-
-		ArrayList projectsList = new ArrayList();
-
-		for (int i = 0; i < projects.length; i++) {
-			projectsList.add(projects[i]);
-		}
-
-		for (int i = 0; i < toBeRemovedProjectList.size(); i++) {
-			projectsList.remove(toBeRemovedProjectList.get(i));
-		}
-
-		IProject[] refProjects = new IProject[projectsList.size()];
-
-		for (int i = 0; i < refProjects.length; i++) {
-			refProjects[i] = (IProject) (projectsList.get(i));
-		}
-
-		description.setReferencedProjects(refProjects);
-		project.setDescription(description, null);
-	}
-
-	/**
-	 * Remove the project from the list of "referenced projects" in the description for the given project.
-	 * 
-	 * @param project
-	 * @param toBeRemovedProject
-	 * @throws org.eclipse.core.runtime.CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void removeReferenceProjects(IProject project, IProject toBeRemovedProject) throws org.eclipse.core.runtime.CoreException {
-		IProjectDescription description = project.getDescription();
-		IProject[] projects = description.getReferencedProjects();
-
-		ArrayList projectsList = new ArrayList();
-
-		for (int i = 0; i < projects.length; i++) {
-			projectsList.add((projects[i]));
-		}
-
-		projectsList.remove(toBeRemovedProject);
-
-		IProject[] refProjects = new IProject[projectsList.size()];
-
-		for (int i = 0; i < refProjects.length; i++) {
-			refProjects[i] = (IProject) (projectsList.get(i));
-		}
-
-		description.setReferencedProjects(refProjects);
-		project.setDescription(description, null);
-	}
-
-	/**
-	 * Turn auto-building off.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void turnAutoBuildOff() {
-		try {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceDescription wd = workspace.getDescription();
-			wd.setAutoBuilding(false);
-			workspace.setDescription(wd);
-		} catch (CoreException ce) {
-			//Logger.getLogger().logError(ce);
-		}
-	}
-
-	/**
-	 * Turn auto-building on.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void turnAutoBuildOn() {
-		try {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceDescription wd = workspace.getDescription();
-			wd.setAutoBuilding(true);
-			workspace.setDescription(wd);
-		} catch (CoreException ce) {
-			//Logger.getLogger().logError(ce);
-		}
-	}
-
-	/**
-	 * Set the auto-building state.
-	 * 
-	 * @param aBoolean
-	 *            <code>true</code> to turn auto-building on.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void turnAutoBuildOn(boolean aBoolean) {
-		try {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceDescription wd = workspace.getDescription();
-			wd.setAutoBuilding(aBoolean);
-			workspace.setDescription(wd);
-		} catch (CoreException ce) {
-			//Logger.getLogger().logError(ce);
-
-		}
-	}
-
-	/**
-	 * Adds a builder to the build spec for the given project.
-	 * 
-	 * @param builderID
-	 *            The id of the builder.
-	 * @param project
-	 *            Project to add to.
-	 * @return whether the builder id was actually added (it may have already existed)
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public static boolean addToBuildSpec(String builderID, IProject project) throws CoreException {
-		return addToBuildSpecBefore(builderID, null, project);
-	}
-
-	/**
-	 * Adds a builder to the build spec for the given project, immediately before the specified successor builder.
-	 * 
-	 * @param builderID
-	 *            The id of the builder.
-	 * @param successorID
-	 *            The id to put the builder before.
-	 * @return whether the builder id was actually added (it may have already existed)
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public static boolean addToBuildSpecBefore(String builderID, String successorID, IProject project) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		ICommand[] commands = description.getBuildSpec();
-		boolean found = false;
-		for (int i = 0; i < commands.length; ++i) {
-			if (commands[i].getBuilderName().equals(builderID)) {
-				found = true;
-				break;
-			}
-		}
-		if (!found) {
-			boolean successorFound = false;
-			ICommand command = description.newCommand();
-			command.setBuilderName(builderID);
-			ICommand[] newCommands = new ICommand[commands.length + 1];
-			for (int j = 0, index = 0; j < commands.length; j++, index++) {
-				if (successorID != null && commands[j].getBuilderName().equals(successorID)) {
-					successorFound = true;
-					newCommands[index++] = command;
-				}
-				newCommands[index] = commands[j];
-			}
-			if (!successorFound)
-				newCommands[newCommands.length - 1] = command;
-			description.setBuildSpec(newCommands);
-			project.setDescription(description, null);
-		}
-		return !found;
-	}
-
-	/**
-	 * Remove the builder from the build spec.
-	 * 
-	 * @param builderID
-	 *            The id of the builder.
-	 * @param project
-	 *            Project to remove from.
-	 * @return boolean if the builder id was found and removed
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public static boolean removeFromBuildSpec(String builderID, IProject project) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		ICommand[] commands = description.getBuildSpec();
-		boolean found = false;
-		for (int i = 0; i < commands.length; ++i) {
-			if (commands[i].getBuilderName().equals(builderID)) {
-				found = true;
-				break;
-			}
-		}
-		if (found) {
-			ICommand[] newCommands = new ICommand[commands.length - 1];
-			int newCount = 0;
-			for (int i = 0; i < commands.length; ++i) {
-				if (!(commands[i].getBuilderName().equals(builderID))) {
-					//Add the existng to the new array
-					newCommands[newCount] = commands[i];
-					newCount++;
-				}
-			}
-
-			description.setBuildSpec(newCommands);
-			project.setDescription(description, null);
-
-		}
-		return found;
-
-	}
-
-	/**
-	 * Ensure the container is not read-only.
-	 * <p>
-	 * For Linux, a Resource cannot be created in a ReadOnly folder. This is only necessary for new files.
-	 * 
-	 * @param resource
-	 *            workspace resource to make read/write
-	 * @since 1.0.0
-	 */
-	public static void ensureContainerNotReadOnly(IResource resource) {
-		if (resource != null && !resource.exists()) { //it must be new
-			IContainer container = resource.getParent();
-			ResourceAttributes attr = container.getResourceAttributes();
-			while (attr != null && !attr.isReadOnly()) {
-				container = container.getParent();
-				if (container == null)
-					break;
-				attr = container.getResourceAttributes();
-			}
-			if (container != null && attr != null)
-				attr.setReadOnly(false);
-		}
-	}
-
-	/**
-	 * Get projects from primary nature.
-	 * 
-	 * @param natureID
-	 * @return All projects that have the given nature id as the first nature id.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject[] getProjectsForPrimaryNature(String natureID) {
-		IProject[] projectsWithNature = new IProject[] {};
-		List result = new ArrayList();
-		IProject[] projects = getAllProjects();
-		for (int i = 0; i < projects.length; i++) {
-			if (isProjectPrimaryNature(projects[i], natureID))
-				result.add(projects[i]);
-		}
-		return (IProject[]) result.toArray(projectsWithNature);
-	}
-
-	/**
-	 * Get all projects in the workspace
-	 * 
-	 * @return all workspace projects
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject[] getAllProjects() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	}
-
-	/**
-	 * Is this nature id the primary nature id for the project
-	 * 
-	 * @param project
-	 * @param natureID
-	 * @return <code>true</code> if first nature id for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean isProjectPrimaryNature(IProject project, String natureID) {
-		String[] natures = null;
-		try {
-			natures = project.getDescription().getNatureIds();
-		} catch (Exception e1) {
-		}
-		return (natures != null && natures.length > 0 && natures[0].equals(natureID));
-	}
-
-	protected static IPath createPath(IProject p, String defaultSourceName) {
-		IPath path = new Path(p.getName());
-		path = path.append(defaultSourceName);
-		path = path.makeAbsolute();
-		return path;
-	}
-
-	/**
-	 * Returns a list of existing files which will be modified if the classpath changes for the given proeject.
-	 * 
-	 * @param p
-	 *            project
-	 * @return list of affected files.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static List getFilesAffectedByClasspathChange(IProject p) {
-		List result = new ArrayList(2);
-		addFileIfExists(p, result, DOT_CLASSPATH);
-		addFileIfExists(p, result, DOT_PROJECT);
-		return result;
-	}
-
-	protected static void addFileIfExists(IProject p, List aList, String filename) {
-		IFile aFile = p.getFile(filename);
-		if (aFile != null && aFile.exists())
-			aList.add(aFile);
-	}
-
-	/**
-	 * Strip off a leading "/" from each project name in the array, if it has one.
-	 * 
-	 * @param projecNames
-	 * @return array of project names with all leading '/' removed.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static String[] getProjectNamesWithoutForwardSlash(String[] projecNames) {
-		String[] projNames = new String[projecNames.length];
-		List temp = java.util.Arrays.asList(projecNames);
-		for (int i = 0; i < temp.size(); i++) {
-			String name = (String) (temp.get(i));
-			if (name.startsWith("/")) { //$NON-NLS-1$
-				projNames[i] = name.substring(1, name.length());
-			} else {
-				projNames[i] = name;
-			}
-		}
-		return projNames;
-	}
-
-	protected static URL createFileURL(IPath path) {
-		try {
-			return path.toFile().toURL();
-		} catch (MalformedURLException e) {
-			Logger.getLogger().log(e, Level.WARNING);
-			return null;
-		}
-	}
-
-	/**
-	 * Find first newObject that is not in the oldObjects array (using "==").
-	 * 
-	 * @param oldObjects
-	 * @param newObjects
-	 * @return first newObject not found in oldObjects, or <code>null</code> if all found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Object getNewObject(Object[] oldObjects, Object[] newObjects) {
-		if (oldObjects != null && newObjects != null && oldObjects.length < newObjects.length) {
-			for (int i = 0; i < newObjects.length; i++) {
-				boolean found = false;
-				Object object = newObjects[i];
-				for (int j = 0; j < oldObjects.length; j++) {
-					if (oldObjects[j] == object) {
-						found = true;
-						break;
-					}
-				}
-				if (!found)
-					return object;
-			}
-		}
-		if (oldObjects == null && newObjects != null && newObjects.length == 1)
-			return newObjects[0];
-		return null;
-	}
-
-	/**
-	 * List of all files in the project.
-	 * <p>
-	 * Note: A more efficient way to do this is to use {@link IResource#accept(org.eclipse.core.resources.IResourceProxyVisitor, int)}
-	 * 
-	 * @param 1.0.0
-	 * @return list of files in the project
-	 * 
-	 * @see IResource#accept(org.eclipse.core.resources.IResourceProxyVisitor, int)
-	 * @since 1.0.0
-	 */
-	public static List getAllProjectFiles(IProject project) {
-		List result = new ArrayList();
-		if (project == null)
-			return result;
-		try {
-			result = collectFiles(project.members(), result);
-		} catch (CoreException e) {
-		}
-		return result;
-	}
-
-	private static List collectFiles(IResource[] members, List result) throws CoreException {
-		// recursively collect files for the given members
-		for (int i = 0; i < members.length; i++) {
-			IResource res = members[i];
-			if (res instanceof IFolder) {
-				collectFiles(((IFolder) res).members(), result);
-			} else if (res instanceof IFile) {
-				result.add(res);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Get the project.
-	 * 
-	 * @param projectName
-	 * @return a IProject given the projectName
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(String projectName) {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-	}
-
-	/**
-	 * Return whether the given builder name is attached to the project.
-	 * 
-	 * @param project
-	 * @param builderName
-	 * @return <code>true</code> if builder name is attached to the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean hasBuilder(IProject project, String builderName) {
-		try {
-			ICommand[] builders = project.getDescription().getBuildSpec();
-			for (int i = 0; i < builders.length; i++) {
-				ICommand builder = builders[i];
-				if (builder != null) {
-					if (builder.getBuilderName().equals(builderName))
-						return true;
-				}
-			}
-		} catch (Exception e) {
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceHandler.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceHandler.java
deleted file mode 100644
index 0170780..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceHandler.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $$RCSfile: ResourceHandler.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-/**
- * Implementers of this interface are provide extension capabilities on resource set. Such as looking or creating in other resource sets for a
- * resource or an EObject.
- * 
- * @see org.eclipse.jem.util.emf.workbench.ProjectResourceSet#add(ResourceHandler)
- * @since 1.0.0
- */
-public interface ResourceHandler {
-
-	/**
-	 * Each ResourceHandler for a WorkbenchContext (which holds a ProjectResourceSet) will get an oportunity to get the Resource given the uriString
-	 * prior to the originatingResourceSet getting it in the normal manner.
-	 * 
-	 * If this handler loaded a Resource in its create(ResourceSet, uriString) then this method should be able to return it as well.
-	 * 
-	 * @param originatingResourceSet
-	 * @param uri
-	 * @return resource if found or <code>nulll/code> if this handler didn't find it.
-	 * 
-	 * @since 1.0.0
-	 */
-	Resource getResource(ResourceSet originatingResourceSet, URI uri);
-
-	/**
-	 * Get the EObject for the given URI, if it can. Load the resource if loadOnDemand is <code>true</code>.
-	 * 
-	 * @param originatingResourceSet
-	 * @param uri
-	 *            uri of EObject being requested
-	 * @param loadOnDemand
-	 *            <code>true</code> if resource should be loaded
-	 * @return eobject if found or <code>null</code> if not.
-	 */
-	EObject getEObjectFailed(ResourceSet originatingResourceSet, URI uri, boolean loadOnDemand);
-
-	/**
-	 * Create the resource pointed to be the URI if this handler will handle it.
-	 * 
-	 * @param originatingResourceSet
-	 * @param uri
-	 * @return resource if created, or <code>null</code> if handler doesn't handle this type.
-	 */
-	Resource createResource(ResourceSet originatingResourceSet, URI uri);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceSetWorkbenchSynchronizer.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceSetWorkbenchSynchronizer.java
deleted file mode 100644
index 1781936..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceSetWorkbenchSynchronizer.java
+++ /dev/null
@@ -1,191 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ResourceSetWorkbenchSynchronizer.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-
-package org.eclipse.jem.util.emf.workbench;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.jem.internal.util.emf.workbench.EMFWorkbenchContextFactory;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * Synchronizer on the workbench. It listens for the project to see if it is closed or deleted. If it does it notifies this out.
- * 
- * @since 1.0.0
- */
-public class ResourceSetWorkbenchSynchronizer implements IResourceChangeListener {
-
-	protected IProject project;
-
-	protected ResourceSet resourceSet;
-
-	/** Extenders that will be notified after a pre build resource change */
-	protected List extenders;
-
-	/** The delta for this project that will be broadcast to the extenders */
-	protected IResourceDelta currentProjectDelta;
-
-	private int currentEventType = -1;
-
-	/**
-	 * Constructor taking a resource set and project.
-	 * 
-	 * @param aResourceSet
-	 * @param aProject
-	 * 
-	 * @since 1.0.0
-	 */
-	public ResourceSetWorkbenchSynchronizer(ResourceSet aResourceSet, IProject aProject) {
-		resourceSet = aResourceSet;
-		project = aProject;
-		if (aResourceSet != null && aResourceSet instanceof ProjectResourceSet)
-			((ProjectResourceSet) aResourceSet).setSynchronizer(this);
-		initialize();
-	}
-
-	/**
-	 * Get the project for this synchronizer
-	 * 
-	 * @return project
-	 * 
-	 * @since 1.0.0
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/*
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		currentEventType = event.getType();
-		currentProjectDelta = null;
-		if ((currentEventType == IResourceChangeEvent.PRE_CLOSE || currentEventType == IResourceChangeEvent.PRE_DELETE)
-				&& event.getResource().equals(getProject())) {
-			release();
-			notifyExtendersOfClose();
-		}
-	}
-
-	protected void notifyExtendersIfNecessary() {
-		if (currentEventType != IResourceChangeEvent.POST_CHANGE || extenders == null || currentProjectDelta == null)
-			return;
-		for (int i = 0; i < extenders.size(); i++) {
-			ISynchronizerExtender extender = (ISynchronizerExtender) extenders.get(i);
-			extender.projectChanged(currentProjectDelta);
-		}
-	}
-
-	protected void notifyExtendersOfClose() {
-		if (extenders != null && !extenders.isEmpty()) {
-			for (int i = 0; i < extenders.size(); i++) {
-				ISynchronizerExtender extender = (ISynchronizerExtender) extenders.get(i);
-				extender.projectClosed();
-			}
-		}
-	}
-
-	protected IWorkspace getWorkspace() {
-		if (getProject() == null)
-			return ResourcesPlugin.getWorkspace();
-		return getProject().getWorkspace();
-	}
-
-	protected void initialize() {
-		getWorkspace().addResourceChangeListener(this,
-				IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_BUILD);
-	}
-
-	/**
-	 * Dispose of the synchronizer. Called when no longer needed.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void dispose() {
-		getWorkspace().removeResourceChangeListener(this);
-	}
-
-	/**
-	 * The project is going away so we need to cleanup ourself and the ResourceSet.
-	 */
-	protected void release() {
-		if (JEMUtilPlugin.isActivated()) {
-			try {
-				if (resourceSet instanceof ProjectResourceSet)
-					((ProjectResourceSet) resourceSet).release();
-			} finally {
-				EMFWorkbenchContextFactory.INSTANCE.removeCachedProject(getProject());
-				dispose();
-			}
-		}
-	}
-
-	/**
-	 * Add an extender to be notified of events.
-	 * 
-	 * @param extender
-	 * 
-	 * @since 1.0.0
-	 */
-	public void addExtender(ISynchronizerExtender extender) {
-		if (extenders == null)
-			extenders = new ArrayList(3);
-		extenders.add(extender);
-	}
-
-	/**
-	 * Remove extender from notification of events.
-	 * 
-	 * @param extender
-	 * 
-	 * @since 1.0.0
-	 */
-	public void removeExtender(ISynchronizerExtender extender) {
-		if (extenders == null)
-			return;
-		extenders.remove(extender);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getClass().getName() + '(' + ((getProject() != null) ? getProject().getName() : "null") + ')'; //$NON-NLS-1$
-	}
-
-	/**
-	 * Tell Synchronizer that a file is about to be saved. This method should be called prior to writing to an IFile from an EMF resource.
-	 * <p>
-	 * Default does nothing, but subclasses can do something.
-	 * </p>
-	 * 
-	 * @param aFile
-	 *            file about to be saved.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void preSave(IFile aFile) {
-		//Default is do nothing
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchByteArrayOutputStream.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchByteArrayOutputStream.java
deleted file mode 100644
index 9d72f51..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchByteArrayOutputStream.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkbenchByteArrayOutputStream.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-
-/**
- * ByteArray OutputStream for the Workbench. It works with the synchronizer {@link org.eclipse.jem.util.emf.workbench.ResourceSetWorkbenchSynchronizer}to
- * notify of a save. It also changes all of the line separators to the current system line separator, i.e. if there are some '\r' and we are on
- * Windows(R) then they will be converted to '\n\r'), if the setting for the stream is to do eol conversion.
- * 
- * @since 1.0.0
- */
-public class WorkbenchByteArrayOutputStream extends URIConverterImpl.PlatformResourceOutputStream {
-
-	private boolean fConvertEOL = false;
-
-	protected ResourceSetWorkbenchSynchronizer synchronizer;
-
-	/**
-	 * Construct with an IFile
-	 * 
-	 * @param aFile
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchByteArrayOutputStream(IFile aFile) {
-		this(aFile, null);
-	}
-
-	/**
-	 * Construct with a IFile and a synchronizer. This way synchronizer will know when file is about to be saved.
-	 * 
-	 * @param aFile
-	 * @param aSynchronizer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchByteArrayOutputStream(IFile aFile, ResourceSetWorkbenchSynchronizer aSynchronizer) {
-		super(aFile, false, true, null);
-		synchronizer = aSynchronizer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.OutputStream#close()
-	 */
-	public void close() throws IOException {
-		if (synchronizer != null)
-			synchronizer.preSave(file);
-		super.close();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.URIConverterImpl.PlatformResourceOutputStream#flush()
-	 */
-	public void flush() throws IOException {
-		if (synchronizer != null)
-			synchronizer.preSave(file);
-		super.flush();
-	}
-
-	/*
-	 * Convert the end of line characters.
-	 */
-	private int convertEOL(byte[] data) {
-		// Algorithm:
-		// Remove all '\r' chars
-		// Replace all '\n' chars with line seperator chars
-
-		String EOL = System.getProperties().getProperty("line.separator"); //$NON-NLS-1$
-		byte[] EOLBytes = EOL.getBytes();
-
-		int out = 0;
-
-		for (int in = 0; in < data.length; in++) {
-			if (data[in] == '\r') {
-				// don't output (ie, throw the char away)
-			} else if (data[in] == '\n') {
-				// The code does not currently handle expanding the array
-				if ((in - out + 1) < EOLBytes.length)
-					throw new UnsupportedOperationException("WorkbenchByteArrayOutputStream: Expanding EOL chars not implemented"); //$NON-NLS-1$
-
-				for (int i = 0; i < EOLBytes.length; i++) {
-					data[out++] = EOLBytes[i];
-				}
-			} else {
-				// Just copy the data
-				data[out++] = data[in];
-			}
-		}
-
-		return out;
-	}
-
-	/**
-	 * Is EOL conversion turned on.
-	 * 
-	 * @return <code>true</code> if EOL conversion is turned on.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean isConvertEOLChars() {
-		return fConvertEOL;
-	}
-
-	/**
-	 * Set the EOL conversion flag.
-	 * 
-	 * @param set
-	 *            <code>true</code> if EOL should be converted to current line separator.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setConvertEOLChars(boolean set) {
-		fConvertEOL = set;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.ByteArrayOutputStream#toByteArray()
-	 */
-	public synchronized byte[] toByteArray() {
-		byte[] contents = super.toByteArray();
-		if (isConvertEOLChars())
-			convertEOL(contents);
-		return contents;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchResourceHelperBase.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchResourceHelperBase.java
deleted file mode 100644
index 2601650..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchResourceHelperBase.java
+++ /dev/null
@@ -1,694 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkbenchResourceHelperBase.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2005/10/14 20:57:31 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.resource.*;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.util.emf.workbench.EMFWorkbenchContextFactory;
-import org.eclipse.jem.internal.util.emf.workbench.WorkspaceResourceHandler;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * Workbench resource helper
- * 
- * @since 1.0.0
- */
-public class WorkbenchResourceHelperBase {
-
-	/**
-	 * Everything is static, don't know why there is an instance here.
-	 */
-	public static final WorkbenchResourceHelperBase INSTANCE = new WorkbenchResourceHelperBase();
-
-	protected static WorkspaceResourceHandler workspaceURILoader = new WorkspaceResourceHandler();
-
-	protected static void resolveContainedProxies(EObject refObject) {
-		List contained = refObject.eContents();
-		EObject mofObject;
-		for (int i = 0; i < contained.size(); i++) {
-			mofObject = (EObject) contained.get(i);
-			resolveProxies(mofObject);
-		}
-	}
-
-	protected static void resolveNonContainedProxies(EObject refObject) {
-		List references = refObject.eClass().getEAllReferences();
-		EReference reference;
-		for (int i = 0; i < references.size(); i++) {
-			reference = (EReference) references.get(i);
-			if (!reference.isContainment()) {
-				if (reference.isMany()) {
-					List value = (List) refObject.eGet(reference);
-					for (int j = 0; j < value.size(); j++)
-						value.get(j);
-				} else {
-					refObject.eGet(reference);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Force all of the proxies with <code>resource</code> to be resolved.
-	 * 
-	 * @param resource
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void resolveProxies(Resource resource) {
-		if (resource != null) {
-			List topLevels = resource.getContents();
-			EObject mofObject;
-			for (int i = 0; i < topLevels.size(); i++) {
-				mofObject = (EObject) topLevels.get(i);
-				resolveProxies(mofObject);
-			}
-		}
-	}
-
-	/**
-	 * Return a List of proxies that are contained by the <code>resource</code>.
-	 * 
-	 * @param resource
-	 * @return list of proxies.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static List gatherProxies(Resource resource) {
-		if (resource == null)
-			return Collections.EMPTY_LIST;
-		List list = new ArrayList();
-		List topLevels = resource.getContents();
-		int size = topLevels.size();
-		EObject mofObject;
-		for (int i = 0; i < size; i++) {
-			mofObject = (EObject) topLevels.get(i);
-			gatherProxies((InternalEObject) mofObject, list);
-		}
-		return list;
-	}
-
-	protected static void gatherProxies(InternalEObject refObject, List proxies) {
-		if (refObject == null)
-			return;
-		List contains = refObject.eClass().getEAllContainments();
-		if (contains != null) {
-			int size = contains.size();
-			EStructuralFeature sf = null;
-			for (int i = 0; i < size; i++) {
-				sf = (EStructuralFeature) contains.get(i);
-				gatherProxies(refObject, sf, proxies);
-			}
-		}
-	}
-
-	protected static void gatherProxies(InternalEObject refObject, EStructuralFeature sf, List proxies) {
-		Object value = null;
-		InternalEObject proxy = null;
-		if (sf.isMany() || refObject.eIsSet(sf)) {
-			value = refObject.eGet(sf, false);
-			if (value != null) {
-				if (sf.isMany()) {
-					Iterator j = ((InternalEList) value).basicIterator();
-					while (j.hasNext()) {
-						proxy = (InternalEObject) j.next();
-						if (proxy.eIsProxy())
-							proxies.add(proxy);
-					}
-				} else if (((InternalEObject) value).eIsProxy())
-					proxies.add(value);
-			}
-		}
-	}
-
-	protected static void resolveProxies(EObject refObject) {
-		if (refObject != null) {
-			resolveNonContainedProxies(refObject);
-			resolveContainedProxies(refObject);
-		}
-	}
-
-	/**
-	 * Return an existing context base on <code>aProject</code>.
-	 * 
-	 * @param aProject
-	 * @return the context base for the project or <code>null</code> if none.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static EMFWorkbenchContextBase getEMFContext(IProject aProject) {
-		return EMFWorkbenchContextFactory.INSTANCE.getEMFContext(aProject);
-	}
-
-	/**
-	 * Create a resource from the URI. The URI must contain the project name, either as the first segment, or if in platform resource url protocol.
-	 * {@link #getResourceSet(URI)}
-	 * 
-	 * @param uri
-	 * @return a new resource for the uri or <code>null</code> if not a project uri
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource createResource(URI uri) {
-		ResourceSet set = getResourceSet(uri);
-		if (set != null)
-			return set.createResource(uri);
-		return null;
-	}
-
-	/**
-	 * Check for a cached Resource for the given URI, if none is found, create a new Resource for with the URI against the proper ResourceSet.
-	 * 
-	 * @param uri The URI MUST be either a "<b>platform:/resource/</b>project-name/...." type URI or it
-	 * must be of type "project-name/...". This method will only return resources that are workbench project resources.
-	 * Any other type of URI will cause <code>null</code> to be returned.
-	 * @return resource or <code>null</code> if not a project uri.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource getExistingOrCreateResource(URI uri) {
-		return getExistingOrCreateResource(uri, getResourceSet(uri));
-	}
-	
-	/**
-	 * Get the IFile for the URI. The URI must be a workbench project style URI. 
-	 * @param uri The URI MUST be either a "<b>platform:/resource/</b>project-name/...." type URI or it
-	 * must be of type "project-name/...". This method will only return resources that are workbench project resources.
-	 * Any other type of URI will cause <code>null</code> to be returned.
-	 * @return the IFile if the URI is a project form, <code>null</code> if not a project form, OR the project doesn't exist. The IFile returned doesn't necessarily exist. Use {@link IFile#exists()} to test that.
-	 * 
-	 * @since 1.2.0
-	 */
-	public static IFile getIFile(URI uri) {
-		IProject project = getProject(uri);
-		if (project != null) {
-			IPath path;
-			if (isPlatformResourceURI(uri)) {
-				// Need to get the path and remove the first two segments (/resource/project name/).
-				path = new Path(URI.decode(uri.path())).removeFirstSegments(2);
-			} else {
-				// Need to get the path and remove the first segment (/project name/).
-				path = new Path(URI.decode(uri.path())).removeFirstSegments(1);
-			}
-			return project.getFile(path);
-		} else
-			return null;
-	}
-
-	/**
-	 * Check for a cached Resource for the given URI, if none is found, create a new Resource for with the URI against the given ResourceSet.
-	 * 
-	 * @param uri 
-	 * @param set
-	 * @return resource or <code>null</code> if set was <code>null</code>.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource getExistingOrCreateResource(URI uri, ResourceSet set) {
-		if (set != null) {
-			Resource res = set.getResource(uri, false);
-			if (res == null)
-				res = set.createResource(uri);
-			return res;
-		} else
-			return null;
-	}
-
-	/**
-	 * Return a new or existing context base on <code>aProject</code>. Allow the <code>contributor</code> to contribute to the new or existing
-	 * nature prior to returning.
-	 * 
-	 * @param aProject
-	 * @param contributor
-	 * @return the context base for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static EMFWorkbenchContextBase createEMFContext(IProject aProject, IEMFContextContributor contributor) {
-		return EMFWorkbenchContextFactory.INSTANCE.createEMFContext(aProject, contributor);
-	}
-
-	/**
-	 * Does the passed URI have the form platform:/resource/... ?
-	 * 
-	 * @param uri
-	 * @return <code>true</code> if it is a platform resource protocol.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean isPlatformResourceURI(URI uri) {
-		return JEMUtilPlugin.PLATFORM_PROTOCOL.equals(uri.scheme()) && JEMUtilPlugin.PLATFORM_RESOURCE.equals(uri.segment(0));
-	}
-
-	/**
-	 * This api may be used to cache a Resource if it has a URI that is Workspace relative. Return true if it is cached.
-	 * 
-	 * @param aResource
-	 * @return <code>true</code> if it was successful to cache.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean cacheResource(Resource aResource) {
-		if (aResource != null) {
-			ResourceSet set = getResourceSet(aResource.getURI());
-			if (set != null)
-				return set.getResources().add(aResource);
-		}
-		return false;
-	}
-
-	/**
-	 * This api is used if you create a new MOF resource and you want to add it to the correct ResourceSet. In order to do that, we need the IProject
-	 * that you want aResource to be cached within as well as the IPath which is the full path of the location of the new Resource.
-	 * 
-	 * @param aProject
-	 * @param aResource
-	 * @param fullPath
-	 * @return <code>true</code> if resource was cached.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean cacheResource(IProject aProject, Resource aResource, IPath fullPath) {
-		if (aProject == null || aResource == null || !aProject.isAccessible())
-			return false;
-		ResourceSet set = getResourceSet(aProject);
-		if (set != null) {
-			URI converted = set.getURIConverter().normalize(aResource.getURI());
-			if (converted != aResource.getURI())
-				aResource.setURI(converted);
-			return set.getResources().add(aResource);
-		}
-		return false;
-	}
-
-	/**
-	 * Get the path of the project resource relative to the workspace or relative to the list of containers in this project.
-	 * 
-	 * @param aResource
-	 * @return path
-	 * 
-	 * @since 1.0.0
-	 */
-	public static String getActualProjectRelativeURI(IResource aResource) {
-		if (aResource == null || !aResource.isAccessible())
-			return null;
-		IProject project = aResource.getProject();
-		IPath path = getPathInProject(project, aResource.getFullPath());
-		return path.makeRelative().toString();
-	}
-
-	/**
-	 * Return an IPath that can be used to load a Resource using the <code>fullPath</code>. This will be a project relative path.
-	 * 
-	 * @param project
-	 * @param fullPath
-	 * @return path
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IPath getPathInProject(IProject project, IPath fullPath) {
-		List containers = getProjectURIConverterContainers(project);
-		if (!containers.isEmpty())
-			return getPathFromContainers(containers, fullPath);
-		return fullPath;
-	}
-
-	protected static List getProjectURIConverterContainers(IProject project) {
-		EMFWorkbenchContextBase nature = createEMFContext(project, null);
-		if (nature != null) {
-			WorkbenchURIConverter conv = (WorkbenchURIConverter) nature.getResourceSet().getURIConverter();
-			if (conv != null)
-				return conv.getInputContainers();
-		}
-		return Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * If this path is contained within one of the listed containers, then return the path relative to the container.
-	 * 
-	 * @param containers
-	 * @param fullPath
-	 * @return path relative to a container, or unchanged path if not in a container.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IPath getPathFromContainers(List containers, IPath fullPath) {
-		IContainer container = null;
-		IPath result;
-		int size = containers.size();
-		int matching = -1;
-		IPath containerPath;
-		for (int i = 0; i < size; i++) {
-			container = (IContainer) containers.get(i);
-			containerPath = container.getFullPath();
-			matching = fullPath.matchingFirstSegments(containerPath);
-			if (matching > 0 && matching == containerPath.segmentCount()) {
-				result = fullPath.removeFirstSegments(matching);
-				result = result.makeRelative();
-				return result;
-			}
-		}
-		return fullPath;
-	}
-
-	/**
-	 * Return true if the <code>uri</code> has its container segments visible from the input containers for the <code>project</code>.
-	 * 
-	 * @param project
-	 * @param uri
-	 * @return <code>true</code> if the uri is visible from the input containers.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean hasContainerStructure(IProject project, URI uri) {
-		if (project != null && uri != null) {
-			IPath path = new Path(uri.toString());
-			List containers = getProjectURIConverterContainers(project);
-			int segmentCount = path.segmentCount();
-			IPath containerPath = segmentCount > 1 ? path.removeLastSegments(1) : null;
-			IContainer container = null;
-			for (int i = 0; i < containers.size(); i++) {
-				container = (IContainer) containers.get(i);
-				if (!container.isAccessible())
-					continue;
-				if (segmentCount == 1) {
-					if (container == project)
-						return true;
-				} else if (containerPath != null) {
-					IFolder folder = container.getFolder(containerPath);
-					if (folder != null && folder.isAccessible())
-						return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Get the resource for the uri. The URI MUST be either a "<b>platform:/resource/</b>project-name/...." type URI or it
-	 * must be of type "project-name/...". This method will only return resources that are workbench project resources.
-	 * Any other type of URI will cause <code>null</code> to be returned. It will be loaded if not already loaded. If it is not to
-	 * be loaded if not loaded use {@link #getResource(URI, boolean)} instead.
-	 * 
-	 * @param uri must be either a "<b>platform:/resource/</b>project-name/..." form or it must be "project-name/...". Any other form will be invalid.
-	 * @return resource if uri is for a valid workbench project resource or <code>null</code> if project not found or not a valid project resource.
-	 * 
-	 * @throws WrappedException if valid project format URI but file not found or some other error on load.
-	 * @since 1.0.0
-	 */
-	public static Resource getResource(URI uri) {
-		return getResource(uri, true);
-	}
-
-	/**
-	 * Return the Resource for the passed IFile without forcing a load.
-	 * 
-	 * @param aFile
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource getResource(IFile aFile) {
-		return getResource(aFile, false);
-	}
-
-	/**
-	 * Return the Resource for the passed IFile, forcing a load if <code>loadOnDemand</code> says so.
-	 * 
-	 * @param aFile
-	 * @param loadOnDemand
-	 *            <code>true</code> will force a load of resource if not loaded.
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource getResource(IFile aFile, boolean loadOnDemand) {
-		if (aFile != null)
-			return getResource(URI.createPlatformResourceURI(aFile.getFullPath().toString()), loadOnDemand);
-		return null;
-	}
-
-	/**
-	 * Return the Resource for the passed IFile without a load if not loaded.
-	 * 
-	 * @param aFile
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource load(IFile aFile) {
-		return getResource(aFile, true);
-	}
-
-	/**
-	 * Get the resource for the uri. The URI MUST be either a "<b>platform:/resource/</b>project-name/...." type URI or it
-	 * must be of type "project-name/...". This method will only return resources that are workbench project resources.
-	 * Any other type of URI will cause <code>null</code> to be returned.
-	 * 
-	 * @param uri must be either a "<b>platform:/resource/</b>project-name/..." form or it must be "project-name/...". Any other form will be invalid.
-	 * @param loadOnDemand <code>true</code> will cause resource to be loaded if not already loaded.
-	 * @return resource if uri is for a valid workbench project resource, or <code>null</code> if project not found, or not a valid project resource uri.
-	 * 
-	 * @throws WrappedException if valid project format URI but file not found or some other error on load if loadOnDemand is true.
-	 * @since 1.0.0
-	 */
-	public static Resource getResource(URI uri, boolean loadOnDemand) {
-		ResourceSet set = getResourceSet(uri);
-		if (set != null)
-			return set.getResource(uri, loadOnDemand);
-		return null;
-	}
-
-	/**
-	 * Return a ResourceSet for the passed URI. The URI should be in the format platform:/resource/{project name}/... or {project name}/... for this
-	 * api to work.
-	 * 
-	 * @param uri
-	 * @return the resource set or <code>null</code> if not of correct form or project doesn't have a resource set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static ResourceSet getResourceSet(URI uri) {
-		IProject project = getProject(uri);
-		if (project != null && project.isAccessible())
-			return getResourceSet(project);
-		else
-			return null;
-	}
-	
-	/*
-	 * Get the project for the uri if the uri is a valid workbench project format uri. null otherwise.
-	 */
-	private static IProject getProject(URI uri) {
-		String projectName;
-		if (isPlatformResourceURI(uri))
-			projectName = uri.segment(1);
-		else if (uri.scheme() == null) {
-			projectName = new Path(uri.path()).segment(0); //assume project name is first in the URI
-		} else
-			return null;
-		IProject project = getWorkspace().getRoot().getProject(URI.decode(projectName));
-		if (project != null && project.isAccessible())
-			return project;
-		else
-			return null;
-	}
-
-	/**
-	 * Return the ResourceSet for the passed IProject.
-	 * 
-	 * @param project
-	 * @return resource set
-	 */
-	public static ResourceSet getResourceSet(IProject project) {
-		EMFWorkbenchContextBase nat = createEMFContext(project, null);
-		if (nat != null)
-			return nat.getResourceSet();
-		return null;
-	}
-
-	/**
-	 * Get the workspace. (just use {@link ResourcesPlugin#getWorkspace()}).
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Get the project associated with the resource set.
-	 * 
-	 * @param set
-	 * @return project or <code>null</code> if resource set not associated with a project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(ResourceSet set) {
-		if (set != null) {
-			if (set instanceof ProjectResourceSet) {
-				ProjectResourceSet pset = (ProjectResourceSet) set;
-				return pset.getProject();
-			}
-		}
-		return null;
-	}
-
-	protected static boolean isRegisteredURIMapping(String href) {
-		if (href != null) {
-			String file = href;
-			int index = href.indexOf('#');
-			if (index > -1)
-				file = href.substring(0, index);
-			return URIConverter.URI_MAP.get(file) != null;
-		}
-		return false;
-	}
-
-	/**
-	 * Remove all of the resources from the resource set and then unload them. Unload forces all of the objects to become proxies so next resolve will
-	 * reload the resource.
-	 * 
-	 * @param resources
-	 * @param aSet
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void removeAndUnloadAll(List resources, ResourceSet aSet) {
-		if (aSet == null || resources == null || resources.isEmpty())
-			return;
-		aSet.getResources().removeAll(resources);
-		Resource res;
-		for (int i = 0; i < resources.size(); i++) {
-			res = (Resource) resources.get(i);
-			res.unload();
-		}
-	}
-
-	/**
-	 * Turn object into a proxy.
-	 * 
-	 * @param anObject
-	 * @return <code>true</code> if object was able to become a proxy.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean becomeProxy(EObject anObject) {
-		if (anObject != null) {
-			Resource res = anObject.eResource();
-			if (res != null) {
-				URI uri = res.getURI();
-				((InternalEObject) anObject).eSetProxyURI(uri.appendFragment(res.getURIFragment(anObject)));
-				//anObject.eAdapters().clear();
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if the WrappedException is actually a Resource Not Found.
-	 * 
-	 * @param wrappedEx
-	 * @return <code>true</code> is exception wrappers a resource not found.
-	 * @since 1.0.0
-	 */
-	public static boolean isResourceNotFound(WrappedException wrappedEx) {
-		Exception excep = wrappedEx.exception();
-		while (excep instanceof WrappedException) {
-			excep = ((WrappedException) excep).exception();
-		}
-		return primIsResourceNotFound(excep);
-	}
-
-	private static boolean primIsResourceNotFound(Exception excep) {
-		if (excep instanceof CoreException) {
-			IStatus status = ((CoreException) excep).getStatus();
-			return status.getCode() == IResourceStatus.RESOURCE_NOT_FOUND && ResourcesPlugin.PI_RESOURCES.equals(status.getPlugin());
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if the WrappedException is actually a Resource Not Found.
-	 * 
-	 * @param wrappedEx
-	 * @return <code>true</code> is exception wrappers a resource not found.
-	 * @since 1.0.0
-	 */
-	public static boolean isResourceNotFound(Resource.IOWrappedException wrappedEx) {
-		return primIsResourceNotFound(wrappedEx.getWrappedException());
-	}
-
-	/**
-	 * Return a URI represenation of the platformURI without the leading "platform:/resource/" if present.
-	 * 
-	 * @param platformURI
-	 * @return uri
-	 * @since 1.0.0
-	 */
-	public static URI getNonPlatformURI(URI platformURI) {
-		if (isPlatformResourceURI(platformURI)) {
-			String uriString = primGetNonPlatformURIString(platformURI);
-			return URI.createURI(uriString);
-		}
-		return platformURI;
-	}
-
-	/**
-	 * Return a String represenation of the platformURI without the leading "platform:/resource/" if present.
-	 * 
-	 * @param platformURI
-	 * @return
-	 * @since 1.0.0
-	 */
-	public static String getNonPlatformURIString(URI platformURI) {
-		if (isPlatformResourceURI(platformURI)) { return primGetNonPlatformURIString(platformURI); }
-		return platformURI.toString();
-	}
-
-	/*
-	 * Remove "platform:/resource/" from the front of the platformURI and return the remaining String.
-	 */
-	private static String primGetNonPlatformURIString(URI platformURI) {
-		String uriString = platformURI.toString();
-		//"platform:/resource/" is 19 characters.
-		return uriString.substring(19, uriString.length());
-	}
-
-	/**
-	 * Does the passed URI have the form platform:/plugin/... ?
-	 * 
-	 * @param uri
-	 * @return <code>true</code> if uri is platform plugin protocol.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean isPlatformPluginResourceURI(URI uri) {
-		return JEMUtilPlugin.PLATFORM_PROTOCOL.equals(uri.scheme()) && JEMUtilPlugin.PLATFORM_PLUGIN.equals(uri.segment(0));
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverter.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverter.java
deleted file mode 100644
index e556851..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverter.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkbenchURIConverter.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.ecore.resource.URIConverter;
-
-/**
- * Implementers of this interface are WorkbenchURI converters. Workbench URI converters handle references to files in the project's containers.
- * This converter is only necessary to resolve old ambiguous workbench URIs.
- * @since 1.0.0
- */
-public interface WorkbenchURIConverter extends URIConverter {
-
-	/**
-	 * Add input container to to the converter.
-	 * 
-	 * @param aContainer
-	 * 
-	 * @since 1.0.0
-	 */
-	void addInputContainer(IContainer aContainer);
-
-	/**
-	 * Add list of containers to the converter.
-	 * 
-	 * @param containers
-	 *            list of <code>IContainer</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	void addInputContainers(List containers);
-
-	/**
-	 * Get the file relative to a container.
-	 * 
-	 * @param uri
-	 * @return file relative to a container or <code>null</code> if not.
-	 * 
-	 * @since 1.0.0
-	 */
-	IFile getFile(String uri);
-
-	/**
-	 * Get first input container
-	 * 
-	 * @return first input container or <code>null</code> if none set.
-	 * 
-	 * @since 1.0.0
-	 */
-	IContainer getInputContainer();
-
-	/**
-	 * Get all input containers.
-	 * 
-	 * @return all input containers.
-	 * 
-	 * @since 1.0.0
-	 */
-	List getInputContainers();
-
-	/**
-	 * Get the output container if set.
-	 * 
-	 * @return output container or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	IContainer getOutputContainer();
-
-	/**
-	 * Set the output container.
-	 * 
-	 * @param container
-	 * 
-	 * @since 1.0.0
-	 */
-	void setOutputContainer(IContainer container);
-
-	/**
-	 * Return an IFile for
-	 * 
-	 * @aPath. If we have a parent and we do not contain the first segment of the aPath, forward to the parent to retrieve the file.
-	 * @param aPath
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	IFile getOutputFile(IPath aPath);
-
-	/**
-	 * Get output file with mapping applied.
-	 * 
-	 * @param uri
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	IFile getOutputFileWithMappingApplied(String uri);
-
-	/**
-	 * Remove input container from list.
-	 * 
-	 * @param aContainer
-	 * @return <code>true</code> if removed.
-	 * 
-	 * @since 1.0.0
-	 */
-	boolean removeInputContainer(IContainer aContainer);
-
-	/**
-	 * Return true if we can retrieve the resource used to open an input stream on.
-	 * 
-	 * @param aFileName
-	 * @return <code>true</code> if filename is valid for file stream access.
-	 * @since 1.0.0
-	 *  
-	 */
-	boolean canGetUnderlyingResource(String aFileName);
-
-	/**
-	 * Is force save relative flag turned on.
-	 * 
-	 * @return <code>true</code> if force save relative is turned on.
-	 * 
-	 * @since 1.0.0
-	 */
-	boolean isForceSaveRelative();
-
-	/**
-	 * Set to true if you do not want any path manipulation when creating the output stream..
-	 * 
-	 * @param forceSaveRelative
-	 *            <code>true</code> to force saves as relative.
-	 */
-	void setForceSaveRelative(boolean forceSaveRelative);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverterImpl.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverterImpl.java
deleted file mode 100644
index 4eaaee1..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverterImpl.java
+++ /dev/null
@@ -1,514 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkbenchURIConverterImpl.java,v $$
- *  $$Revision: 1.5 $$  $$Date: 2006/02/06 22:05:46 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * A default implementation of the WorkbenchURIConverter interface.
- * 
- * @since 1.0.0
- */
-public class WorkbenchURIConverterImpl extends URIConverterImpl implements WorkbenchURIConverter {
-
-	private final static IWorkspaceRoot WORKSPACE_ROOT = URIConverterImpl.workspaceRoot;
-	private final static String WORKSPACE_ROOT_LOCATION = WORKSPACE_ROOT.getLocation().toString();
-
-	private static final String FILE_PROTOCOL = "file"; //$NON-NLS-1$
-
-	private static final IPath INVALID_PATH = new Path("!!!!~!!!!"); //$NON-NLS-1$
-
-	private static final IFile INVALID_FILE = WORKSPACE_ROOT.getFile(INVALID_PATH.append(INVALID_PATH));
-
-	//Used to avoid trying to fixup the URI when getting the
-	//OutputStream
-	protected boolean forceSaveRelative = false;
-
-	protected List inputContainers;
-
-	protected IContainer outputContainer;
-
-	protected ResourceSetWorkbenchSynchronizer resourceSetSynchronizer;
-	
-	/*
-	 * KLUDGE: We need to know the meta data area. This is so that any uri that starts with the metadata directory
-	 * is considered a file uri and NOT a workspace uri. The metadata is where plugin's store their working data.
-	 * It is not part of the workspace root.
-	 *  
-	 * There is no request for simply the metadata area. The log file is in the metadata directory. So we will
-	 * get the log file location and just remove the log file name. That should leave us with the metadata directory
-	 * only. If Eclipse ever decides to move it from here, this will no longer work. But it hasn't moved in three 
-	 * versions.
-	 * 
-	 * @since 1.1.0
-	 */
-	static protected final String METADATA_LOCATION = Platform.getLogFileLocation().removeLastSegments(1).toString();
-
-	/**
-	 * Default converter constructor, no containers.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl() {
-		super();
-	}
-
-	/**
-	 * Construct with an input container.
-	 * 
-	 * @param anInputContainer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl(IContainer anInputContainer) {
-		this(anInputContainer, (ResourceSetWorkbenchSynchronizer) null);
-	}
-
-	/**
-	 * Construct with an input container and a synchronzier.
-	 * 
-	 * @param aContainer
-	 * @param aSynchronizer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl(IContainer aContainer, ResourceSetWorkbenchSynchronizer aSynchronizer) {
-		this(aContainer, null, aSynchronizer);
-	}
-
-	/**
-	 * Construct with an input container and an output container.
-	 * 
-	 * @param anInputContainer
-	 * @param anOutputContainer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl(IContainer anInputContainer, IContainer anOutputContainer) {
-		this(anInputContainer, anOutputContainer, null);
-	}
-
-	/**
-	 * Construct with an input container, output container, and a synchronizer.
-	 * 
-	 * @param anInputContainer
-	 * @param anOutputContainer
-	 * @param aSynchronizer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl(IContainer anInputContainer, IContainer anOutputContainer, ResourceSetWorkbenchSynchronizer aSynchronizer) {
-		addInputContainer(anInputContainer);
-		setOutputContainer(anOutputContainer);
-		resourceSetSynchronizer = aSynchronizer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#addInputContainer(org.eclipse.core.resources.IContainer)
-	 */
-	public void addInputContainer(IContainer aContainer) {
-		if (aContainer != null && !getInputContainers().contains(aContainer))
-			getInputContainers().add(aContainer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#addInputContainers(java.util.List)
-	 */
-	public void addInputContainers(List containers) {
-		for (int i = 0; i < containers.size(); i++) {
-			addInputContainer((IContainer) containers.get(i));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#removeInputContainer(org.eclipse.core.resources.IContainer)
-	 */
-	public boolean removeInputContainer(IContainer aContainer) {
-		return getInputContainers().remove(aContainer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getInputContainers()
-	 */
-	public List getInputContainers() {
-		if (inputContainers == null)
-			inputContainers = new ArrayList();
-		return inputContainers;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getInputContainer()
-	 */
-	public IContainer getInputContainer() {
-		if (!getInputContainers().isEmpty())
-			return (IContainer) getInputContainers().get(0);
-		else
-			return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getOutputContainer()
-	 */
-	public IContainer getOutputContainer() {
-		if (outputContainer == null)
-			outputContainer = getInputContainer();
-		return outputContainer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#setOutputContainer(org.eclipse.core.resources.IContainer)
-	 */
-	public void setOutputContainer(IContainer newOutputContainer) {
-		outputContainer = newOutputContainer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getOutputFile(org.eclipse.core.runtime.IPath)
-	 */
-	public IFile getOutputFile(IPath aPath) {
-		IFile file = null;
-		if (getOutputContainer() != null) {
-			if (forceSaveRelative)
-				return primGetOutputFile(aPath);
-			file = getOutputFileForPathWithContainerSegments(aPath);
-			if (file != null)
-				return file;
-			else
-				return primGetOutputFile(aPath);
-		}
-		return file;
-	}
-
-	protected IFile primGetOutputFile(IPath aPath) {
-		return primGetFile(getOutputContainer(), aPath);
-	}
-
-	protected IFile getOutputFileForPathWithContainerSegments(IPath aPath) {
-		IContainer out = getOutputContainer();
-		return getFileForPathWithContainerSegments(aPath, out, false);
-	}
-
-	protected IFile getFileForPathWithContainerSegments(IPath aPath, IContainer container, boolean testExists) {
-		IPath containerPath = null;
-		IFile file = null;
-		if (testExists) {
-			containerPath = container.getProjectRelativePath();
-			if (!containerPath.isEmpty()) {
-				file = getFileForMatchingPath(aPath, containerPath, container);
-				if (file != null && file.exists())
-					return file;
-			}
-		}
-		containerPath = container.getFullPath();
-		file = getFileForMatchingPath(aPath, containerPath, container);
-		return file;
-	}
-
-	protected IFile getFileForMatchingPath(IPath containerPath, IPath sourcePath, IContainer container) {
-		int matches = 0;
-		matches = containerPath.matchingFirstSegments(sourcePath);
-		if (matches > 0 && matches == sourcePath.segmentCount()) {
-			IPath loadPath = containerPath.removeFirstSegments(matches);
-			return primGetFile(container, loadPath);
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getFile(java.lang.String)
-	 */
-	public IFile getFile(String uri) {
-		return getFile(new Path(uri));
-	}
-
-	/**
-	 * Get the file from the path.
-	 * 
-	 * @param path
-	 * @return
-	 * @see WorkbenchURIConverter#getFile(String)
-	 * @since 1.0.0
-	 */
-	public IFile getFile(IPath path) {
-		IFile file = null;
-		if (getInputContainer() != null) {
-			path = path.makeRelative();
-			java.util.Iterator it = getInputContainers().iterator();
-			while (it.hasNext()) {
-				IContainer con = (IContainer) it.next();
-				file = getInputFile(con, path);
-				if (file != null && file.exists())
-					return file;
-			}
-		}
-		if (file == null)
-			return INVALID_FILE;
-		return file;
-	}
-
-	/**
-	 * Get output file from string path.
-	 * 
-	 * @param uri
-	 * @return
-	 * 
-	 * @see WorkbenchURIConverter#getOutputFile(IPath)
-	 * @since 1.0.0
-	 */
-	public IFile getOutputFile(String uri) {
-		return getOutputFile(new Path(uri));
-	}
-
-	/**
-	 * Get the input file from the container and path.
-	 * 
-	 * @param con
-	 * @param path
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public IFile getInputFile(IContainer con, IPath path) {
-		IFile file = null;
-		if (WORKSPACE_ROOT.equals(con) && path.segmentCount() < 2)
-			path = INVALID_PATH.append(path);
-		file = primGetFile(con, path);
-		if (file == null || !file.exists())
-			file = getFileForPathWithContainerSegments(path, con, true);
-		return file;
-	}
-
-	protected IFile primGetFile(IContainer container, IPath path) {
-		try {
-			return container.getFile(path);
-		} catch (IllegalArgumentException ex) {
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#canGetUnderlyingResource(java.lang.String)
-	 */
-	public boolean canGetUnderlyingResource(String aFileName) {
-		IFile file = getFile(aFileName);
-		return file != null && file.exists();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#isForceSaveRelative()
-	 */
-	public boolean isForceSaveRelative() {
-		return forceSaveRelative;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#setForceSaveRelative(boolean)
-	 */
-	public void setForceSaveRelative(boolean forceSaveRelative) {
-		this.forceSaveRelative = forceSaveRelative;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.URIConverter#normalize(org.eclipse.emf.common.util.URI)
-	 */public URI normalize(URI uri) {
-		URI result = uri;
-		String fragment = null;
-		if (uri.hasFragment()) {
-			fragment = uri.fragment();
-			result = uri.trimFragment();
-		}
-		result = getInternalURIMap().getURI(result);
-		if (WorkbenchResourceHelperBase.isPlatformResourceURI(result))
-			return appendFragment(result, fragment);
-		if (WorkbenchResourceHelperBase.isPlatformPluginResourceURI(result)) {
-			URI normalized = normalizePluginURI(result, fragment);
-			return (normalized != null) ? normalized : uri;
-		}
-		String protocol = result.scheme();
-		URI fileSearchURI = null;
-		if (protocol == null) {
-			fileSearchURI = normalizeEmptyProtocol(result, fragment);
-			if (fileSearchURI != null)
-				return fileSearchURI;
-		} else if (FILE_PROTOCOL.equals(protocol)) {
-			fileSearchURI = normalizeFileProtocol(result, fragment);
-			if (fileSearchURI != null)
-				return fileSearchURI;
-		} else if (JEMUtilPlugin.WORKSPACE_PROTOCOL.equals(protocol))
-			return normalizeWorkspaceProtocol(result, fragment);
-		return super.normalize(uri);
-	}
-
-	/*
-	 * Resolves a plugin format into the actual.
-	 */
-	protected URI normalizePluginURI(URI uri, String fragment) {
-		if (uri.segmentCount() < 2)
-			return uri; // Invalid, just let it go on.
-		// See if already normalized.
-		int u_scoreNdx = uri.segment(1).lastIndexOf('_');
-		if (u_scoreNdx != -1) {
-			// Not normalized. Remove the version to make it normalized.
-			String[] segments = uri.segments();
-			segments[1] = segments[1].substring(0, u_scoreNdx);
-			return URI.createHierarchicalURI(uri.scheme(), uri.authority(), uri.device(), segments, uri.query(), fragment);
-		} else
-			return uri;
-	}
-
-	protected URI normalizeWorkspaceProtocol(URI aWorkspaceURI, String fragment) {
-		URI result;
-		String uriString = aWorkspaceURI.toString();
-		uriString = uriString.substring(JEMUtilPlugin.WORKSPACE_PROTOCOL.length() + 1);
-		result = URI.createPlatformResourceURI(uriString);
-		if (fragment != null)
-			result = appendFragment(aWorkspaceURI, fragment);
-		return result;
-	}
-	
-	protected URI normalizeEmptyProtocol(URI aFileUri, String fragment) {
-		//Make the relative path absolute and return a platform URI.
-		IPath path = new Path(aFileUri.toString());
-		return normalizeToWorkspaceURI(path, fragment);
-	}
-	
-	private URI normalizeToWorkspaceURI(IPath path, String fragment) {
-		URI result = null;
-		IFile file = getFile(path);
-		if (file == null || !file.exists())
-			file = getOutputFile(path);
-		if (file != null) {
-			result = URI.createPlatformResourceURI(file.getFullPath().toString());
-			result = appendFragment(result, fragment);
-		}
-		return result;
-	}
-	
-	protected URI normalizeFileProtocol(URI aFileUri, String fragment) {
-		URI result = null;
-		//Make the relative path absolute and return a platform URI.
-		String devicePath = aFileUri.devicePath();
-		//Test for workspace location.
-		if (!devicePath.startsWith(METADATA_LOCATION) &&
-			devicePath.startsWith(WORKSPACE_ROOT_LOCATION) && devicePath.length() > WORKSPACE_ROOT_LOCATION.length()) {
-			//test for workspace location
-			result = normalizeToWorkspaceURI(new Path(devicePath.substring(WORKSPACE_ROOT_LOCATION.length())), fragment);
-		} else if (aFileUri.isRelative()) {
-			result = normalizeToWorkspaceURI(new Path(aFileUri.toString()), fragment);
-		} else {
-			result = aFileUri;
-		}
-		return result;
-	}
-	
-	protected URI appendFragment(URI result, String fragment) {
-		if (fragment != null)
-			return result.appendFragment(fragment);
-		else
-			return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getOutputFileWithMappingApplied(java.lang.String)
-	 */
-	public IFile getOutputFileWithMappingApplied(String uri) {
-		URI converted = getInternalURIMap().getURI(URI.createURI(uri));
-		return getOutputFile(new Path(converted.toString()));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.URIConverterImpl#createPlatformResourceOutputStream(java.lang.String)
-	 */
-	public OutputStream createPlatformResourceOutputStream(String platformResourcePath) throws IOException {
-		IFile file = WORKSPACE_ROOT.getFile(new Path(platformResourcePath));
-		ProjectUtilities.ensureContainerNotReadOnly(file);
-		return new WorkbenchByteArrayOutputStream(file, resourceSetSynchronizer);
-	}
-
-	protected URI getContainerRelativeURI(IFile aFile) {
-		IPath path = WorkbenchResourceHelperBase.getPathFromContainers(inputContainers, aFile.getFullPath());
-		if (path != null)
-			return URI.createURI(path.toString());
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.URIConverterImpl#createPlatformResourceInputStream(java.lang.String)
-	 */
-	public InputStream createPlatformResourceInputStream(String platformResourcePath) throws IOException {
-		IFile file = WORKSPACE_ROOT.getFile(new Path(platformResourcePath));
-		try {
-			if (!file.isSynchronized(IResource.DEPTH_ONE)) {
-				try {
-					File iofile = file.getFullPath().toFile();
-					if (iofile.exists() || file.exists())
-						file.refreshLocal(IResource.DEPTH_ONE, null);
-				} catch (CoreException ce) {
-					if (ce.getStatus().getCode() != IResourceStatus.WORKSPACE_LOCKED)
-						throw ce;
-				}
-			}
-			// CHANGED from <no-args> to <true> [94015]
-			return file.getContents(true);
-		} catch (CoreException exception) {
-			throw new Resource.IOWrappedException(exception);
-		}		
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java
deleted file mode 100644
index f7f288a..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java
+++ /dev/null
@@ -1,554 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFNature.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench.nature;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.util.*;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.xmi.XMLParserPool;
-import org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl;
-
-import org.eclipse.jem.internal.util.emf.workbench.nature.EMFNatureRegistry;
-import org.eclipse.jem.util.emf.workbench.*;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * The base EMFNature.
- * <p>
- * This is expected to be subclassed by clients, but there are default subclasses available.
- * </p>
- * 
- * @since 1.0.0
- */
-public abstract class EMFNature implements IProjectNature, IEMFContextContributor {
-
-	protected IProject project;
-
-	protected EMFWorkbenchContextBase emfContext;
-
-	protected boolean hasConfigured = false;
-	
-	public static XMLParserPool SHARED_PARSER_POOL = new XMLParserPoolImpl();	
-
-	public EMFNature() {
-		super();
-	}
-
-	/**
-	 * Add the nature id to the project.
-	 * 
-	 * @param proj
-	 * @param natureId
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected static void addNatureToProject(IProject proj, String natureId) throws CoreException {
-		ProjectUtilities.addNatureToProject(proj, natureId);
-	}
-
-	/**
-	 * Configures the project with this nature. This is called by <code>IProject.addNature</code> and should not be called directly by clients. The
-	 * nature extension id is added to the list of natures on the project by <code>IProject.addNature</code>, and need not be added here.
-	 * 
-	 * <p>
-	 * All subtypes must call super. The better way for subtypes is to override primConfigure instead.
-	 * </p>
-	 * 
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public void configure() throws org.eclipse.core.runtime.CoreException {
-		if (!hasConfigured) {
-			hasConfigured = true;
-			primConfigure();
-		}
-	}
-
-	/**
-	 * Called from configure the first time configure is called on the nature. Default is do nothing. Subclasses should override and add in their own
-	 * configuration.
-	 * 
-	 * @throws org.eclipse.core.runtime.CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void primConfigure() throws org.eclipse.core.runtime.CoreException {
-
-	}
-
-	/**
-	 * Create an EMF context for the project.
-	 * 
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void createEmfContext() throws CoreException {
-		WorkbenchResourceHelperBase.createEMFContext(getProject(), this);
-	}
-
-	/**
-	 * Create a folder relative to the project based on aProjectRelativePathString.
-	 * 
-	 * @param aProjectRelativePathString
-	 * @return
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public IFolder createFolder(String aProjectRelativePathString) throws CoreException {
-		if (aProjectRelativePathString != null && aProjectRelativePathString.length() > 0)
-			return createFolder(new Path(aProjectRelativePathString));
-		return null;
-	}
-
-	/**
-	 * Create a folder relative to the project based on aProjectRelativePathString.
-	 * 
-	 * @param aProjectRelativePath
-	 * @return
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public IFolder createFolder(IPath aProjectRelativePath) throws CoreException {
-		if (aProjectRelativePath != null && !aProjectRelativePath.isEmpty()) {
-			IFolder folder = getWorkspace().getRoot().getFolder(getProjectPath().append(aProjectRelativePath));
-			if (!folder.exists()) {
-				ProjectUtilities.ensureContainerNotReadOnly(folder);
-				folder.create(true, true, null);
-			}
-			return folder;
-		}
-		return null;
-	}
-
-	/**
-	 * Removes this nature from the project, performing any required deconfiguration. This is called by <code>IProject.removeNature</code> and
-	 * should not be called directly by clients. The nature id is removed from the list of natures on the project by
-	 * <code>IProject.removeNature</code>, and need not be removed here.
-	 * 
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public void deconfigure() throws org.eclipse.core.runtime.CoreException {
-		emfContext = null;
-	}
-
-	/**
-	 * Return true if the IFile with the given name exists in this project.
-	 * 
-	 * @param aFileName
-	 *            filename can be relative to one of the input file paths for the WorkbenchURIConverter.
-	 * @return <code>true</code> if filename exists in this project
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean fileExists(String aFileName) {
-		if (aFileName == null)
-			return false;
-
-		IPath path = new Path(aFileName);
-		if (path.isAbsolute())
-			return ResourcesPlugin.getWorkspace().getRoot().getFile(path).exists();
-		else
-			return getWorkbenchURIConverter().canGetUnderlyingResource(aFileName);
-	}
-
-	/**
-	 * Get the resource set for the project
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public ResourceSet getResourceSet() {
-		return getEmfContextBase().getResourceSet();
-	}
-
-	/**
-	 * Returns the EMF root folder for the project. Defaults to the project. Subclasses can override.
-	 * 
-	 * @return EMF root folder for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public IContainer getEMFRoot() {
-		return getProject();
-	}
-
-	/**
-	 * Used for optimizations; answers whether a mof context for this nature has exists yet
-	 * 
-	 * @deprecated use hasResourceSet();
-	 * @since 1.0.0
-	 */
-	public boolean hasContext() {
-		return hasResourceSet();
-	}
-
-	/**
-	 * Is there a resource set yet for the project.
-	 * 
-	 * @return <code>true</code> if there is a resource set for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean hasResourceSet() {
-		return emfContext != null && emfContext.hasResourceSet();
-	}
-
-	/**
-	 * Lazy initializer; for migration of existing workspaces where configure will never get called.
-	 * 
-	 * @return context base for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected EMFWorkbenchContextBase getEmfContextBase() {
-		if (emfContext == null) {
-			try {
-				createEmfContext();
-			} catch (CoreException ex) {
-				Logger.getLogger().logError(ex);
-			}
-		}
-		return emfContext;
-	}
-
-	/**
-	 * Get the IFile with the given name if it is in this project.
-	 * 
-	 * @param aFileName
-	 *            filename can be relative to one of the input file paths for the WorkbenchURIConverter.
-	 * @return file it it is in this project, or <code>null</code> if it doesn't.
-	 * 
-	 * @since 1.0.0
-	 */
-	public IFile getFile(String aFileName) {
-		return getWorkbenchURIConverter().getFile(aFileName);
-	}
-
-	/**
-	 * Return the nature's ID.
-	 * 
-	 * @return nature id
-	 * 
-	 * @since 1.0.0
-	 */
-	public abstract String getNatureID();
-
-	/**
-	 * Return the ID of the plugin that this nature is contained within.
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract String getPluginID();
-
-	/**
-	 * Returns the project to which this project nature applies.
-	 * 
-	 * @return the project handle
-	 * @since 1.0.0
-	 */
-	public org.eclipse.core.resources.IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Return the full path of the project.
-	 * 
-	 * @return full project path (relative to workspace)
-	 * @since 1.0.0
-	 */
-	public IPath getProjectPath() {
-		return getProject().getFullPath();
-	}
-
-	/**
-	 * Get the server property of the project from the supplied key
-	 * 
-	 * @param key
-	 *            java.lang.String
-	 * @deprecated we cannont use persistent properties because they are not stored in the repository
-	 * @since 1.0.0
-	 */
-	protected String getProjectServerValue(String key) {
-		if (key == null)
-			return null;
-		try {
-			QualifiedName wholeName = qualifiedKey(key);
-			return getProject().getPersistentProperty(wholeName);
-		} catch (CoreException exception) {
-			//If we can't find it assume it is null
-			exception.printStackTrace();
-			return null;
-		}
-	}
-
-	/**
-	 * Get WorkbenchURIConverter for this project.
-	 * <p>
-	 * This method assumes the URIConverter on the ResourceSet is the one that was created for the ResourceSet on behalf of this nature runtime.
-	 * </p>
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected WorkbenchURIConverter getWorkbenchURIConverter() {
-		return (WorkbenchURIConverter) getResourceSet().getURIConverter();
-	}
-
-	public IWorkspace getWorkspace() {
-		return getProject().getWorkspace();
-	}
-
-	/**
-	 * @deprecated use getResource(URI)
-	 */
-	public Resource getXmiResource(String uri) {
-		return getResource(URI.createURI(uri));
-	}
-
-	/**
-	 * Get the resource for this uri. It will use the resource set of the project to find it. It will load if not already loaded.
-	 * 
-	 * @param uri
-	 * @return resource or <code>null</code> if resource is not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Resource getResource(URI uri) {
-		try {
-			return getResourceSet().getResource(uri, true);
-		} catch (WrappedException ex) {
-			if (!WorkbenchResourceHelperBase.isResourceNotFound(ex))
-				throw ex;
-		}
-		return null;
-	}
-
-	/**
-	 * @deprecated use getResourceSet()
-	 */
-	public ResourceSet getXmiResourceSet() {
-		return getResourceSet();
-	}
-
-	/**
-	 * Make sure that all dependent components are initialized before creating the ResourceSet.
-	 */
-	protected void initializeDependentComponents() {
-		//com.ibm.etools.java.init.JavaInit.init();
-	}
-
-	/**
-	 * @deprecated use createResource(URI)
-	 */
-	public Resource makeXmiResource(String uri) {
-		return createResource(URI.createURI(uri));
-	}
-
-	/**
-	 * @deprecated use createResource(URI)
-	 */
-	public Resource makeXmiResource(String uri, EList anExtent) {
-		Resource res = makeXmiResource(uri);
-		if (res != null)
-			res.getContents().addAll(anExtent);
-		return res;
-	}
-
-	/**
-	 * Create the resource for this uri. It will use the resource set of the project to create it.
-	 * 
-	 * @param uri
-	 * @return resource
-	 * 
-	 * @since 1.0.0
-	 */
-	public Resource createResource(URI uri) {
-		return getResourceSet().createResource(uri);
-	}
-
-	/*
-	 * Return the QualifedValue for key for storage in the repository. The key is qualifed with the package name to avoid collision. @return
-	 * QualifedName @param key java.lang.String
-	 */
-	private QualifiedName qualifiedKey(String key) {
-		return new QualifiedName(getPluginID(), key);
-	}
-
-	/**
-	 * Register the given nature id as an EMFNature.
-	 * 
-	 * @param natureID
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void registerNatureID(String natureID) {
-		EMFNatureRegistry.singleton().REGISTERED_NATURE_IDS.add(natureID);
-	}
-
-	/**
-	 * Sets the project to which this nature applies. Used when instantiating this project nature runtime. This is called by
-	 * <code>IProject.addNature</code> and should not be called directly by clients.
-	 * 
-	 * @param project
-	 *            the project to which this nature applies
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setProject(org.eclipse.core.resources.IProject newProject) {
-		project = newProject;
-	}
-
-	/**
-	 * Set the server property of the project from the supplied value
-	 * 
-	 * @param key
-	 *            java.lang.String
-	 * @param value
-	 *            String
-	 * @deprecated we cannont use persistent properties because they are not stored in the repository
-	 */
-	protected void setProjectServerValue(String key, String value) {
-		if (key != null) {
-			try {
-				QualifiedName wholeName = qualifiedKey(key);
-				getProject().setPersistentProperty(wholeName, value);
-			} catch (CoreException exception) {
-				//If we can't find it assume it is null
-				exception.printStackTrace();
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Shutdown the EMF nature
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void shutdown() {
-		if (getResourceSet() != null)
-			((ProjectResourceSet) getResourceSet()).release();
-	}
-
-	/**
-	 * Return a list of EMFNatures based on the natures that have been configured for this project.
-	 * 
-	 * @return List of EMFNatures
-	 * @param project
-	 * @return list of natures configured for the project.
-	 * @since 1.0.0
-	 */
-	public static List getRegisteredRuntimes(IProject project) {
-		List result = null;
-		EMFNature nature = null;
-		if (project != null && project.isAccessible()) {
-			String natureID;
-			Iterator it = EMFNatureRegistry.singleton().REGISTERED_NATURE_IDS.iterator();
-			while (it.hasNext()) {
-				natureID = (String) it.next();
-				try {
-					nature = (EMFNature) project.getNature(natureID);
-				} catch (CoreException e) {
-				}
-				if (nature != null) {
-					if (result == null)
-						result = new ArrayList(2);
-					result.add(nature);
-				}
-			}
-		}
-		return result == null ? Collections.EMPTY_LIST : result;
-	}
-
-	/**
-	 * Return a list of nature ids based on the natures that have been configured for this project.
-	 * 
-	 * @return list of configured nature ids.
-	 * @param project
-	 */
-	public static List getRegisteredRuntimeIDs(IProject project) {
-		List result = null;
-		String natureID = null;
-		if (project != null && project.isAccessible()) {
-			Iterator it = EMFNatureRegistry.singleton().REGISTERED_NATURE_IDS.iterator();
-			while (it.hasNext()) {
-				natureID = (String) it.next();
-				try {
-					if (project.hasNature(natureID)) {
-						if (result == null)
-							result = new ArrayList(2);
-						result.add(natureID);
-					}
-				} catch (CoreException e) {
-				}
-			}
-		}
-		return result == null ? Collections.EMPTY_LIST : result;
-	}
-
-	/**
-	 * Return if the project has the given nature.
-	 * 
-	 * @param project
-	 * @param natureId
-	 * @return <code>true</code> if project has given nature
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean hasRuntime(IProject project, String natureId) {
-		if (project == null || !project.isAccessible())
-			return false;
-		try {
-			return project.hasNature(natureId);
-		} catch (CoreException e) {
-			return false;
-		}
-	}
-
-	/**
-	 * Return if the project has any one of the possible given nature ids.
-	 * 
-	 * @param project
-	 * @param possibleNatureIds
-	 * @return <code>true</code> if at least one of the possible natures id is configured for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean hasRuntime(IProject project, String[] possibleNatureIds) {
-		if (project != null) {
-			for (int i = 0; i < possibleNatureIds.length; i++) {
-				if (hasRuntime(project, possibleNatureIds[i]))
-					return true;
-			}
-		}
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/AbstractWorkBenchRenderer.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/AbstractWorkBenchRenderer.java
deleted file mode 100644
index 4285566..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/AbstractWorkBenchRenderer.java
+++ /dev/null
@@ -1,472 +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
- *******************************************************************************/
-/*
- *  $RCSfile: AbstractWorkBenchRenderer.java,v $
- *  $Revision: 1.5 $  $Date: 2005/12/14 21:24:26 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import java.lang.reflect.Field;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.*;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.util.logger.proxy.*;
-
-
-/**
- * Base log renderer that logs to the workbench.
- * 
- * @since 1.1.0
- */
-public abstract class AbstractWorkBenchRenderer implements ILogRenderer2 {
-
-	private boolean fTraceMode = false; // will we actually punch trace messaged or not
-
-	private boolean fSettingTrace = false;
-
-	protected Bundle fMyBundle = null;
-
-	protected Logger fMyLogger = null;
-
-	protected ILog fWorkBenchLogger = null;
-
-	/**
-	 * Constructer taking a logger.
-	 * 
-	 * @param logger
-	 * 
-	 * @since 1.1.0
-	 */
-	public AbstractWorkBenchRenderer(Logger logger) {
-		super();
-		fMyLogger = logger;
-		fTraceMode = fMyLogger.getTraceMode();
-
-		String pluginID = fMyLogger.getPluginID();
-		fMyBundle = Platform.getBundle(pluginID);
-		if (fMyBundle == null)
-			throw new RuntimeException("Invalid Plugin ID"); //$NON-NLS-1$
-
-		fWorkBenchLogger = Platform.getLog(fMyBundle);
-		setTraceMode(fMyLogger.getTraceMode() || isDebugging(fMyBundle));
-		fMyLogger.setRenderer(this);
-	}
-
-	/*
-	 * This used to come from the Plugin instance. But in new OSGi, there is not necessarily a Plugin instance. So use the same logic they use.
-	 */
-	private boolean isDebugging(Bundle bundle) {
-		String symbolicName = bundle.getSymbolicName();
-		if (symbolicName != null) {
-			String key = symbolicName + "/debug"; //$NON-NLS-1$
-			String value = Platform.getDebugOption(key);
-			return value == null ? false : value.equalsIgnoreCase("true"); //$NON-NLS-1$
-		}
-		return false;
-	}
-
-	/**
-	 * Is the console log for eclipse turned on to sysout. If true, then we shouldn't log to console anything already logged because Eclipse would of
-	 * logged it for us. This comes from the -Declipse.consoleLog="true" which is the default when starting eclipse from PDE.
-	 */
-	protected static final boolean consoleLogOn;
-	static {
-		String consologPropertyName = null;
-		try {
-			// Accessing an internal field, so using reflection. This way if changes in future we won't crash.
-			Class eclipseStarter = Class.forName("org.eclipse.core.runtime.adaptor.EclipseStarter");	//$NON-NLS-1$
-			Field consolelog = eclipseStarter.getDeclaredField("PROP_CONSOLE_LOG");	//$NON-NLS-1$
-			consologPropertyName = (String) consolelog.get(null);
-		} catch (SecurityException e) {
-		} catch (IllegalArgumentException e) {
-		} catch (ClassNotFoundException e) {
-		} catch (NoSuchFieldException e) {
-		} catch (IllegalAccessException e) {
-		}
-		consoleLogOn = consologPropertyName != null && "true".equals(System.getProperty(consologPropertyName)) ;  //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer#setTraceMode(boolean)
-	 */
-	public void setTraceMode(boolean flag) {
-		if (fSettingTrace)
-			return; // Do not allow cycles
-
-		fSettingTrace = true;
-		fTraceMode = flag;
-		fMyLogger.setTraceMode(flag);
-		fSettingTrace = false;
-	}
-
-	// The following methods are for historical renderers in case this has been subclassed outside
-	// of util.
-
-	/**
-	 * Log a string to the trace.
-	 * 
-	 * @param param
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public abstract String log(String param);
-
-	/**
-	 * Default one that log a string to the trace given a level. Default simply passes it to log(String) so that we don't break old subclasses.
-	 * <p>
-	 * If loggedToWorkbench is true, then it shouldn't be logged to console if consoleLogOn is true because workbench already logged to console.
-	 * 
-	 * @param msg
-	 * @param l
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void log(String msg, Level l, boolean loggedToWorkbench) {
-		log(msg);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer#log(java.lang.String, int)
-	 */
-	public String log(String msg, int type) {
-
-		String target = logWorkBench(msg, type);
-		if (fTraceMode || target.equals(NOLOG_DESCRIPTION))
-			return log(msg);
-		else
-			return target;
-	}
-
-	/**
-	 * Log to workbench, a string of the given level <code>ILogRenderer.LOG_</code>. levels.
-	 * 
-	 * @param msg
-	 * @param type
-	 * @return description of the log's destination e.g., <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @see ILogRenderer#LOG_ERROR and all of the other log types.
-	 * @see ILogRenderer#CONSOLE_DESCRIPTION
-	 * @since 1.0.0
-	 */
-	public String logWorkBench(String msg, int type) {
-
-		try {
-			int ErrCode;
-			if (fWorkBenchLogger != null) {
-				switch (type) {
-					case (ILogRenderer.LOG_ERROR):
-						ErrCode = IStatus.ERROR;
-						break;
-					case (ILogRenderer.LOG_WARNING):
-						ErrCode = IStatus.WARNING;
-						break;
-					case (ILogRenderer.LOG_INFO):
-						ErrCode = IStatus.INFO;
-						break;
-					case (ILogRenderer.LOG_TRACE):
-						ErrCode = IStatus.OK;
-						break;
-					default:
-						throw new RuntimeException("Invalid Log Type"); //$NON-NLS-1$
-				}
-				Status status = new Status(ErrCode, fMyBundle.getSymbolicName(), IStatus.OK, msg, null);
-				fWorkBenchLogger.log(status);
-				return WORKBENCH_DESCRIPTION;
-			} else
-				return NOLOG_DESCRIPTION;
-		} catch (Throwable t) {
-			return NOLOG_DESCRIPTION;
-		}
-	}
-
-	// Default implentation of the ILogRenderer2 interface.
-	protected boolean isLogging(Level level) {
-		return fTraceMode || fMyLogger.isLoggingLevel(level);
-	}
-
-	private static final int[] STATUS_LEVEL;
-
-	private static final Level[] STATUS_LEVEL_LOOKUP;
-
-	private static final Level[] LEVEL_STATUS;
-
-	static {
-		// Status levels that correspond to the log levels, from finest to none, same indexes as from STATUS_LEVEL_LOOKUP.
-		STATUS_LEVEL_LOOKUP = new Level[] { Level.INFO, Level.WARNING, Level.SEVERE};
-		STATUS_LEVEL = new int[] { IStatus.INFO, IStatus.WARNING, IStatus.ERROR};
-
-		// Levels that correspond to the IStatus levels.
-		int maxID = Math.max(IStatus.OK, Math.max(IStatus.INFO, Math.max(IStatus.WARNING, IStatus.ERROR)));
-		LEVEL_STATUS = new Level[maxID + 1];
-		LEVEL_STATUS[IStatus.OK] = Level.FINE;
-		LEVEL_STATUS[IStatus.INFO] = Level.INFO;
-		LEVEL_STATUS[IStatus.WARNING] = Level.WARNING;
-		LEVEL_STATUS[IStatus.ERROR] = Level.SEVERE;
-	}
-
-	/**
-	 * Return the Java Level for the status code from the given IStatus.
-	 * 
-	 * @param status
-	 * @return the Java Level
-	 * 
-	 * @since 1.0.0
-	 */
-	protected Level getLogLevel(IStatus status) {
-		return LEVEL_STATUS[status.getSeverity()];
-	}
-
-	/**
-	 * Return the IStatus status code for the given Java Level.
-	 * 
-	 * @param logLevel
-	 * @return the IStatus status code.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected int getStatusSeverity(Level logLevel) {
-		for (int i = 0; i < STATUS_LEVEL_LOOKUP.length; i++) {
-			if (STATUS_LEVEL_LOOKUP[i] == logLevel)
-				return STATUS_LEVEL[i];
-		}
-		return IStatus.OK; // Default to ok.
-	}
-
-	/**
-	 * Log the string to the workbench for the given level
-	 * 
-	 * @param msg
-	 * @param level
-	 * @return description of the log's destination e.g., <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @since 1.1.0
-	 */
-	protected String logWorkbench(String msg, Level level) {
-		String result = NOLOG_DESCRIPTION;
-		// Test again because we could be here simply due to trace mode, in which case we
-		// don't want to workbench log it.
-		if (fMyLogger.isLoggingLevel(level)) {
-			Platform.getLog(fMyBundle).log(new Status(getStatusSeverity(level), fMyBundle.getSymbolicName(), 0, msg, null));
-			result = WORKBENCH_DESCRIPTION;
-			if (fTraceMode)
-				log(msg, level, true);
-		} else if (fTraceMode)
-			log(msg, level, false);
-		return result;
-	}
-
-	private String getStatusMsg(IStatus s, Level l) {
-		if (s.getException() != null)
-			return fMyLogger.getGenericMsg(s.toString() + fMyLogger.fLineSeperator + fMyLogger.exceptionToString(s.getException()), l);
-		else
-			return fMyLogger.getGenericMsg(s.toString(), l);
-	}
-
-	/**
-	 * Log the IStatus to the workbench at the given level.
-	 * 
-	 * @param s
-	 * @param level
-	 * @return description of the log's destination e.g., <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	protected String logWorkbench(IStatus s, Level level) {
-		if (level == DEFAULT)
-			level = getLogLevel(s);
-		String result = NOLOG_DESCRIPTION;
-		// Test again because we could be here simply due to trace mode, in which case we
-		// don't want to workbench log it.
-		if (fMyLogger.isLoggingLevel(level)) {
-			Platform.getLog(fMyBundle).log(s);
-			result = WORKBENCH_DESCRIPTION;
-			if (fTraceMode)
-				log(getStatusMsg(s, level), level, true);
-		} else if (fTraceMode)
-			log(getStatusMsg(s, level), level, false);
-		return result;
-	}
-
-	/**
-	 * Log to the workbench the Throwable at the given level.
-	 * 
-	 * @param t
-	 * @param level
-	 * @return description of the log's destination e.g., <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	protected String logWorkbench(Throwable t, Level level) {
-		String result = NOLOG_DESCRIPTION;
-		// Test again because we could be here simply due to trace mode, in which case we
-		// don't want to workbench log it.
-		if (fMyLogger.isLoggingLevel(level)) {
-			Platform.getLog(fMyBundle).log(new Status(getStatusSeverity(level), fMyBundle.getSymbolicName(), 0, "Exception thrown.", t)); //$NON-NLS-1$
-			result = WORKBENCH_DESCRIPTION;
-			if (fTraceMode)
-				log(fMyLogger.getGenericMsg(fMyLogger.exceptionToString(t), level), level, true);
-		} else if (fTraceMode)
-			log(fMyLogger.getGenericMsg(fMyLogger.exceptionToString(t), level), level, false);
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(byte, java.util.logging.Level)
-	 */
-	public String log(boolean b, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(b), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(byte, java.util.logging.Level)
-	 */
-	public String log(byte b, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(b), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(char, java.util.logging.Level)
-	 */
-	public String log(char c, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(c), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(double, java.util.logging.Level)
-	 */
-	public String log(double d, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(d), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(float, java.util.logging.Level)
-	 */
-	public String log(float f, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(f), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(int, java.util.logging.Level)
-	 */
-	public String log(int i, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(i), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(long, java.util.logging.Level)
-	 */
-	public String log(long l, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(l), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(java.lang.Object, java.util.logging.Level)
-	 */
-	public String log(Object o, Level level) {
-		if (o instanceof IStatus)
-			return logWorkbench((IStatus) o, level);
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(o), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(short, java.util.logging.Level)
-	 */
-	public String log(short s, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(s), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(java.lang.Throwable, java.util.logging.Level)
-	 */
-	public String log(Throwable t, Level level) {
-		if (t instanceof CoreException)
-			return logWorkbench(((CoreException) t).getStatus(), level);
-		if (level == DEFAULT)
-			level = Level.SEVERE;
-		if (isLogging(level)) {
-			return logWorkbench(t, level);
-		} else
-			return NOLOG_DESCRIPTION;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/ConsoleLogRenderer.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/ConsoleLogRenderer.java
deleted file mode 100644
index 90b2963..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/ConsoleLogRenderer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ConsoleLogRenderer.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:04:14 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.proxy.ILogRenderer;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Log renderer to the console.
- * 
- * @since 1.0.0
- */
-public class ConsoleLogRenderer extends AbstractWorkBenchRenderer {
-
-	/**
-	 * Constructor taking a logger.
-	 * 
-	 * @param logger
-	 * 
-	 * @since 1.0.0
-	 */
-	public ConsoleLogRenderer(Logger logger) {
-		super(logger);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxyrender.AbstractWorkBenchRenderer#log(java.lang.String)
-	 */
-	public String log(String msg) {
-
-		System.out.println(msg);
-		return ILogRenderer.CONSOLE_DESCRIPTION;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxyrender.AbstractWorkBenchRenderer#log(java.lang.String, java.util.logging.Level, boolean)
-	 */
-	protected void log(String msg, Level l, boolean loggedToWorkbench) {
-		if (!loggedToWorkbench || !consoleLogOn) {
-			if (l == Level.SEVERE)
-				System.err.println(msg);
-			else
-				System.out.println(msg);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/DefaultPluginTraceRenderer.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/DefaultPluginTraceRenderer.java
deleted file mode 100644
index bedf203..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/DefaultPluginTraceRenderer.java
+++ /dev/null
@@ -1,113 +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
- *******************************************************************************/
-/*
- *  $RCSfile: DefaultPluginTraceRenderer.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:04:14 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import java.io.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Logger that also logs to a trace file in the plugin's metadata area.
- * 
- * @since 1.0.0
- */
-public class DefaultPluginTraceRenderer extends AbstractWorkBenchRenderer {
-
-	/**
-	 * Name of the trace file in the metadata area.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String PluginTraceFileName = "/.log"; //$NON-NLS-1$
-
-	private String fTraceFile = null;
-
-	private PrintWriter traceFile = null;
-
-	/**
-	 * DefaultUILogRenderer constructor.
-	 * 
-	 * @param logger
-	 */
-	public DefaultPluginTraceRenderer(Logger logger) {
-		super(logger);
-
-		fTraceFile = Platform.getStateLocation(fMyBundle).toString() + PluginTraceFileName;
-		(new File(fTraceFile)).delete(); // Start from fresh ... do not want to leak on disk space
-
-	}
-
-	private void closeTraceFile() {
-		if (traceFile == null)
-			return;
-		try {
-			traceFile.flush();
-			traceFile.close();
-		} finally {
-			traceFile = null;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxyrender.AbstractWorkBenchRenderer#log(java.lang.String)
-	 */
-	public String log(String msg) {
-
-		System.out.println(msg);
-
-		openTraceFile();
-		if (traceFile != null) {
-			traceFile.println(msg);
-			closeTraceFile();
-		}
-		return fTraceFile;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxyrender.AbstractWorkBenchRenderer#log(java.lang.String, java.util.logging.Level, boolean)
-	 */
-	protected void log(String msg, Level l, boolean loggedToWorkbench) {
-		if (!loggedToWorkbench || !consoleLogOn) {
-			if (l == Level.SEVERE)
-				System.err.println(msg);
-			else
-				System.out.println(msg);
-		}
-
-		openTraceFile();
-		if (traceFile != null) {
-			traceFile.println(msg);
-			closeTraceFile();
-		}
-	}
-
-	private void openTraceFile() {
-		try {
-			traceFile = new PrintWriter(new FileOutputStream(fTraceFile, true));
-		} catch (IOException e) {
-			// there was a problem opening the log file so log to the console
-			traceFile = null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/EclipseLogger.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/EclipseLogger.java
deleted file mode 100644
index 9e40f90..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/EclipseLogger.java
+++ /dev/null
@@ -1,123 +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
- *******************************************************************************/
-/*
- *  $RCSfile: EclipseLogger.java,v $
- *  $Revision: 1.4 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
- 
-/**
- * Get an Eclipse logger. This gets a logger that knows it is for a plugin. 
- * 
- * For each plugin, the following can be specified in the .option file:
- * 		{plugin-id}/debug/logTrace
- * 			The values valid for this are "true", "false", or "default". If true then loggers will be set into
- * 			trace mode. This means everything logged (even those that are filtered out due to not meeting log level)
- * 			will be traced out. If the value is "true" they will be traced to the system console.  
- * 			If it is "default" or not set at all, then it will be the value in the "org.eclipse.jem.util/debug/logTrace" .options setting.
- * 			If not set there, then default value will be false.
- * 
- * 		{plugin-id}/debug/logTraceFile
- * 			The values valid for this are "true", "false", or "default". If true then loggers will trace to 
- * 			the system console AND to the ".log" file in the plugins work area in the metadata section of the workspace.
- * 			If "false" then not traced to a trace file. 
- * 			If it is "default" or not set at all, then it will be the value in the "org.eclipse.jem.util/debug/logTraceFile" .options setting.
- * 			If not set there, then default value will be false.
- * 
- * 		{plugin-id}.debug/logLevel
- * 			The values valid for this are the names from <code>java.util.logging.Level</code>, and "default". These
- * 			are the trace cutoff levels to use. For instance, if the level was SEVERE, then only level SEVERE msgs
- * 			are logged. The rest are skipped. Or if the level was WARNING, then only level SEVERE and WARNING are
- * 			logged.
- * 			If it is "default" or not set at all, then it will be the value in the "org.eclipse.jem.util/debug/logLevel" .options setting.
- * 			If not set there, then default value will be WARNING.
- * 
- * 
- * @since 1.0.0
- */
-public class EclipseLogger extends Logger {
-
-	public static final String DEBUG_TRACE_OPTION = "/debug/logtrace"; //$NON-NLS-1$
-	public static final String DEBUG_TRACE_FILE_OPTION = "/debug/logtracefile"; //$NON-NLS-1$
-	public static final String DEBUG_LOG_LEVEL_OPTION = "/debug/loglevel"; // The logging level to use when no Hyaedes. (which we don't support at this time). //$NON-NLS-1$
-	public static final String DEFAULT_OPTION = "default";	// If option value is this, then the value from WTP Common plugin options will be used for both logTrace and logLevel.	 //$NON-NLS-1$
-	
-	/**
-	 * Return a logger based upon the Plugin. 
-	 * @param plugin
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Logger getEclipseLogger(Plugin plugin) {
-		return getEclipseLogger(plugin.getBundle());
-	}
-	
-	/**
-	 * Return a logger based upon the bundle.
-	 * 
-	 * @param bundle
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Logger getEclipseLogger(Bundle bundle) {
-		String id = bundle.getSymbolicName();
-		Logger logger = getLoggerIfExists(id);
-		if (logger != null)
-			return logger;
-		
-		logger = getLogger(id);	// Create one, we will now customize it.
-		
-		String pluginOption = Platform.getDebugOption(id + DEBUG_TRACE_OPTION);
-		if (pluginOption == null || "default".equalsIgnoreCase(pluginOption)) //$NON-NLS-1$
-			pluginOption = Platform.getDebugOption(JEMUtilPlugin.getDefault().getBundle().getSymbolicName() + DEBUG_TRACE_OPTION);
-		boolean logTrace = "true".equalsIgnoreCase(pluginOption); //$NON-NLS-1$
-
-		pluginOption = Platform.getDebugOption(id + DEBUG_TRACE_FILE_OPTION);
-		if (pluginOption == null || "default".equalsIgnoreCase(pluginOption)) //$NON-NLS-1$
-			pluginOption = Platform.getDebugOption(JEMUtilPlugin.getDefault().getBundle().getSymbolicName() + DEBUG_TRACE_FILE_OPTION);
-		boolean logTraceFile = "true".equalsIgnoreCase(pluginOption); //$NON-NLS-1$
-		
-		pluginOption = Platform.getDebugOption(id + DEBUG_LOG_LEVEL_OPTION);
-		if (pluginOption == null || "default".equalsIgnoreCase(pluginOption)) //$NON-NLS-1$
-			pluginOption = Platform.getDebugOption(JEMUtilPlugin.getDefault().getBundle().getSymbolicName() + DEBUG_LOG_LEVEL_OPTION);
-		
-		Level logLevel = Level.WARNING;
-		if (pluginOption != null) {
-			try {
-				logLevel = Level.parse(pluginOption);
-			} catch (IllegalArgumentException e) {
-			}
-		}
-		
-		if (logTrace)
-			logger.setTraceMode(true);
-		logger.setLevel(logLevel);
-		if (!logTraceFile)
-			logger.setRenderer(new ConsoleLogRenderer(logger));
-		else
-			logger.setRenderer(new DefaultPluginTraceRenderer(logger));
-		
-		return logger;
-	}
-	
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/IMsgLogger.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/IMsgLogger.java
deleted file mode 100644
index 972ecdd..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/IMsgLogger.java
+++ /dev/null
@@ -1,26 +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
- *******************************************************************************/
-/*
- *  $RCSfile: IMsgLogger.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:04:14 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-/**
- * Interface for a message logger.
- * 
- * @since 1.0.0
- */
-public interface IMsgLogger {
-	public Logger getMsgLogger();
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/plugin/JEMUtilPlugin.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/plugin/JEMUtilPlugin.java
deleted file mode 100644
index 3e1731e..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/plugin/JEMUtilPlugin.java
+++ /dev/null
@@ -1,399 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: JEMUtilPlugin.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2006/02/21 17:16:30 $$ 
- */
-package org.eclipse.jem.util.plugin;
-
-import java.io.File;
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl;
-import org.eclipse.jem.internal.util.emf.workbench.WorkspaceResourceNotifier;
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.jem.util.emf.workbench.ProjectResourceSet;
-import org.eclipse.jem.util.emf.workbench.ResourceHandler;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Plugin for EMFWorkbench utils.
- * 
- * @since 1.0.0
- */
-public class JEMUtilPlugin extends Plugin {
-
-	public static final String ID = "org.eclipse.jem.util"; //$NON-NLS-1$
-	
-	/**
-	 * Plugin id of this plugin.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String PLUGIN_ID = ID;	
-
-	/**
-	 * UI Context extension point.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String UI_CONTEXT_EXTENSION_POINT = "uiContextSensitiveClass"; //$NON-NLS-1$
-
-	/**
-	 * UITester element name.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String UI_TESTER_EXTENSION_POINT = "uiTester"; //$NON-NLS-1$
-	
-	/**
-	 * Protocol for workspace
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String WORKSPACE_PROTOCOL = "workspace"; //$NON-NLS-1$
-
-	/**
-	 * Protocol for platform uri's. i.e. "platform:/..."
-	 * 
-	 * @since 1.0.0
-	 *  
-	 */
-	public static final String PLATFORM_PROTOCOL = "platform"; //$NON-NLS-1$
-
-	/**
-	 * Resource indication in platform protocol. Indicates url is for a resource in the workspace. i.e. "platform:/resource/projectname/..."
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String PLATFORM_RESOURCE = "resource"; //$NON-NLS-1$
-
-	/**
-	 * Plugin indication in platform protocol. Indicates url is for a file/directory in the plugins area. i.e. "platform:/plugin/pluginid/..."
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String PLATFORM_PLUGIN = "plugin"; //$NON-NLS-1$
-
-	private static WorkspaceResourceNotifier sharedCache;
-
-	private static ResourceSet pluginResourceSet;
-
-	private static String[] GLOBAL_LOADING_PLUGIN_NAMES;
-
-	private static JEMUtilPlugin DEFAULT;
-
-	public JEMUtilPlugin() {
-		super();
-		DEFAULT = this;
-	}
-
-	/**
-	 * Get the workspace. Just use ResourcePlugin.getWorkspace() instead.
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Get the plugin instance.
-	 * 
-	 * @return plugin instance.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static JEMUtilPlugin getDefault() {
-		return DEFAULT;
-	}
-
-	/**
-	 * Gets the sharedCache.
-	 * <p>
-	 * This is not meant to be called by clients.
-	 * </p>
-	 * 
-	 * @return a WorkspaceResourceNotifier
-	 * @since 1.0.0
-	 */
-	public static WorkspaceResourceNotifier getSharedCache() {
-		if (sharedCache == null)
-			sharedCache = new WorkspaceResourceNotifier();
-		return sharedCache;
-	}
-
-	/**
-	 * Sets the sharedCache.
-	 * <p>
-	 * This is not meant to be called by clients.
-	 * </p>
-	 * 
-	 * @param sharedCache
-	 *            The sharedCache to set
-	 * @since 1.0.0
-	 */
-	public static void setSharedCache(WorkspaceResourceNotifier aSharedCache) {
-		sharedCache = aSharedCache;
-	}
-
-	/**
-	 * @deprecated use createIsolatedResourceSet(IProject)
-	 */
-	public static ResourceSet createIsolatedResourceSet() {
-		return null;
-	}
-
-	/**
-	 * Add an Adapter. You can use this api to listen for any shared resource being loaded or removed from any ProjectResourceSet in the Workbench
-	 * instead of trying to listen to each individual ProjectResourceSet.
-	 * 
-	 * @param adapter
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addWorkspaceEMFResourceListener(Adapter adapter) {
-		if (adapter != null && !getSharedCache().eAdapters().contains(adapter))
-			getSharedCache().eAdapters().add(adapter);
-	}
-
-	/**
-	 * Removes the adapter.
-	 * 
-	 * @param adapter
-	 * 
-	 * @see #addWorkspaceEMFResourceListener(Adapter)
-	 * @since 1.0.0
-	 */
-	public static void removeWorkspaceEMFResourceListener(Adapter adapter) {
-		if (adapter != null)
-			getSharedCache().eAdapters().remove(adapter);
-	}
-
-	/**
-	 * Is this plugin active.
-	 * 
-	 * @return <code>true</code> if active
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean isActivated() {
-		Bundle bundle = Platform.getBundle(ID);
-		if (bundle != null)
-			return bundle.getState() == Bundle.ACTIVE;
-		return false;
-	}
-
-	/**
-	 * This method will be called when a WorkbenchContext is instantiated on an EMFNature.
-	 * <p>
-	 * This not meant to be called by clients.
-	 * </p>
-	 * 
-	 * @param aResourceSet
-	 * 
-	 * @see plugin.xml#ResourceHandlerExtension extension point.
-	 * @since 1.0.0
-	 */
-	public void addExtendedResourceHandlers(ProjectResourceSet aResourceSet) {
-		if (aResourceSet == null)
-			return;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint pct = registry.getExtensionPoint(getBundle().getSymbolicName(), "ResourceHandlerExtension"); //$NON-NLS-1$
-		IExtension[] extension = pct.getExtensions();
-		IExtension config;
-		for (int l = 0; l < extension.length; ++l) {
-			config = extension[l];
-			IConfigurationElement[] cElems = config.getConfigurationElements();
-			ResourceHandler handler = null;
-			for (int i = 0; i < cElems.length; i++) {
-				try {
-					handler = (ResourceHandler) cElems[i].createExecutableExtension("run"); //$NON-NLS-1$
-
-				} catch (Exception ex) {
-					handler = null;
-				}
-				if (handler != null)
-					aResourceSet.add(handler);
-			}
-		}
-	}
-
-	/**
-	 * Delete the contents of the directory (and the directory if deleteRoot is true).
-	 * @param root
-	 * @param deleteRoot <code>true</code> to delete the root directory too.
-	 * @param monitor 
-	 * @return <code>true</code> if there was an error deleting anything.
-	 * 
-	 * @since 1.1.0
-	 */
-	public static boolean deleteDirectoryContent(File root, boolean deleteRoot, IProgressMonitor monitor) {
-		boolean error = false;
-		if (root.canRead()) {
-			if (root.isDirectory()) {
-				File[] files = root.listFiles();
-				monitor.beginTask(MessageFormat.format(EMFWorkbenchResourceHandler.getString("ProjectUtil_Delete_1"), new Object[] {root.getName()}), files.length+(deleteRoot ? 1 : 0)); //$NON-NLS-1$
-				for (int i = 0; i < files.length; i++) {
-					if (files[i].isDirectory())
-						error |= deleteDirectoryContent(files[i], true, new SubProgressMonitor(monitor, 1));
-					else {
-						error |= !files[i].delete();
-					}
-					monitor.worked(1);
-				}
-			} else {
-				monitor.beginTask(MessageFormat.format(EMFWorkbenchResourceHandler.getString("ProjectUtil_Delete_1"), new Object[] {root.getName()}), 1);				 //$NON-NLS-1$
-			}
-			if (deleteRoot) {
-				error |= !root.delete();
-				monitor.worked(1);
-			}
-			monitor.done();
-		} else {
-			error = true;
-		}
-		return error;
-	}
-	
-	/**
-	 * Add a clean resource changelistener.
-	 * @param listener
-	 * @param eventMask mask of event types to listen for in addition to ones that are necessary for clean. Use 0 if no additional ones.
-	 * 
-	 * @since 1.1.0
-	 */
-	public static void addCleanResourceChangeListener(CleanResourceChangeListener listener, int eventMask) {
-		// PRE_BUILD: Handle Clean.
-		// TODO Until https://bugs.eclipse.org/bugs/show_bug.cgi?id=101942 is fixed, we must do POST_BUILD, that will probably be sent because a clean will cause a build to occur which should cause a delta.
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(listener, eventMask | IResourceChangeEvent.POST_BUILD);		
-	}
-	
-	/**
-	 * A resource listener that can be used in addition to listen for Clean requests and process them.
-	 * <p>
-	 * Use <code>{@link IResourceChangeEvent#PRE_BUILD}</code> when adding as listener to get the
-	 * clean events.
-	 * <p>
-	 * <b>Note</b> : TODO Until https://bugs.eclipse.org/bugs/show_bug.cgi?id=101942 is fixed, you must do POST_BUILD, that will probably be sent because a clean will cause a build to occur which should cause a delta.
-	 * @since 1.1.0
-	 */
-	public abstract static class CleanResourceChangeListener implements IResourceChangeListener {
-		
-		public void resourceChanged(IResourceChangeEvent event) {
-			// Subclasses can override this to handle more events than just clean.
-			if (event.getBuildKind() == IncrementalProjectBuilder.CLEAN_BUILD) {
-				if (event.getSource() instanceof IProject)
-					cleanProject((IProject) event.getSource());
-				else if (event.getSource() instanceof IWorkspace)
-					cleanAll();				
-			}
-		}
-
-		/**
-		 * Clear out the project.
-		 * @param project
-		 * 
-		 * @since 1.1.0
-		 */
-		protected abstract void cleanProject(IProject project);
-
-		/**
-		 * Clean all.
-		 * <p>
-		 * By default this will simply call a clean project on each open project. Subclasses should override and either
-		 * add more function to clear out non-project data and then call super. Or if they can handle all of the projects
-		 * in a faster way, then can completely handle this.
-		 * 
-		 * @since 1.1.0
-		 */
-		protected void cleanAll() {
-			IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject project = projects[i];
-				if (project.isOpen()) {
-					cleanProject(project);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Get the project resource set for the plugin (there is one for the whole system).
-	 * 
-	 * @return system-wide resource set.
-	 * @since 1.0.0
-	 */
-	public static ResourceSet getPluginResourceSet() {
-		if (pluginResourceSet == null)
-			pluginResourceSet = new ProjectResourceSetImpl(null);
-		return pluginResourceSet;
-	}
-
-	/**
-	 * Set the system-wide resource set.
-	 * 
-	 * @param set
-	 * @since 1.0.0
-	 */
-	public static void setPluginResourceSet(ResourceSet set) {
-		pluginResourceSet = set;
-	}
-
-	/**
-	 * Get the global loading plugin names.
-	 * <p>
-	 * This is not meant to be called by clients.
-	 * </p>
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static String[] getGlobalLoadingPluginNames() {
-		if (GLOBAL_LOADING_PLUGIN_NAMES == null)
-			GLOBAL_LOADING_PLUGIN_NAMES = readGlobalLoadingPluginNames();
-		return GLOBAL_LOADING_PLUGIN_NAMES;
-	}
-
-	/**
-	 * Get the Logger for this plugin.
-	 * 
-	 * @return logger for this plugin.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Logger getLogger() {
-		return Logger.getLogger(ID);
-	}
-
-	private static String[] readGlobalLoadingPluginNames() {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IExtensionPoint exPoint = reg.getExtensionPoint(ID, "globalPluginResourceLoad"); //$NON-NLS-1$
-		IExtension[] extensions = exPoint.getExtensions();
-		String[] names = new String[extensions.length];
-		if (extensions.length > 0) {
-			for (int i = 0; i < extensions.length; i++)
-				names[i] = extensions[i].getContributor().getName();
-		}
-		return names;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.classpath b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.cvsignore b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.project b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.project
deleted file mode 100644
index 5e29c82..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.perfmsr.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.jem.util/org.eclipse.perfmsr.core.stub/PERFMSR.README.txt b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/PERFMSR.README.txt
deleted file mode 100644
index 3186a36..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/PERFMSR.README.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-This is a stub plugin for perfmsr. It is here just so that org.eclipse.jem.util can compile.
-
-It should not be an open project during normal usage. Whenever any of the files in this project
-are changed, "perfmsr.jardesc" should be used to create the new changed appropriate jar. Do this by:
-
-1) Select perfmsr.jardesc
-2) On popup menu select "Create JAR"
-3) Hit "Finish"
-4) Commit all changes to CVS.
-5) Go to org.eclipse.jem.util project, select the org.eclipse.perfmsr.core.stub folder
-   and select Replace->Latest from HEAD. This will cause your just committed changes
-   from step 4 to be put into org.eclipse.jem.util and will be picked up for that
-   plugin to compile against.
-6) Either close or delete the org.eclipse.perfmsr.core.stuf project from the workspace.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/about.html b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/about.html
deleted file mode 100644
index f9f238e..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/about.html
+++ /dev/null
@@ -1,32 +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>30th March, 2004</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-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>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the EPL and can be made available to others under the terms of the EPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the EPL and such Modifications can be made available to others under the terms of
-the EPL.</p>
-
-<p><b>Version:</b> v20040624a
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/build.properties b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/build.properties
deleted file mode 100644
index 3a4db57..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               *.jar
-source.perfmsr.jar = src/
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jar b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jar
deleted file mode 100644
index 1ebba8f..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jar
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jardesc b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jardesc
deleted file mode 100644
index d48e223..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jardesc
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jardesc>
-    <jar path="org.eclipse.perfmsr.core.stub/perfmsr.jar"/>
-    <options buildIfNeeded="true" compress="true" descriptionLocation="/org.eclipse.perfmsr.core.stub/perfmsr.jardesc" exportErrors="true" exportWarnings="true" overwrite="false" saveDescription="true" useSourceFolders="false"/>
-    <manifest generateManifest="true" manifestLocation="/VEScrapProject/MANIFEST.mf" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportJavaFiles="true" exportOutputFolder="false">
-        <javaElement handleIdentifier="=org.eclipse.perfmsr.core.stub/src"/>
-    </selectedElements>
-</jardesc>
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.properties b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.properties
deleted file mode 100644
index 5720eeb..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name=Performance Monitor
-
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.xml b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.xml
deleted file mode 100644
index 596926d..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.perfmsr.core"
-   name="%Plugin.name"
-   version="3.0.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.perfmsr.core.PerfMsrCorePlugin">
-
-   <runtime>
-      <library name="perfmsr.jar"><export name="*"/></library>
-   </runtime>
-   
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-</plugin>
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/IPerformanceMonitor.java b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/IPerformanceMonitor.java
deleted file mode 100644
index bd992c7..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/IPerformanceMonitor.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.perfmsr.core;
-
-/**
- * Take snapshots of the various performance counters.
- * ************* This is just a stub of the real interface to get org.eclipse.jem.util 
- *               to compile. It is not usable by itself. ****************************
- */
-public interface IPerformanceMonitor
-{
-	/**
-	 * These constants control how much information is gathered for a particular snapshot.
-	 * They are or'ed together and passed into the snapshot method.  
-	 */
-	interface Types
-	{
-		/** 
-		 * 1 - Write out the performance counters from the operating system. These
-		 * include working set, peak working set, elapsed time, user time, and 
-		 * kernel time.
-		 */
-		int OperatingSystemCounters		= 1;
-		
-		/**
-		 * 2 - Write out the global performance info. This includes things like the total
-		 * committed memory for the entire system.
-		 * 
-		 * This function depends on the GetPerformanceInfo() function being available in
-		 * the Windows psapi.dll. This is available in XP but is usually not available
-		 * in Win/2000. If it is not available then this function throws an UnsupportedOperationException.
-		 */
-		int GlobalSystemCounters		= 2;
-		
-		/**
-		 * 4 - Write out the size of the Java Heap.
-		 */
-		int JavaHeapSize				= 4;
-
-		/**
-		 * 8 - Write out how much of the Java heap is being used. This calls the 
-		 * garbage collector so it may skew timing results.
-		 */
-		int JavaHeapUsed				= 8;
-		
-		/**
-		 * 16 - The plugin startup and size information.
-		 */
-		int PluginInfo					= 16;
-		
-		/** 0xffff - Everything. */
-		int All							= 0xffff;	
-	}
-	
-	/**
-	 * Add some more "extra" variations. 
-	 * 
-	 * The variations that are in effect are made up of these extra variations plus any variations
-	 * that may have been set with the setVar() method.
-	 * 
-	 * @param varList a comma separated list of variations
-	 */
-	public void addVarAppend(String varList);
-	
-	/**
-	 * Set the driver name. 
-	 * 
-	 * @param driver a label that identifies the driver that is being tested. If it is a WSAD
-	 * driver, this will usually be set by the extension.
-	 */
-	public void setDriver(String driver);
-	
-	/**
-	 * Set the location of the performance measurement file, that is the place where
-	 * the measurements are stored.
-	 * 
-	 * @param logFile the file name of where the log should be written. Usually this is fully qualified
-	 * path name. For example "x:\logs\timer.xml".
-	 */
-	public void setLogFile(String logFile);
-	
-	/**
-	 * Set the performance monitor to be on or off. If it is off then most of the other 
-	 * operations will no-op.
-	 * 
-	 * The default is for the performance monitor to be off unless it's special environment variable is set. 
-	 * When called from the UI, the UI should call this to make sure that it is on.
-	 */
-	public void setIsOn(boolean isOn);
-	
-	/**
-	 * Sets the test case number for this measurement run.
-	 *  
-	 * @param testd test case identifier
-	 */
-	public void setTestd(int testd);
-	
-	/**
-	 * Sets the test case name. If will cause a new test case to be created if it does not already exist.
-	 * 
-	 * @param testName a simple (short) test case name. In the case of JUnit test cases, it would usually 
-	 * be the JUnit name.
-	 */
-	public void setTestName(String testName);
-	
-	/**
-	 * Set the variations that are in effect.
-	 * 
-	 * @param var a comma delimited string of variation numbers
-	 */
-	public void setVar(String var);
-	
-	/**
-	 * Set the upload host
-	 * 
-	 * @param host DNS name of the upload host
-	 */
-	public void setUploadHost(String host);
-	
-	/**
-	 * Set the upload port
-	 * 
-	 * @param port upload port
-	 */
-	public void setUploadPort(int port);
-	
-	/**
-	 * Set the upload userid
-	 * 
-	 * @param userid
-	 */
-	public void setUploadUserid(String userid);
-	
-	/**
-	 * Take a snapshot of some default performance measurements.
-	 * 
-	 * @param step this identifies the step that the snapshot is for
-	 */
-	void snapshot(int step);
-	
-	/**
-	 * Take a snapshot of the selected performance measurements.
-	 * 
-	 * @param step this identifies the step that the snapshot is for
-	 * 
-	 * @param types This controls which measurements are selected. It is an or'd together
-	 * list of the IPerformanceMonitor.Types constants.
-	 * 
-	 * @see IPerformanceMonitor.Types 
-	 */
-	void snapshot(int step, int types);
-	
-	/**
-	 * Write the comment to the performance measurement file.
-	 * 
-	 * @param comment
-	 */
-	void writeComment(String comment);
-	
-	/**
-	 * Upload the results to the server. This causes the file to be
-	 * closed, and the monitor to be placed into the finished state.
-	 * 
-	 * This method can only be called if the uploadhost, uploadport and uploaduserid
-	 * have been configured before hand.
-	 * 
-	 * @param description an optional description (it can be null)
-	 * 
-	 * @return some status information
-	 */
-	public Upload.Status upload(String description);
-//	
-//	/**
-//	 * Upload the results to the server. This causes the file to be
-//	 * closed, and the monitor to be placed into the finished state.
-//	 * 
-//	 * @param host the host name that the file is being sent to
-//	 * @param port the port on the host
-//	 * @param userid the userid that is doing the upload
-//	 * @param description an optional description (it can be null)
-//	 * 
-//	 * @return some status information
-//	 */
-//	Upload.Status upload(String host, int port, String userid, String description);
-
-
-}
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/PerfMsrCorePlugin.java b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/PerfMsrCorePlugin.java
deleted file mode 100644
index 2b86e9e..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/PerfMsrCorePlugin.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: PerfMsrCorePlugin.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:06:47 $ 
- */
-package org.eclipse.perfmsr.core;
-
-import org.eclipse.core.runtime.Plugin;
- 
-
-/**
- * ************* This is just a stub of the real class to get org.eclipse.jem.util 
- *               to compile. It is not usable by itself. ****************************
- * @since 1.0.0
- */
-public class PerfMsrCorePlugin extends Plugin {
-	
-	public static IPerformanceMonitor getPerformanceMonitor(boolean bool) {
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/Upload.java b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/Upload.java
deleted file mode 100644
index c412f52..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/Upload.java
+++ /dev/null
@@ -1,27 +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
- *******************************************************************************/
-/*
- *  $RCSfile: Upload.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:06:47 $ 
- */
-package org.eclipse.perfmsr.core;
- 
-
-/**
- * Upload.
- * ************* This is just a stub of the real interface to get org.eclipse.jem.util 
- *               to compile. It is not usable by itself. ****************************
- */
-public interface Upload {
-	public static class Status {
-		public boolean success;
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/plugin.properties b/plugins/org.eclipse.jem.util/plugin.properties
deleted file mode 100644
index a53db6a..0000000
--- a/plugins/org.eclipse.jem.util/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# $Source: /cvsroot/webtools/common.move/webtools.common.git/plugins/org.eclipse.jem.util/plugin.properties,v $
-# $Revision: 1.2 $  $Date: 2005/02/15 23:07:45 $
-#
-
-
-pluginName=Java EMF Model Utilities
-providerName = Eclipse.org
diff --git a/plugins/org.eclipse.jem.util/plugin.xml b/plugins/org.eclipse.jem.util/plugin.xml
deleted file mode 100644
index 591be42..0000000
--- a/plugins/org.eclipse.jem.util/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- Extension point to register ResourceHandlers that will always be added to 
-	new WorkbenchContexts -->
-   <extension-point id="ResourceHandlerExtension" name="ResourceHandlerExtension"/>
-   <extension-point id="globalPluginResourceLoad" name="Global Plugin Resource Load"/>
-   <extension-point id="nature_registration" name="EMF Nature registration"/>
-   <extension-point id="internalWorkbenchContextFactory" name="Internal Workbench Context Factory"/>
-   <extension-point id="uiContextSensitiveClass" name="UI Context Sensitive Class" schema="schema/uiContextSensitiveClass.exsd"/>
-   <extension-point id="uiTester" name="UI Tester" schema="schema/uiTester.exsd"/>   
-   
-</plugin>
diff --git a/plugins/org.eclipse.jem.util/property_files/emfworkbench.properties b/plugins/org.eclipse.jem.util/property_files/emfworkbench.properties
deleted file mode 100644
index cad9483..0000000
--- a/plugins/org.eclipse.jem.util/property_files/emfworkbench.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-EMFWorkbenchContextBase_ERROR_0=IWAE0003E Method not yet implemented.
-EMFWorkbenchContextBase_ERROR_1=IWAE0005E Project can not be null.
-EMFWorkbenchContextBase_ERROR_2=IWAE0006E Attempt to create resource set with null project
-EMFNatureRegistry_ERROR_0=IWAE0007E Duplicate EMF nature registration for id: {0}
-EMFWorkbenchContextFactory_UI_0=The project should not be null.
-EMFWorkbenchContextFactory_UI_1=The project \"{0}\" is not accessible.
-
-ProjectUtil_Delete_1=Deleting \"{0}\".
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/schema/uiContextSensitiveClass.exsd b/plugins/org.eclipse.jem.util/schema/uiContextSensitiveClass.exsd
deleted file mode 100644
index 7bcbfeb..0000000
--- a/plugins/org.eclipse.jem.util/schema/uiContextSensitiveClass.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jem.util">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jem.util" id="uiContextSensitiveClass" name="UI Context Sensitive Class"/>
-      </appInfo>
-      <documentation>
-         Edit models provide a framework for managing a set of EMF resources within a unit of work.  For example, a workspace operation may affect a change to multiple EMF resources. Edit models provide basic services such as loads, saves (when necessary), and validate edit for the managed resources.  Edit models are reference counted, therefore a single instance of an edit model can be shared by more than one operation or editor.  By declaring an edit model, a plugin provider enables other components to contribute resources to be managed by that edit model.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="uiContextSensitiveClass" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="uiContextSensitiveClass">
-      <annotation>
-         <documentation>
-            An extension point that defines an instance of a class and its appropriate context (UI or Headless)
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="key" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The key that should be used to create an instance of the Context Sensitive super class/interface.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="className" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A concrete implementation for either a UI or Headless context.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="context" use="required">
-            <annotation>
-               <documentation>
-                  One of &quot;UI&quot; or &quot;Headless&quot;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="UI">
-                  </enumeration>
-                  <enumeration value="Headless">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         6.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;extension&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id=&quot;context.Sensitive.Class.workingCopyManager&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&quot;Working&amp;nbsp;Copy&amp;nbsp;Manager&amp;nbsp;-&amp;nbsp;UI&amp;nbsp;Context&amp;nbsp;Class&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point=&quot;com.ibm.wtp.common.ui.ContextSensitiveClass&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uiContextSensitiveClass&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context=&quot;UI&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key=&quot;workingCopyManager&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;className=&quot;com.ibm.wtp.common.ui.WTPUIWorkingCopyManager&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/uiContextSensitiveClass&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/extension&amp;gt;&lt;br&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         See &lt;code&gt;org.eclipse.jem.util.UIContextDetermination&lt;/code&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) IBM 2003.
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jem.util/schema/uiTester.exsd b/plugins/org.eclipse.jem.util/schema/uiTester.exsd
deleted file mode 100644
index 48d74fc..0000000
--- a/plugins/org.eclipse.jem.util/schema/uiTester.exsd
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jem.util">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jem.util" id="uiTester" name="UI Tester"/>
-      </appInfo>
-      <documentation>
-         Edit models provide a framework for managing a set of EMF resources within a unit of work.  For example, a workspace operation may affect a change to multiple EMF resources. Edit models provide basic services such as loads, saves (when necessary), and validate edit for the managed resources.  Edit models are reference counted, therefore a single instance of an edit model can be shared by more than one operation or editor.  By declaring an edit model, a plugin provider enables other components to contribute resources to be managed by that edit model.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="uiTester"/>
-         </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>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="uiTester">
-      <annotation>
-         <documentation>
-            The declaration for an edit model to be used in the workspace.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="className" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique identifier for the edit model.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         6.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [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.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/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF
deleted file mode 100644
index 1be75da..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: Common WST infopops
-Bundle-SymbolicName: org.eclipse.wst.common.infopop; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Eclipse-AutoStart: 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 4c99086..0000000
--- a/plugins/org.eclipse.wst.common.infopop/about.html
+++ /dev/null
@@ -1,22 +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>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.infopop/build.properties b/plugins/org.eclipse.wst.common.infopop/build.properties
deleted file mode 100644
index ed51e16..0000000
--- a/plugins/org.eclipse.wst.common.infopop/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.xml,\
-               about.html,\
-               SnippetsContexts.xml,\
-               EditorCssContexts.xml,\
-               META-INF/
-src.includes = build.properties
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.validation.ui/.classpath b/plugins/org.eclipse.wst.validation.ui/.classpath
deleted file mode 100644
index 1c68a63..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="validateui/"/>
-	<classpathentry kind="src" path="property_files"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.validation.ui/.cvsignore b/plugins/org.eclipse.wst.validation.ui/.cvsignore
deleted file mode 100644
index 994d5a2..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-temp.folder
-build.xml
-runtime
-@dot
-src.zip
diff --git a/plugins/org.eclipse.wst.validation.ui/.project b/plugins/org.eclipse.wst.validation.ui/.project
deleted file mode 100644
index 32471f6..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.validation.ui</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.validation.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.validation.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 536f29a..0000000
--- a/plugins/org.eclipse.wst.validation.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Validation Framework UI
-Bundle-SymbolicName: org.eclipse.wst.validation.ui; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.validation.internal.ui;x-internal:=true,
- org.eclipse.wst.validation.internal.ui.plugin;x-internal:=true
-Require-Bundle: org.eclipse.ui.ide,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.swt,
- org.eclipse.wst.common.frameworks.ui,
- org.eclipse.core.runtime,
- org.eclipse.wst.common.frameworks,
- org.eclipse.wst.validation,
- org.eclipse.jem.util,
- org.eclipse.ui.forms
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.wst.validation.ui/about.html b/plugins/org.eclipse.wst.validation.ui/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/plugins/org.eclipse.wst.validation.ui/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/build.properties b/plugins/org.eclipse.wst.validation.ui/build.properties
deleted file mode 100644
index 4ce34bd..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .,\
-               plugin.xml,\
-               META-INF/,\
-               about.html,\
-               icons/,\
-               plugin.properties
-source.. = validateui/,\
-                                property_files/
-output.. = bin/
diff --git a/plugins/org.eclipse.wst.validation.ui/build/buildcontrol.properties b/plugins/org.eclipse.wst.validation.ui/build/buildcontrol.properties
deleted file mode 100644
index 5938f6c..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build/buildcontrol.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-CONTACT=ruthdaly@ca.ibm.com
-ComponentShortName=validationui
-ComponentFullName=Validation Framework UI
-ComponentCompetency=Validation
-JavaCompile.1=srcjar
-BuildVerification.1=dir
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/build/package.xml b/plugins/org.eclipse.wst.validation.ui/build/package.xml
deleted file mode 100644
index 0ae0c31..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build/package.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<project name="com.ibm.etools.validation.ui" default="packagingPlugin" basedir="./..">
-    <target name="init">
-        <property name="packageDir" value=""/>
-        <property name="plugin.directory"  value="${basedir}"/>
-        <property name="plugin.id" value="com.ibm.etools.validation.ui"/>
-        <property name="plugin.version"  value=""/>
-    </target>
-    <target name="packagingPlugin" depends="init">
-        <echo message="${plugin.id}"/>
-        <copy todir="${packageDir}/plugins/${plugin.id}_${plugin.version}">
-            <fileset dir="${plugin.directory}">
-                <include name="plugin.properties"/>
-                <include name="plugin.xml"/>
-                <include name="runtime/validateui.jar"/>
-            </fileset>
-        </copy>
-    </target>
-</project>
diff --git a/plugins/org.eclipse.wst.validation.ui/build/sourcejar.txt b/plugins/org.eclipse.wst.validation.ui/build/sourcejar.txt
deleted file mode 100644
index b96f41c..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build/sourcejar.txt
+++ /dev/null
@@ -1 +0,0 @@
-validateui
diff --git a/plugins/org.eclipse.wst.validation.ui/build/wsBuild.xml b/plugins/org.eclipse.wst.validation.ui/build/wsBuild.xml
deleted file mode 100644
index 77c0b82..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build/wsBuild.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE project [
-	<!ENTITY baseBuild SYSTEM "file:../../wsBuildDef.xml">
-]>
-
-<project name="buildPlugin" default="build" basedir="./..">
-
-<!-- include the common xml build file -->
-&baseBuild;
-
-<target name="build" depends="prepare" if="plugin.id">
-	<antcall target="buildjar">
-		<param name="jarname" value="${defaultjarname}"/>
-		<param name="jarclasspath" value="${plugin.classpath}"/>
-	</antcall>
-</target>
-</project>
diff --git a/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl.gif b/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl.gif
deleted file mode 100644
index 07dcaee..0000000
--- a/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl.gif b/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl.gif
deleted file mode 100644
index 5f91634..0000000
--- a/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.validation.ui/plugin.properties b/plugins/org.eclipse.wst.validation.ui/plugin.properties
deleted file mode 100644
index 5002309..0000000
--- a/plugins/org.eclipse.wst.validation.ui/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-#
-# Version 1.3
-#
-VBF_TITLE_PROPERTIES=Validation
-VBF_UI_POPUP_RUNVALIDATION=&Run Validation
-VBF_TITLE_PREFERENCE=Validation
diff --git a/plugins/org.eclipse.wst.validation.ui/plugin.xml b/plugins/org.eclipse.wst.validation.ui/plugin.xml
deleted file mode 100644
index bbabc9f..0000000
--- a/plugins/org.eclipse.wst.validation.ui/plugin.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- ============================================== -->
-<!-- Popup Contributions                            -->
-<!-- ============================================== -->
-<!-- By saying "adaptable=true", this item will appear on both IProject and IJavaProject -->
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IResource"
-            id="ValidationMenuAction">
-         <action
-               label="%VBF_UI_POPUP_RUNVALIDATION"
-               class="org.eclipse.wst.validation.internal.ui.ValidationMenuAction"
-               menubarPath="additions"
-               enablesFor="+"
-               id="ValidationAction">
-         </action>
-      </objectContribution>      
-   </extension>
-  
-
-<!-- ====================================================== -->
-<!--           Validation preference page                   -->
-<!-- ====================================================== -->
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%VBF_TITLE_PREFERENCE"
-            class="org.eclipse.wst.validation.internal.ui.ValidationPreferencePage"
-            id="ValidationPreferencePage">
-      </page>
-   </extension>
-   
-<!-- ====================================================== -->
-<!--           Validation properties page                   -->
-<!-- ====================================================== -->
-<!-- By saying "adaptable=true", this item will appear on both IProject and IJavaProject -->
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IProject"
-            name="%VBF_TITLE_PROPERTIES"
-            class="org.eclipse.wst.validation.internal.ui.ValidationPropertiesPage"
-            id="ValidationPropertiesPage">
-      </page>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.validation.ui/prepareforpii.xml b/plugins/org.eclipse.wst.validation.ui/prepareforpii.xml
deleted file mode 100644
index 1c3e278..0000000
--- a/plugins/org.eclipse.wst.validation.ui/prepareforpii.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-		
-	<!-- Setup temp variables -->
-	<target name="init">
-		<property name="nlsDir" value="d:/NLS/Corona/0526"/>
-		<property name="plugin" value="com.ibm.etools.validation.ui"/>
-		<property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
-		<property name="outputDir" value="${nlsDir}/${plugin}"/>
-		
-	
-	</target>
-
-	<!-- Create the destination dir -->
-	<target name="nlsDir" depends="init">
-		<mkdir dir="${nlsDir}"/>
-	</target>
-	
-	<!-- Create the destination dir -->
-	<target name="plugindir" depends="nlsDir">
-		<delete dir="${outputDir}"/>
-		<mkdir dir="${outputDir}"/>
-	</target>
-
-	<!-- Move the files to the correct locations in the workspace. -->
-	<target name="main" depends="plugindir">
-	
-		<messageIdGen folderPath = "${plugindir}" componentId = "E" />
-		
-		<copy todir = "${outputDir}/property_files" >
-			 <fileset dir="${plugindir}/property_files">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-  		
-  		<copy file="${plugindir}/plugin.properties" todir="${outputDir}"/>
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.validation.ui/property_files/validate_ui.properties b/plugins/org.eclipse.wst.validation.ui/property_files/validate_ui.properties
deleted file mode 100644
index ac3fc96..0000000
--- a/plugins/org.eclipse.wst.validation.ui/property_files/validate_ui.properties
+++ /dev/null
@@ -1,114 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-#     *************************************************************************
-#     * Code oriented instructions:
-#     *
-#     * In the string, you may see the following special sequences:
-#     * a) {n}  where n is a number. These are replaceable parameters.
-#     * b) ''  In .properties files, in order to see one apostrophe (') in the final
-#     *    string, sometimes two apostrophes must be entered in the string. In the translated
-#     *    string, if there is at least one {n} in the string, then to show one apostrophe
-#     *    to the user, put two apostrophes in the string. If there are no {n} in the string,
-#     *    then put one apostrophe.
-#     *    For example, say that you want the user to read "George's file". 
-#     *        GEORGE=George's file was on the desk.
-#     *        GEORGE2=George''s file and {0} were on the desk.
-#     *    GEORGE uses one apostrophe because there are no {n} and GEORGE2
-#     *    uses two apostrophes because there is a {n}.
-#     * c) '' text '' where text can be any word(s). The text between the double
-#     *    apostrophes should not be translated. 
-#     * d) <text> where text can be any word(s). The text between the angle
-#     *    brackets should NOT be translated.
-#     * e) "text" where text can be any word(s). The text between the quotation 
-#     *    marks should NOT be translated.
-#     *    
-#     *************************************************************************
-#     * Other instructions
-#     * a) Do not translate any text that is on a line which begins with a comment 
-#     *    symbol (#).
-#     * b) Do not translate these words: 
-#     *        schema, EJB, RDB, JAR, RMI, BMP, CMP, OOSQL
-#     * c) Please return the .properties files using the same directory structure.
-#     *    This is necessary because two of the files have the same name.
-#     *
-#     *************************************************************************
-# Any other comments to the translators are on lines which start like this:  # 2TC:
-#
-# Version 1.12
-#
-#
-# ID:
-#    VBF - Validation Builder Framework
-#
-
-# 
-# Begin Validation Builder Framework UI Strings
-#
-# IDs:
-#    VBF_EXC=Exception or error text
-#    VBF_UI=UI label
-#
-PREF_BUTTON_OVERRIDE=Allow projects to override these preference settings
-PREF_BUTTON_FULL=Run validation when you manually build a project
-PREF_BUTTON_AUTO=Run validation automatically when you save changes to a resource
-PREF_BUTTON_ENABLEALL=Enable All
-PREF_BUTTON_DISABLEALL=Disable All
-PREF_VALLIST_TITLE=The selected validators will run when validation is performed:
-PREF_LBL_MAXMSGS=Maximum number of validation messages on a project
-PREF_ERROR_INT=IWAE0001E The number of validation messages must be a positive integer.
-PREF_BUTTON_ASYNC=Run validation in a background thread
-
-PROP_BUTTON_OVERRIDE=Override validation preferences
-PROP_BUTTON_FULL=Run validation when you manually build {0}
-VBF_UI_LBL_AUTO_VALIDATE=Run validation automatically when you save changes to {0} resources.
-PROP_BUTTON_SELECTALL=Select All
-PROP_BUTTON_DESELECTALL=Deselect All
-VBF_UI_LBL_DESC=The selected validators will run when {0} is validated:
-PROP_LBL_MAXMSSGS=Maximum number of validation messages on {0}
-PROP_ERROR_INT=IWAE0002E The number of validation messages must be a positive integer.
-PROP_LBL_CANNOTOVERRIDE=To enable the "Override validation preferences" checkbox, select the "Allow projects to override these preference settings" checkbox in the workbench Preferences dialog.
-PROP_BUTTON_ASYNC=Run validation in a background thread on {0}
-
-VBF_EXC_INTERNAL=IWAE0003E An unexpected error occurred during validation. Read the log file.
-VBF_EXC_INTERNAL_PROJECT=IWAE0004E An unexpected error occurred during validation of project {0}. Read the log file.
-VBF_EXC_INTERNAL_TITLE=IWAE0005E Internal error
-VBF_EXC_INTERNAL_PAGE=IWAE0006E An unexpected error occured; click Cancel to close the wizard.
-
-VBF_EXC_INVALID_REGISTER=IWAE0007E Validators can run only on open resources.
-
-VBF_UI_NO_VALIDATORS_INSTALLED=No validators are installed.
-
-VBF_UI_LBL_NOVALIDATORS_DESC=It is not possible to run any Validators, at the project level, for this type of project.
-
-VBF_UI_NO_VALIDATORS_ENABLED=Enable at least one validator on {0}. To select the validators that you want to run, open this project''s Properties wizard, turn to the Validation section, and select one or more validators in the list.
-
-VBF_UI_CHECKBOXGROUP_TITLE=Validators
-
-VBF_UI_CLOSED_PROJECT=Validation cannot run on a closed project. Open project {0} and try again.
-VBF_UI_MSSGBOX_TITLE_NONINC=Some of the Validators Do Not Support Automatic Validation
-VBF_UI_AUTO_ON_NONINC=Although automatic validation has been selected, some of the validators will not be invoked during the automatic processing. The following validators do not support automatic validation: {0}
-
-VBF_UI_PRJNEEDINPUT=Project {0} and its children were not validated because none of the enabled validators validates that type of project.
-VBF_UI_RESNEEDINPUT=Resource {0} was not validated because none of the enabled validators validates that type of resource.
-
-VBF_UI_MAX_REPORTED=Validation was terminated on {0} because the maximum number of messages were reported.
-VBF_UI_PRJVALIDATED=Validation of project {0} is complete.
-VBF_UI_RESVALIDATED=Validation of resource {0} is complete.
-VBF_UI_CANCELLED=Validation cancelled.
-VBF_UI_COMPLETE=Validation completed.
-VBF_UI_CLOSE=Close
-VBF_UI_STATUS=Status
-VBF_UI_RESCANCELLED=Validation was cancelled on {0}.
-DISABLE_VALIDATION=Suspend all validators
-#
-# End Validation Builder Framework UI Strings
-#
-
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ContextIds.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ContextIds.java
deleted file mode 100644
index b4b36f0..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ContextIds.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-
-public interface ContextIds {
-	static final String PREFIX = WTPUIPlugin.PLUGIN_ID;
-
-	// context ids for the Validation Properties Page
-	public static final String VALIDATION_PROPERTIES_PAGE = PREFIX + ".jvpp0000"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_OVERRIDE = PREFIX + ".jvpp0001"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_BUILD_NOVALSELECTED = PREFIX + ".jvpp0003"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_AUTOBUILD = PREFIX + ".jvpp0004"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_NOINCVALSELECTED = PREFIX + ".jvpp0005"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_NOINCVALCONFIG = PREFIX + ".jvpp0006"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_AUTO_ENABLED = PREFIX + ".jvpp0020"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED = PREFIX + ".jvpp0030"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_BOTH = PREFIX + ".jvpp0031"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_AUTO = PREFIX + ".jvpp0032"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_MANUAL = PREFIX + ".jvpp0033"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_REBUILD_ENABLED = PREFIX + ".jvpp0040"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_MAX_MESSAGES = PREFIX + ".jvpp0050"; //$NON-NLS-1$
-
-	public static final String VALIDATION_PREFERENCE_PAGE = PREFIX + ".jvgp0000"; //$NON-NLS-1$
-	public static final String VALIDATION_PREFERENCE_PAGE_OVERRIDE = PREFIX + ".jvgp0005"; //$NON-NLS-1$
-	public static final String VALIDATION_PREFERENCE_PAGE_DISABLE_ALL_ENABLED = PREFIX + ".jvgp0010"; //$NON-NLS-1$
-	//	public static final String VALIDATION_PREFERENCE_PAGE_REBUILD_DISABLED = PREFIX +
-	// ".jvgp0011"; //$NON-NLS-1$
-	public static final String VALIDATION_PREFERENCE_PAGE_AUTO_ENABLED = PREFIX + ".jvgp0020"; //$NON-NLS-1$
-	//	public static final String VALIDATION_PREFERENCE_PAGE_AUTO_DISABLED_AUTOBUILD = PREFIX +
-	// ".jvgp0021"; //$NON-NLS-1$
-	//	public static final String VALIDATION_PREFERENCE_PAGE_AUTO_DISABLED_NOINCVALSELECTED = PREFIX
-	// + ".jvgp0022"; //$NON-NLS-1$
-	//	public static final String VALIDATION_PREFERENCE_PAGE_AUTO_DISABLED_NOINCVALCONFIG = PREFIX +
-	// ".jvgp0023"; //$NON-NLS-1$
-	public static final String VALIDATION_PREFERENCE_PAGE_MAX_MESSAGES = PREFIX + ".jvgp0030"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ProgressAndTextDialog.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ProgressAndTextDialog.java
deleted file mode 100644
index 63af6e3..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ProgressAndTextDialog.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-
-/**
- * Display both progress status and cumulative status (text) to the user.
- */
-public class ProgressAndTextDialog extends ProgressMonitorDialog {
-	protected static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
-	protected Text text = null;
-	protected boolean cancelPressed = false; // Has the "Cancel" button been clicked?
-	protected boolean closePressed = false; // Has the "Close" button been clicked?
-	protected boolean operationDone = false; // Has the operation completed?
-	protected Cursor arrowCursor; // The cursor used in the cancel button.
-
-
-	public ProgressAndTextDialog(Shell parent) {
-		super(parent);
-		setShellStyle(SWT.BORDER | SWT.TITLE | SWT.RESIZE); // do not make this dialog modal
-		setBlockOnOpen(false); // do not force the user to close this dialog before using eclipse
-	}
-
-	public Control createDialogArea(Composite parent) {
-		super.createDialogArea(parent);
-
-		final int hHint = 100;
-		final int wHint = 250;
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		Label textLabel = new Label(composite, SWT.LEFT | SWT.WRAP);
-		textLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_STATUS));
-		GridData labelData = new GridData();
-		labelData.horizontalSpan = 2;
-		textLabel.setLayoutData(labelData);
-
-		composite.setLayout(new GridLayout()); // use the layout's default preferences
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = hHint;
-		data.widthHint = wHint;
-		data.horizontalSpan = 2;
-		composite.setLayoutData(data);
-
-		text = new Text(composite, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY | SWT.BORDER);
-		GridData d = new GridData(GridData.FILL_BOTH);
-		text.setLayoutData(d);
-
-		return composite;
-	}
-
-	public void addText(final String messageString) {
-		if (getShell() != null) {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					text.append(messageString);
-					text.append(NEWLINE);
-				}
-			});
-		}
-	}
-
-	/**
-	 * Do not dismiss the dialog until the user presses the Close button.
-	 */
-	public boolean close() {
-		if (closePressed) {
-			// Cancel button converted to "Close" button, and user clicked the "Close" button
-			return super.close();
-		}
-
-		// Turn the "cancel" button into a "Close" button and keep the window open until
-		// the user clicks the "Close" button.
-		progressIndicator.setVisible(false);
-		if (arrowCursor == null)
-			arrowCursor = new Cursor(cancel.getDisplay(), SWT.CURSOR_ARROW);
-		getShell().setCursor(arrowCursor);
-		if (cancelPressed) {
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_CANCELLED));
-		} else {
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_COMPLETE));
-		}
-		cancel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_CLOSE));
-		cancel.setEnabled(true);
-		return false;
-	}
-
-	protected void internalCancelPressed() {
-		// Has this method been called because "Cancel" has been clicked or
-		// because "Close" has been clicked?
-		if (operationDone) {
-			// "Close" was clicked.
-			closePressed = true;
-			close();
-		} else {
-			// "Cancel" was clicked.
-			cancelPressed = true;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-
-		// Cannot override cancelPressed() because of the way that
-		// ProgressMonitorDialog is coded.
-		// The ProgressMonitorDialog parent, instead of overriding the
-		// cancelPressed() method, added an anonymous Listener to the
-		// cancel button. When the button's Listener is invoked, if
-		// close() has been called by cancelPressed(), then an
-		// exception is thrown (SWTException - "Widget is disposed').
-		// Work around this by adding an anonymous
-		// cancel listener, which will be called after the parent's
-		// cancel listener, and this class' listener will call close().
-		cancel.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				internalCancelPressed();
-			}
-		});
-	}
-
-	/**
-	 * @see org.eclipse.jface.operation.IRunnableContext#run(boolean, boolean,
-	 *      IRunnableWithProgress)
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-		try {
-			super.run(fork, cancelable, runnable);
-		} finally {
-			operationDone = true;
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceConstants.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceConstants.java
deleted file mode 100644
index f216c3b..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceConstants.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-
-/**
- * This interface contains the constants used as keys into the ResourceBundle.
- */
-public interface ResourceConstants {
-	// Internal error has occurred.
-	public static final String VBF_EXC_INTERNAL = "VBF_EXC_INTERNAL"; //$NON-NLS-1$
-
-	// Internal error occurred while constructing or running the Properties or Preference page.
-	public static final String VBF_EXC_INTERNAL_PAGE = "VBF_EXC_INTERNAL_PAGE"; //$NON-NLS-1$
-
-	// Internal error has occurred.
-	public static final String VBF_EXC_INTERNAL_PROJECT = "VBF_EXC_INTERNAL_PROJECT"; //$NON-NLS-1$
-	public static final String VBF_EXC_INTERNAL_TITLE = "VBF_EXC_INTERNAL_TITLE"; //$NON-NLS-1$
-
-	// Should never happen, since plugin.xml specifies an IProject objectClass filter, but if the
-	// ValidationPropertiesPage is shown on a non-IProject resource, this message will be what's
-	// shown.
-	public static final String VBF_EXC_INVALID_REGISTER = "VBF_EXC_INVALID_REGISTER"; //$NON-NLS-1$
-
-	// On the Properties Page, this is the string which explains to the user what to do. The string
-	// is
-	// displayed in a label.
-	public static final String VBF_UI_LBL_DESC = "VBF_UI_LBL_DESC"; //$NON-NLS-1$
-
-	// On the Properties Page, this is the string which explains to the user what to do. The string
-	// is
-	// displayed in a label.
-	public static final String VBF_UI_LBL_NOVALIDATORS_DESC = "VBF_UI_LBL_NOVALIDATORS_DESC"; //$NON-NLS-1$
-
-	// Label on the checkbox button of the validator page
-	public static final String VBF_UI_LBL_AUTO_VALIDATE = "VBF_UI_LBL_AUTO_VALIDATE"; //$NON-NLS-1$
-
-	// If the user has selected "Validate this project" from the popupMenu, but has no validators
-	// enabled, tell them that nothing will run.
-	public static final String VBF_UI_NO_VALIDATORS_ENABLED = "VBF_UI_NO_VALIDATORS_ENABLED"; //$NON-NLS-1$
-
-	// On the Properties Page, this is the title of the group which encloses the CheckboxTableViewer
-	// (the list of configured validators).
-	public static final String VBF_UI_CHECKBOXGROUP_TITLE = "VBF_UI_CHECKBOXGROUP_TITLE"; //$NON-NLS-1$
-	public static final String VBF_UI_AUTO_ON_NONINC = "VBF_UI_AUTO_ON_NONINC"; //$NON-NLS-1$
-	public static final String VBF_UI_MSSGBOX_TITLE_NONINC = "VBF_UI_MSSGBOX_TITLE_NONINC"; //$NON-NLS-1$
-	public static final String VBF_UI_AUTO_NOTE = "VBF_UI_AUTO_NOTE"; //$NON-NLS-1$
-	public static final String VBF_UI_AUTO_NOTE_TEXT = "VBF_UI_AUTO_NOTE_TEXT"; //$NON-NLS-1$
-	public static final String VBF_UI_MENUITEM_TEXT = "VBF_UI_MENUITEM_TEXT"; //$NON-NLS-1$
-	public static final String VBF_UI_MENUITEM_TEXT_DEFAULT = "VBF_UI_MENUITEM_TEXT_DEFAULT"; //$NON-NLS-1$
-	public static final String VBF_UI_CLOSED_PROJECT = "VBF_UI_CLOSED_PROJECT"; //$NON-NLS-1$
-	public static final String VBF_UI_NO_VALIDATORS_INSTALLED = "VBF_UI_NO_VALIDATORS_INSTALLED"; //$NON-NLS-1$
-
-	public static final String VBF_UI_POPUP_RUNVALIDATION = "%VBF_UI_POPUP_RUNVALIDATION"; //$NON-NLS-1$
-
-	/* package */static final String PREF_BUTTON_ENABLEALL = "PREF_BUTTON_ENABLEALL"; //$NON-NLS-1$
-	/* package */static final String PREF_BUTTON_DISABLEALL = "PREF_BUTTON_DISABLEALL"; //$NON-NLS-1$
-	/* package */static final String PREF_VALLIST_TITLE = "PREF_VALLIST_TITLE"; //$NON-NLS-1$
-	/* package */static final String PREF_BUTTON_AUTO = "PREF_BUTTON_AUTO"; //$NON-NLS-1$
-	/* package */static final String PREF_BUTTON_OVERRIDE = "PREF_BUTTON_OVERRIDE"; //$NON-NLS-1$
-	/* package */static final String PREF_BUTTON_FULL = "PREF_BUTTON_FULL"; //$NON-NLS-1$
-	/* package */static final String PREF_LBL_MAXMSGS = "PREF_LBL_MAXMSGS"; //$NON-NLS-1$
-	/* package */static final String PROP_BUTTON_OVERRIDE = "PROP_BUTTON_OVERRIDE"; //$NON-NLS-1$
-	/* package */static final String PROP_BUTTON_FULL = "PROP_BUTTON_FULL"; //$NON-NLS-1$
-	/* package */static final String PROP_BUTTON_SELECTALL = "PROP_BUTTON_SELECTALL"; //$NON-NLS-1$
-	/* package */static final String PROP_BUTTON_DESELECTALL = "PROP_BUTTON_DESELECTALL"; //$NON-NLS-1$
-	/* package */static final String PROP_LBL_MAXMSSGS = "PROP_LBL_MAXMSSGS"; //$NON-NLS-1$
-	/* package */static final String PREF_ERROR_INT = "PREF_ERROR_INT"; //$NON-NLS-1$
-	/* package */static final String PROP_ERROR_INT = "PROP_ERROR_INT"; //$NON-NLS-1$
-
-	/* package */static final String VBF_UI_PRJNEEDINPUT = "VBF_UI_PRJNEEDINPUT"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_RESNEEDINPUT = "VBF_UI_RESNEEDINPUT"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_MAX_REPORTED = "VBF_UI_MAX_REPORTED"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_PRJVALIDATED = "VBF_UI_PRJVALIDATED"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_RESVALIDATED = "VBF_UI_RESVALIDATED"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_CANCELLED = "VBF_UI_CANCELLED"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_COMPLETE = "VBF_UI_COMPLETE"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_CLOSE = "VBF_UI_CLOSE"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_STATUS = "VBF_UI_STATUS"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_RESCANCELLED = "VBF_UI_RESCANCELLED"; //$NON-NLS-1$
-	
-	/* package */static final String DISABLE_VALIDATION = "DISABLE_VALIDATION"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceHandler.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceHandler.java
deleted file mode 100644
index 531ff42..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceHandler.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-
-/**
- * This class retrieves the Strings from the .properties file appropriate for the machine's Locale.
- */
-public class ResourceHandler {
-	//TODO Make this class final once the public ResourceHandler has been deleted.
-	private static ResourceBundle _bundle = null;
-
-	protected ResourceHandler() {
-		//TODO Make this method private once the public ResourceHandler has been deleted.
-		super();
-	}
-
-	/**
-	 * Return the resource bundle which contains the messages, as identified by
-	 */
-	public static ResourceBundle getBundle() {
-		if (_bundle == null) {
-			try {
-				_bundle = ResourceBundle.getBundle(ValidationUIPlugin.getBundleName());
-			} catch (MissingResourceException exc) {
-				_bundle = null;
-				Logger logger = WTPUIPlugin.getLogger();
-				if (logger.isLoggingLevel(Level.FINE)) {
-					LogEntry entry = ValidationUIPlugin.getLogEntry();
-					entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getBundle()"); //$NON-NLS-1$
-					entry.setText("Cannot find bundle " + ValidationUIPlugin.getBundleName()); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.FINE, entry);
-				}
-			}
-		}
-		return _bundle;
-	}
-
-	public static String getExternalizedMessage(String key) {
-		try {
-			ResourceBundle bundle = getBundle();
-			if (bundle == null) {
-				Logger logger = WTPUIPlugin.getLogger();
-				if (logger.isLoggingLevel(Level.FINE)) {
-					LogEntry entry = ValidationUIPlugin.getLogEntry();
-					entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String)"); //$NON-NLS-1$
-					entry.setText("Resource bundle is null"); //$NON-NLS-1$
-					logger.write(Level.FINE, entry);
-				}
-				return key;
-			}
-
-			return bundle.getString(key);
-		} catch (NullPointerException exc) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String)"); //$NON-NLS-1$
-				entry.setText("Cannot find message id " + key); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		}
-		return key;
-	}
-
-	public static String getExternalizedMessage(String key, String[] parms) {
-		String res = ""; //$NON-NLS-1$
-		try {
-			res = java.text.MessageFormat.format(getExternalizedMessage(key), parms);
-		} catch (MissingResourceException exc) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String, String[])"); //$NON-NLS-1$
-				entry.setText("Cannot find message id " + key); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		} catch (NullPointerException exc) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String, String[])"); //$NON-NLS-1$
-				entry.setText("Cannot format message id " + key + " with " + parms.length + " parameters."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		}
-		return res;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidateAction.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidateAction.java
deleted file mode 100644
index d52b12d..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidateAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-
-public class ValidateAction extends SelectionListenerAction {
-	protected ValidationMenuAction delegate;
-
-	public ValidateAction() {
-		super(ValidationUIPlugin.getResourceString(ResourceConstants.VBF_UI_POPUP_RUNVALIDATION));
-		delegate = new ValidationMenuAction();
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-
-	/**
-	 * Updates this action in response to the given selection.
-	 * <p>
-	 * The <code>SelectionListenerAction</code> implementation of this method returns
-	 * <code>true</code>. Subclasses may extend to react to selection changes; however, if the
-	 * super method returns <code>false</code>, the overriding method must also return
-	 * <code>false</code>.
-	 * </p>
-	 * 
-	 * @param selection
-	 *            the new selection
-	 * @return <code>true</code> if the action should be enabled for this selection, and
-	 *         <code>false</code> otherwise
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		if (!super.updateSelection(selection))
-			return false;
-
-		delegate.selectionChanged(this, selection);
-
-		return isEnabled(); // "Enabled" is set by the delegate.
-	}
-
-	/**
-	 * If a subclass of ValidateAction enables this menu action on a type that is not an IResource,
-	 * this method returns the IResource[] that represent that object. If null is returned, the
-	 * object will be ignored and the user will not be notified that the object was not validated.
-	 * This method will be called when updateSelection and run are called. (The result of this
-	 * method is used to determine which resources will be validated)
-	 */
-	protected IResource[] getResource(Object selected) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationJob.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationJob.java
deleted file mode 100644
index 860dfe7..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationJob.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.wst.validation.internal.ui;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
-
-public class ValidationJob extends Job {
-
-
-	private Map projects = null;
-	public ValidationJob(String name) {
-		super(name);
-	}
-
-
-	public void setProjectsMap(Map projects){
-		this.projects = projects;
-	}
-
-
-	protected IStatus run(IProgressMonitor monitor) {
-
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationMenuAction.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationMenuAction.java
deleted file mode 100644
index 5983cf7..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationMenuAction.java
+++ /dev/null
@@ -1,761 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-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.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidationSelectionHandlerRegistryReader;
-import org.eclipse.wst.validation.internal.operations.ManualValidatorsOperation;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-/**
- * This class implements the pop-up menu item "Run Validation" When the item is selected, this
- * action triggers a validation of the project, using all configured, enabled validators.
- */
-public class ValidationMenuAction implements IViewActionDelegate {
-	private ISelection _currentSelection = null;
-	protected static final String SEP = "/"; //$NON-NLS-1$
-	private Display _currentDisplay = null;
-	private IResourceVisitor _folderVisitor = null;
-	private Map _selectedResources = null;
-	//protected IWorkbenchContext workbenchContext;
-
-	public ValidationMenuAction() {
-		super();
-		_currentDisplay = Display.getCurrent(); // cache the display before
-		// this action is forked. After
-		// the action is forked,
-		// Display.getCurrent() returns
-		// null.
-		_selectedResources = new HashMap();
-	}
-
-	private Display getDisplay() {
-		return (_currentDisplay == null) ? Display.getCurrent() : _currentDisplay;
-	}
-
-	/**
-	 * Return the wizard's shell.
-	 */
-	Shell getShell() {
-		Display display = getDisplay();
-		Shell shell = (display == null) ? null : display.getActiveShell();
-		if (shell == null && display != null) {
-			Shell[] shells = display.getShells();
-			if (shells.length > 0)
-				shell = shells[0];
-		}
-		return shell;
-	}
-
-	private ISelection getCurrentSelection() {
-		return _currentSelection;
-	}
-
-	/**
-	 * Return a map of the selected elements. Each key of the map is an IProject, and the value is a
-	 * Set of the selected resources in that project. If a project is selected, and nothing else in
-	 * the project is selected, a full validation (null value) will be done on the project. If a
-	 * project is selected, and some files/folders in the project are also selected, only the
-	 * files/folders will be validated. If a folder is selected, all of its contents are also
-	 * validated.
-	 */
-	private Map loadSelected(ValidateAction action, boolean refresh) {
-		if (refresh) {
-			// selectionChanged(IAction, ISelection) has been called. Flush the
-			// existing cache of resources and
-			// add just the currently selected ones.
-			_selectedResources.clear();
-		}
-		ISelection selection = getCurrentSelection();
-		if ((selection == null) || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
-			return null;
-		}
-		Object[] elements = ((IStructuredSelection) selection).toArray();
-		for (int i = 0; i < elements.length; i++) {
-			Object element = elements[i];
-			if (element == null) {
-				continue;
-			}
-			addSelected(action, element);
-		}
-		return _selectedResources;
-	}
-
-	private void addSelected(ValidateAction action, Object selected) {
-		if (selected instanceof IProject) {
-			addSelected((IProject) selected);
-		} else if (selected instanceof IFile) {
-			addSelected((IFile) selected);
-		} else if (selected instanceof IFolder) {
-			addVisitor((IFolder) selected);
-		} else if (isValidType(getExtendedType(selected))) {
-			addSelected(action,getExtendedType(selected));
-		} else {
-			// Not a valid input type. Must be IProject, IJavaProject, or
-			// IResource.
-			// If this ValidationMenuAction is a delegate of ValidateAction, is
-			// the input type recognized by the ValidateAction?
-			boolean valid = false;
-			if (action != null) {
-				IResource[] resources = action.getResource(selected);
-				if (resources != null) {
-					valid = true;
-					for (int i = 0; i < resources.length; i++) {
-						addSelected(action, resources[i]);
-					}
-				}
-			}
-			if (!valid) {
-				// Stop processing. (This allows the "Run Validation" menu item
-				// to gray
-				// out once at least one non-validatable element is selected.)
-				_selectedResources.clear();
-			}
-		}
-	}
-	
-	private Object getExtendedType(Object selected) {
-		Object result = ValidationSelectionHandlerRegistryReader.getInstance().getExtendedType(selected);
-		return result == null ? selected : result;
-	}
-	
-	private boolean isValidType(Object object) {
-		return object instanceof IProject || object instanceof IFile || object instanceof IFolder;
-	}
-
-	private void addSelected(IProject selected) {
-		_selectedResources.put(selected, null); // whatever the values were
-		// before, the entire project
-		// needs to be revalidated now
-	}
-
-//	private void addSelected(IJavaProject selected) {
-//		_selectedResources.put(selected.getProject(), null); // whatever the
-//		// values were
-//		// before, the
-//		// entire project
-//		// needs to be
-//		// revalidated now
-//	}
-
-	void addSelected(IResource selected) {
-		IProject project = selected.getProject();
-		boolean added = _selectedResources.containsKey(project);
-		List changedRes = null;
-		if (added) {
-			// If the value is null, the entire project needs to be validated
-			// anyway.
-			changedRes = (List) _selectedResources.get(project);
-			if (changedRes == null) {
-				return;
-			}
-		} else {
-			changedRes = new ArrayList();
-		}
-		if (!changedRes.contains(selected)) {
-			changedRes.add(selected);
-			_selectedResources.put(project, changedRes);
-		}
-	}
-
-	private void addVisitor(IFolder selected) {
-		// add the folder and its children
-		try {
-			selected.accept(getFolderVisitor());
-		} catch (CoreException exc) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidationMenuAction.addSelected(IFolder)"); //$NON-NLS-1$
-				entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL);
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return;
-		}
-	}
-
-	private IResourceVisitor getFolderVisitor() {
-		if (_folderVisitor == null) {
-			_folderVisitor = new IResourceVisitor() {
-				public boolean visit(IResource res) {
-					if (res instanceof IFile) {
-						addSelected(res);
-					} else if (res instanceof IFolder) {
-						addSelected(res);
-					}
-					return true; // visit the resource's children
-				}
-			};
-		}
-		return _folderVisitor;
-	}
-
-	/**
-	 * The delegating action has been performed. Implement this method to do the actual work.
-	 * 
-	 * @param action
-	 *            action proxy that handles the presentation portion of the plugin action
-	 * @param window
-	 *            the desktop window passed by the action proxy
-	 */
-//	public void run(IAction action) {
-//		ValidateAction vaction = null;
-//		if (action instanceof ValidateAction) {
-//			vaction = (ValidateAction) action;
-//		}
-//		final Map projects = loadSelected(vaction, false);
-//		if ((projects == null) || (projects.size() == 0)) {
-//			return;
-//		}
-//		final ProgressAndTextDialog dialog = new ProgressAndTextDialog(getShell());
-//		try {
-//			IRunnableWithProgress runnable = ValidationUIPlugin.getRunnableWithProgress(new IWorkspaceRunnable() {
-//				public void run(IProgressMonitor monitor) {
-//					validate(monitor, projects, dialog);
-//				}
-//			});
-//			// validate all EJBs in this project
-//			dialog.run(true, true, runnable); // fork, cancelable.
-//		} catch (InvocationTargetException exc) {
-//			Logger logger = WTPUIPlugin.getLogger();
-//			if (logger.isLoggingLevel(Level.SEVERE)) {
-//				LogEntry entry = ValidationUIPlugin.getLogEntry();
-//				entry.setSourceID("ValidationMenuAction.run(IAction)"); //$NON-NLS-1$
-//				entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL);
-//				entry.setTargetException(exc);
-//				logger.write(Level.SEVERE, entry);
-//				if (exc.getTargetException() != null) {
-//					entry.setTargetException(exc.getTargetException());
-//					logger.write(Level.SEVERE, entry);
-//				}
-//			}
-//			String internalErrorMessage = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL);
-//			dialog.addText(internalErrorMessage);
-//		} catch (InterruptedException exc) {
-//			// User cancelled validation
-//		} catch (Throwable exc) {
-//			Logger logger = WTPUIPlugin.getLogger();
-//			if (logger.isLoggingLevel(Level.SEVERE)) {
-//				LogEntry entry = ValidationUIPlugin.getLogEntry();
-//				entry.setSourceID("ValidationMenuAction.run(IAction)"); //$NON-NLS-1$
-//				entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL);
-//				entry.setTargetException(exc);
-//				logger.write(Level.SEVERE, entry);
-//			}
-//			String internalErrorMessage = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL);
-//			dialog.addText(internalErrorMessage);
-//		} finally {
-//			_selectedResources.clear();
-//		}
-//	}
-	
-	
-	public void run(IAction action) {
-		ValidateAction vaction = null;
-		if (action instanceof ValidateAction) {
-			vaction = (ValidateAction) action;
-		}
-		final Map projects = loadSelected(vaction, false);
-		if ((projects == null) || (projects.size() == 0)) {
-			return;
-		}
-
-		ValidationJob validationop = new ValidationJob("Running Validation"){ //$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				final Map projectsMap = projects;
-				IStatus stat = validate(monitor, projectsMap);	
-				_selectedResources.clear();
-				return stat;
-			}
-		};
-		validationop.setProjectsMap(projects);
-		validationop.setRule(ResourcesPlugin.getWorkspace().getRoot());
-		validationop.setUser(true);
-		validationop.schedule();
-
-
-//		try {
-//			validate(monitor, projects );
-//		}  finally {
-//			_selectedResources.clear();
-//		}
-	}
-	
-	private IStatus validate(final IProgressMonitor monitor, final Map projects) {
-		boolean cancelled = false; // Was the operation cancelled?
-		Iterator iterator = projects.keySet().iterator();
-		while (iterator.hasNext()) {
-			
-			if ( monitor.isCanceled() )
-				return new Status(IStatus.CANCEL, "org.eclipse.wst.validation", 0, "OK", null);;
-			IProject project = (IProject) iterator.next();
-			if (project == null) {
-				continue;
-			}
-			try {
-				if (cancelled) {
-					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESCANCELLED, new String[]{project.getName()});
-					monitor.setTaskName(message);
-					continue;
-				}
-				if (!project.isOpen()) {
-					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_CLOSED_PROJECT, new String[]{project.getName()});
-					monitor.setTaskName(message);
-					continue;
-				}
-				performValidation(monitor, projects, project);
-			} catch (OperationCanceledException exc) {
-				// When loading file deltas, if the operation has been
-				// cancelled, then
-				// resource.accept throws an OperationCanceledException.
-				cancelled = true;
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESCANCELLED, new String[]{project.getName()});
-				monitor.setTaskName(message);
-			} catch (Throwable exc) {
-				logException(monitor, project, exc);
-			}
-		}
-		return new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null);
-	}
-	
-//	void validate(final IProgressMonitor monitor, final Map projects, ProgressAndTextDialog dialog) {
-//		boolean cancelled = false; // Was the operation cancelled?
-//		Iterator iterator = projects.keySet().iterator();
-//		while (iterator.hasNext()) {
-//			IProject project = (IProject) iterator.next();
-//			if (project == null) {
-//				continue;
-//			}
-//			try {
-//				if (cancelled) {
-//					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESCANCELLED, new String[]{project.getName()});
-//					dialog.addText(message);
-//					continue;
-//				}
-//				if (!project.isOpen()) {
-//					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_CLOSED_PROJECT, new String[]{project.getName()});
-//					dialog.addText(message);
-//					continue;
-//				}
-//				performValidation(monitor, projects, dialog, project);
-//			} catch (OperationCanceledException exc) {
-//				// When loading file deltas, if the operation has been
-//				// cancelled, then
-//				// resource.accept throws an OperationCanceledException.
-//				cancelled = true;
-//				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESCANCELLED, new String[]{project.getName()});
-//				dialog.addText(message);
-//			} catch (Throwable exc) {
-//				logException(dialog, project, exc);
-//			}
-//		}
-//	}
-
-	/**
-	 * @param dialog
-	 * @param project
-	 * @param exc
-	 */
-//	private void logException(ProgressAndTextDialog dialog, IProject project, Throwable exc) {
-//		Logger logger = WTPUIPlugin.getLogger();
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationUIPlugin.getLogEntry();
-//			entry.setSourceID("ValidationMenuAction.validate"); //$NON-NLS-1$
-//			entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL);
-//			entry.setTargetException(exc);
-//			logger.write(Level.SEVERE, entry);
-//		}
-//		String internalErrorMessage = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PROJECT, new String[]{project.getName()});
-//		dialog.addText(internalErrorMessage);
-//	}
-//	
-	private void logException(IProgressMonitor monitor, IProject project, Throwable exc) {
-		Logger logger = WTPUIPlugin.getLogger();
-		if (logger.isLoggingLevel(Level.SEVERE)) {
-			LogEntry entry = ValidationUIPlugin.getLogEntry();
-			entry.setSourceID("ValidationMenuAction.validate"); //$NON-NLS-1$
-			entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL);
-			entry.setTargetException(exc);
-			logger.write(Level.SEVERE, entry);
-		}
-		String internalErrorMessage = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PROJECT, new String[]{project.getName()});
-		monitor.setTaskName(internalErrorMessage);
-	}	
-
-	/**
-	 * @param monitor
-	 * @param projects
-	 * @param dialog
-	 * @param project
-	 * @throws CoreException
-	 */
-//	private void performValidation(final IProgressMonitor monitor, final Map projects, ProgressAndTextDialog dialog, IProject project) throws CoreException {
-//		// Even if the "maximum number of messages" message is on
-//		// the task list,
-//		// run validation, because some messages may have been
-//		// fixed
-//		// and there may be space for more messages.
-//		List changedResources = (List) projects.get(project);
-//		IResource[] resources = null;
-//		if (changedResources != null) {
-//			resources = new IResource[changedResources.size()];
-//			changedResources.toArray(resources);
-//		}
-//		try {
-//			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-//			if (prjp.numberOfEnabledValidators() > 0) {
-//				checkProjectConfiguration(monitor, dialog, project, resources, prjp);
-//			} else {
-//				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_NO_VALIDATORS_ENABLED, new String[]{project.getName()});
-//				dialog.addText(message);
-//			}
-//		} catch (InvocationTargetException exc) {
-//			Logger logger = ValidationPlugin.getPlugin().getLogger();
-//			if (logger.isLoggingLevel(Level.SEVERE)) {
-//				LogEntry entry = ValidationPlugin.getLogEntry();
-//				entry.setSourceIdentifier("ValidationMenuAction::run"); //$NON-NLS-1$
-//				entry.setTargetException(exc);
-//				logger.write(Level.SEVERE, entry);
-//				if (exc.getTargetException() != null) {
-//					entry.setTargetException(exc);
-//					logger.write(Level.SEVERE, entry);
-//				}
-//			}
-//		}
-//	}
-
-	
-	private IStatus performValidation(final IProgressMonitor monitor, final Map projects,
-				 IProject project) throws CoreException {
-		// Even if the "maximum number of messages" message is on
-		// the task list,
-		// run validation, because some messages may have been
-		// fixed
-		// and there may be space for more messages.
-		
-		if ( monitor.isCanceled() )
-			return new Status(IStatus.CANCEL, "org.eclipse.wst.validation", 0, "OK", null);
-		
-		List changedResources = (List) projects.get(project);
-		IResource[] resources = null;
-		if (changedResources != null) {
-			resources = new IResource[changedResources.size()];
-			changedResources.toArray(resources);
-		}
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			if (prjp.numberOfManualEnabledValidators() > 0) {
-				checkProjectConfiguration(monitor, project, resources, prjp);
-			} else {
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_NO_VALIDATORS_ENABLED, new String[]{project.getName()});
-				monitor.setTaskName(message);
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidationMenuAction::run"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-		return new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null);
-	}
-	
-	/**
-	 * @param monitor
-	 * @param dialog
-	 * @param project
-	 * @param resources
-	 * @param prjp
-	 * @throws InvocationTargetException
-	 * @throws CoreException
-	 */
-//	private void checkProjectConfiguration(final IProgressMonitor monitor, ProgressAndTextDialog dialog, IProject project, IResource[] resources, ProjectConfiguration prjp) throws InvocationTargetException, CoreException {
-//		boolean successful = true; // Did the operation
-//		// complete
-//		// successfully?
-//		EnabledValidatorsOperation validOp = null;
-//		if (resources == null) {
-//			validOp = new EnabledValidatorsOperation(project,prjp.runAsync());
-//		} else {
-//			validOp = new EnabledIncrementalValidatorsOperation(resources, project, prjp.runAsync());
-//		}
-//		if (validOp.isNecessary(monitor)) {
-//			
-//			ValidationOperationJob validationJob = new ValidationOperationJob("ValidationOperation");
-//			validationJob.setValidationOperation( validOp );
-//			validationJob.setUser( true );
-//			//validationJob.setRule(rule);
-//			validationJob.schedule();
-//			
-//			final IStatus stat = validationJob.getResult();
-//			if( !stat.isOK() ){
-//				successful = false;
-//			}
-//			//ResourcesPlugin.getWorkspace().run(validOp, monitor);
-//			
-//		} else {
-//			if (resources == null) {
-//				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_PRJNEEDINPUT, new String[]{project.getName()});
-//				dialog.addText(message);
-//			} else {
-//				for (int i = 0; i < resources.length; i++) {
-//					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESNEEDINPUT, new String[]{resources[i].getFullPath().toString()});
-//					dialog.addText(message);
-//				}
-//			}
-//		}
-//		if (successful) {
-//			performSucessful(dialog, project, resources);
-//		} else {
-//			String internalErrorMessage = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PROJECT, new String[]{project.getName()});
-//			dialog.addText(internalErrorMessage);
-//		}
-//	}
-
-	
-	private IStatus checkProjectConfiguration(final IProgressMonitor monitor,
-				IProject project, IResource[] resources, ProjectConfiguration prjp) throws InvocationTargetException, CoreException {
-		boolean successful = true; // Did the operation
-		// complete
-		// successfully?
-		if ( monitor.isCanceled() )
-			new Status(IStatus.CANCEL, "org.eclipse.wst.validation", 0, "OK", null);
-		
-		ManualValidatorsOperation validOp = null;
-		validOp = new ManualValidatorsOperation(project);
-//		if (resources == null) {
-//			validOp = new ManualValidatorsOperation(project);
-//		} else {
-//			validOp = new ManualEnabledIncrementalValidatorsOperation(resources, project,false);
-//		}
-		if (validOp.isNecessary(monitor)) {
-			validOp.run(monitor);
-			//ResourcesPlugin.getWorkspace().run(validOp, monitor);
-			
-		} else {
-			if (resources == null) {
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_PRJNEEDINPUT, new String[]{project.getName()});
-				monitor.setTaskName(message);
-			} else {
-				for (int i = 0; i < resources.length; i++) {
-					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESNEEDINPUT, new String[]{resources[i].getFullPath().toString()});
-					monitor.setTaskName(message);
-				}
-			}
-		}
-		if (successful) {
-			performSucessful(monitor, project, resources);
-		} else {
-			String internalErrorMessage = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PROJECT, new String[]{project.getName()});
-			monitor.setTaskName(internalErrorMessage);
-		}
-		return new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null);
-	}
-	
-	/*public IWorkbenchContext getWorkbenchContext() {
-		if(workbenchContext == null)
-			workbenchContext = new WorkbenchContext();
-		return workbenchContext;
-	}*/
-
-	/**
-	 * @param dialog
-	 * @param project
-	 * @param resources
-	 */
-//	private void performSucessful(ProgressAndTextDialog dialog, IProject project, IResource[] resources) {
-//		boolean limitExceeded = ValidatorManager.getManager().wasValidationTerminated(project);
-//		if (limitExceeded) {
-//			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_MAX_REPORTED, new String[]{project.getName()});
-//			dialog.addText(message);
-//		} else if (resources == null) {
-//			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_PRJVALIDATED, new String[]{project.getName()});
-//			dialog.addText(message);
-//		} else {
-//			for (int i = 0; i < resources.length; i++) {
-//				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESVALIDATED, new String[]{resources[i].getFullPath().toString()});
-//				dialog.addText(message);
-//			}
-//		}
-//	}
-	
-	private void performSucessful(final IProgressMonitor monitor, IProject project, IResource[] resources) {
-		boolean limitExceeded = ValidatorManager.getManager().wasValidationTerminated(project);
-		if (limitExceeded) {
-			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_MAX_REPORTED, new String[]{project.getName()});
-			monitor.setTaskName(message);
-		} else if (resources == null) {
-			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_PRJVALIDATED, new String[]{project.getName()});
-			monitor.setTaskName(message);
-		} else {
-			for (int i = 0; i < resources.length; i++) {
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESVALIDATED, new String[]{resources[i].getFullPath().toString()});
-				monitor.setTaskName(message);
-			}
-		}
-	}	
-
-	/**
-	 * Selection in the desktop has changed. Plugin provider can use it to change the availability
-	 * of the action or to modify other presentation properties.
-	 * 
-	 * <p>
-	 * Action delegate cannot be notified about selection changes before it is loaded. For that
-	 * reason, control of action's enable state should also be performed through simple XML rules
-	 * defined for the extension point. These rules allow enable state control before the delegate
-	 * has been loaded.
-	 * </p>
-	 * 
-	 * @param action
-	 *            action proxy that handles presentation portion of the plugin action
-	 * @param selection
-	 *            current selection in the desktop
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		_currentSelection = selection;
-		int count = 0;
-		boolean fwkActivated = (ValidationPlugin.isActivated() && ValidationRegistryReader.isActivated());
-		if (fwkActivated) {
-			ValidateAction vaction = null;
-			if (action instanceof ValidateAction) {
-				vaction = (ValidateAction) action;
-			}
-			final Map projects = loadSelected(vaction, true);
-			if ((projects != null) && (projects.size() > 0)) {
-				Iterator iterator = projects.keySet().iterator();
-				while (iterator.hasNext()) {
-					// If at least one project can be validated, make "enabled"
-					// true and
-					// let the dialog tell the user which projects need to be
-					// opened,
-					// validators enabled, etc.
-					IProject project = (IProject) iterator.next();
-					if ((project != null) && (project.isOpen())) {
-						// If the validation plugin hasn't been activated yet,
-						// don't activate it just to
-						// find out if there are validators. Only ask if there
-						// are enabled validators if
-						// the plugin has already been activated.
-						try {
-							ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfigurationWithoutMigrate(project);
-							if( !prjp.isDisableAllValidation() ){
-								count += prjp.numberOfManualValidators();
-							}							
-						} catch (InvocationTargetException exc) {
-							Logger logger = ValidationPlugin.getPlugin().getLogger();
-							if (logger.isLoggingLevel(Level.SEVERE)) {
-								LogEntry entry = ValidationPlugin.getLogEntry();
-								entry.setSourceIdentifier("ValidationMenuAction::selectionChanged"); //$NON-NLS-1$
-								entry.setTargetException(exc);
-								logger.write(Level.SEVERE, entry);
-								if (exc.getTargetException() != null) {
-									entry.setTargetException(exc);
-									logger.write(Level.SEVERE, entry);
-								}
-							}
-						}
-						if (count > 0)
-							break;
-					}
-				}
-			}
-		}
-		action.setEnabled((count > 0) || (!fwkActivated)); // Don't disable the
-		// action just
-		// because the
-		// framework hasn't
-		// been activated.
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.navigator.internal.views.navigator.INavigatorActionsExtension#init(org.eclipse.wst.common.navigator.internal.views.navigator.INavigatorExtensionSite)
-	 */
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		//init
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() { 
-		//dispose
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) { 
-		//init
-		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPreferencePage.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPreferencePage.java
deleted file mode 100644
index 741975a..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPreferencePage.java
+++ /dev/null
@@ -1,1068 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.GlobalConfiguration;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-/**
- * This class and its inner classes are not intended to be subclassed outside of the validation
- * framework.
- */
-public class ValidationPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	private IValidationPage _pageImpl = null;
-
-	/**
- * Initially, this interface was created as an abstract class, and getControl() was implemented.
- * (getProject() could also have been implemented in the abstract class.) However, at runtime, a
- * NullPointerException was thrown; the inner class had lost its pointer to its enclosing class.
- * After some experimentation, I discovered that if I changed the parent to an interface, the
- * enclosing class could be found. (Merely moving the AValidationPage into its own file was
- * insufficient.)
- */
-public interface IValidationPage {
-	public Composite createPage(Composite parent) throws InvocationTargetException;
-
-	public boolean performOk() throws InvocationTargetException;
-
-	public boolean performDefaults() throws InvocationTargetException;
-
-	public Composite getControl();
-
-	public void dispose();
-
-	public void loseFocus(); // Page is losing focus (event notification)
-
-	public void gainFocus(); // Page is gaining focus (event notification)
-}
-
-public class InvalidPage implements IValidationPage {
-	private Composite page = null;
-
-	private Composite composite = null;
-	private GridLayout layout = null;
-	private Label messageLabel = null;
-
-	public InvalidPage(Composite parent) {
-		page = createPage(parent);
-	}
-
-	/**
-	 * This page is added to the Properties guide if some internal problem occurred; for
-	 * example, the highlighted item in the workbench is not an IProject (according to this
-	 * page's plugin.xml, this page is only valid when an IProject is selected).
-	 */
-	public Composite createPage(Composite parent) {
-		// Don't create the default and apply buttons.
-		noDefaultAndApplyButton();
-
-		final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-		sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite = new Composite(sc1, SWT.NONE);
-		sc1.setContent(composite);
-		layout = new GridLayout();
-		composite.setLayout(layout);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-		messageLabel = new Label(composite, SWT.NONE);
-		messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INVALID_REGISTER));
-
-		composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-		return composite;
-	}
-
-	public boolean performDefaults() {
-		return true;
-	}
-
-	/**
-	 * Since this page occurs under invalid circumstances, there is nothing to save.
-	 */
-	public boolean performOk() {
-		return true;
-	}
-
-	public Composite getControl() {
-		return page;
-	}
-
-	public void dispose() {
-		messageLabel.dispose();
-		//			layout.dispose();
-		composite.dispose();
-	}
-
-	public void loseFocus() {
-		// This page does not depend on the contents of any other page in the wizard, so do
-		// nothing.
-	}
-
-	public void gainFocus() {
-		// This page does not depend on the contents of any other page in the wizard, so do
-		// nothing.
-	}
-}
-
-private class NoValidatorsPage implements IValidationPage {
-	private Composite page = null;
-	private Composite composite = null;
-	private GridLayout layout = null;
-	private GridData data = null;
-	private Label messageLabel = null;
-
-	public NoValidatorsPage(Composite parent) {
-		page = createPage(parent);
-	}
-
-	/**
-	 * This page is created if an IProject is selected, but that project has no validators
-	 * configured (i.e., the page is valid, but an empty list.)
-	 */
-	public Composite createPage(Composite parent) {
-		// Don't create the default and apply buttons.
-		noDefaultAndApplyButton();
-
-		// top level group
-		final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-		sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite = new Composite(sc1, SWT.NONE);
-		sc1.setContent(composite);
-		layout = new GridLayout();
-		composite.setLayout(layout);
-		data = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-
-		messageLabel = new Label(composite, SWT.NONE);
-		messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_NO_VALIDATORS_INSTALLED));
-
-		composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-		return composite;
-	}
-
-
-	/**
-	 * Since there are no validators, there is nothing to save.
-	 */
-	public boolean performOk() {
-		return true;
-	}
-
-	public boolean performDefaults() {
-		return true;
-	}
-
-	public Composite getControl() {
-		return page;
-	}
-
-	public void dispose() {
-		messageLabel.dispose();
-		//			layout.dispose();
-		//			data.dispose();
-		composite.dispose();
-	}
-
-	public void loseFocus() {
-		// This page does not depend on the contents of any other page in the wizard, so do
-		// nothing.
-	}
-
-	public void gainFocus() {
-		// This page does not depend on the contents of any other page in the wizard, so do
-		// nothing.
-	}
-}
-
-private class ValidatorListPage implements IValidationPage {
-	private Composite page = null;
-
-	private Composite composite = null;
-	TableViewer validatorList = null;
-	private Button enableAllButton = null;
-	private Button disableAllButton = null;
-	private Label emptyRowPlaceholder = null;
-	Button disableAllValidation = null;
-	Button overrideButton = null;
-	private Label listLabel = null;
-	private String[] columnProperties;
-	private CellEditor[] columnEditors;
-	private String[] COMBO_VALUES = new String[] {"Enabled","Disabled"};
-	private static final int ENABLED_INT = 0;
-	private static final int DISABLED_INT = 1;
-	private Table validatorsTable;
-	private static final String VALIDATORS = "validators"; //$NON-NLS-1$
-	private static final String MANUAL_CHECK = "manualCheck";//$NON-NLS-2$
-	private static final String BUILD_CHECK = "buildCheck";//$NON-NLS-2$
-	private static final int VALUE_NOT_FOUND = -1;
-	private static final int MANUAL_COL = 1;
-	private static final int BUILD_COL = 2;
-
-	GlobalConfiguration pagePreferences = null; // the values currently on the page, but not
-	// necessarily stored yet. Package visibility
-	// for the widget listeners (the compiler would
-	// have to create a synthetic accessor method in
-	// order to access this field)
-	//private boolean _isAutoBuildEnabled; // initialized in the constructor
-	private ValidatorMetaData[] _oldVmd = null; // Cache the enabled validators so that, if
-	// there is no change to this list, the
-	// expensive task list update can be avoided
-	private boolean _allow = false; // Cache the value of the prefence "allow projects to
-
-	// override" so that, when OK is clicked, we can determine
-	// if "allow" has changed or not.
-
-	/**
-	 * This class is provided for the CheckboxTableViewer in the
-	 * ValidationPropertiesPage$ValidatorListPage class.
-	 */
-	public class ValidationContentProvider implements IStructuredContentProvider {
-		/**
-		 * Disposes of this content provider. This is called by the viewer when it is disposed.
-		 */
-		public void dispose() {
-			//dispose
-		}
-
-		/**
-		 * Returns the elements to display in the viewer when its input is set to the given
-		 * element. These elements can be presented as rows in a table, items in a list, etc.
-		 * The result is not modified by the viewer.
-		 * 
-		 * @param inputElement
-		 *            the input element
-		 * @return the array of elements to display in the viewer
-		 */
-		public java.lang.Object[] getElements(Object inputElement) {
-			if (inputElement instanceof ValidatorMetaData[]) {
-				// The Collection is the Collection which is returned by ValidatorManager's
-				// getConfiguredValidatorMetaData(IProject) call.
-				// This Collection is set to be the input of the CheckboxTableViewer in
-				// ValidationPropertiesPage$ValidatorListPage's createPage(Composite)
-				// method.
-				return (ValidatorMetaData[]) inputElement;
-			}
-			return new Object[0];
-		}
-
-		/**
-		 * Notifies this content provider that the given viewer's input has been switched to a
-		 * different element.
-		 * <p>
-		 * A typical use for this method is registering the content provider as a listener to
-		 * changes on the new input (using model-specific means), and deregistering the viewer
-		 * from the old input. In response to these change notifications, the content provider
-		 * propagates the changes to the viewer.
-		 * </p>
-		 * 
-		 * @param viewer
-		 *            the viewer
-		 * @param oldInput
-		 *            the old input element, or <code>null</code> if the viewer did not
-		 *            previously have an input
-		 * @param newInput
-		 *            the new input element, or <code>null</code> if the viewer does not have
-		 *            an input
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			//do nothing
-		}
-
-
-
-	}
-
-	/**
-	 * This class is provided for ValidationPropertiesPage$ValidatorListPage's
-	 * checkboxTableViewer element.
-	 */
-	public class ValidationLabelProvider extends LabelProvider implements ITableLabelProvider {
-		/**
-		 * Override the LabelProvider's text, by customizing the text for a ValidatorMetaData
-		 * element.
-		 */
-		public String getText(Object element) {
-			if (element == null) {
-				return ""; //$NON-NLS-1$
-			} else if (element instanceof ValidatorMetaData) {
-				return ((ValidatorMetaData) element).getValidatorDisplayName();
-			} else {
-				return super.getText(element);
-			}
-		}
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			if(columnIndex == 1) {
-				if(((ValidatorMetaData)element).isManualValidation())
-					return  ValidationUIPlugin.getPlugin().getImage("ok_tbl");
-				return ValidationUIPlugin.getPlugin().getImage("fail_tbl");
-			} else if(columnIndex == 2) {
-				if(((ValidatorMetaData)element).isBuildValidation())
-					return ValidationUIPlugin.getPlugin().getImage("ok_tbl");;
-				return ValidationUIPlugin.getPlugin().getImage("fail_tbl");
-			}
-			return null;
-		
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			if(columnIndex == 0) {
-				return ((ValidatorMetaData) element).getValidatorDisplayName();
-			}
-			/*if(columnIndex == 1) {
-				if(((ValidatorMetaData)element).isManualValidation())
-					return COMBO_VALUES[0];
-				return COMBO_VALUES[1];	
-			} else if(columnIndex == 2) {
-				if(((ValidatorMetaData)element).isBuildValidation())
-					return COMBO_VALUES[0];
-				return COMBO_VALUES[1];
-			}*/
-			return null;
-		}
-	}
-
-	/**
-	 * This class is used to sort the CheckboxTableViewer elements.
-	 */
-	public class ValidationViewerSorter extends ViewerSorter {
-		/**
-		 * Returns a negative, zero, or positive number depending on whether the first element
-		 * is less than, equal to, or greater than the second element.
-		 * <p>
-		 * The default implementation of this method is based on comparing the elements'
-		 * categories as computed by the <code>category</code> framework method. Elements
-		 * within the same category are further subjected to a case insensitive compare of their
-		 * label strings, either as computed by the content viewer's label provider, or their
-		 * <code>toString</code> values in other cases. Subclasses may override.
-		 * </p>
-		 * 
-		 * @param viewer
-		 *            the viewer
-		 * @param e1
-		 *            the first element
-		 * @param e2
-		 *            the second element
-		 * @return a negative number if the first element is less than the second element; the
-		 *         value <code>0</code> if the first element is equal to the second element;
-		 *         and a positive number if the first element is greater than the second element
-		 */
-		public int compare(Viewer viewer, Object e1, Object e2) {
-			// Can't instantiate ViewerSorter because it's abstract, so use this
-			// inner class to represent it.
-			return super.compare(viewer, e1, e2);
-		}
-	}
-
-	public ValidatorListPage(Composite parent) throws InvocationTargetException {
-		//_isAutoBuildEnabled = ValidatorManager.getManager().isGlobalAutoBuildEnabled();
-		pagePreferences = new GlobalConfiguration(ConfigurationManager.getManager().getGlobalConfiguration()); // This
-		// represents the values on the page that haven't been persistedyet.
-		// Start with the last values that were persisted into the current page's starting values.
-		
-		_oldVmd = pagePreferences.getEnabledValidators(); // Cache the enabled validators so
-		// that, if there is no change to this
-		// list, the expensive task list
-		// update can be avoided
-		_allow = pagePreferences.canProjectsOverride();
-
-		page = createPage(parent);
-	}
-	
-	private void setupTableColumns(Table table, TableViewer viewer) {
-		TableColumn validatorColumn = new TableColumn(table, SWT.NONE);
-        validatorColumn.setText("Validator");
-        validatorColumn.setResizable(false);
-        validatorColumn.setWidth(240);
-        TableColumn manualColumn = new TableColumn(table, SWT.NONE);
-        manualColumn.setText("Manual");
-        manualColumn.setResizable(false);
-        manualColumn.setWidth(80);
-        TableColumn buildColumn = new TableColumn(table, SWT.NONE);
-        buildColumn.setText("Build");
-        buildColumn.setResizable(false);
-        buildColumn.setWidth(80);
-        setupCellModifiers(table, viewer);
-    }
-	private void setupCellModifiers(Table table, TableViewer viewer) {
-        columnProperties = new String[3];
-        columnProperties[0] = VALIDATORS; //$NON-NLS-1$
-        columnProperties[1] = MANUAL_CHECK;//$NON-NLS-2$
-        columnProperties[2] = BUILD_CHECK;//$NON-NLS-2$
-        viewer.setColumnProperties(columnProperties);
-        columnEditors = new CellEditor[table.getColumnCount()];
-        columnEditors[1] = new ComboBoxCellEditor(table,COMBO_VALUES, SWT.READ_ONLY);
-        columnEditors[2] = new ComboBoxCellEditor(table,COMBO_VALUES, SWT.READ_ONLY);
-        viewer.setCellEditors(columnEditors);
-    }
-
-	public Composite createPage(Composite parent) throws InvocationTargetException {
-		// top level group
-		final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-		sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite = new Composite(sc1, SWT.NONE);
-		sc1.setContent(composite);
-		composite.setLayout(new GridLayout()); // use the layout's default preferences
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.VALIDATION_PREFERENCE_PAGE);
-
-		Composite validatorGroup = new Composite(composite, SWT.NONE);
-		GridLayout validatorGroupLayout = new GridLayout();
-		validatorGroupLayout.numColumns = 2;
-		validatorGroup.setLayout(validatorGroupLayout);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorGroup, ContextIds.VALIDATION_PREFERENCE_PAGE);
-
-		GridData overrideData = new GridData(GridData.FILL_HORIZONTAL);
-		overrideData.horizontalSpan = 2;
-		overrideButton = new Button(validatorGroup, SWT.CHECK);
-		overrideButton.setLayoutData(overrideData);
-		overrideButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_OVERRIDE));
-		overrideButton.setEnabled(true);
-		overrideButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pagePreferences.setCanProjectsOverride(overrideButton.getSelection());
-				try {
-					updateWidgets();
-				} catch (InvocationTargetException exc) {
-					displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-				}
-			}
-		});
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideButton, ContextIds.VALIDATION_PREFERENCE_PAGE_OVERRIDE);
-
-		emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-		emptyRowPlaceholder.setLayoutData(new GridData());
-		
-		GridData disableValidationData = new GridData(GridData.FILL_HORIZONTAL);
-		disableValidationData.horizontalSpan = 2;
-		disableAllValidation = new Button(validatorGroup, SWT.CHECK);
-		disableAllValidation.setLayoutData(disableValidationData);
-		disableAllValidation.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.DISABLE_VALIDATION));
-		disableAllValidation.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pagePreferences.setDisableAllValidation(disableAllValidation.getSelection());
-				disableAllValidation.setFocus();
-				validatorsTable.setEnabled(!disableAllValidation.getSelection());
-				enableAllButton.setEnabled(!disableAllValidation.getSelection());
-				disableAllButton.setEnabled(!disableAllValidation.getSelection());
-			}
-		});
-		
-		emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-		emptyRowPlaceholder.setLayoutData(new GridData());
-
-		listLabel = new Label(validatorGroup, SWT.NONE);
-		GridData listLabelData = new GridData(GridData.FILL_HORIZONTAL);
-		listLabelData.horizontalSpan = 2;
-		listLabel.setLayoutData(listLabelData);
-		listLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_VALLIST_TITLE));
-
-		validatorsTable = new Table(validatorGroup,SWT.BORDER);
-		TableLayout tableLayout = new TableLayout();
-		tableLayout.addColumnData(new ColumnWeightData(160, true));
-        tableLayout.addColumnData(new ColumnWeightData(80, true));
-        tableLayout.addColumnData(new ColumnWeightData(80, true));
-		validatorsTable.setHeaderVisible(true);
-		validatorsTable.setLinesVisible(true);
-        validatorsTable.setLayout(tableLayout);
-		
-		validatorList = new TableViewer(validatorsTable);
-        GridData validatorListData = new GridData(GridData.FILL_HORIZONTAL);
-		validatorListData.horizontalSpan = 2;
-		validatorsTable.setLayoutData(validatorListData);
-		validatorList.getTable().setLayoutData(validatorListData);
-		validatorList.setLabelProvider(new ValidationLabelProvider());
-		validatorList.setContentProvider(new ValidationContentProvider());
-		validatorList.setSorter(new ValidationViewerSorter());
-        setupTableColumns(validatorsTable,validatorList);
-		validatorList.setCellModifier(new ICellModifier() {
-			public boolean canModify(Object element, String property) {
-				ComboBoxCellEditor cellEditor = getComboBoxCellEditor(property);
-				if (cellEditor == null)
-					return false;
-				return true;
-			}
-
-			protected ComboBoxCellEditor getComboBoxCellEditor(String property) {
-				CellEditor cellEditor = getCellEditor(property);
-				if (cellEditor instanceof ComboBoxCellEditor)
-					return (ComboBoxCellEditor) cellEditor;
-				return null;
-
-			}
-
-			protected int getPropertyIntValue(String property) {
-				if (columnProperties != null) {
-					for (int i = 0; i < columnProperties.length; i++) {
-						if (columnProperties[i].equals(property))
-							return i;
-					}
-				}
-				return VALUE_NOT_FOUND;
-			}
-
-			protected CellEditor getCellEditor(String property) {
-				int comboCellEditorIndex = getPropertyIntValue(property);
-				if (comboCellEditorIndex == VALUE_NOT_FOUND)
-					return null;
-				return columnEditors[comboCellEditorIndex];
-			}
-
-			public Object getValue(Object element, String property) {
-				ValidatorMetaData data = (ValidatorMetaData) element;
-				if (property == MANUAL_CHECK) {
-					if (data.isManualValidation())
-						return new Integer(ENABLED_INT);
-					else
-						return new Integer(DISABLED_INT);
-
-				} else if (property == BUILD_CHECK) {
-					if (data.isBuildValidation())
-						return new Integer(ENABLED_INT);
-					else
-						return new Integer(DISABLED_INT);
-				}
-				return new Integer(VALUE_NOT_FOUND);
-			}
-
-			public void modify(Object element, String property, Object value) {
-
-				ValidatorMetaData data = (ValidatorMetaData) ((TableItem) element).getData();
-				int intValue = ((Integer) value).intValue();
-				if (property.equals(MANUAL_CHECK)) {
-					if (intValue == ENABLED_INT) {
-						data.setManualValidation(true);
-					} else if (intValue == DISABLED_INT) {
-						data.setManualValidation(false);
-					}
-				} else if (property.equals(BUILD_CHECK)) {
-					if (intValue == ENABLED_INT) {
-						data.setBuildValidation(true);
-					} else if (intValue == DISABLED_INT) {
-						data.setBuildValidation(false);
-					}
-				}
-				validatorList.refresh();
-			}
-		});
-		validatorList.setInput(pagePreferences.getValidators());
-		
-		enableAllButton = new Button(validatorGroup, SWT.PUSH);
-		enableAllButton.setLayoutData(new GridData());
-		enableAllButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_ENABLEALL));
-		enableAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					performEnableAll();
-				} catch (InvocationTargetException exc) {
-					displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-				}
-			}
-		});
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(enableAllButton, ContextIds.VALIDATION_PREFERENCE_PAGE);
-
-		disableAllButton = new Button(validatorGroup, SWT.PUSH);
-		disableAllButton.setLayoutData(new GridData());
-		disableAllButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_DISABLEALL));
-		disableAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					performDisableAll();
-				} catch (InvocationTargetException exc) {
-					displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-				}
-			}
-		});
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(disableAllButton, ContextIds.VALIDATION_PREFERENCE_PAGE);
-
-		Composite buttonGroup = new Composite(composite, SWT.NONE);
-		GridLayout buttonGroupLayout = new GridLayout();
-		buttonGroupLayout.numColumns = 2;
-		buttonGroup.setLayout(buttonGroupLayout);
-		buttonGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		// Have to set the tab order or only the first checkbox in a Composite can
-		// be tab-ed to. (Seems to apply only to checkboxes. Have to use the arrow
-		// key to navigate the checkboxes.)
-		validatorGroup.setTabList(new Control[]{overrideButton, /*valWhenBuildButton, valWhenAutoBuildButton,*/ validatorList.getTable(), enableAllButton, disableAllButton});
-
-		updateWidgets();
-
-		composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-		return composite;
-	}
-	protected void updateWidgets() throws InvocationTargetException {
-		// Need to update even the widgets that do not change based on another
-		// widgets because of performDefaults(). If performDefaults() is selected,
-		// then the pagePreferences values are reset, and these widgets
-		// might also need to be updated.
-		updateTable();
-		updateAllWidgets();
-		updateHelp();
-	}
-	
-	protected void updateWidgetsForDefaults() throws InvocationTargetException {
-		updateTableForDefaults();
-		updateAllWidgets();
-		updateHelp();
-	}
-
-	/**
-	 * @throws InvocationTargetException
-	 */
-	private void updateAllWidgets() throws InvocationTargetException {
-		overrideButton.setSelection(pagePreferences.canProjectsOverride());
-		disableAllValidation.setSelection(pagePreferences.isDisableAllValidation());
-		validatorsTable.setEnabled(!disableAllValidation.getSelection());
-		enableAllButton.setEnabled(!disableAllValidation.getSelection());
-		disableAllButton.setEnabled(!disableAllValidation.getSelection());
-	}
-
-	protected void updateTable() throws InvocationTargetException {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-
-				// Should the validator be enabled? Read the user's preferences from last time,
-				// if they exist, and set from that. If they don't exist, use the Validator class'
-				// default value.
-				if (pagePreferences.isManualEnabled(vmd))
-					vmd.setManualValidation(true);
-				else
-					vmd.setManualValidation(false);
-				if (pagePreferences.isBuildEnabled(vmd))
-					vmd.setBuildValidation(true);
-				else
-					vmd.setBuildValidation(false);
-
-			}
-		validatorList.refresh();
-	}
-	
-	protected void updateTableForDefaults() throws InvocationTargetException {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TableItem item = items[i];
-			ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-
-			// Should the validator be enabled? Read the user's preferences from last time,
-			// if they exist, and set from that. If they don't exist, use the Validator class'
-			// default value.
-			if(pagePreferences.isEnabled(vmd)) {
-				vmd.setManualValidation(true);
-				vmd.setBuildValidation(true);
-			} else {
-				vmd.setManualValidation(false);
-				vmd.setBuildValidation(false);
-			}
-		}
-		validatorList.refresh();
-	}
-	
-	protected void enableManualAndBuildValues() {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TableItem item = items[i];
-			ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-			vmd.setManualValidation(true);
-			vmd.setBuildValidation(true);
-		}
-		validatorList.refresh();
-	}
-	
-	protected void disableManualAndBuildValues() {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TableItem item = items[i];
-			ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-			vmd.setManualValidation(false);
-			vmd.setBuildValidation(false);
-		}
-		validatorList.refresh();
-	}
-	
-	public boolean performOk() throws InvocationTargetException {
-		storeValues();
-		updateTaskList();
-		return true;
-	}
-
-	public boolean performDefaults() throws InvocationTargetException {
-		pagePreferences.resetToDefault();
-		updateWidgetsForDefaults();
-		getDefaultsButton().setFocus();
-		return true;
-	}
-
-	public boolean performEnableAll() throws InvocationTargetException {
-		setAllValidators(true);
-		pagePreferences.setEnabledValidators(getEnabledValidators());
-		enableManualAndBuildValues();
-		enableAllButton.setFocus();
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	private void setAllValidators(boolean bool) {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-			validatorMetaData.setManualValidation(bool);
-			validatorMetaData.setBuildValidation(bool);
-		}
-	}
-	
-	public ValidatorMetaData[] getEnabledValidators() {
-		List enabledValidators = new ArrayList();
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-			if(validatorMetaData.isManualValidation() || validatorMetaData.isBuildValidation())
-				enabledValidators.add(validatorMetaData);
-		}
-		return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-	}
-	
-	public ValidatorMetaData[] getEnabledManualValidators() {
-		List enabledValidators = new ArrayList();
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-			if(validatorMetaData.isManualValidation())
-				enabledValidators.add(validatorMetaData);
-		}
-		return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-	
-	}
-	
-	public ValidatorMetaData[] getEnabledBuildValidators() {
-		List enabledValidators = new ArrayList();
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-			if(validatorMetaData.isBuildValidation())
-				enabledValidators.add(validatorMetaData);
-		}
-		return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-	
-	}
-
-	public boolean performDisableAll() throws InvocationTargetException {
-		setAllValidators(false);
-		pagePreferences.setEnabledValidators(getEnabledValidators());
-		disableManualAndBuildValues();
-		disableAllButton.setFocus();
-		return true;
-	}
-
-	protected void updateHelp() {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(disableAllValidation, ContextIds.VALIDATION_PREFERENCE_PAGE_DISABLE_ALL_ENABLED);
-	}
-
-	/*
-	 * Store the current values of the controls into the preference store.
-	 */
-	private void storeValues() throws InvocationTargetException {
-		pagePreferences.setCanProjectsOverride(overrideButton.getSelection());
-		
-		if (disableAllValidation.isEnabled()) {
-			pagePreferences.setDisableAllValidation(disableAllValidation.getSelection());
-		}
-		//pagePreferences.setEnabledValidators(getEnabledValidators());
-		
-		pagePreferences.setEnabledManualValidators(getEnabledManualValidators());
-		
-		pagePreferences.setEnabledBuildValidators(getEnabledBuildValidators());
-
-		pagePreferences.passivate();
-		pagePreferences.store();
-		
-		// If the projects aren't allowed to override, clear their settings.
-		if (!pagePreferences.canProjectsOverride()) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IProject[] projects = workspace.getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject project = projects[i];
-				try {
-					if (project.isOpen()) {
-						if (ConfigurationManager.getManager().isMigrated(project)) {
-							ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-							prjp.setDoesProjectOverride(false);
-							prjp.passivate();
-							prjp.store();
-						}
-					}
-				} catch (InvocationTargetException exc) {
-					displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-				}
-			}
-		}
-
-	}
-
-	private void updateTaskList() {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IProject[] projects = workspace.getRoot().getProjects();
-		boolean allowChanged = (pagePreferences.canProjectsOverride() != _allow);
-		for (int i = 0; i < projects.length; i++) {
-			IProject project = projects[i];
-			try {
-				if (project.isOpen()) {
-					ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-					if (!prjp.doesProjectOverride() && (prjp.hasEnabledValidatorsChanged(_oldVmd, allowChanged) || true)) {
-						// If the project used to override the preferences, and the preferences
-						// make that impossible now, then update the task list.
-						//
-						// If the preferences allow projects to override, and they don't, and if
-						// the validators have changed, then update the task list.
-						ValidatorManager.getManager().updateTaskList(project); // Do not remove
-						// the exceeded message; only ValidationOperation should do that
-						// because it's about to run validation. If the limit is increased, 
-						//messages may still be missing, so don't remove the "messages
-						// may be missing" message.
-					}
-				}
-			} catch (InvocationTargetException exc) {
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			}
-		}
-	}
-
-	public Composite getControl() {
-		return page;
-	}
-
-	public void dispose() {
-		listLabel.dispose();
-		overrideButton.dispose();
-		disableAllValidation.dispose();
-		emptyRowPlaceholder.dispose();
-		disableAllButton.dispose();
-		enableAllButton.dispose();
-		validatorList.getTable().dispose();
-		composite.dispose();
-	}
-
-	public void loseFocus() {
-		// This page does not need to cache anything before it loses focus.
-	}
-
-	public void gainFocus() {/*
-		// This page depends on the Workbench Preference page, so update the value of the
-		// isAutoBuild (in case the workbench page's value has changed), and then update
-		// this page's widgets.
-		try {
-			//_isAutoBuildEnabled = ValidatorManager.getManager().isGlobalAutoBuildEnabled();
-			updateWidgets();
-		} catch (InvocationTargetException exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		}
-	*/}
-}
-
-/*
- * @see PreferencePage#createContents(Composite)
- */
-protected Control createContents(Composite parent) {
-	try {
-		GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-		if (gp.numberOfValidators() == 0) {
-			_pageImpl = new NoValidatorsPage(parent);
-		} else {
-			try {
-				_pageImpl = new ValidatorListPage(parent);
-			} catch (InvocationTargetException exc) {
-				_pageImpl = new InvalidPage(parent);
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			} catch (Throwable exc) {
-				_pageImpl = new InvalidPage(parent);
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			}
-		}
-	} catch (InvocationTargetException exc) {
-		_pageImpl = new InvalidPage(parent);
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	} catch (Throwable exc) {
-		_pageImpl = new InvalidPage(parent);
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	}
-
-	return _pageImpl.getControl();
-}
-
-/*
- * @see IWorkbenchPreferencePage#init(IWorkbench)
- */
-public void init(IWorkbench workbench) {
-	//init
-}
-
-protected void noDefaultAndApplyButton() {
-	super.noDefaultAndApplyButton();
-}
-
-/**
- * Performs special processing when this page's Defaults button has been pressed.
- * <p>
- * This is a framework hook method for sublcasses to do special things when the Defaults button
- * has been pressed. Subclasses may override, but should call <code>super.performDefaults</code>.
- * </p>
- */
-protected void performDefaults() {
-	super.performDefaults();
-
-	try {
-		_pageImpl.performDefaults();
-	} catch (InvocationTargetException exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	} catch (Throwable exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	}
-}
-
-/**
- * When the user presses the "OK" or "Apply" button on the Properties Guide/Properties Page,
- * respectively, some processing is performed by this PropertyPage. If the page is found, and
- * completes successfully, true is returned. Otherwise, false is returned, and the guide doesn't
- * finish.
- */
-public boolean performOk() {
-	try {
-		return _pageImpl.performOk();
-	} catch (InvocationTargetException exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		return false;
-	} catch (Throwable exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		return false;
-	}
-}
-
-/**
- * Since the pages are inner classes of a child PreferencePage, not a PreferencePage itself,
- * DialogPage's automatic disposal of its children's widgets cannot be used. Instead, dispose of
- * each inner class' widgets explicitly.
- */
-public void dispose() {
-	super.dispose();
-	try {
-		if (_pageImpl != null) {
-			_pageImpl.dispose();
-		}
-	} catch (Throwable exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	}
-}
-
-private void logError(Throwable exc) {
-	Logger logger = WTPUIPlugin.getLogger();
-	if (logger.isLoggingLevel(Level.SEVERE)) {
-		LogEntry entry = ValidationUIPlugin.getLogEntry();
-		entry.setSourceIdentifier("ValidationPreferencePage.displayAndLogError"); //$NON-NLS-1$
-		entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL_PAGE);
-		entry.setTargetException(exc);
-		logger.write(Level.SEVERE, entry);
-
-		if (exc instanceof InvocationTargetException) {
-			if (((InvocationTargetException) exc).getTargetException() != null) {
-				entry.setTargetException(((InvocationTargetException) exc).getTargetException());
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-}
-
-/**
- * package visibility because if this method is private, then the compiler needs to create a
- * synthetic accessor method for the internal classes, and that can have performance
- * implications.
- */
-void displayAndLogError(String title, String message, Throwable exc) {
-	logError(exc);
-	displayMessage(title, message, org.eclipse.swt.SWT.ICON_ERROR);
-}
-
-private void displayMessage(String title, String message, int iIconType) {
-	MessageBox messageBox = new MessageBox(getShell(), org.eclipse.swt.SWT.OK | iIconType | org.eclipse.swt.SWT.APPLICATION_MODAL);
-	messageBox.setMessage(message);
-	messageBox.setText(title);
-	messageBox.open();
-}
-
-/**
- * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
- */
-public void setVisible(boolean visible) {
-	super.setVisible(visible);
-	if (_pageImpl == null)
-		return;
-	if (visible) {
-		_pageImpl.gainFocus();
-	} else {
-		_pageImpl.loseFocus();
-	}
-}
-
-/**
- * @see org.eclipse.jface.preference.PreferencePage#getDefaultsButton()
- */
-protected Button getDefaultsButton() {
-	return super.getDefaultsButton();
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPropertiesPage.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPropertiesPage.java
deleted file mode 100644
index 26279a9..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPropertiesPage.java
+++ /dev/null
@@ -1,1158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-
-import javax.swing.event.HyperlinkEvent;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.GlobalConfiguration;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-/**
- * This class and its inner classes are not intended to be subclassed outside of the validation
- * framework.
- * 
- * This page implements the PropertyPage for validators; viewed when the user right-clicks on the
- * IProject, selects "Properties", and then "Validation."
- * 
- * There exist three possible page layouts: if there is an eclipse internal error, and the page is
- * brought up on a non-IProject type; if there are no validators configured on that type of
- * IProject, and a page which lists all validators configured on that type of IProject. These three
- * pages are implemented as inner classes, so that it's clear which method is needed for which
- * input. When all of the methods, and behaviour, were implemented in this one class, much more
- * error-checking had to be done, to ensure that the method wasn't being called incorrectly by one
- * of the pages.
- */
-public class ValidationPropertiesPage extends PropertyPage {
-	static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
-	static final String TAB = "\t"; //$NON-NLS-1$
-	static final String NEWLINE_AND_TAB = NEWLINE + TAB;
-	private IValidationPage _pageImpl = null;
-
-	/**
-	 * Initially, this interface was created as an abstract class, and getControl() was implemented.
-	 * (getProject() could also have been implemented in the abstract class.) However, at runtime, a
-	 * NullPointerException was thrown; the inner class had lost its pointer to its enclosing class.
-	 * After some experimentation, I discovered that if I changed the parent to an interface, the
-	 * enclosing class could be found. (Merely moving the AValidationPage into its own file was
-	 * insufficient.)
-	 */
-	public interface IValidationPage {
-		public abstract Composite createPage(Composite parent) throws InvocationTargetException;
-
-		public abstract boolean performOk() throws InvocationTargetException;
-
-		public boolean performDefaults() throws InvocationTargetException;
-
-		public Composite getControl();
-
-		public abstract void dispose();
-	}
-
-	public class InvalidPage implements IValidationPage {
-		private Composite page = null;
-
-		private Composite composite = null;
-		private GridLayout layout = null;
-		private Label messageLabel = null;
-
-		public InvalidPage(Composite parent) {
-			page = createPage(parent);
-		}
-
-		/**
-		 * This page is added to the Properties guide if some internal problem occurred; for
-		 * example, the highlighted item in the workbench is not an IProject (according to this
-		 * page's plugin.xml, this page is only valid when an IProject is selected).
-		 */
-		public Composite createPage(Composite parent) {
-			// Don't create the default and apply buttons.
-			noDefaultAndApplyButton();
-
-			final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-			sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-			composite = new Composite(sc1, SWT.NONE);
-			sc1.setContent(composite);
-			layout = new GridLayout();
-			composite.setLayout(layout);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-			messageLabel = new Label(composite, SWT.NONE);
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INVALID_REGISTER));
-
-			composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-			return composite;
-		}
-
-		public boolean performDefaults() {
-			return true;
-		}
-
-		/**
-		 * Since this page occurs under invalid circumstances, there is nothing to save.
-		 */
-		public boolean performOk() {
-			return true;
-		}
-
-		public Composite getControl() {
-			return page;
-		}
-
-		public void dispose() {
-			messageLabel.dispose();
-			//			layout.dispose();
-			composite.dispose();
-		}
-	}
-
-	public class NoValidatorsPage implements IValidationPage {
-		private Composite page = null;
-
-		private Composite composite = null;
-		private GridLayout layout = null;
-		private GridData data = null;
-		private Label messageLabel = null;
-		
-		public NoValidatorsPage(Composite parent) {
-			page = createPage(parent);
-		}
-
-		/**
-		 * This page is created if an IProject is selected, but that project has no validators
-		 * configured (i.e., the page is valid, but an empty list.)
-		 */
-		public Composite createPage(Composite parent) {
-			// Don't create the default and apply buttons.
-			noDefaultAndApplyButton();
-
-			// top level group
-			final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-			sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-			composite = new Composite(sc1, SWT.NONE);
-			sc1.setContent(composite);
-			layout = new GridLayout();
-			composite.setLayout(layout);
-			data = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
-			composite.setLayoutData(data);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-			messageLabel = new Label(composite, SWT.NONE);
-			String[] msgParm = {getProject().getName()};
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_LBL_NOVALIDATORS_DESC, msgParm));
-			composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-			return composite;
-		}
-
-		public boolean performDefaults() {
-			return true;
-		}
-
-		/**
-		 * Since there are no validators, there is nothing to save.
-		 */
-		public boolean performOk() {
-			return true;
-		}
-
-		public Composite getControl() {
-			return page;
-		}
-
-		public void dispose() {
-			messageLabel.dispose();
-			//			layout.dispose();
-			//			data.dispose();
-			composite.dispose();
-		}
-	}
-
-	public class ValidatorListPage implements IValidationPage {
-		Composite page = null;
-		GridLayout layout = null;
-		GridData data = null;
-		Label messageLabel = null;
-		TableViewer validatorList = null;
-		Button overrideGlobalButton = null;
-		Button disableAllValidation = null;
-		private Button enableAllButton = null;
-		private Button disableAllButton = null;
-		Label emptyRowPlaceholder = null;
-		private String[] columnProperties;
-		private CellEditor[] columnEditors;
-		private String[] COMBO_VALUES = new String[] {"Enabled","Disabled"};
-		private static final String ENABLED = "Enabled";
-		private static final String DISABLED = "Disabled";
-		private static final int ENABLED_INT = 0;
-		private static final int DISABLED_INT = 1;
-		private Table validatorsTable;
-		private static final String VALIDATORS = "validators"; //$NON-NLS-1$
-		private static final String MANUAL_CHECK = "manualCheck";//$NON-NLS-2$
-		private static final String BUILD_CHECK = "buildCheck";//$NON-NLS-2$
-		private static final int VALUE_NOT_FOUND = -1;
-		private static final int MANUAL_COL = 1;
-		private static final int BUILD_COL = 2;
-		private Label globalPrefLink = null;
-		ProjectConfiguration pagePreferences = null;
-		private boolean canOverride = false;
-
-		private ValidatorMetaData[] oldVmd = null; // Cache the enabled validators so that, if there
-
-		// is no change to this list, the expensive task
-		// list update can be avoided
-
-		/**
-		 * This class is provided for the CheckboxTableViewer in the
-		 * ValidationPropertiesPage$ValidatorListPage class.
-		 */
-		public class ValidationContentProvider implements IStructuredContentProvider {
-			/**
-			 * Disposes of this content provider. This is called by the viewer when it is disposed.
-			 */
-			public void dispose() {
-				//dispose
-			}
-
-			/**
-			 * Returns the elements to display in the viewer when its input is set to the given
-			 * element. These elements can be presented as rows in a table, items in a list, etc.
-			 * The result is not modified by the viewer.
-			 * 
-			 * @param inputElement
-			 *            the input element
-			 * @return the array of elements to display in the viewer
-			 */
-			public java.lang.Object[] getElements(Object inputElement) {
-				if (inputElement instanceof ValidatorMetaData[]) {
-					// The ValidatorMetaData[] is the array which is returned by ValidatorManager's
-					// getConfiguredValidatorMetaData(IProject) call.
-					// This array is set to be the input of the CheckboxTableViewer in
-					// ValidationPropertiesPage$ValidatorListPage's createPage(Composite)
-					// method.
-					return (ValidatorMetaData[]) inputElement;
-				}
-				return new Object[0];
-			}
-
-			/**
-			 * Notifies this content provider that the given viewer's input has been switched to a
-			 * different element.
-			 * <p>
-			 * A typical use for this method is registering the content provider as a listener to
-			 * changes on the new input (using model-specific means), and deregistering the viewer
-			 * from the old input. In response to these change notifications, the content provider
-			 * propagates the changes to the viewer.
-			 * </p>
-			 * 
-			 * @param viewer
-			 *            the viewer
-			 * @param oldInput
-			 *            the old input element, or <code>null</code> if the viewer did not
-			 *            previously have an input
-			 * @param newInput
-			 *            the new input element, or <code>null</code> if the viewer does not have
-			 *            an input
-			 */
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				//do nothing
-			}
-
-
-
-		}
-
-		/**
-		 * This class is provided for ValidationPropertiesPage$ValidatorListPage's
-		 * checkboxTableViewer element.
-		 */
-		public class ValidationLabelProvider extends LabelProvider implements ITableLabelProvider {
-			/**
-			 * Override the LabelProvider's text, by customizing the text for a ValidatorMetaData
-			 * element.
-			 */
-			public String getText(Object element) {
-				if (element == null) {
-					return ""; //$NON-NLS-1$
-				} else if (element instanceof ValidatorMetaData) {
-					return ((ValidatorMetaData) element).getValidatorDisplayName();
-				} else {
-					return super.getText(element);
-				}
-			}
-			
-			public String getColumnText(Object element, int columnIndex) {
-				if(columnIndex == 0) {
-					return ((ValidatorMetaData) element).getValidatorDisplayName();
-				}
-				/*if(columnIndex == 1) {
-					if(((ValidatorMetaData)element).isManualValidation())
-						return ENABLED;
-					return DISABLED;	
-				} else if(columnIndex == 2) {
-					if(((ValidatorMetaData)element).isBuildValidation())
-						return ENABLED;
-					return DISABLED;
-				}*/
-				return null;
-			}
-
-			public Image getColumnImage(Object element, int columnIndex) {
-				if(columnIndex == 1) {
-					if(((ValidatorMetaData)element).isManualValidation())
-						return  ValidationUIPlugin.getPlugin().getImage("ok_tbl");
-					return ValidationUIPlugin.getPlugin().getImage("fail_tbl");
-				} else if(columnIndex == 2) {
-					if(((ValidatorMetaData)element).isBuildValidation())
-						return ValidationUIPlugin.getPlugin().getImage("ok_tbl");;
-					return ValidationUIPlugin.getPlugin().getImage("fail_tbl");
-				}
-				return null;
-			
-			}
-		}
-
-		/**
-		 * This class is used to sort the CheckboxTableViewer elements.
-		 */
-		public class ValidationViewerSorter extends ViewerSorter {
-			/**
-			 * Returns a negative, zero, or positive number depending on whether the first element
-			 * is less than, equal to, or greater than the second element.
-			 * <p>
-			 * The default implementation of this method is based on comparing the elements'
-			 * categories as computed by the <code>category</code> framework method. Elements
-			 * within the same category are further subjected to a case insensitive compare of their
-			 * label strings, either as computed by the content viewer's label provider, or their
-			 * <code>toString</code> values in other cases. Subclasses may override.
-			 * </p>
-			 * 
-			 * @param viewer
-			 *            the viewer
-			 * @param e1
-			 *            the first element
-			 * @param e2
-			 *            the second element
-			 * @return a negative number if the first element is less than the second element; the
-			 *         value <code>0</code> if the first element is equal to the second element;
-			 *         and a positive number if the first element is greater than the second element
-			 */
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				// Can't instantiate ViewerSorter because it's abstract, so use this
-				// inner class to represent it.
-				return super.compare(viewer, e1, e2);
-			}
-		}
-
-		public ValidatorListPage(Composite parent) throws InvocationTargetException {
-			ConfigurationManager prefMgr = ConfigurationManager.getManager();
-			ValidatorManager vMgr = ValidatorManager.getManager();
-
-			pagePreferences = prefMgr.getProjectConfiguration(getProject()); // This
-			// represents the values on the page that haven't been persisted yet.
-			// Start with the last values that were persisted into the current
-			// page's starting values.
-
-			// store the default values for the widgets
-			canOverride = prefMgr.getGlobalConfiguration().canProjectsOverride();
-			//isAutoBuildEnabled = vMgr.isGlobalAutoBuildEnabled();
-			//isBuilderConfigured = ValidatorManager.doesProjectSupportBuildValidation(getProject());
-			oldVmd = pagePreferences.getEnabledValidators(); // Cache the enabled validators so
-			// that, if there is no change to this
-			// list, the expensive task list update
-			// can be avoided
-
-			createPage(parent);
-		}
-		
-		private void setupTableColumns(Table table, TableViewer viewer) {
-			TableColumn validatorColumn = new TableColumn(table, SWT.NONE);
-	        validatorColumn.setText("Validator");
-	        validatorColumn.setResizable(false);
-	        validatorColumn.setWidth(240);
-	        TableColumn manualColumn = new TableColumn(table, SWT.NONE);
-	        manualColumn.setText("Manual");
-	        manualColumn.setResizable(false);
-	        manualColumn.setWidth(80);
-	        TableColumn buildColumn = new TableColumn(table, SWT.NONE);
-	        buildColumn.setText("Build");
-	        buildColumn.setResizable(false);
-	        buildColumn.setWidth(80);
-	        setupCellModifiers(table, viewer);
-	    }
-		private void setupCellModifiers(Table table, TableViewer viewer) {
-	        columnProperties = new String[3];
-	        columnProperties[0] = VALIDATORS; //$NON-NLS-1$
-	        columnProperties[1] = MANUAL_CHECK;//$NON-NLS-2$
-	        columnProperties[2] = BUILD_CHECK;//$NON-NLS-2$
-	        viewer.setColumnProperties(columnProperties);
-	        columnEditors = new CellEditor[table.getColumnCount()];
-	        columnEditors[1] = new ComboBoxCellEditor(table,COMBO_VALUES, SWT.READ_ONLY);
-	        columnEditors[2] = new ComboBoxCellEditor(table,COMBO_VALUES, SWT.READ_ONLY);
-	        viewer.setCellEditors(columnEditors);
-	    }
-
-		/**
-		 * This page is created if the current project has at least one validator configured on it.
-		 */
-		public Composite createPage(Composite parent) throws InvocationTargetException {
-			// top level group
-			final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-			sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-			page = new Composite(sc1, SWT.NONE);
-			sc1.setContent(page);
-			page.setLayout(new GridLayout()); // use the layout's default preferences
-			
-			Composite validatorGroup = new Composite(page, SWT.NONE);
-			GridLayout validatorGroupLayout = new GridLayout();
-			validatorGroupLayout.numColumns = 2;
-			validatorGroup.setLayout(validatorGroupLayout);
-			
-			Hyperlink link = new Hyperlink(validatorGroup,SWT.None);
-			GridData layout = new GridData(GridData.HORIZONTAL_ALIGN_END);
-			layout.horizontalSpan = 2;
-			link.setLayoutData(layout);
-			link.setUnderlined(true);
-			Color color = new Color(validatorGroup.getDisplay(),new RGB(0,0,255) );
-			link.setForeground(color);
-			link.setText("Configure Workspace Settings...");
-			link.addHyperlinkListener(new IHyperlinkListener() {
-				public static final String DATA_NO_LINK = "PropertyAndPreferencePage.nolink"; //$NON-NLS-1$
-
-				public void hyperlinkUpdate(HyperlinkEvent e) {
-				}
-
-				public void linkEntered(org.eclipse.ui.forms.events.HyperlinkEvent e) {
-				}
-
-				public void linkExited(org.eclipse.ui.forms.events.HyperlinkEvent e) {
-				}
-
-				public void linkActivated(org.eclipse.ui.forms.events.HyperlinkEvent e) {
-					String id = getPreferencePageID();
-					PreferencesUtil.createPreferenceDialogOn(getShell(), id, new String[]{id}, DATA_NO_LINK).open();
-					try {
-						updateWidgets();
-					} catch (InvocationTargetException ie) {
-
-					}
-				}
-
-				private String getPreferencePageID() {
-					return "ValidationPreferencePage";
-				}
-			});
-			
-			GridData overrideData = new GridData(GridData.GRAB_HORIZONTAL);
-			overrideData.horizontalSpan = 2;
-			overrideGlobalButton = new Button(validatorGroup, SWT.CHECK);
-			overrideGlobalButton.setLayoutData(overrideData);
-			overrideGlobalButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PROP_BUTTON_OVERRIDE, new String[]{getProject().getName()}));
-			overrideGlobalButton.setFocus(); // must focus on something for F1 to have a topic to lanuch
-			overrideGlobalButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					pagePreferences.setDoesProjectOverride(overrideGlobalButton.getSelection());
-					try {
-						updateWidgets();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-					}
-				}
-			});
-			
-			emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-			emptyRowPlaceholder.setLayoutData(new GridData());
-			
-			GridData disableValidationData = new GridData(GridData.FILL_HORIZONTAL);
-			disableValidationData.horizontalSpan = 2;
-			disableAllValidation = new Button(validatorGroup, SWT.CHECK);
-			disableAllValidation.setLayoutData(disableValidationData);
-			disableAllValidation.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.DISABLE_VALIDATION));
-			disableAllValidation.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					pagePreferences.setDisableAllValidation(disableAllValidation.getSelection());
-					disableAllValidation.setFocus();
-					validatorsTable.setEnabled(!disableAllValidation.getSelection());
-					enableAllButton.setEnabled(!disableAllValidation.getSelection());
-					disableAllButton.setEnabled(!disableAllValidation.getSelection());
-				}
-			});
-			
-			emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-			emptyRowPlaceholder.setLayoutData(new GridData());
-
-
-
-			GridData listLabelData = new GridData(GridData.FILL_HORIZONTAL);
-			listLabelData.horizontalSpan = 2;
-			messageLabel = new Label(validatorGroup, SWT.NONE);
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_LBL_DESC, new String[]{getProject().getName()}));
-			messageLabel.setLayoutData(listLabelData);
-
-			validatorsTable = new Table(validatorGroup,SWT.BORDER);
-			TableLayout tableLayout = new TableLayout();
-			tableLayout.addColumnData(new ColumnWeightData(160, true));
-	        tableLayout.addColumnData(new ColumnWeightData(80, true));
-	        tableLayout.addColumnData(new ColumnWeightData(80, true));
-			validatorsTable.setHeaderVisible(true);
-			validatorsTable.setLinesVisible(true);
-	        validatorsTable.setLayout(tableLayout);
-			
-			validatorList = new TableViewer(validatorsTable);
-	        GridData validatorListData = new GridData(GridData.FILL_HORIZONTAL);
-			validatorListData.horizontalSpan = 2;
-			validatorsTable.setLayoutData(validatorListData);
-			validatorList.getTable().setLayoutData(validatorListData);
-			validatorList.setLabelProvider(new ValidationLabelProvider());
-			validatorList.setContentProvider(new ValidationContentProvider());
-			validatorList.setSorter(new ValidationViewerSorter());
-	        setupTableColumns(validatorsTable,validatorList);
-	        
-			validatorList.setCellModifier(new ICellModifier() {
-
-				public boolean canModify(Object element, String property) {
-					ComboBoxCellEditor cellEditor = getComboBoxCellEditor(property);
-					if (cellEditor == null)
-						return false;
-					return true;
-				}
-
-				protected ComboBoxCellEditor getComboBoxCellEditor(String property) {
-					CellEditor cellEditor = getCellEditor(property);
-					if (cellEditor instanceof ComboBoxCellEditor)
-						return (ComboBoxCellEditor) cellEditor;
-					return null;
-
-				}
-
-				protected int getPropertyIntValue(String property) {
-					if (columnProperties != null) {
-						for (int i = 0; i < columnProperties.length; i++) {
-							if (columnProperties[i].equals(property))
-								return i;
-						}
-					}
-					return VALUE_NOT_FOUND;
-				}
-
-				protected CellEditor getCellEditor(String property) {
-					int comboCellEditorIndex = getPropertyIntValue(property);
-					if (comboCellEditorIndex == VALUE_NOT_FOUND)
-						return null;
-					return columnEditors[comboCellEditorIndex];
-				}
-
-				public Object getValue(Object element, String property) {
-					ValidatorMetaData data = (ValidatorMetaData) element;
-					if (property == MANUAL_CHECK) {
-						if (data.isManualValidation())
-							return new Integer(ENABLED_INT);
-						else
-							return new Integer(DISABLED_INT);
-
-					} else if (property == BUILD_CHECK) {
-						if (data.isBuildValidation())
-							return new Integer(ENABLED_INT);
-						else
-							return new Integer(DISABLED_INT);
-					}
-					return new Integer(VALUE_NOT_FOUND);
-				}
-
-				public void modify(Object element, String property, Object value) {
-					ValidatorMetaData data = (ValidatorMetaData) ((TableItem) element).getData();
-					int intValue = ((Integer) value).intValue();
-					if (property.equals(MANUAL_CHECK)) {
-						if (intValue == ENABLED_INT) {
-							data.setManualValidation(true);
-						} else if (intValue == DISABLED_INT) {
-							data.setManualValidation(false);
-						}
-					} else if (property.equals(BUILD_CHECK)) {
-						if (intValue == ENABLED_INT) {
-							data.setBuildValidation(true);
-						} else if (intValue == DISABLED_INT) {
-							data.setBuildValidation(false);
-						}
-					}
-					validatorList.refresh();
-				}
-			});
-			
-			validatorList.setInput(pagePreferences.getValidators());
-			
-			enableAllButton = new Button(validatorGroup, SWT.PUSH);
-			GridData selectData = new GridData();
-			enableAllButton.setLayoutData(selectData);
-			enableAllButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_ENABLEALL));
-			enableAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						performEnableAll();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-					}
-				}
-			});
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(enableAllButton, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-
-			GridData deselectData = new GridData();
-			disableAllButton = new Button(validatorGroup, SWT.PUSH);
-			disableAllButton.setLayoutData(deselectData);
-			disableAllButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_DISABLEALL));
-			disableAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						performDisableAll();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-					}
-				}
-			});
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(disableAllButton, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-			Composite maxGroup = new Composite(page, SWT.NONE);
-			GridLayout maxGroupLayout = new GridLayout();
-			maxGroupLayout.numColumns = 2;
-			maxGroup.setLayout(maxGroupLayout);
-			GridData maxGroupData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			maxGroup.setLayoutData(maxGroupData);
-
-			// Have to set the tab order or only the first checkbox in a Composite can
-			// be tab-ed to. (Seems to apply only to checkboxes. Have to use the arrow
-			// key to navigate the checkboxes.)
-			validatorGroup.setTabList(new Control[]{overrideGlobalButton, validatorList.getTable(), enableAllButton, disableAllButton});
-
-			updateWidgets();
-
-			page.setSize(page.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-			return page;
-		}
-
-		protected void updateTable() throws InvocationTargetException {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-
-				// Should the validator be enabled? Read the user's preferences from last time,
-				// if they exist, and set from that. If they don't exist, use the Validator class'
-				if (pagePreferences.isManualEnabled(vmd))
-					vmd.setManualValidation(true);
-				else
-					vmd.setManualValidation(false);
-				
-				if (pagePreferences.isBuildEnabled(vmd))
-					vmd.setBuildValidation(true);
-				else
-					vmd.setBuildValidation(false);
-			}
-			validatorList.refresh();
-		}
-		
-		protected void enableManualAndBuildValues() {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-				vmd.setManualValidation(true);
-				vmd.setBuildValidation(true);
-			}
-			validatorList.refresh();
-		}
-		
-		protected void disableManualAndBuildValues() {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-				vmd.setManualValidation(false);
-				vmd.setBuildValidation(false);
-			}
-			validatorList.refresh();
-		}
-
-		public boolean performDefaults() throws InvocationTargetException {
-			pagePreferences.resetToDefault();
-			updateWidgets();
-			getDefaultsButton().setFocus();
-			return true;
-		}
-
-		public boolean performEnableAll() throws InvocationTargetException {
-			setAllValidators(true);
-			pagePreferences.setEnabledValidators(getEnabledValidators());
-			enableManualAndBuildValues();
-			enableAllButton.setFocus();
-			return true;
-		}
-
-		public boolean performDisableAll() throws InvocationTargetException {
-			setAllValidators(false);
-			pagePreferences.setEnabledValidators(getEnabledValidators());
-			disableManualAndBuildValues();
-			disableAllButton.setFocus();
-			return true;
-		}
-		
-		public ValidatorMetaData[] getEnabledValidators() {
-			List enabledValidators = new ArrayList();
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-				if(validatorMetaData.isManualValidation() || validatorMetaData.isBuildValidation())
-					enabledValidators.add(validatorMetaData);
-			}
-			return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-		}
-		
-		public ValidatorMetaData[] getManualEnabledValidators() {
-			List enabledValidators = new ArrayList();
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-				if(validatorMetaData.isManualValidation())
-					enabledValidators.add(validatorMetaData);
-			}
-			return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-		}
-		
-		public ValidatorMetaData[] getBuildEnabledValidators() {
-			List enabledValidators = new ArrayList();
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-				if(validatorMetaData.isBuildValidation())
-					enabledValidators.add(validatorMetaData);
-			}
-			return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-		}
-
-		
-		/**
-		 * 
-		 */
-		private void setAllValidators(boolean bool) {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-				validatorMetaData.setManualValidation(bool);
-				validatorMetaData.setBuildValidation(bool);
-			}
-		}
-
-		void updateWidgets() throws InvocationTargetException {
-			// Since the setting of the "override" button enables/disables the other widgets on the
-			// page, update the enabled state of the other widgets from the "override" button.
-			updateTable();
-			updateAllWidgets();
-			
-		}
-		
-		protected void updateWidgetsForDefaults() throws InvocationTargetException {
-			updateTableForDefaults();
-			updateAllWidgets();
-		}
-		
-		private void updateAllWidgets() throws InvocationTargetException {
-			// Since the setting of the "override" button enables/disables the other widgets on the
-			// page, update the enabled state of the other widgets from the "override" button.
-			ConfigurationManager prefMgr = ConfigurationManager.getManager();
-			canOverride = prefMgr.getGlobalConfiguration().canProjectsOverride();
-			boolean overridePreferences = canOverride && pagePreferences.doesProjectOverride();
-			overrideGlobalButton.setEnabled(canOverride);
-			overrideGlobalButton.setSelection(overridePreferences);
-			disableAllValidation.setEnabled(overridePreferences);
-			disableAllValidation.setSelection(pagePreferences.isDisableAllValidation());
-			if (overridePreferences)
-				enableDependentControls(!pagePreferences.isDisableAllValidation());
-			else
-				enableDependentControls(overridePreferences);
-			updateHelp();
-		}
-
-		private void updateTableForDefaults() throws InvocationTargetException {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-
-				// Should the validator be enabled? Read the user's preferences from last time,
-				// if they exist, and set from that. If they don't exist, use the Validator class'
-				if(pagePreferences.isEnabled(vmd)) {
-					vmd.setManualValidation(true);
-					vmd.setBuildValidation(true);
-				} else {
-					vmd.setManualValidation(false);
-					vmd.setBuildValidation(false);
-				}
-			}
-			validatorList.refresh();
-		}
-
-		/**
-		 * @param overridePreferences
-		 */
-		private void enableDependentControls(boolean overridePreferences) {
-			validatorsTable.setEnabled(overridePreferences);
-			enableAllButton.setEnabled(overridePreferences); // since help messsage isn't
-			disableAllButton.setEnabled(overridePreferences);
-		}
-
-		protected void updateHelp() throws InvocationTargetException {
-			// Whenever a widget is disabled, it cannot get focus.
-			// Since it can't have focus, its context-sensitive F1 help can't come up.
-			// From experimentation, I know that the composite parent of the widget
-			// can't have focus either. So, fudge the focus by making the table the widget
-			// surrogate so that the F1 help can be shown, with its instructions on how to
-			// enable the disabled widget. The table never has F1 help associated with it other
-			// than the page F1, so this fudge doesn't remove any context-sensitive help
-			// from the table widget.
-
-			/*if (autoButton.getEnabled()) {
-				// set the table's help back to what it was
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE);
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(autoButton, ContextIds.VALIDATION_PROPERTIES_PAGE_AUTO_ENABLED);
-			} else {
-				// The order of the following if statement is important!
-				// If the user cannot enable automatic validation on the project, then the user
-				// should not be told, for example, to turn auto-build on. Let the user know that
-				// no matter what they do they cannot run auto-validate on the project. IF the
-				// project
-				// supports auto-validate, THEN check for the items which the user can change.
-				validatorList.getTable().setFocus();
-				if (pagePreferences.numberOfIncrementalValidators() == 0) {
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_NOINCVALCONFIG);
-				} else if (!ValidatorManager.getManager().isGlobalAutoBuildEnabled()) {
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_AUTOBUILD);
-				} else {
-					// Incremental validators configured but not selected
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_NOINCVALSELECTED);
-				}
-			}
-
-			// if autoButton AND build button are disabled, show the build button's "to enable" text
-			if (valWhenBuildButton.getEnabled()) {
-				// Do NOT set the table's help back to what it was.
-				// Only if auto-validate is enabled should the page go back.
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(valWhenBuildButton, ContextIds.VALIDATION_PROPERTIES_PAGE_REBUILD_ENABLED);
-			} else {
-				//				page.getParent().setFocus();
-				validatorList.getTable().setFocus();
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_BUILD_NOVALSELECTED);
-			}
-*/
-			// if the override button is disabled, show its "to enable" text.
-			if (overrideGlobalButton.getEnabled()) {
-				// Do NOT set the table's help back to what it was.
-				// Only if auto-validate is enabled should the page go back.
-				boolean doesProjectSupportBuildValidation = ValidatorManager.doesProjectSupportBuildValidation(getProject());
-				GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-				//boolean isPrefAuto = gp.isAutoValidate();
-				//boolean isPrefManual = gp.isBuildValidate();
-				if (doesProjectSupportBuildValidation) {
-					// Project supports build validation, so it doesn't matter what the preferences
-					// are
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED);
-				} /*else if (!doesProjectSupportBuildValidation && (isPrefAuto && isPrefManual)) {
-					// Project doesn't support build validation, and the user prefers both auto and
-					// manual build validation
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_BOTH);
-				} else if (!doesProjectSupportBuildValidation && isPrefAuto) {
-					// Project doesn't support build validation, and the user prefers auto build
-					// validation
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_AUTO);
-				} else if (!doesProjectSupportBuildValidation && isPrefManual) {
-					// Project doesn't support build validation, and the user prefers manual build
-					// validation
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_MANUAL);
-				} else if (!doesProjectSupportBuildValidation && !isPrefAuto && !isPrefManual) {
-					// Project doesn't support build validation, but that doesn't matter because the
-					// user prefers no build validation.
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED);
-				}*/
-			} else {
-				validatorList.getTable().setFocus();
-				// Preference page doesn't allow projects to override
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_OVERRIDE);
-			}
-		}
-
-		/*
-		 * Store the current values of the controls into the preference store.
-		 */
-		private void storeValues() throws InvocationTargetException {
-			pagePreferences.setDoesProjectOverride(overrideGlobalButton.getSelection());
-
-			if (pagePreferences.doesProjectOverride()) {
-				pagePreferences.setEnabledManualValidators(getManualEnabledValidators());
-				pagePreferences.setEnabledBuildValidators(getBuildEnabledValidators());
-			} else {
-				pagePreferences.resetToDefault(); // If the project can't or doesn't override,
-				// update its values to match the global
-				// preference values.
-			}
-			pagePreferences.store();
-		}
-
-		/**
-		 * Reads the list of validators, enables the validators which are selected, disables the
-		 * validators which are not selected, and if the auto-validate checkbox is chosen, performs
-		 * a full validation.
-		 */
-		public boolean performOk() throws InvocationTargetException {
-			// addBuilder MUST be called before storeValues
-			// addBuilder adds a builder to the project, and that changes the project description.
-			// Changing a project's description triggers the validation framework's "natureChange"
-			// migration, and a nature change requires that the list of validators be recalculated.
-			// If the builder is added after the values are stored, the stored values are
-			// overwritten.
-			addBuilder();
-
-			// If this method is being called because an APPLY was hit instead of an OK,
-			// recalculate the "can build be enabled" status because the builder may have
-			// been added in the addBuilder() call above.
-			// Also recalculate the values that depend on the isBuilderConfigured value.
-			//isBuilderConfigured = ValidatorManager.doesProjectSupportBuildValidation(getProject());
-
-			// Persist the values.
-			storeValues();
-
-			if (pagePreferences.hasEnabledValidatorsChanged(oldVmd, false)) { 
-				// false means that the preference "allow" value hasn't changed
-				ValidatorManager.getManager().updateTaskList(getProject()); 
-			}
-
-			return true;
-		}
-
-		/**
-		 * If the current project doesn't have the validation builder configured on it, add the
-		 * builder. Otherwise return without doing anything.
-		 */
-		private void addBuilder() {
-			if (overrideGlobalButton.getSelection()) { // do not add the builder unless the user
-				// overrides the preferences
-				/*if (autoButton.getSelection() || valWhenBuildButton.getSelection()) {
-					ValidatorManager.addProjectBuildValidationSupport(getProject());
-				}*/
-			}
-		}
-
-		public Composite getControl() {
-			return page;
-		}
-
-		public void dispose() {
-			enableAllButton.dispose();
-			disableAllButton.dispose();
-			validatorList.getTable().dispose();
-			messageLabel.dispose();
-			//			layout.dispose();
-			//			data.dispose();
-			emptyRowPlaceholder.dispose();
-			overrideGlobalButton.dispose();
-			page.dispose();
-		}
-	}
-
-	/**
-	 * ValidationPreferencePage constructor comment.
-	 */
-	public ValidationPropertiesPage() {
-		// Some of the initialization is done in the "initialize" method, which is
-		// called by the "getPageType" method, because the current project must
-		// be known in order to initialize those fields.
-	}
-
-	/**
-	 * Given a parent (the Properties guide), create the Validators page to be added to it.
-	 */
-	protected Control createContents(Composite parent) {
-		IProject project = getProject();
-
-		if ((project == null) || !project.isOpen()) {
-			_pageImpl = new InvalidPage(parent);
-		} else {
-			try {
-				if (ConfigurationManager.getManager().getProjectConfiguration(project).numberOfValidators() == 0) {
-					_pageImpl = new NoValidatorsPage(parent);
-				} else {
-					_pageImpl = new ValidatorListPage(parent);
-				}
-			} catch (InvocationTargetException exc) {
-				_pageImpl = new InvalidPage(parent);
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			} catch (Throwable exc) {
-				_pageImpl = new InvalidPage(parent);
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			}
-		}
-
-		return _pageImpl.getControl();
-	}
-
-	/**
-	 * Since the pages are inner classes of a child PreferencePage, not a PreferencePage itself,
-	 * DialogPage's automatic disposal of its children's widgets cannot be used. Instead, dispose of
-	 * each inner class' widgets explicitly.
-	 */
-	public void dispose() {
-		super.dispose();
-		try {
-			_pageImpl.dispose();
-		} catch (Throwable exc) {
-			logError(exc);
-		}
-	}
-
-	/**
-	 * Returns the highlighted item in the workbench.
-	 */
-	public IProject getProject() {
-		Object element = getElement();
-
-		if (element == null) {
-			return null;
-		}
-
-		if (element instanceof IProject) {
-			return (IProject) element;
-		}
-
-		return null;
-	}
-
-	protected void noDefaultAndApplyButton() {
-		super.noDefaultAndApplyButton();
-	}
-
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 * <p>
-	 * This is a framework hook method for sublcasses to do special things when the Defaults button
-	 * has been pressed. Subclasses may override, but should call <code>super.performDefaults</code>.
-	 * </p>
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		try {
-			_pageImpl.performDefaults();
-		} catch (InvocationTargetException exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		} catch (Throwable exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		}
-	}
-
-	/**
-	 * When the user presses the "OK" or "Apply" button on the Properties Guide/Properties Page,
-	 * respectively, some processing is performed by this PropertyPage. If the page is found, and
-	 * completes successfully, true is returned. Otherwise, false is returned, and the guide doesn't
-	 * finish.
-	 */
-	public boolean performOk() {
-		try {
-			return _pageImpl.performOk();
-		} catch (InvocationTargetException exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			return false;
-		} catch (Throwable exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			return false;
-		}
-	}
-
-	void logError(Throwable exc) {
-		Logger logger = WTPUIPlugin.getLogger();
-		if (logger.isLoggingLevel(Level.SEVERE)) {
-			LogEntry entry = ValidationUIPlugin.getLogEntry();
-			entry.setSourceIdentifier("ValidationPropertiesPage.displayAndLogError"); //$NON-NLS-1$
-			entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL_PAGE);
-			entry.setTargetException(exc);
-			logger.write(Level.SEVERE, entry);
-
-			if (exc instanceof InvocationTargetException) {
-				if (((InvocationTargetException) exc).getTargetException() != null) {
-					entry.setTargetException(((InvocationTargetException) exc).getTargetException());
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	}
-
-	void displayAndLogError(String title, String message, Throwable exc) {
-		logError(exc);
-		displayMessage(title, message, org.eclipse.swt.SWT.ICON_ERROR);
-	}
-
-	private void displayMessage(String title, String message, int iIconType) {
-		MessageBox messageBox = new MessageBox(getShell(), org.eclipse.swt.SWT.OK | iIconType | org.eclipse.swt.SWT.APPLICATION_MODAL);
-		messageBox.setMessage(message);
-		messageBox.setText(title);
-		messageBox.open();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#getDefaultsButton()
-	 */
-	protected Button getDefaultsButton() {
-		return super.getDefaultsButton();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIConstants.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIConstants.java
deleted file mode 100644
index b06484b..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIConstants.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui;
-
-
-/**
- * @deprecated For use by the validation framework only.
- */
-public interface ValidationUIConstants extends org.eclipse.wst.validation.internal.ui.ResourceConstants {
-	//Default
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/RunnableWithProgressWrapper.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/RunnableWithProgressWrapper.java
deleted file mode 100644
index cf32408..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/RunnableWithProgressWrapper.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui.plugin;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress;
-import org.eclipse.wst.validation.internal.operations.ValidationOperation;
-
-
-/**
- * This is a wrapper for an IWorkspaceRunnable to the IRunnableWithProgress. This class needs to be
- * used when running the operation from a IRunnableContext.
- * 
- * @see IRunnableContext
- * @see ValidationUIPlugin#getRunnableWithProgress Creation date: (5/8/2001 1:28:45 PM)
- * @author: Administrator
- */
-public class RunnableWithProgressWrapper implements IRunnableWithProgress {
-	private IHeadlessRunnableWithProgress headlessRunnable = null;
-	private IWorkspaceRunnable workspaceRunnable = null;
-	private ValidationOperation validationOperation = null;
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use
-	 *             RunnableWithProgressWrapper(IWorkspaceRunnable)
-	 */
-	public RunnableWithProgressWrapper(IHeadlessRunnableWithProgress aHeadlessRunnableWithProgress) {
-		setHeadlessRunnable(aHeadlessRunnableWithProgress);
-	}
-
-	public RunnableWithProgressWrapper(IWorkspaceRunnable aHeadlessRunnableWithProgress) {
-		setWorkspaceRunnable(aHeadlessRunnableWithProgress);
-	}
-
-	public RunnableWithProgressWrapper(ValidationOperation op) {
-		setValidationOperation(op);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use getWorkspaceRunnable()
-	 */
-	protected IHeadlessRunnableWithProgress getHeadlessRunnable() {
-		return headlessRunnable;
-	}
-
-	protected IWorkspaceRunnable getWorkspaceRunnable() {
-		return workspaceRunnable;
-	}
-
-	/**
-	 * @see IRunnableWithProgress
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		try {
-			if (getHeadlessRunnable() != null) {
-				getHeadlessRunnable().run(monitor);
-			} else {
-				IWorkspaceRunnable runnable = (getWorkspaceRunnable() == null) ? validationOperation : getWorkspaceRunnable();
-				if (runnable == null) {
-					return;
-				}
-				ResourcesPlugin.getWorkspace().run(runnable, monitor);
-			}
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc);
-		}
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use setWorkspaceRunnable(IWorkspaceRunnable)
-	 */
-	protected void setHeadlessRunnable(IHeadlessRunnableWithProgress newHeadlessRunnable) {
-		headlessRunnable = newHeadlessRunnable;
-	}
-
-	protected void setWorkspaceRunnable(IWorkspaceRunnable newWorkspaceRunnable) {
-		workspaceRunnable = newWorkspaceRunnable;
-	}
-
-	protected void setValidationOperation(ValidationOperation op) {
-		validationOperation = op;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/ValidationUIPlugin.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/ValidationUIPlugin.java
deleted file mode 100644
index 2674b33..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/ValidationUIPlugin.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2001, 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.validation.internal.ui.plugin;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-import org.eclipse.wst.validation.internal.operations.ValidationOperation;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-
-
-public class ValidationUIPlugin extends WTPUIPlugin {
-	private static ValidationUIPlugin _plugin = null;
-
-	public final static String VALIDATION_PROP_FILE_NAME = "validate_ui"; //$NON-NLS-1$
-	public static final String VALIDATION_PLUGIN_ID = "org.eclipse.wst.validation.ui"; //$NON-NLS-1$
-	public static final String[] ICON_DIRS = new String[]{"icons"};
-
-	public ValidationUIPlugin() {
-		super();
-		if (_plugin == null) {
-			_plugin = this;
-		}
-	}
-
-	public static String getBundleName() {
-		return VALIDATION_PROP_FILE_NAME;
-	}
-
-	public static LogEntry getLogEntry() {
-		return ValidationPlugin.getLogEntry();
-	}
-
-
-	public static ValidationUIPlugin getPlugin() {
-		return _plugin;
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 * 
-	 * @param key
-	 *            java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResourceString(String key) {
-		try {
-			return Platform.getResourceString(Platform.getBundle(VALIDATION_PLUGIN_ID), key);
-		} catch (Exception e) {
-			e.printStackTrace();
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = getLogEntry();
-				entry.setSourceID("ValidationUIPlugin.getResourceString(String)"); //$NON-NLS-1$
-				entry.setText("Missing resource for key" + key); //$NON-NLS-1$
-				logger.write(Level.FINE, entry);
-			}
-
-			return key;
-		}
-	}
-
-	/**
-	 * This method should be called whenever you need to run one of our headless operations in the
-	 * UI.
-	 */
-	public static IRunnableWithProgress getRunnableWithProgress(IWorkspaceRunnable aWorkspaceRunnable) {
-		return new RunnableWithProgressWrapper(aWorkspaceRunnable);
-	}
-
-//	public static IRunnableWithProgress getRunnableWithProgress(IHeadlessRunnableWithProgress aHeadlessRunnableWithProgress) {
-//		return new RunnableWithProgressWrapper(aHeadlessRunnableWithProgress);
-//	}
-
-	// Need a third, ValidationOperation version of this method, because ValidationOperation
-	// is both an IWorkspaceRunnable and an IHeadlessRunnableWithProgress. This method will
-	// exist only while IHeadlessRunnableWithProgress exists.
-	public static IRunnableWithProgress getRunnableWithProgress(ValidationOperation op) {
-		return new RunnableWithProgressWrapper(op);
-	}
-
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		//	org.eclipse.wst.validation.internal.operations.ValidatorManager.setResourceUtilClass(org.eclipse.wst.validation.internal.operations.ui.UIResourceUtil.class);
-	}
-	
-	/**
-	 * Get a .gif from the image registry.
-	 */
-	public Image getImage(String key) {
-		ImageRegistry imageRegistry = getImageRegistry();
-		Image image = imageRegistry.get(key);
-		if (image == null || image.isDisposed()) {
-			ImageDescriptor descriptor = getImageDescriptor(key);
-			if (descriptor != null) {
-				image = descriptor.createImage();
-				imageRegistry.put(key, image);
-			}
-		}
-		return image;
-	}
-	
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public ImageDescriptor getImageDescriptor(String key) {
-		ImageDescriptor imageDescriptor = null;
-		URL gifImageURL = getImageURL(key);
-		if (gifImageURL != null)
-			imageDescriptor = ImageDescriptor.createFromURL(gifImageURL);
-		return imageDescriptor;
-	}
-	
-	/**
-	 * @param key
-	 * @return
-	 */
-	private URL getImageURL(String key) {
-		return ValidationUIPlugin.getImageURL(key, getBundle());
-	}
-	
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public static URL getImageURL(String key, Bundle bundle) {
-		String gif = "/" + key + ".gif"; //$NON-NLS-1$ //$NON-NLS-2$
-		IPath path = null;
-		for (int i = 0; i < ICON_DIRS.length; i++) {
-			path = new Path(ICON_DIRS[i]).append(gif);
-			if (Platform.find(bundle,path) == null)
-				continue;
-			try {
-				return new URL( bundle.getEntry("/"), path.toString()); //$NON-NLS-1$ 
-			} catch (MalformedURLException exception) {
-				exception.printStackTrace();
-				continue;
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/.classpath b/plugins/org.eclipse.wst.validation/.classpath
deleted file mode 100644
index f8323da..0000000
--- a/plugins/org.eclipse.wst.validation/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="validate"/>
-	<classpathentry kind="src" path="validate_core"/>
-	<classpathentry kind="src" path="property_files"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.validation/.cvsignore b/plugins/org.eclipse.wst.validation/.cvsignore
deleted file mode 100644
index 874e992..0000000
--- a/plugins/org.eclipse.wst.validation/.cvsignore
+++ /dev/null
@@ -1,10 +0,0 @@
-bin
-temp.folder
-validate.jar
-build.xml
-common.jar
-validatesrc.zip
-commonsrc.zip
-src.zip
-org.eclipse.wst.validation_1.0.0.zip
-@dot
diff --git a/plugins/org.eclipse.wst.validation/.options b/plugins/org.eclipse.wst.validation/.options
deleted file mode 100644
index 26565de..0000000
--- a/plugins/org.eclipse.wst.validation/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-com.ibm.etools.validation/debug=true
-com.ibm.etools.validation/tracefilter=
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/.project b/plugins/org.eclipse.wst.validation/.project
deleted file mode 100644
index 846dae7..0000000
--- a/plugins/org.eclipse.wst.validation/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.validation</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.validation/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.validation/META-INF/MANIFEST.MF
deleted file mode 100644
index a6f18d8..0000000
--- a/plugins/org.eclipse.wst.validation/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Validation Framework
-Bundle-SymbolicName: org.eclipse.wst.validation; singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.wst.validation.internal.plugin.ValidationPlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.validation.internal;x-internal:=true,
- org.eclipse.wst.validation.internal.core;x-internal:=true,
- org.eclipse.wst.validation.internal.operations;x-internal:=true,
- org.eclipse.wst.validation.internal.plugin;x-internal:=true,
- org.eclipse.wst.validation.internal.provisional;x-internal:=true,
- org.eclipse.wst.validation.internal.provisional.core;x-internal:=true
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.wst.common.frameworks,
- org.eclipse.jem.util,
- org.eclipse.core.runtime,
- org.eclipse.wst.common.project.facet.core
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.wst.validation/about.html b/plugins/org.eclipse.wst.validation/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/plugins/org.eclipse.wst.validation/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/build.properties b/plugins/org.eclipse.wst.validation/build.properties
deleted file mode 100644
index 8a3225d..0000000
--- a/plugins/org.eclipse.wst.validation/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               META-INF/,\
-               about.html,\
-               .
-jars.compile.order = .
-src.includes = component.xml,\
-               xsds/
-output.. = bin/
-source.. = validate_core/,\
-           property_files/,\
-           validate/
diff --git a/plugins/org.eclipse.wst.validation/component.xml b/plugins/org.eclipse.wst.validation/component.xml
deleted file mode 100644
index 21011d7..0000000
--- a/plugins/org.eclipse.wst.validation/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.validation"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.validation" fragment="false"/><plugin id="org.eclipse.wst.validation.ui" fragment="false"/><package name="org.eclipse.wst.validation.core"></package><package name="org.eclipse.wst.validation.plugin"></package></component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/plugin.properties b/plugins/org.eclipse.wst.validation/plugin.properties
deleted file mode 100644
index 7ca7dd6..0000000
--- a/plugins/org.eclipse.wst.validation/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-#
-# Version 1.3
-#
-VALIDATION_BUILDER_NAME=Validation
-VALIDATION_PROBLEMMARKER_NAME=Validation Message
-VALIDATION_PROJECTMARKER_NAME=Enabled Validators
-VALIDATION_PREFERENCEMARKER_NAME=Validation Preferences
-Validator=Validator
-ReferencialFileValidator=ReferencialFileValidator
-validationSelectionHandler=validationSelectionHandler
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/plugin.xml b/plugins/org.eclipse.wst.validation/plugin.xml
deleted file mode 100644
index c861ce1..0000000
--- a/plugins/org.eclipse.wst.validation/plugin.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- Validation extension points -->
-   <extension-point id="validator" name="%Validator" schema="xsds/validatorExtSchema.exsd"/>
-   <extension-point id="referencialFileValidator" name="%ReferencialFileValidator" schema="xsds/referencialFileExtSchema.exsd"/>
-   <extension-point id="validationSelectionHandler" name="%validationSelectionHandler" schema="xsds/validationSelectionHandler.exsd"/>
-   <extension-point id="validationHelper" name="validationHelper" schema="xsds/validationHelper.exsd"/>   
-   
-<!--============================-->
-<!-- Validation Contributions   -->
-<!--============================-->
-   <extension
-         id="validationbuilder"
-         name="%VALIDATION_BUILDER_NAME"
-         point="org.eclipse.core.resources.builders">
-      <builder>
-         <run
-               class="org.eclipse.wst.validation.internal.operations.ValidationBuilder">
-         </run>
-      </builder>
-   </extension>
-<!-- Problem markers must be a subtype of problemmarker to be displayed in the task view -->
-   <extension
-         id="problemmarker"
-         name="%VALIDATION_PROBLEMMARKER_NAME"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.problemmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="owner">
-      </attribute>
-      <attribute
-            name="validationSeverity">
-      </attribute>
-      <attribute
-            name="targetObject">
-      </attribute>
-      <attribute
-            name="groupName">
-      </attribute>
-      <attribute
-            name="messageId">
-      </attribute>
-   </extension>
-<!-- Don't want to display this marker in the task view -->
-   <extension
-         id="projectmarker"
-         name="%VALIDATION_PROJECTMARKER_NAME"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="enabledValidatorList">
-      </attribute>
-      <attribute
-            name="autoValidate">
-      </attribute>
-      <attribute
-            name="runWhenBuild">
-      </attribute>
-      <attribute
-            name="maxNumMessages">
-      </attribute>
-      <attribute
-            name="overrideGlobalPreferences">
-      </attribute>
-      <attribute
-            name="version">
-      </attribute>
-   </extension>
-<!-- Don't want to display this marker in the task view -->
-   <extension
-         id="preferencemarker"
-         name="%VALIDATION_PREFERENCEMARKER_NAME"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="enabledValidatorList">
-      </attribute>
-      <attribute
-            name="autoValidate">
-      </attribute>
-      <attribute
-            name="runWhenBuild">
-      </attribute>
-      <attribute
-            name="maxNumMessages">
-      </attribute>
-      <attribute
-            name="projectsCanOverride">
-      </attribute>
-      <attribute
-            name="version">
-      </attribute>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.validation/prepareforpii.xml b/plugins/org.eclipse.wst.validation/prepareforpii.xml
deleted file mode 100644
index 1aad5fe..0000000
--- a/plugins/org.eclipse.wst.validation/prepareforpii.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-		
-	<!-- Setup temp variables -->
-	<target name="init">
-		<property name="nlsDir" value="d:/NLS/Corona/0526"/>
-		<property name="plugin" value="com.ibm.etools.validation"/>
-		<property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
-		<property name="outputDir" value="${nlsDir}/${plugin}"/>
-		
-	
-	</target>
-
-	<!-- Create the destination dir -->
-	<target name="nlsDir" depends="init">
-		<mkdir dir="${nlsDir}"/>
-	</target>
-	
-	<!-- Create the destination dir -->
-	<target name="plugindir" depends="nlsDir">
-		<delete dir="${outputDir}"/>
-		<mkdir dir="${outputDir}"/>
-	</target>
-
-	<!-- Move the files to the correct locations in the workspace. -->
-	<target name="main" depends="plugindir">
-	
-		<messageIdGen folderPath = "${plugindir}" componentId = "E" />
-		
-		<copy todir = "${outputDir}/property_files" >
-			 <fileset dir="${plugindir}/property_files">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-  		
-  		<copy file="${plugindir}/plugin.properties" todir="${outputDir}"/>
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.validation/property_files/validate_base.properties b/plugins/org.eclipse.wst.validation/property_files/validate_base.properties
deleted file mode 100644
index a97ae38..0000000
--- a/plugins/org.eclipse.wst.validation/property_files/validate_base.properties
+++ /dev/null
@@ -1,139 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-# To avoid name collisions, each extension point should preface their property names with an identifier.
-#
-#     *************************************************************************
-#     * Code oriented instructions:
-#     *
-#     * In the string, you may see the following special sequences:
-#     * a) {n}  where n is a number. These are replaceable parameters.
-#     * b) ''  In .properties files, in order to see one apostrophe (') in the final
-#     *    string, sometimes two apostrophes must be entered in the string. In the translated
-#     *    string, if there is at least one {n} in the string, then to show one apostrophe
-#     *    to the user, put two apostrophes in the string. If there are no {n} in the string,
-#     *    then put one apostrophe.
-#     *    For example, say that you want the user to read "George's file". 
-#     *        GEORGE=George's file was on the desk.
-#     *        GEORGE2=George''s file and {0} were on the desk.
-#     *    GEORGE uses one apostrophe because there are no {n} and GEORGE2
-#     *    uses two apostrophes because there is a {n}.
-#     * c) '' text '' where text can be any word(s). The text between the double
-#     *    apostrophes should not be translated. 
-#     * d) <text> where text can be any word(s). The text between the angle
-#     *    brackets should NOT be translated.
-#     * e) "text" where text can be any word(s). The text between the quotation 
-#     *    marks should NOT be translated.
-#     *    
-#     *************************************************************************
-#     * Other instructions
-#     * a) Do not translate any text that is on a line which begins with a comment 
-#     *    symbol (#).
-#     * b) Do not translate these words: 
-#     *        schema, EJB, RDB, JAR, RMI, BMP, CMP, OOSQL
-#     * c) Please return the .properties files using the same directory structure.
-#     *    This is necessary because two of the files have the same name.
-#     *
-#     *************************************************************************
-# Any other comments to the translators are on lines which start like this:  # 2TC:
-#
-# Version 1.14
-#
-#
-# ID:
-#    VBF - Validation Builder Framework
-#       VBF_EXC=Exception or error text
-#       VBF_STATUS=Status message
-#       VBF_TASK=Task list message
-#
-
-# 
-# Begin Validation Builder Framework Strings
-#
-# IDs:
-#    VBF_EXC=Exception or error text
-#    VBF_STATUS=Status message
-#    VBF_TASK=Task list message
-#
-VBF_EXC_CANNOT_ADD_MARKER=IWAE0001E The marker cannot be added to resource {0} in the task list.
-VBF_EXC_CANNOT_REMOVE_MARKER=IWAE0002E The marker cannot be removed from resource {0} in the task list.
-
-VBF_EXC_HELPER_MISSING=IWAE0003E Unable to load {0} because it did not specify a <helper>. Each validator must identify the helper class that loads its MOF model.
-VBF_EXC_HELPER_CANNOTLOAD=IWAE0004E Unable to load {0} because its <helper>, {1}, could not be loaded. Ensure that the case-sensitive file name is spelled correctly.
-
-VBF_EXC_INTERNAL=IWAE0005E An internal error occurred during validation. Validation was being run on project {0} with validator {1}. The message thrown was {2}.
-
-# 2TC: In the following string, "type" is a noun
-VBF_EXC_INVALID_TYPE_FILTER=IWAE0006E Invalid type filter; {0} must be an instance of {1}.
-VBF_EXC_INVALID_RESOURCE=IWAE0007E Cannot add message "{0}" with target object "{1}" because no file, folder, or project can be found with which to associate the message.
-
-VBF_EXC_MISSING_VALIDATOR_EP=IWAE0008E The validator framework could not be started. The extension point named \"{0}\" could not be found. Save all log files and contact your IBM representative.
-VBF_EXC_MISSING_PROJECTNATURE_ID=IWAE0009E A projectNature must have an associated ID. Validation is ignoring this tag and continuing.
-
-VBF_EXC_RUNTIME=IWAE0010E Run-time exception {0} occurred during validation. The validator being run was {1} and the message thrown was {2}.
-
-VBF_EXC_SYNTAX_NULL_NAME=IWAE0011E Resource {0} cannot be added to file list because IHelper.getPortableName() returns null. This resource will not be validated by the validator named {1}.
-VBF_EXC_SYNTAX_NO_HELPER=IWAE0012E No <helper> element is specified in the plugin.xml file for validator {0}. Since the helper cannot be created, the validator will not be loaded.
-VBF_EXC_SYNTAX_NO_HELPER_CLASS=IWAE0013E No "class" attribute in the <helper> element is specified in the plugin.xml file for validator {0}. The helper cannot be created without the name of the class that implements it. Since the helper cannot be created, the validator will not be loaded.
-VBF_EXC_SYNTAX_NO_HELPER_THROWABLE=IWAE0014E The helper {0} cannot be created because a Throwable was caught.
-VBF_EXC_SYNTAX_NO_VAL_RUN=IWAE0015E Validator cannot be created because no <run> element is specified in the plugin.xml file for the validator named {0}. Cannot create a validator unless a <run> element exists that specifies the "class" attribute. The value of the "class" attribute should be the name of the class that implements the IWorkbenchHelper interface.
-VBF_EXC_SYNTAX_NO_VAL_CLASS=IWAE0016E Validator cannot be created because no "class" attribute is specified in the <run> element of the plugin.xml file for the validator named {0}. Cannot create a validator unless a <run> element exists that specifies the "class" attribute. The value of the "class" attribute should be the name of the class that implements the IWorkbenchHelper interface.
-VBF_EXC_SYNTAX_NO_VAL_THROWABLE=IWAE0017E Cannot create validator {0} because a Throwable was caught.
-VBF_EXC_SYNTAX_NO_VAL_NULL=IWAE0018E Validator class {0} could not be created. IConfigurationElement.createExecutableExtension(String) returned null.
-
-VBF_EXC_DISABLEV=IWAE0019E Cannot instantiate validator {0}. Disabling the validator; read the log for details.
-VBF_EXC_DISABLEH=IWAE0020E Cannot instantiate helper {0}. Disabling validator {1}; read the log for details.
-VBF_EXC_ORPHAN_IVALIDATOR=IWAE0021E Cannot locate meta-data for validator {0}.
-
-VBF_EXC_VALIDATORNAME_IS_NULL=IWAE0022E The plugin with ID {0} has been disabled because its getName() method returns null. The method must return a value.
-
-VBF_EXC_NULLCREATE=IWAE0023E Cannot create a validation configuration on a null resource.
-VBF_EXC_NULLSAVE=IWAE0024E Cannot save a validation configuration on a null resource.
-VBF_EXC_SAVE=IWAE0025E Could not save the validation configuration on resource {0}.
-VBF_EXC_NULLRETRIEVE=IWAE0026E Cannot retrieve the validation configuration because resource is null.
-VBF_EXC_RETRIEVE=IWAE0027E Could not retrieve the validation configuration for resource {0}.
-
-VBF_EXC_BADVMD=IWAE0028E ValidatorMetaData[] must not be null or empty.
-VBF_EXC_OPENPRJ=IWAE0029E Project {0} must be open.
-VBF_EXC_EXISTPRJ=IWAE0030E Project {0} must exist.
-VBF_EXC_BADPRJ=IWAE0031E Project {0} must be the project that contains the resources in the IResource[].
-VBF_EXC_MULTIPRJ=IWAE0032E All IResource instances in the IResource[] must be part of the same IProject instance. The resources come from the following projects: {0}.
-VBF_EXC_BADVAL=IWAE0033E Validator {0} must be configured on {1};
-
-VBF_STATUS_INITIALIZING=Initializing {0}.
-
-VBF_STATUS_VALIDATOR_CLEANUP=Performing cleanup on {0} before termination.
-
-VBF_STATUS_PROGRESSMONITOR_TITLE=Validating
-VBF_STATUS_NULL_DELTA=Last build state of {0} could not be retrieved. Performing a full validation.
-
-VBF_STATUS_VALIDATOR_TERMINATED=Validation of {0} using {1} was cancelled.
-
-VBF_STATUS_START_REMOVING_OLD_MESSAGES=Removing {0} messages on {1} has started...
-VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES=Messages removed.
-
-VBF_STATUS_STARTING_VALIDATION=Validation of {0} by {1} has started...
-VBF_STATUS_ENDING_VALIDATION=Validation of {0} by {1} is complete. All known problems have been reported.
-VBF_STATUS_ENDING_VALIDATION_ABNORMALLY=Validation of {0} by {1} ended abnormally. The list of problems may be incomplete. Please check the information messages for the cause of the abnormal termination.
-
-VBF_STATUS_LOOKING=Looking for validation messages owned by uninstalled validators...
-VBF_STATUS_LOOKINGDONE=Looking for validation messages owned by uninstalled validators...done.
-VBF_STATUS_REMOVING=Removing validation messages owned by uninstalled validators...
-VBF_STATUS_REMOVINGDONE=Removing validation messages owned by uninstalled validators...done.
-
-# The following message will be deleted soon.
-VBF_TASK_WARN_MESSAGE_LIMIT_ABORT=IWAE0034W IWAD3000I: {1} terminated validation of {0} because the maximum number of messages were reported. Some messages may be missing.
-
-VBF_TASK_WARN_MESSAGE_LIMIT_VAL=IWAE0035W IWAD3000I: Some messages may be missing because the maximum number of messages has been reported. Increase the maximum number of messages and try again.
-
-#
-# End Validation Builder Framework Strings
-#
-
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationConstants.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationConstants.java
deleted file mode 100644
index 1510ce3..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationConstants.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * Validation constants needed to implement the marker extension point and the user's preferences.
- * 
- * Only the validation framework should use this interface.
- */
-public interface ConfigurationConstants {
-	public static final String DISABLE_ALL_VALIDATION_SETTING = "disableAllValidation"; //$NON-NLS-1$ // boolean
-	///* package */static final String AUTO_SETTING = "autoValidate"; //$NON-NLS-1$ // boolean
-	///* package */static final String BUILD_SETTING = "runWhenBuild"; //$NON-NLS-1$ // boolean
-
-	// Defaults for the preference and project values
-	
-	/* package */static String CURRENT_VERSION = (String) ValidationPlugin.getPlugin().getBundle().getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION); //$NON-NLS-1$ // this is a constant, so it should be intern
-	/* package */static final boolean DEFAULT_ASYNC = true;
-	/* package */static final boolean DEFAULT_DISABLE_VALIDATION_SETTING = false;
-	///* package */static final boolean DEFAULT_AUTO_SETTING = true;
-	///* package */static final boolean DEFAULT_BUILD_SETTING = true;
-	/* package */static ValidatorMetaData[] DEFAULT_ENABLED_VALIDATORS = ValidationRegistryReader.getReader().getValidatorMetaDataArrayEnabledByDefault(); //$NON-NLS-1$ // store a copy here so that we don't modify the original and don't create a copy every time we need this value
-	/* package */static final int DEFAULT_MAXNUMMESSAGES = 50;
-	public static final int DEPTH_INFINITE = IResource.DEPTH_INFINITE;
-	public static final int DEPTH_ZERO = IResource.DEPTH_ZERO;
-	/* package */static final String ELEMENT_SEPARATOR = ";"; //$NON-NLS-1$ // separates the name of one IValidator from the next in the list of enabled validators for a project or preference
-
-	// The following values must match the attributes in the preference marker as shown in
-	// plugin.xml
-	// Even though the plugin.xml values are not used to create new Preference or Project markers,
-	// maintaining one local name ensures that there's no confusion writing the migration code.
-	// These are the QualifiedNames used to persist the user's settings.
-	/* package */static final String ENABLED_MANUAL_VALIDATORS = "enabledManualValidatorList"; //$NON-NLS-1$ // String
-	/* package */static final String ENABLED_BUILD_VALIDATORS = "enabledBuildValidatorList"; //$NON-NLS-1$ // String
-	public static final String J2EE_PLUGIN_ID = "org.eclipse.jst.j2ee"; //$NON-NLS-1$ // For 4.03, this is the plugin id that the validation constants were declared in.
-	/* package */static final String MAXNUMMESSAGES = "maxNumMessages"; //$NON-NLS-1$ // integer
-	public static final String PLUGIN_ID = ValidationPlugin.PLUGIN_ID;
-	/* package */static final String PREF_PROJECTS_CAN_OVERRIDE = "projectsCanOverride"; //$NON-NLS-1$ // boolean
-	// end validation message marker constants
-
-	// Preference and Project constants
-	/* package */static final String PREFERENCE_MARKER = PLUGIN_ID + ".preferencemarker"; //$NON-NLS-1$
-	/* package */static final String PRJ_MARKER = PLUGIN_ID + ".projectmarker"; //$NON-NLS-1$ // The extension which saves user validation preferences for a particular project (e.g. which validators run on the project)
-	/* package */static final String PRJ_MARKER_403 = J2EE_PLUGIN_ID + ".projectmarker"; //$NON-NLS-1$ // The extension which saves user validation preferences for a particular project (e.g. which validators run on the project)
-	/* package */static final String PRJ_OVERRIDEGLOBAL = "overrideGlobalPreferences"; //$NON-NLS-1$ // boolean (Use the global preferences or override)
-
-	/* package */static final QualifiedName USER_PREFERENCE = new QualifiedName(PLUGIN_ID, "ValidationConfiguration"); //$NON-NLS-1$ // ValidationConfiguration for the IResource
-	/* package */static final QualifiedName USER_MANUAL_PREFERENCE = new QualifiedName(PLUGIN_ID, "ValidationManualConfiguration"); //$NON-NLS-1$ // ValidationConfiguration for the IResource
-	/* package */static final QualifiedName USER_BUILD_PREFERENCE = new QualifiedName(PLUGIN_ID, "ValidationBuildConfiguration"); //$NON-NLS-1$ // ValidationConfiguration for the IResource
-
-	// Validation message marker constants
-	/* package */static final String VALIDATION_MARKER = PLUGIN_ID + ".problemmarker"; //$NON-NLS-1$ // The extension which is used to add validation markers to the task list
-	/* package */static final String VALIDATION_MARKER_GROUP = "groupName"; //$NON-NLS-1$ // For incremental validation, this field associates a message with a group, so that a subset of messages may be removed from a file.
-	/* package */static final String VALIDATION_MARKER_MESSAGEID = "messageId"; //$NON-NLS-1$ // Persist the message id of the message, not just the translated text.
-
-	// The following values must match the attributes in the validation message marker as shown in
-	// plugin.xml
-	/* package */static final String VALIDATION_MARKER_OWNER = "owner"; //$NON-NLS-1$ // The IValidator who owns the IMarker on the task list
-	/* package */static final String VALIDATION_MARKER_SEVERITY = "validationSeverity"; //$NON-NLS-1$ // one of the SeverityEnum values
-	/* package */static final String VALIDATION_MARKER_TARGETOBJECT = "targetObject"; //$NON-NLS-1$ // When more than one target object resolves to the same IResource, this field identifies which targetObject owns a particular message.
-	/* package */static final String VERSION = "version"; //$NON-NLS-1$
-
-	// WSAD versions which created markers of these types
-	/* package */static final String VERSION4_03 = "4.03"; //$NON-NLS-1$
-	/* package */static final String VERSION5_0 = "5.0"; //$NON-NLS-1$
-	/* package */static final String VERSION5_01 = "5.0.1"; //$NON-NLS-1$
-	// end preference and project defaults
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationManager.java
deleted file mode 100644
index a5f7fc1..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationManager.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * Only the validation framework can use this class.
- */
-public final class ConfigurationManager implements ConfigurationConstants {
-	private static ConfigurationManager inst = null;
-
-	private ConfigurationManager() {
-		//Default constructor
-	}
-
-	public static ConfigurationManager getManager() {
-		if (inst == null) {
-			inst = new ConfigurationManager();
-		}
-		return inst;
-	}
-
-	/**
-	 * Given a validation marker, return the fully-qualified class name of the validator who owns
-	 * the message. If the validator cannot be found or if the marker is not a validation marker,
-	 * return null.
-	 */
-	public String getValidator(IMarker marker) {
-		if (marker == null) {
-			return null;
-		}
-
-		try {
-			if (!marker.getType().equals(VALIDATION_MARKER)) {
-				return null;
-			}
-
-			Object attrib = marker.getAttribute(VALIDATION_MARKER_OWNER);
-			if (attrib == null) {
-				// owner not set
-				return null;
-			}
-			return attrib.toString();
-		} catch (CoreException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("InternalPreferenceManager.getValidator(IMarker)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * Return true if the given marker is a validation marker. Otherwise return false.
-	 */
-	public boolean isValidationMarker(IMarker marker) {
-		if (marker == null) {
-			return false;
-		}
-
-		try {
-			return marker.getType().equals(VALIDATION_MARKER);
-		} catch (CoreException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("InternalPreferenceManager.isValidationMarker(IMarker)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * This method is for use by the TVT Validation plugin ONLY!!! No code should access the
-	 * validation markers in the list directly except for the validation framework and the TVT
-	 * Validation plugin.
-	 */
-	public void removeAllValidationMarkers(IProject project) {
-		if ((project == null) || (!project.isOpen())) {
-			return;
-		}
-
-		try {
-			project.deleteMarkers(VALIDATION_MARKER, false, DEPTH_INFINITE); // false means only
-			// consider VALIDATION_MARKER, not variants of VALIDATION_MARKER. 
-			//Since addTask only adds VALIDATION_MARKER, we don't need to consider its subtypes.
-		} catch (CoreException exc) {
-			// Couldn't retrieve the markers from the resource for some reason...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("WorkbenchMonitor.removeAllValidationMarkers(IProject)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	/**
-	 * This method returns the global preferences for the workspace.
-	 */
-	public GlobalConfiguration getGlobalConfiguration() throws InvocationTargetException {
-		IWorkspaceRoot root = ValidationConfiguration.getRoot();
-		GlobalConfiguration gp = null;
-		try {
-			gp = (GlobalConfiguration) root.getSessionProperty(USER_PREFERENCE);
-			if (gp == null) {
-				gp = new GlobalConfiguration(root);
-				gp.getVersion(); // initialize the configuration's version attribute
-				gp.load(); // initialize this instance from the stored values
-				gp.passivate(); // store this instance as a property on the IResource
-			}
-			return gp;
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{root.getName()}));
-		}
-	}
-
-	public ProjectConfiguration getProjectConfiguration(IProject project) throws InvocationTargetException {
-		ProjectConfiguration prjp = null;
-		try {
-			prjp = (ProjectConfiguration) project.getSessionProperty(USER_PREFERENCE);
-			if (prjp == null || !prjp.getResource().exists()) {
-				prjp = new ProjectConfiguration(project);
-				prjp.getVersion(); // initialize the configuration's version attribute
-				prjp.load(); // initialize this instance from the stored values
-				prjp.passivate(); // store this instance as a property on the IResource
-			}
-			return prjp;
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{project.getName()}));
-		}
-	}
-
-	public ProjectConfiguration getProjectConfigurationWithoutMigrate(IProject project) throws InvocationTargetException {
-		ProjectConfiguration prjp = null;
-		try {
-			prjp = (ProjectConfiguration) project.getSessionProperty(USER_PREFERENCE);
-			if (prjp == null || !prjp.getResource().exists()) {
-				prjp = new ProjectConfiguration(project);
-				prjp.getVersion(); // initialize the configuration's version attribute
-				prjp.load(); // initialize this instance from the stored values
-				prjp.passivate(); // store this instance as a property on the IResource
-			}
-			return prjp;
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{project.getName()}));
-		}
-	}
-
-
-	/**
-	 * The nature of the project has changed; update the enabled validators on the project.
-	 */
-	public void resetProjectNature(IProject project) throws InvocationTargetException {
-		resetProjectNature(getProjectConfiguration(project));
-	}
-
-	/**
-	 * When a project has been created for the first time, its natures may not have been complete at
-	 * the time that this Preference was recreated. Call this method to recalculate the vmds.
-	 */
-	protected void resetProjectNature(ProjectConfiguration prjp) throws InvocationTargetException {
-		prjp.resetProjectNature();
-	}
-
-	public void closing(IProject project) {
-		try {
-			if (isMigrated(project)) {
-				ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-				prjp.store();
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("InternalPreferenceManager::closing(" + project.getName() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	}
-
-	public void deleting(IProject project) {
-	}
-
-	public void opening(IProject project) {
-		// Do not load or migrate the project in this method; let the getConfiguration(IProject)
-		// method do that. Do not load the project before it's necessary.
-	}
-
-	/**
-	 * Return true if the global preferences are at the current level of metadata, false otherwise.
-	 */
-	public boolean isGlobalMigrated() throws InvocationTargetException {
-		IWorkspaceRoot root = ValidationConfiguration.getRoot();
-		if (root == null) {
-			return false;
-		}
-
-		try {
-			GlobalConfiguration gp = (GlobalConfiguration) root.getSessionProperty(USER_PREFERENCE);
-			if (gp != null) {
-				return gp.isVersionCurrent();
-			}
-
-			String serializedPrjp = root.getPersistentProperty(USER_PREFERENCE);
-			if (serializedPrjp != null) {
-				gp = new GlobalConfiguration(root);
-				gp.getVersion(); // initialize the configuration's version attribute
-				return gp.isVersionCurrent();
-			}
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{root.getName()}));
-		}
-
-		return false;
-	}
-
-	/**
-	 * Return true if the given project has the current level of metadata, false otherwise.
-	 */
-	public boolean isMigrated(IProject project) throws InvocationTargetException {
-		if (project == null) {
-			return false;
-		}
-		try {
-			if (project.isAccessible()) {
-				ProjectConfiguration prjp = (ProjectConfiguration) project.getSessionProperty(USER_PREFERENCE);
-				if (prjp != null) {
-					return prjp.isVersionCurrent();
-				}
-				String serializedPrjp = project.getPersistentProperty(USER_PREFERENCE);
-				if (serializedPrjp != null) {
-					prjp = new ProjectConfiguration(project);
-					prjp.getVersion(); // initialize the configuration's
-					// version attribute
-					return prjp.isVersionCurrent();
-				}
-			}
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{project.getName()}));
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/EventManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/EventManager.java
deleted file mode 100644
index fa7a232..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/EventManager.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.UIContextDetermination;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * This class manages resource change events for the validation framework.
- */
-public class EventManager implements IResourceChangeListener {
-	private static EventManager _inst = null;
-	private boolean _shutdown = false; // false means that eclipse is not shutting down, and true
-	// means that it is shutting down. Used in two methods:
-	// shutdown(),and resourceChanged(IResourceChangeEvent)
-	private IResourceDeltaVisitor _postAutoBuildVisitor = null;
-	private boolean _isActive = false; // has the registry been read?
-
-	private EventManager() {
-		super();
-	}
-
-	public static EventManager getManager() {
-		if (_inst == null) {
-			_inst = new EventManager();
-		}
-		return _inst;
-	}
-
-	public void opening(IProject project) {
-		if (project == null || !ValidationPlugin.isActivated()) {
-			return;
-		}
-
-		// When the project is opened, check for any orphaned tasks
-		// or tasks whose owners need to be updated.
-		ConfigurationManager.getManager().opening(project);
-	}
-
-	public void closing(IProject project) {
-		if (project == null || !ValidationPlugin.isActivated()) {
-			return;
-		}
-
-		try {
-			boolean isMigrated = ConfigurationManager.getManager().isMigrated(project);
-			// If it's not migrated, then it hasn't been loaded, and we don't want to load the
-			// validator and its prerequisite plugins until they're needed.
-			if (isMigrated) {
-				ValidatorMetaData[] vmds = ConfigurationManager.getManager().getProjectConfiguration(project).getValidators();
-				for (int i = 0; i < vmds.length; i++) {
-					ValidatorMetaData vmd = vmds[i];
-
-					if (!vmd.isActive()) {
-						// If this validator has not been activated, or if it has been shut down,
-						// don't activate it again.
-						continue;
-					}
-
-					IWorkbenchContext helper = null;
-					try {
-						helper = vmd.getHelper(project);
-						helper.closing();
-					} catch (InstantiationException exc) {
-						// Remove the vmd from the reader's list
-						ValidationRegistryReader.getReader().disableValidator(vmd);
-
-						// Log the reason for the disabled validator
-						Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-						if (logger.isLoggingLevel(Level.SEVERE)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setSourceID("EventManager::closing(IProject)"); //$NON-NLS-1$
-							entry.setTargetException(exc);
-							logger.write(Level.SEVERE, entry);
-						}
-
-						continue;
-					} catch (Throwable exc) {
-						// If there is a problem with this particular helper, log the error and
-						// continue
-						// with the next validator.
-						Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-						if (logger.isLoggingLevel(Level.SEVERE)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setSourceID("EventManager::closing(IProject)"); //$NON-NLS-1$
-							entry.setTargetException(exc);
-							logger.write(Level.SEVERE, entry);
-						}
-						continue;
-					}
-				}
-
-				ConfigurationManager.getManager().closing(project);
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("EventManager::closing(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	}
-
-	public void deleting(IProject project) {
-		if (project == null) {
-			return;
-		}
-
-		try {
-			boolean isMigrated = ConfigurationManager.getManager().isMigrated(project);
-			// If it's not migrated, then it hasn't been loaded, and we don't want to load the
-			// validator and its prerequisite plugins until they're needed.
-			if (isMigrated) {
-				ValidatorMetaData[] vmds = ConfigurationManager.getManager().getProjectConfiguration(project).getValidators();
-				for (int i = 0; i < vmds.length; i++) {
-					ValidatorMetaData vmd = vmds[i];
-
-					if (!vmd.isActive()) {
-						// If this validator has not been activated, or if it has been shut down,
-						// don't activate it again.
-						continue;
-					}
-
-					IWorkbenchContext helper = null;
-					try {
-						helper = vmd.getHelper(project);
-						helper.deleting();
-					} catch (InstantiationException exc) {
-						// Remove the vmd from the reader's list
-						ValidationRegistryReader.getReader().disableValidator(vmd);
-
-						// Log the reason for the disabled validator
-						Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-						if (logger.isLoggingLevel(Level.SEVERE)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setSourceID("EventManager::deleting(IProject)"); //$NON-NLS-1$
-							entry.setTargetException(exc);
-							logger.write(Level.SEVERE, entry);
-						}
-
-						continue;
-					} catch (Throwable exc) {
-						// If there is a problem with this particular helper, log the error and
-						// continue
-						// with the next validator.
-						Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-						if (logger.isLoggingLevel(Level.SEVERE)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setSourceID("EventManager::deleting(IProject)"); //$NON-NLS-1$
-							entry.setTargetException(exc);
-							logger.write(Level.SEVERE, entry);
-						}
-						continue;
-					}
-				}
-
-				ConfigurationManager.getManager().deleting(project);
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("EventManager::deleting(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	}
-
-	/**
-	 * If a project's description changes, The project may have changed its nature. Update the cache
-	 * to reflect the new natures. The project could be opening. Migrate.
-	 */
-	private void postAutoChange(IResourceDelta delta) {
-		if (_postAutoBuildVisitor == null) {
-			_postAutoBuildVisitor = new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta subdelta) throws CoreException {
-					if (subdelta == null)
-						return true;
-
-					IResource resource = subdelta.getResource();
-					if (resource instanceof IProject) {
-						IProject project = (IProject) resource;
-						if ((subdelta.getFlags() & IResourceDelta.DESCRIPTION) == IResourceDelta.DESCRIPTION) {
-							try {
-								ConfigurationManager.getManager().resetProjectNature(project); // flush
-								// existing
-								// "enabled
-								// validator"
-								// settings
-								// and
-								// reset
-								// to
-								// default
-							} catch (InvocationTargetException exc) {
-								Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-								if (logger.isLoggingLevel(Level.SEVERE)) {
-									LogEntry entry = ValidationPlugin.getLogEntry();
-									entry.setSourceIdentifier("EventManager::postAutoChange"); //$NON-NLS-1$
-									entry.setTargetException(exc);
-									logger.write(Level.SEVERE, entry);
-
-									if (exc.getTargetException() != null) {
-										entry.setTargetException(exc);
-										logger.write(Level.SEVERE, entry);
-									}
-								}
-							}
-							return false;
-						}
-
-						if ((subdelta.getFlags() & IResourceDelta.OPEN) == IResourceDelta.OPEN) {
-							if (project.isOpen()) {
-								// Project was just opened. If project.isOpen() had returned false,
-								// project
-								// would just have been closed.
-								opening(project);
-							}
-							// closing is called by PRE_CLOSE in resourceChanged
-							//							else {
-							//								closing(project);
-							//							}
-						}
-					}
-
-					return true;
-				}
-			};
-		}
-
-		try {
-			delta.accept(_postAutoBuildVisitor, true);
-		} catch (CoreException exc) {
-			exc.printStackTrace();
-		}
-	}
-
-	/**
-	 * Notifies this manager that some resource changes have happened on the platform. If the change
-	 * is a project deletion, that project should be removed from the cache.
-	 * 
-	 * @see IResourceDelta
-	 * @see IResource
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		if (_shutdown && (!isActive())) {
-			// If we're shutting down, and nothing has been activated, don't need to
-			// do anything.
-			return;
-		}
-
-		/*
-		 * StringBuffer buffer = new StringBuffer(); buffer.append("IResourceChangeEvent type = ");
-		 * buffer.append(event.getType()); buffer.append(", resource = ");
-		 * buffer.append(event.getResource()); buffer.append(", source = ");
-		 * buffer.append(event.getSource()); buffer.append(", delta = ");
-		 * buffer.append(event.getDelta()); System.out.println(buffer.toString());
-		 */
-
-		if (event.getSource() instanceof IWorkspace) {
-			if ((event.getType() == IResourceChangeEvent.PRE_DELETE) && (event.getResource() instanceof IProject)) {
-				deleting((IProject) event.getResource());
-			} else if ((event.getType() == IResourceChangeEvent.PRE_CLOSE) && (event.getResource() instanceof IProject)) {
-				closing((IProject) event.getResource());
-			} else if (event.getType() == IResourceChangeEvent.POST_BUILD) {
-				postAutoChange(event.getDelta());
-			}
-
-		}
-	}
-
-	/**
-	 * Notifies this manager that the ValidationPlugin is shutting down. (Usually implies that
-	 * either the plugin could not load, or that the workbench is shutting down.)
-	 * 
-	 * The manager will then notify all active helpers of the shutdown, so that they may perform any
-	 * last-minute writes to disk, cleanup, etc.
-	 */
-	public void shutdown() {
-		try {
-			_shutdown = true; // resourceChanged(IResourceChangeEvent) needs to know when a shutdown
-			// has started.
-
-			/*
-			 * if( !isHeadless() && ConfigurationManager.getManager().isGlobalMigrated()) {
-			 * GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-			 * gp.store(); // First, see if any validators are loaded. If none are, there is nothing
-			 * to // clean up. if(gp.numberOfValidators() == 0) { return; } }
-			 */
-
-			// If the validators are loaded, then for every project in the workbench,
-			// we must see if it has been loaded. If it has, every enabled IWorkbenchContext
-			// must be called to clean up. If the project hasn't been loaded, then no
-			// IWorkbenchContext built anything, and there's nothing to clean up.
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceRoot workspaceRoot = workspace.getRoot();
-			IProject[] projects = workspaceRoot.getProjects();
-			ProjectConfiguration prjp = null;
-			IProject project = null;
-			for (int i = 0; i < projects.length; i++) {
-				project = projects[i];
-				if (!project.isOpen()) {
-					// If the project isn't opened, there's nothing to clean up.
-					// If the project was opened, it would have been migrated, and there's something
-					// to clean up.
-					continue;
-				}
-
-				try {
-					boolean isMigrated = ConfigurationManager.getManager().isMigrated(project);
-					// If it's not migrated, then it hasn't been loaded, and we don't want to load
-					// the
-					// validator and its prerequisite plugins until they're needed.
-					if (isMigrated) {
-						prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-						prjp.store();
-
-						ValidatorMetaData[] vmdList = prjp.getEnabledValidators();
-						// if vmdList is null, IProject has never been loaded, so nothing to clean
-						// up
-						if (vmdList != null) {
-							for (int j = 0; j < vmdList.length; j++) {
-								ValidatorMetaData vmd = vmdList[j];
-
-								if (!vmd.isActive()) {
-									// If this validator has not been activated, or if it has been
-									// shut down, don't activate it again.
-									continue;
-								}
-
-								IWorkbenchContext helper = vmd.getHelper(project);
-								if (helper != null) {
-									try {
-										helper.shutdown();
-									} catch (Throwable exc) {
-										// Since we're shutting down, ignore the exception.
-									}
-								}
-							}
-						}
-					}
-				} catch (InvocationTargetException exc) {
-					Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceIdentifier("EventManager::shutdown(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-						entry.setTargetException(exc);
-						logger.write(Level.SEVERE, entry);
-
-						if (exc.getTargetException() != null) {
-							entry.setTargetException(exc);
-							logger.write(Level.SEVERE, entry);
-						}
-					}
-				}
-			}
-		} catch (Throwable exc) {
-			// Since we're shutting down, ignore the exception.
-		}
-	}
-
-	public boolean isActive() {
-		// Have to use this convoluted technique for the shutdown problem.
-		// i.e., when eclipse is shut down, if validation plugin hasn't been loaded,
-		// the EventManager is activated for the first time, and it
-		// sends many exceptions to the .log. At first, I wrote a
-		// static method on ValidationRegistryReader, which returned true
-		// if the registry had been read, and false otherwise. However,
-		// that didn't solve the exception problem, because eclipse's
-		// class loader failed to load the ValidationRegistryReader class.
-		//
-		// The fix is to keep all shutdown mechanisms in this class.
-		// Track everything in here.
-		return _isActive;
-	}
-
-	/**
-	 * This method should only be called by the ValidationRegistryReader once the registry has been
-	 * read.
-	 */
-	public void setActive(boolean b) {
-		_isActive = b;
-	}
-
-	/**
-	 * This method should be used to determine if the workbench is running in UI or Headless
-	 */
-	public static boolean isHeadless() {
-		boolean ret = UIContextDetermination.getCurrentContext() == UIContextDetermination.HEADLESS_CONTEXT;
-		return ret;
-		//return UIContextDetermination.getCurrentContext() ==
-		// UIContextDetermination.HEADLESS_CONTEXT;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java
deleted file mode 100644
index 3a82813..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java
+++ /dev/null
@@ -1,732 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.core.IFileDelta;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.operations.WorkbenchFileDelta;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Utility class for the ValidationOperation hierarchy.
- */
-public final class FilterUtil {
-	private static VMDDeltaVisitor _deltaVisitor = null;
-	private static VMDResourceVisitor _resourceVisitor = null;
-
-	private interface VMDRecorder {
-		public Map getResult();
-
-		public void setEnabledValidators(Set enabledValidators);
-
-		public void setProgressMonitor(IProgressMonitor monitor);
-
-		public IProgressMonitor getProgressMonitor();
-	}
-
-	private interface VMDDeltaVisitor extends VMDRecorder, IResourceDeltaVisitor {
-		//constructor
-	}
-
-	private interface VMDResourceVisitor extends VMDRecorder, IResourceVisitor {
-		//constructor
-	}
-
-	/**
-	 * Don't let anyone create an instance of this class.
-	 */
-	private FilterUtil() {
-		//default
-	}
-
-	/**
-	 * Given a Set of enabled ValidatorMetaData, create a Map with each ValidatorMetaData as a key
-	 * with an associated null value.
-	 */
-	static Map wrapInMap(Set enabledValidators) {
-		Map result = new HashMap();
-		if ((enabledValidators == null) || (enabledValidators.size() == 0)) {
-			return result;
-		}
-
-		Iterator iterator = enabledValidators.iterator();
-		while (iterator.hasNext()) {
-			result.put(iterator.next(), null);
-		}
-		return result;
-	}
-
-	static void checkCanceled(IProgressMonitor monitor) throws OperationCanceledException {
-		if (monitor == null) {
-			return;
-		} else if (monitor.isCanceled()) {
-			throw new OperationCanceledException(""); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Given a Map of VMD <=>Set(IFileDelta), either return the existing Set or create a Set and
-	 * return it.
-	 */
-	private static Set getResourceDeltas(Map enabledValidators, ValidatorMetaData vmd) {
-		Set fileDeltas = (Set) enabledValidators.get(vmd);
-		if (fileDeltas == null) {
-			fileDeltas = new HashSet();
-			enabledValidators.put(vmd, fileDeltas);
-		}
-		return fileDeltas;
-	}
-
-	/**
-	 * Given the IFileDelta type, return the corresponding IResourceDelta type.
-	 */
-	private static int getResourceDeltaType(int ifileDeltaType) {
-		switch (ifileDeltaType) {
-			case (IFileDelta.ADDED) : {
-				return IResourceDelta.ADDED;
-			}
-
-			case (IFileDelta.DELETED) : {
-				return IResourceDelta.REMOVED;
-			}
-
-			case (IFileDelta.CHANGED) :
-			default : {
-				return IResourceDelta.CHANGED;
-			}
-		}
-	}
-
-	/**
-	 * Given the IResourceDelta type, return the corresponding IFileDelta type.
-	 */
-	static int getFileDeltaType(int iresourceDeltaType) {
-		switch (iresourceDeltaType) {
-			case IResourceDelta.ADDED : // resource has been added to the workbench
-			{
-				return IFileDelta.ADDED;
-			}
-
-			case IResourceDelta.CHANGED : // resources has been changed in the workbench
-			{
-				return IFileDelta.CHANGED;
-			}
-
-			case IResourceDelta.REMOVED : // resource has been deleted from the workbench
-			{
-				return IFileDelta.DELETED;
-			}
-
-			case IResourceDelta.ADDED_PHANTOM : // incoming workbench resource
-			{
-				return IFileDelta.ADDED;
-			}
-
-			case IResourceDelta.REMOVED_PHANTOM : // outgoing workbench resource
-			{
-				return IFileDelta.DELETED;
-			}
-
-			default : {
-				return IFileDelta.CHANGED;
-			}
-		}
-	}
-
-
-	/**
-	 * Return the validators which are both configured on this type of project, (as stored in
-	 * getProject()), and enabled by the user on this project.
-	 */
-	static void addFileDelta(Map enabledValidators, ValidatorMetaData vmd, WorkbenchFileDelta fileDelta) {
-		Set fileDeltas = getResourceDeltas(enabledValidators, vmd);
-		fileDeltas.add(fileDelta);
-		enabledValidators.put(vmd, fileDeltas);
-	}
-
-	/**
-	 * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of
-	 * IFileDelta wrapper around the changed Object[].
-	 * 
-	 * If filterIn is true, do not check if the resources are filtered in by the validator. If
-	 * filterIn is false, check if the resources are filtered in by the validator (recommended).
-	 */
-	public static Map getFileDeltas(Set enabledValidators, Object[] changedResources, boolean filterIn) {
-		return getFileDeltas(enabledValidators, changedResources, IFileDelta.CHANGED, filterIn); // by
-		// default,
-		// assume
-		// that
-		// the
-		// resources
-		// have
-		// changed,
-		// not
-		// added
-		// or
-		// deleted
-	}
-
-	/**
-	 * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of
-	 * IFileDelta wrapper around the changed Object[], with each delta of type deltaType.
-	 */
-	public static Map getFileDeltas(Set enabledValidators, Object[] changedResources, int ifileDeltaType) {
-		return getFileDeltas(enabledValidators, changedResources, ifileDeltaType, false); // by
-		// default,
-		// check
-		// if the
-		// Object[]
-		// are
-		// filtered
-		// in by
-		// the
-		// validator
-	}
-
-	/**
-	 * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of
-	 * IFileDelta wrapper around the changed Object[].
-	 * 
-	 * If "force" is true, then don't check if the object is filtered in by the validator or not.
-	 * ValidatorSubsetOperation can use validators that don't filter in these particular resources,
-	 * but can use a defaultExtension's validators instead.
-	 */
-	public static Map getFileDeltas(Set enabledValidators, Object[] changedResources, int ifileDeltaType, boolean force) {
-		Map result = new HashMap();
-		if ((enabledValidators == null) || (enabledValidators.size() == 0)) {
-			return result;
-		}
-
-		Iterator iterator = enabledValidators.iterator();
-		boolean cannotLoad = false;
-		IWorkbenchContext helper = null;
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			try {
-				Set deltas = new HashSet();
-				IProgressMonitor monitor = new NullProgressMonitor();
-				for (int i = 0; i < changedResources.length; i++) {
-					Object obj = changedResources[i];
-					WorkbenchFileDelta wfd = null;
-					if (obj instanceof IResource) {
-						IResource res = (IResource) obj;
-						if (force || !filterOut(monitor, vmd, res, getResourceDeltaType(ifileDeltaType))) {
-							helper = vmd.getHelper(res.getProject());
-
-							wfd = getFileDelta(helper, vmd, res, getResourceDeltaType(ifileDeltaType));
-						}
-					} else {
-						wfd = new WorkbenchFileDelta(obj);
-					}
-
-					if (wfd != null) {
-						deltas.add(wfd);
-					}
-				}
-				result.put(vmd, deltas);
-			} catch (InstantiationException exc) {
-				cannotLoad = true;
-
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-
-				// Log the reason for the disabled validator
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("FilterUtil::getFileDeltas(Set, Object[], int, boolean)"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				continue;
-			}
-
-		}
-
-		if (cannotLoad) {
-			// Some of the validators should not be in the result set because either their
-			// validator class or helper class could not be instantiated.
-			Object[] vmds = enabledValidators.toArray();
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = (ValidatorMetaData) vmds[i];
-				if (vmd.cannotLoad()) {
-					result.remove(vmd);
-				}
-			}
-		}
-
-
-		return result;
-	}
-
-	public static WorkbenchFileDelta getFileDelta(IWorkbenchContext helper, ValidatorMetaData vmd, IResource resource, int iresourceDeltaType) {
-		// strip off the eclipse-specific information
-		String fileName = helper.getPortableName(resource);
-		if (fileName == null) {
-			// The resource is not contained in the current project.
-			// Can't see how this would happen, but check for it anyway.
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("FilterUtil::getFileDelta(IWorkbenchContext, ValidatorMetaData, IResource, int)"); //$NON-NLS-1$
-				entry.setMessageTypeID(ResourceConstants.VBF_EXC_SYNTAX_NULL_NAME);
-				String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SYNTAX_NULL_NAME), new String[]{resource.getName(), vmd.getValidatorDisplayName()});
-				entry.setText(result);
-				//entry.setTokens(new String[]{resource.getName(), vmd.getValidatorDisplayName()});
-				logger.write(Level.SEVERE, entry);
-			}
-
-			IPath resourcePath = resource.getFullPath();
-			if (resourcePath != null) {
-				// Since null file names are not allowed, default to the fully-qualified name of the
-				// resource.
-				fileName = resourcePath.toString();
-			} else {
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("FilterUtil::getFileDelta(IWorkbenchContext, ValidtaorMetaData, IResource, int)"); //$NON-NLS-1$
-					entry.setText("portableName is null and path is null for resource " + resource); //$NON-NLS-1$
-					logger.write(Level.SEVERE, entry);
-				}
-				return null;
-			}
-		}
-
-		int ifileDeltaType = getFileDeltaType(iresourceDeltaType);
-		return new WorkbenchFileDelta(fileName, ifileDeltaType, resource);
-	}
-
-
-	/**
-	 * Add the IResource to the vmd's list of resources to validate. Return true if the add was
-	 * successful or false if the add was not successful.
-	 */
-	static boolean addToFileList(Map enabledValidators, IWorkbenchContext helper, ValidatorMetaData vmd, IResource resource, int resourceDelta, boolean isFullBuild) {
-		if ((vmd == null) || (resource == null)) {
-			return false;
-		}
-
-		try {
-			helper.registerResource(resource);
-		} catch (Throwable exc) {
-			// How to log this????
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("FilterUtil.addToFileList"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-
-			InternalValidatorManager.getManager().addInternalErrorTask(resource.getProject(), vmd, exc);
-
-			// Don't return ... even though the register threw an exception, that's not to say
-			// that the validator can't validate.
-		}
-
-		if (isFullBuild) {
-			// To indicate a full build to the validator, don't build up a list of files;
-			// pass in null instead. Given that the list of files should not be used,
-			// don't calculate it.
-			return true;
-		}
-
-
-		WorkbenchFileDelta newFileDelta = getFileDelta(helper, vmd, resource, resourceDelta);
-		if (newFileDelta != null) {
-			// if delta is null, getFileDelta will have logged the problem already
-			addFileDelta(enabledValidators, vmd, newFileDelta);
-		}
-
-		return true;
-	}
-
-	/**
-	 * Whether a full verification or a delta verification is in progress, both will call this
-	 * method to process the resource. This method calls the current Validator to filter the
-	 * resource (i.e., this method returns if the resource fails the filter test).
-	 * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls
-	 * the current Validator to validate the resource.
-	 * 
-	 * To process a resource, there are several steps: 1. check if the resource is registered for
-	 * this validator (i.e., the validator has either specified it in a filter, or has not filtered
-	 * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with
-	 * the current resource. This method performs further filtering by the Validator itself, in
-	 * addition to the static filtering done by the framework, based on the information in
-	 * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the
-	 * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the
-	 * completion of the <code>validate</code>), increment the IProgressMonitor's status by one
-	 * (i.e., one resource has been processed.)
-	 */
-	static boolean filterOut(IProgressMonitor monitor, ValidatorMetaData vmd, IResource resource, int resourceDelta) {
-		if (monitor == null) {
-			return false;
-		}
-
-		checkCanceled(monitor);
-		return !(vmd.isApplicableTo(resource, resourceDelta));
-	}
-
-	/**
-	 * Whether a full verification or a delta verification is in progress, both will call this
-	 * method to process the resource. This method calls the current Validator to filter the
-	 * resource (i.e., this method returns if the resource fails the filter test).
-	 * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls
-	 * the current Validator to validate the resource.
-	 * 
-	 * To process a resource, there are several steps: 1. check if the resource is registered for
-	 * this validator (i.e., the validator has either specified it in a filter, or has not filtered
-	 * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with
-	 * the current resource. This method performs further filtering by the Validator itself, in
-	 * addition to the static filtering done by the framework, based on the information in
-	 * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the
-	 * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the
-	 * completion of the <code>validate</code>), increment the IProgressMonitor's status by one
-	 * (i.e., one resource has been processed.)
-	 */
-	static void filterOut(IProgressMonitor monitor, Map enabledValidators, IResource resource, int resourceDelta, boolean isFullBuild) {
-		if (monitor == null) {
-			return;
-		}
-
-		checkCanceled(monitor);
-
-		Iterator iterator = enabledValidators.keySet().iterator();
-		boolean cannotLoad = false;
-		while (iterator.hasNext()) {
-			checkCanceled(monitor);
-
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-
-			if (!filterOut(monitor, vmd, resource, resourceDelta)) {
-				try {
-					// Notify the helper that a resource is about to be filtered in
-					IWorkbenchContext helper = vmd.getHelper(resource.getProject());
-					addToFileList(enabledValidators, helper, vmd, resource, resourceDelta, isFullBuild);
-				} catch (InstantiationException exc) {
-					cannotLoad = true;
-
-					// Remove the vmd from the reader's list
-					ValidationRegistryReader.getReader().disableValidator(vmd);
-
-					// Log the reason for the disabled validator
-					Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceID("FilterUtil::filterOut(IProgressMonitor, Map, IResource, int, boolean)"); //$NON-NLS-1$
-						entry.setTargetException(exc);
-						logger.write(Level.SEVERE, entry);
-					}
-				}
-			}
-		}
-
-		if (cannotLoad) {
-			// Some of the validators need to be removed from the set because the validator
-			// or helper cannot be instantiated.
-			Object[] vmds = enabledValidators.keySet().toArray();
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = (ValidatorMetaData) vmds[i];
-				if (vmd.cannotLoad()) {
-					enabledValidators.remove(vmd);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Whether a full verification or a delta verification is in progress, both will call this
-	 * method to process the resource. This method calls the current Validator to filter the
-	 * resource (i.e., this method returns if the resource fails the filter test).
-	 * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls
-	 * the current Validator to validate the resource.
-	 * 
-	 * This method is called during an incremental, not a full, validation. The full validation
-	 * fakes an IResourceDelta, and the incremental needs to check that the delta is one of the
-	 * deltas which is filtered in by the validation framework.
-	 * 
-	 * @see filterOut(IResourceDelta)
-	 * 
-	 * To process a resource, there are several steps: 1. check if the resource is registered for
-	 * this validator (i.e., the validator has either specified it in a filter, or has not filtered
-	 * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with
-	 * the current resource. This method performs further filtering by the Validator itself, in
-	 * addition to the static filtering done by the framework, based on the information in
-	 * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the
-	 * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the
-	 * completion of the <code>validate</code>), increment the IProgressMonitor's status by one
-	 * (i.e., one resource has been processed.)
-	 */
-	static void filterOut(IProgressMonitor monitor, Map enabledValidators, IResource resource, IResourceDelta delta) {
-		// filter in only resources which have been added, deleted, or its content changed.
-		// moves will be registered as an add & delete combination
-		if (filterOut(delta)) {
-			return;
-		}
-		filterOut(monitor, enabledValidators, resource, delta.getKind(), false); // false =
-		// incremental
-		// build
-	}
-
-	/**
-	 * Filter out resource deltas which don't correspond to changes that validators can validate.
-	 * 
-	 * This method will filter in deltas only if the delta is an add, a delete, or if the content of
-	 * the file has changed.
-	 * 
-	 * Return true if the delta should be filtered out, and false if we should validate it.
-	 * 
-	 * @see IResourceDelta
-	 */
-	static boolean filterOut(IResourceDelta delta) {
-		if (delta == null) {
-			return true;
-		}
-
-		switch (delta.getKind()) {
-			case IResourceDelta.ADDED : // resource has been added to the workbench
-			{
-				return false;
-			}
-
-			case IResourceDelta.REMOVED : // resource has been deleted from the workbench
-			{
-				// If the delta is an IProject, and the IProject is getting deleted or closed, don't
-				// validate it or its children.
-				if (delta.getResource() instanceof IProject) {
-					return true;
-				}
-				return false;
-			}
-
-			case IResourceDelta.CHANGED : // resources has been changed in the workbench
-			{
-				// We want to add the enterprise bean only if its source file's
-				// contents have changed. (for example, if a folder has been
-				// added to the project, the IFile will be changed because
-				// its position has been changed, but the enterprise bean
-				// doesn't need to be redeployed. See IResourceDelta.getFlags()
-				// for more information.)
-				//
-				// Or, if ejb-jar.xml has changed, the EJBJar is destroyed & created
-				// from scratch, so the list of EnterpriseBean is new. Purge the old
-				// EJBJar from the EJBCache (since it will never be referenced again),
-				// and load the new EJBJar into the cache.
-				if ((delta.getResource() instanceof IFile) && ((delta.getFlags() & IResourceDelta.CONTENT) != 0)) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * This method returns true if the given resource and its children should be processed by the
-	 * validators. That is, there are several types of changes which can occur to an IProject which
-	 * should not trigger a revalidation of the project or its children. (e.g. project is deleted or
-	 * closed.) For those cases, or if the IResourceDelta is invalid, this method will return false
-	 * (do not validate the IProject or its children). Otherwise, return true (validate the resource &
-	 * its children). If an IProject itself has not changed, but one of its children has
-	 * (delta.getKind() of NO_CHANGE), then return true so that the children are validated.
-	 */
-	static boolean shouldProcess(IResource resource, IResourceDelta delta) {
-		if ((resource != null) && !(resource instanceof IProject)) {
-			return true;
-		}
-
-		if (delta == null) {
-			return false;
-		}
-
-		switch (delta.getKind()) {
-			case IResourceDelta.ADDED : // resource has been deleted from the workbench; may be part
-			// of a move
-			{
-				if (0 != (delta.getFlags() & IResourceDelta.MOVED_FROM)) {
-					// If it's being moved, don't revalidate its children. If it's being added, fall
-					// through to the "return true;" at the end of this method.
-					return false;
-				}
-				break;
-			}
-
-			case IResourceDelta.REMOVED : // resource has been deleted from the workbench; may be
-			// part of a move
-			{
-				// Whether it's being deleted or moved, don't revalidate its children.
-				return false;
-			}
-
-			case IResourceDelta.CHANGED : // resource has been changed in the workbench; may be part
-			// of a move
-			{
-				if ((delta.getFlags() & IResourceDelta.OPEN) != 0) {
-					// Change is related to the OPEN bit. Whether the project was closed and is now
-					// open,
-					// or the project was open and is now closed, don't need to revalidate the
-					// children.
-					return false;
-				} else if ((delta.getFlags() & IResourceDelta.REPLACED) != 0) {
-					// project was moved
-					return false;
-				}
-
-				break;
-			}
-		}
-
-		return true;
-	}
-
-	private static VMDResourceVisitor getResourceVisitor(IProgressMonitor monitor, Set enabledValidators) {
-		if (_resourceVisitor == null) {
-			_resourceVisitor = new VMDResourceVisitor() {
-				private Map _vmdDeltas = null;
-				private IProgressMonitor _progressMonitor = null;
-
-				public Map getResult() {
-					return _vmdDeltas;
-				}
-
-				public void setEnabledValidators(Set validators) {
-					_vmdDeltas = wrapInMap(validators);
-				}
-
-				public IProgressMonitor getProgressMonitor() {
-					return _progressMonitor;
-				}
-
-				public void setProgressMonitor(IProgressMonitor m) {
-					_progressMonitor = m;
-				}
-
-				public boolean visit(IResource res) throws CoreException {
-					FilterUtil.checkCanceled(getProgressMonitor());
-
-					// We don't need to filter out anything, because a full validation
-					// is about to be performed.
-					filterOut(getProgressMonitor(), _vmdDeltas, res, IResourceDelta.CHANGED, true); // true
-					// -
-					// this
-					// is a
-					// full
-					// build
-
-					return true; // visit the resource's children as well
-				}
-			};
-		}
-		_resourceVisitor.setProgressMonitor(monitor);
-		_resourceVisitor.setEnabledValidators(enabledValidators);
-
-		return _resourceVisitor;
-	}
-
-	private static VMDDeltaVisitor getDeltaVisitor(IProgressMonitor monitor, Set enabledValidators) {
-		if (_deltaVisitor == null) {
-			_deltaVisitor = new VMDDeltaVisitor() {
-				private Map _vmdDeltas = null;
-				private IProgressMonitor _progressMonitor = null;
-
-				public Map getResult() {
-					return _vmdDeltas;
-				}
-
-				public void setEnabledValidators(Set validators) {
-					_vmdDeltas = wrapInMap(validators);
-				}
-
-				public IProgressMonitor getProgressMonitor() {
-					return _progressMonitor;
-				}
-
-				public void setProgressMonitor(IProgressMonitor m) {
-					_progressMonitor = m;
-				}
-
-				public boolean visit(IResourceDelta subdelta) throws CoreException {
-					checkCanceled(getProgressMonitor());
-					if (subdelta == null)
-						return true;
-
-					IResource resource = subdelta.getResource();
-
-					Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.FINEST)) {
-						StringBuffer buffer = new StringBuffer("subdelta of "); //$NON-NLS-1$
-						buffer.append(resource.getName());
-						buffer.append(" is "); //$NON-NLS-1$
-						buffer.append(subdelta.getKind());
-						buffer.append(" resource exists? "); //$NON-NLS-1$
-						buffer.append(resource.exists());
-						buffer.append(" resource.isPhantom?"); //$NON-NLS-1$
-						buffer.append(resource.isPhantom());
-
-						if (logger.isLoggingLevel(Level.FINEST)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setSourceID("FilterUtil::visit(IResourceDelta)"); //$NON-NLS-1$
-							entry.setText(buffer.toString());
-							logger.write(Level.FINEST, entry);
-						}
-
-					}
-
-					// If the delta is an IProject, and the IProject is getting deleted or closed,
-					// don't validate it or its children.
-					if (shouldProcess(resource, subdelta)) {
-						filterOut(getProgressMonitor(), _vmdDeltas, resource, subdelta);
-						return true; // visit the delta's children as well
-					}
-					return false; // do not visit the delta's children
-				}
-			};
-		}
-		_deltaVisitor.setProgressMonitor(monitor);
-		_deltaVisitor.setEnabledValidators(enabledValidators);
-
-		return _deltaVisitor;
-	}
-
-	public static Map loadDeltas(final IProgressMonitor monitor, final Set enabledValidators, IResourceDelta delta) throws CoreException {
-		VMDDeltaVisitor visitor = getDeltaVisitor(monitor, enabledValidators);
-		delta.accept(visitor, true); // true means include phantom resources
-		return visitor.getResult();
-	}
-
-	public static Map loadDeltas(final IProgressMonitor monitor, final Set enabledValidators, IProject project) throws CoreException {
-		VMDResourceVisitor visitor = getResourceVisitor(monitor, enabledValidators);
-		project.accept(visitor, IResource.DEPTH_INFINITE, true); // true means include phantom
-		// resources
-		return visitor.getResult();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/GlobalConfiguration.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/GlobalConfiguration.java
deleted file mode 100644
index a1fef7d..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/GlobalConfiguration.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * This class represents the global Preferences as set on the Validation Preferences page.
- */
-public class GlobalConfiguration extends ValidationConfiguration {
-	/* package */static final boolean PREF_PROJECTS_CAN_OVERRIDE_DEFAULT = true;
-
-	private boolean _canProjectsOverride = getCanProjectsOverrideDefault();
-
-	/**
-	 * This constructor should be used in all cases except for the Preference page's values.
-	 */
-	public GlobalConfiguration(IWorkspaceRoot root) throws InvocationTargetException {
-		super(root, convertToArray(ValidationRegistryReader.getReader().getAllValidators()));
-
-		// Can't put the call to load() and passivate() in the ValidationConfiguration constructor
-		// due
-		// to the order of initialization.
-		//    1. First the ValidationConfiguration constructor is called, and that loads the stored
-		// values.
-		//    2. Then this class's <init> method is called, and that initializes the "override" field
-		// to the default,
-		//       which may be different than the stored value.
-	}
-
-	/**
-	 * This constructor is provided only for the Preference page, so that the page can store values
-	 * without persisting them (i.e., if the user presses Cancel then nothing needs to be done.)
-	 */
-	public GlobalConfiguration(GlobalConfiguration original) throws InvocationTargetException {
-		super();
-		original.copyTo(this);
-	}
-
-	public boolean canProjectsOverride() {
-		return _canProjectsOverride;
-	}
-
-	public void setCanProjectsOverride(boolean can) {
-		_canProjectsOverride = can;
-	}
-
-	public void resetToDefault() {
-		setDisableAllValidation(getDisableValidationDefault());
-		setEnabledValidators(getEnabledValidatorsDefault());
-		setCanProjectsOverride(getCanProjectsOverrideDefault());
-	}
-
-	/**
-	 * This method exists only for migration purposes. The root marker must be deleted after
-	 * migration is complete.
-	 */
-	protected IMarker[] getMarker() {
-		try {
-			IWorkspaceRoot root = getRoot();
-			IMarker[] markers = root.findMarkers(ConfigurationConstants.PREFERENCE_MARKER, false, IResource.DEPTH_ONE);
-
-			if (markers.length == 1) {
-				return markers;
-			}
-			// job is done. Nothing to migrate.
-			return null;
-
-		} catch (CoreException exc) {
-			// Can't find the IMarker? Assume it's deleted.
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("GlobalConfiguration.getMarker()"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		}
-	}
-
-	protected void load(IMarker[] marker) throws InvocationTargetException {
-		// The 5.0 preferences were stored in an IMarker, and the current.preferences are stored in
-		// PersistentProperties on the IResource.
-		// A 5.0 root can have no marker values if the preference page, properties page, and
-		// validation were never viewed or run.
-		try {
-			IWorkspaceRoot root = getRoot();
-			if (marker == null) {
-				// There were no global preferences in 4.03, so the migration is to create some.
-				resetToDefault(); // assign the default values to the new Global Preference
-				return;
-			}
-
-			IMarker rootMarker = marker[0]; // getMarker() has already checked that there's a marker
-			// in the array
-			ValidatorMetaData[] enabledValidators = null;
-//			String enabledValidatorsString = (String) getValue(rootMarker, ConfigurationConstants.ENABLED_VALIDATORS);
-//			if (enabledValidatorsString == null) {
-//				enabledValidators = ConfigurationConstants.DEFAULT_ENABLED_VALIDATORS;
-//			} else {
-//				enabledValidators = getStringAsEnabledElementsArray(enabledValidatorsString);
-//			}
-//
-//			setEnabledValidators(enabledValidators);
-			String enabledManualValidators = (String) getValue(rootMarker, ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-			setEnabledManualValidators(getStringAsEnabledElementsArray(enabledManualValidators));
-			String enabledBuildValidators = (String) getValue(rootMarker, ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-			setEnabledManualValidators(getStringAsEnabledElementsArray(enabledBuildValidators));
-			if (enabledManualValidators.equals(null) || enabledBuildValidators.equals(null)) 
-				enabledValidators = ConfigurationConstants.DEFAULT_ENABLED_VALIDATORS;
-			setCanProjectsOverride(getValue(rootMarker, ConfigurationConstants.PREF_PROJECTS_CAN_OVERRIDE, PREF_PROJECTS_CAN_OVERRIDE_DEFAULT));
-
-			root.getWorkspace().deleteMarkers(marker);
-		} catch (CoreException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("GlobalConfiguration.loadV50"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	protected void copyTo(GlobalConfiguration gp) throws InvocationTargetException {
-		super.copyTo(gp);
-
-		// Need to have a distinct method for this child class (i.e., the parameter
-		// is not a ValidationConfiguration) because if this initialization is
-		// called as part of ValidationConfiguration's constructor, then the value of
-		// this field is overwritten. Fields of this class are initialized to the
-		// default after the ValidationConfiguration parent is created.
-		gp.setCanProjectsOverride(canProjectsOverride());
-	}
-
-	public static boolean getCanProjectsOverrideDefault() {
-		return PREF_PROJECTS_CAN_OVERRIDE_DEFAULT;
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#deserialize(String)
-	 */
-	public void deserialize(String storedConfiguration) throws InvocationTargetException {
-		super.deserialize(storedConfiguration);
-
-		if (storedConfiguration != null && storedConfiguration.length() > 0) {
-			// If it's null, then super.deserialize has already called resetToDefault to initialize
-			// this instance.
-			int canOverrideIndex = storedConfiguration.indexOf(ConfigurationConstants.PREF_PROJECTS_CAN_OVERRIDE);
-			int disableAllValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING);
-			if (disableAllValidationIndex != -1) {
-				String canOverride = storedConfiguration.substring(0 + ConfigurationConstants.PREF_PROJECTS_CAN_OVERRIDE.length(), disableAllValidationIndex);
-				setCanProjectsOverride(Boolean.valueOf(canOverride).booleanValue());
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#serialize()
-	 */
-	public String serialize() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.PREF_PROJECTS_CAN_OVERRIDE);
-		buffer.append(String.valueOf(canProjectsOverride()));
-		buffer.append(super.serialize());
-		return buffer.toString();
-	}
-
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IProjectValidationHelper.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IProjectValidationHelper.java
deleted file mode 100644
index f22df4f..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IProjectValidationHelper.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-
-public interface IProjectValidationHelper {
-	
-	public IContainer[] getOutputContainers(IProject project);
-	
-	public IContainer[] getSourceContainers(IProject project);
-	
-	public void disposeInstance();
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IValidationSelectionHandler.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IValidationSelectionHandler.java
deleted file mode 100644
index 38292b6..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IValidationSelectionHandler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * This is used by extensions to add valid validation types to the validate
- * menu action.
- */
-public interface IValidationSelectionHandler {
-
-	/**
-	 * Return a valid IResource type for the extensible object selection,
-	 * should be instance of IFolder, IFile, or IProject if this extension knows
-	 * how to handle the selection, otherwise it should return null
-	 */ 
-	public IResource getBaseValidationType(Object selection);
-	
-	/**
-	 * @return the classname of the validation type to register for validation
-	 */
-	public String getValidationTypeString();
-	
-	public void setValidationTypeString(String validationType);
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java
deleted file mode 100644
index 07d3845..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.logging.Level;
-
-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.Path;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.operations.WorkbenchReporter;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- */
-public final class InternalValidatorManager {
-	private static InternalValidatorManager _inst = null;
-	private static final String OP_GROUP = "ValidationOperation"; //$NON-NLS-1$ // when the ValidationOperation
-
-	// adds a message to the task
-	// list; e.g. cancel, or internal
-	// error, this group name is used
-	// to distinguish between the
-	// messages that the validator
-	// itself put, and the ones which
-	// the validator owns, but the
-	// operation put. //$NON-NLS-1$
-
-	private InternalValidatorManager() {
-		//default
-	}
-
-	public static InternalValidatorManager getManager() {
-		if (_inst == null) {
-			_inst = new InternalValidatorManager();
-		}
-		return _inst;
-	}
-
-	/**
-	 * Return a new Set that contains all of the elements from the array.
-	 */
-	public static Set wrapInSet(Object[] obj) {
-		Set result = new HashSet();
-		if ((obj == null) || (obj.length == 0)) {
-			return result;
-		}
-
-		for (int i = 0; i < obj.length; i++) {
-			result.add(obj[i]);
-		}
-
-		return result;
-	}
-
-	/**
-	 * If the current validator throws a Throwable, log the internal error to the task list.
-	 * 
-	 * This method is for use by the validation framework only.
-	 */
-	public void addInternalErrorTask(IProject project, ValidatorMetaData vmd, Throwable exc) {
-		addOperationTask(project, vmd, ResourceConstants.VBF_EXC_INTERNAL, new String[]{project.getName(), vmd.getValidatorDisplayName(), ((exc.getMessage() == null) ? "" : exc.getMessage())}); //$NON-NLS-1$
-	}
-
-	/**
-	 * If the user is cancelling validation on the current project/resource, Add an information task
-	 * to the task list informing the user that validation has not been run on the current project.
-	 * 
-	 * If the current validator throws a Throwable, log the internal error to the task list.
-	 */
-	public void addOperationTask(IProject project, ValidatorMetaData vmd, String messageId, String[] parms) {
-		Message message = ValidationPlugin.getMessage();
-		message.setSeverity(IMessage.LOW_SEVERITY);
-		message.setId(messageId);
-		message.setParams(parms);
-		message.setGroupName(OP_GROUP);
-
-		// Although the message is owned by the validator, the string of the message has to be
-		// loaded by this class' ClassLoader
-		WorkbenchReporter.addMessage(project, vmd.getValidatorUniqueName(), getClass().getClassLoader(), message);
-	}
-
-
-	/**
-	 * If the user cancelled the previous validation with this validator, or if there was a
-	 * Throwable caught during the last execution of this validator, and the validator is in the
-	 * process of validating now, remove the former information task messages.
-	 */
-	public void removeOperationTasks(IProject project, ValidatorMetaData vmd) {
-		WorkbenchReporter.removeMessageSubset(project, vmd.getValidatorUniqueName(), OP_GROUP);
-	}
-
-	/**
-	 * Return an array of the fully-qualified names of the validator classes.
-	 */
-	public String[] getValidatorNames(ValidatorMetaData[] vmds) {
-		Set temp = new HashSet();
-		for (int i = 0; i < vmds.length; i++) {
-			String[] names = vmds[i].getValidatorNames();
-			for (int j = 0; j < names.length; j++) {
-				temp.add(names[j]);
-			}
-		}
-
-		String[] vmdNames = new String[temp.size()];
-		temp.toArray(vmdNames);
-		return vmdNames;
-	}
-
-	/**
-	 * Return an array of the fully-qualified names of the validator classes.
-	 */
-	public String[] getValidatorNames(Collection vmds) {
-		Set temp = new HashSet();
-		Iterator iterator = vmds.iterator();
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			String[] names = vmd.getValidatorNames();
-			for (int j = 0; j < names.length; j++) {
-				temp.add(names[j]);
-			}
-		}
-
-		String[] vmdNames = new String[temp.size()];
-		temp.toArray(vmdNames);
-		return vmdNames;
-	}
-
-	/**
-	 * Return a list of validators that validate files with the given extension.
-	 */
-	public ValidatorMetaData[] getValidatorsForExtension(IProject project, String fileExtension) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-
-			// Get all of the validators configured on the project for the given file extension
-			ValidatorMetaData[] vmds = prjp.getValidators();
-
-			// Construct a fake IFile type to represent a file with this extension.
-			StringBuffer buffer = new StringBuffer(project.getName());
-			buffer.append(IPath.SEPARATOR);
-			buffer.append(fileExtension);
-			IPath path = new Path(buffer.toString());
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-
-			ValidatorMetaData[] temp = new ValidatorMetaData[vmds.length];
-			int count = 0;
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = vmds[i];
-				if (vmd.isApplicableTo(file)) {
-					temp[count++] = vmd;
-				}
-			}
-
-			ValidatorMetaData[] result = new ValidatorMetaData[count];
-			System.arraycopy(temp, 0, result, 0, count);
-			return result;
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("InternalValidatorManager::getValidatorsForExtension(" + project.getName() + ", " + fileExtension + ")"); //$NON-NLS-1$  //$NON-NLS-2$ //$NON-NLS-3$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return new ValidatorMetaData[0];
-		}
-	}
-
-	/**
-	 * Return a list of validator names that validate files with the given extension.
-	 */
-	public String[] getValidatorNamesForExtension(IProject project, String fileExtension) {
-		ValidatorMetaData[] vmds = getValidatorsForExtension(project, fileExtension);
-
-		String[] names = new String[vmds.length];
-		for (int i = 0; i < names.length; i++) {
-			names[i] = vmds[i].getValidatorUniqueName();
-		}
-		return names;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java
deleted file mode 100644
index 790c367..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java
+++ /dev/null
@@ -1,596 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * This class represents the Project Preferences as set on the Project's Validation Properties page.
- */
-public class ProjectConfiguration extends ValidationConfiguration {
-	/* package */static final boolean PRJ_OVERRIDEGLOBAL_DEFAULT = false; // If the user has never
-	// set
-	// a preference before, this
-	// is the override default
-	// (on)
-	private boolean _doesProjectOverride = getDoesProjectOverrideDefault();
-
-	/**
-	 * This constructor should be used in all cases except for the Properties page's values.
-	 */
-	protected ProjectConfiguration(IProject project) throws InvocationTargetException {
-		// The extractProjectValidators method extracts just this project's validators from the
-		// global list.
-		super(project, extractProjectValidators(convertToArray(ValidationRegistryReader.getReader().getAllValidators()), project));
-
-		// Can't put the call to load() and passivate() in the ValidationConfiguration constructor
-		// due
-		// to the order of initialization.
-		//    1. First the ValidationConfiguration constructor is called, and that loads the stored
-		// values.
-		//    2. Then this class's <init> method is called, and that initializes the "override" field
-		// to the default,
-		//       which may be different than the stored value.
-	}
-
-	/**
-	 * This constructor is provided only for the Properties page, so that the page can store values
-	 * without persisting them (i.e., if the user presses Cancel then nothing needs to be done.)
-	 */
-	public ProjectConfiguration(ProjectConfiguration original) throws InvocationTargetException {
-		super();
-		original.copyTo(this);
-	}
-
-	/**
-	 * Return the ValidationConfiguration to use, whether global or project.
-	 */
-	protected boolean useGlobalPreference() {
-		try {
-			GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-			if (gp == null) {
-				return false;
-			}
-
-			if (!gp.canProjectsOverride()) {
-				// If project's can't override the global, use the global
-				return true;
-			}
-
-			// If the project overrides, then don't use the global.
-			// If the project does not override, use the global.
-			return !_doesProjectOverride;
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ProjectConfiguration.userGlobalPreference"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return false;
-		}
-	}
-
-	public boolean doesProjectOverride() {
-		// If the global preference doesn't allow projects to override, it doesn't matter what the
-		// value of _doesProjectOverride is.
-		return !useGlobalPreference();
-	}
-
-	public void setDoesProjectOverride(boolean does) {
-		_doesProjectOverride = does;
-	}
-
-	/**
-	 * If the preferences should be used then the preference settings are returned; otherwise return
-	 * the project settings.
-	 */
-	public ValidatorMetaData[] getEnabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getEnabledValidators(), getResource());
-		}
-		return super.getEnabledValidators();
-	}
-	
-	public ValidatorMetaData[] getManualEnabledValidators() throws InvocationTargetException  {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getManualEnabledValidators(), getResource());
-		}
-		return super.getManualEnabledValidators();
-	}
-	
-	public ValidatorMetaData[] getBuildEnabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getBuildEnabledValidators(), getResource());
-		}
-		return super.getBuildEnabledValidators();
-	}
-	
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#getDisabledValidators()
-	 */
-	public ValidatorMetaData[] getDisabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getDisabledValidators(), getResource());
-		}
-		return super.getDisabledValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#getValidators()
-	 */
-	public ValidatorMetaData[] getValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getValidators(), getResource());
-		}
-		return super.getValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#getEnabledIncrementalValidators(boolean)
-	 */
-	public ValidatorMetaData[] getEnabledIncrementalValidators(boolean incremental) throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getEnabledIncrementalValidators(incremental), getResource());
-		}
-		return super.getEnabledIncrementalValidators(incremental);
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#isEnabled(ValidatorMetaData)
-	 */
-	public boolean isEnabled(ValidatorMetaData vmd) throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().isEnabled(vmd);
-		}
-		return super.isEnabled(vmd);
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfDisabledValidators()
-	 */
-	public int numberOfDisabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfDisabledValidators();
-		}
-		return super.numberOfDisabledValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfEnabledIncrementalValidators()
-	 */
-	public int numberOfEnabledIncrementalValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfEnabledIncrementalValidators();
-		}
-		return super.numberOfEnabledIncrementalValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfEnabledValidators()
-	 */
-	public int numberOfEnabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfEnabledValidators();
-		}
-		return super.numberOfEnabledValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfIncrementalValidators()
-	 */
-	public int numberOfIncrementalValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfIncrementalValidators();
-		}
-		return super.numberOfIncrementalValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfValidators()
-	 */
-	public int numberOfValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfValidators();
-		}
-		return super.numberOfValidators();
-	}
-
-	/**
-	 * This method could be called with the project's values, or with the global preference values.
-	 * Validators that are not configured on this project will be ignored.
-	 */
-	public void setEnabledValidators(ValidatorMetaData[] vmds) {
-		super.setEnabledValidators(extractProjectValidators(vmds, getResource()));
-	}
-
-	/**
-	 * This method could be called with the project's values, or with the global preference values.
-	 * Validators that are not configured on this project will be ignored.
-	 */
-	public void setValidators(ValidatorMetaData[] vmds) {
-		super.setValidators(extractProjectValidators(vmds, getResource()));
-	}
-
-	/**
-	 * Given a set of validators, usually the global preference set, change the set so that it
-	 * contains only the validators configured on this project.
-	 */
-	private static ValidatorMetaData[] extractProjectValidators(ValidatorMetaData[] vmds, IResource resource) {
-		ValidationRegistryReader reader = ValidationRegistryReader.getReader();
-		int length = (vmds == null) ? 0 : vmds.length;
-		ValidatorMetaData[] temp = new ValidatorMetaData[length];
-		if (length == 0) {
-			return temp;
-		}
-
-		int count = 0;
-		IProject project = (IProject) resource;
-		for (int i = 0; i < vmds.length; i++) {
-			ValidatorMetaData vmd = vmds[i];
-			if (reader.isConfiguredOnProject(vmd, project)) {
-				temp[count++] = vmd;
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		temp = null;
-
-		return result;
-	}
-
-	/**
-	 * If the preferences should be used then the preference settings are returned; otherwise return
-	 * the project settings.
-	 * @deprecated - message limit no longer used
-	 */
-	public int getMaximumNumberOfMessages() throws InvocationTargetException {
-		/*if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().getMaximumNumberOfMessages();
-		}
-		return super.getMaximumNumberOfMessages();*/
-		return -1;
-	}
-
-	public void resetToDefault() throws InvocationTargetException {
-		// The default values of the project is whatever the preference values are
-		GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-
-		setEnabledManualValidators(gp.getManualEnabledValidators());
-		setEnabledBuildValidators(gp.getBuildEnabledValidators());
-		
-		// except for this field, which is unique to the project preferences
-		setDoesProjectOverride(getDoesProjectOverrideDefault());
-	}
-
-	public void resetToDefaultForProjectDescriptionChange() throws InvocationTargetException {
-		// The default values of the project is whatever the preference values are
-		GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-		setEnabledManualValidators(gp.getManualEnabledValidators());
-		setEnabledBuildValidators(gp.getBuildEnabledValidators());
-	}
-
-	/**
-	 * The project's nature has changed, so recalculate the validators that are configured on the
-	 * project, and reset the values of the project to the default.
-	 */
-	public void resetProjectNature() {
-		/*
-		 * We do not want to perform the resetting the of the validators as the nature never gets
-		 * reset due to change in the project references - VKB GlobalConfiguration gp =
-		 * ConfigurationManager.getManager().getGlobalConfiguration();
-		 * setValidators(gp.getValidators()); // Reset the validators that are configured on the
-		 * project (the ProjectConfiguration automatically saves only the validators that are
-		 * configured on the project). resetToDefault(); // Given that the project is "new", reset
-		 * its values to the Preferences.
-		 */
-	}
-
-	/**
-	 * This method exists only for migration purposes. The project marker must be deleted after
-	 * migration is complete.
-	 */
-	protected IMarker[] getMarker() {
-		try {
-			// First try to find the 4.03 project marker.
-			IMarker[] allMarkers = getResource().findMarkers(ConfigurationConstants.PRJ_MARKER_403, false, IResource.DEPTH_ZERO);
-
-			// If it doesn't exist, then this might be a 5.0 project marker.
-			if ((allMarkers == null) || (allMarkers.length == 0)) {
-				allMarkers = getResource().findMarkers(ConfigurationConstants.PRJ_MARKER, false, IResource.DEPTH_ZERO);
-			}
-
-			// There should be only one projectmarker.
-			if (allMarkers.length == 1) {
-				return allMarkers;
-			}
-			// Job is done. Nothing to migrate.
-			return null;
-		} catch (CoreException exc) {
-			// Can't find the IMarker? Assume it's deleted.
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ProjectConfiguration::getMarker"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		}
-	}
-
-	protected void load(IMarker[] marker) {
-		// 4.03 project preferences are different from the current in the following ways:
-		//    1. Only preferences that could be set were the enabled validators and the auto-validate
-		// option.
-		//    2. The preferences were stored in an IMarker instead of a PersistentProperty.
-		// The 5.0 project settings were stored in an IMarker, and the current settings are stored
-		// in a PersistentProperty.
-		// A 5.0 project could have a null validation marker if the validation page was never
-		// opened on it, and if validation was never run.
-		try {
-			if (marker == null) {
-				// Assume default values
-				resetToDefault();
-				return;
-			}
-
-			IMarker prjMarker = marker[0]; // getProjectMarker() has already checked that there's a
-			// marker in the array
-			GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-
-//			String enabledValStr = (String) getValue(prjMarker, ConfigurationConstants.ENABLED_VALIDATORS);
-//			ValidatorMetaData[] enabledVal = null;
-//			if (enabledValStr == null) {
-//				enabledVal = gp.getEnabledValidators();
-//			} else {
-//				enabledVal = getStringAsEnabledElementsArray(enabledValStr);
-//			}
-//			setEnabledValidators(enabledVal);
-			
-			ValidatorMetaData[] enabledManaualVal = null;
-			ValidatorMetaData[] enabledBuildVal = null;
-			String enabledManualValStr = (String) getValue(prjMarker, ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-			String enabledBuildValStr = (String) getValue(prjMarker, ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-			ValidatorMetaData[] enabledVal = null;
-			if (enabledManualValStr.equals(null) || enabledBuildValStr.equals(null)) {
-				enabledVal = gp.getEnabledValidators();
-			} else {
-				enabledManaualVal = getStringAsEnabledElementsArray(enabledManualValStr);
-				setEnabledManualValidators(enabledManaualVal);
-				enabledBuildVal = getStringAsEnabledElementsArray(enabledManualValStr);
-				setEnabledBuildValidators(enabledBuildVal);
-			}
-			
-			String version = loadVersion(marker); // In 4.03, every project had its own validators &
-			// auto-validate settings.
-			Boolean boolVal = (Boolean) getValue(prjMarker, ConfigurationConstants.PRJ_OVERRIDEGLOBAL);
-			if ((boolVal == null) && (version.equals(ConfigurationConstants.VERSION4_03))) {
-				// Different default for 4.03. In 4.03, all projects overrode the global, because
-				// the
-				// global preferences didn't exist.
-				setDoesProjectOverride(true);
-			} else if (boolVal == null) {
-				setDoesProjectOverride(getDoesProjectOverrideDefault());
-			} else {
-				setDoesProjectOverride(boolVal.booleanValue());
-			}
-			boolean override = doesProjectOverride();
-
-			getResource().getWorkspace().deleteMarkers(marker);
-		} catch (CoreException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ProjectConfiguration.loadMarker "); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ProjectConfiguration.loadMarker InvocationTargetException"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	protected void copyTo(ProjectConfiguration prjp) throws InvocationTargetException {
-		super.copyTo(prjp);
-
-		// Need to have a distinct method for this child class (i.e., the parameter
-		// is not a ValidationConfiguration) because if this initialization is
-		// called as part of ValidationConfiguration's constructor, then the value of
-		// this field is overwritten. Fields of this class are initialized to the
-		// default after the ValidationConfiguration parent is created.
-		prjp.setDoesProjectOverride(doesProjectOverride());
-	}
-
-	public static boolean getDoesProjectOverrideDefault() {
-		return PRJ_OVERRIDEGLOBAL_DEFAULT;
-	}
-
-	/**
-	 * Return true if the enabled validators have not changed since this ValidationConfiguration was
-	 * constructed, false otherwise. (This method is needed for the Properties and Preference pages;
-	 * if the list of validators hasn't changed, then there is no need to update the task list;
-	 * updating the task list is a costly operation.)
-	 * 
-	 * The "allow" parameter represents whether or not the global "allow projects to override" has
-	 * been changed: - TRUE means that the preference "allow" parameter has been changed - FALSE
-	 * means that the preference "allow" paramter has not been changed
-	 */
-	public boolean hasEnabledValidatorsChanged(ValidatorMetaData[] oldEnabledVmd, boolean allow) throws InvocationTargetException {
-		// First check the obvious: is every enabled validator still enabled, and is
-		// the number of enabled validators the same as it was before? If not, return true.
-		if (super.hasEnabledValidatorsChanged(oldEnabledVmd)) {
-			return true;
-		}
-
-
-		// If the global preference validators have changed, does the task list need to be updated?
-		// PREF | PROJ | UPDATE
-		// ALLOW | OVERRIDE | TASK LIST
-		//------------------------------
-		//     0 | 0 | 1
-		//     0 | 1 | 1
-		//     1 | 0 | 1
-		//     1 | 1 | 0
-		//
-		// If the global "allow" preference changes from "allow" to "don't allow", or vice versa,
-		// and the project overrides the preferences, and the validators differ between the project
-		// and the preferences, then the task list must be updated.
-		if (allow) {
-			// "allow" has changed, so see if the preference and the project validators match.
-			ValidatorMetaData[] projEnabledVmd = super.getEnabledValidators(); // bypass the check
-			// for whether the
-			// global preferences
-			// are to be used or
-			// not
-			GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-			return gp.hasEnabledValidatorsChanged(projEnabledVmd);
-		}
-
-		return false;
-	}
-
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#deserialize(String)
-	 */
-	public void deserialize(String storedConfiguration) throws InvocationTargetException {
-		if (storedConfiguration == null) {
-			resetToDefault();
-		} else if (storedConfiguration != null) {
-			int prjOverrideIndex = storedConfiguration.indexOf(ConfigurationConstants.PRJ_OVERRIDEGLOBAL);
-			int disableAllValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING);
-			int versionIndex = storedConfiguration.indexOf(ConfigurationConstants.VERSION);
-			if (disableAllValidationIndex != -1) {
-				String disableAllValidation = storedConfiguration.substring(disableAllValidationIndex + ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING.length(), versionIndex);
-				setDisableAllValidation(Boolean.valueOf(disableAllValidation).booleanValue());
-			} else {
-				setDisableAllValidation(false);;
-			}
-			// project doesn't override the global
-			if (disableAllValidationIndex != -1) {
-				String prjOverride = storedConfiguration.substring(prjOverrideIndex + ConfigurationConstants.PRJ_OVERRIDEGLOBAL.length(), disableAllValidationIndex);
-				setDoesProjectOverride(Boolean.valueOf(prjOverride).booleanValue());
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#serialize()
-	 */
-	public String serialize() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.PRJ_OVERRIDEGLOBAL);
-		buffer.append(String.valueOf(doesProjectOverride()));
-		if (doesProjectOverride()) {
-			// Store common values for the Project configuration only if they differ from the global
-			buffer.append(super.serialize());
-		}
-		return buffer.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#getEnabledFullBuildValidators(boolean)
-	 */
-	public ValidatorMetaData[] getEnabledFullBuildValidators(boolean fullBuild) throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getEnabledFullBuildValidators(fullBuild), getResource());
-		}
-		return super.getEnabledFullBuildValidators(fullBuild);
-	}
-
-	/**
-	 * Given a set of validators, usually the global preference set, change the set so that it
-	 * contains only the validators configured on this project.
-	 */
-	private static ValidatorMetaData[] extractProjectValidators(ValidatorMetaData[] vmds, IResource resource, boolean onlyReferenced) {
-		ValidationRegistryReader reader = ValidationRegistryReader.getReader();
-		int length = (vmds == null) ? 0 : vmds.length;
-		ValidatorMetaData[] temp = new ValidatorMetaData[length];
-		if (length == 0) {
-			return temp;
-		}
-
-		int count = 0;
-		IProject project = (IProject) resource;
-		for (int i = 0; i < vmds.length; i++) {
-			ValidatorMetaData vmd = vmds[i];
-			if (reader.isConfiguredOnProject(vmd, project)) {
-				if (!onlyReferenced || vmd.isDependentValidator())
-					temp[count++] = vmd;
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		temp = null;
-
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#getEnabledFullBuildValidators(boolean)
-	 */
-	public ValidatorMetaData[] getEnabledFullBuildValidators(boolean fullBuild, boolean onlyReferenced) throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getEnabledFullBuildValidators(fullBuild), getResource(), onlyReferenced);
-		}
-		return super.getEnabledFullBuildValidators(fullBuild, onlyReferenced);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#getIncrementalValidators()
-	 */
-	public ValidatorMetaData[] getIncrementalValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getIncrementalValidators(), getResource());
-		}
-		return super.getIncrementalValidators();
-	}
-
-	public int numberOfManualValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfManualEnabledValidators();
-		}
-		return super.numberOfManualEnabledValidators();
-	}
-	public boolean isDisableAllValidation() throws InvocationTargetException{
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().isDisableAllValidation();
-		}
-		return super.isDisableAllValidation();
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorExtension.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorExtension.java
deleted file mode 100644
index 9927fd4..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorExtension.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on May 3, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.operations.ReferencialFileValidator;
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class ReferencialFileValidatorExtension {
-	private String id = null;
-	private ReferencialFileValidator instance;
-	private boolean errorCondition = false;
-	private IConfigurationElement element;
-	public static final String REF_FILE_VALIDATOR_EXTENSION = "referencialFileValidator"; //$NON-NLS-1$
-	public static final String RUN = "run"; //$NON-NLS-1$
-	public static final String ATT_ID = "id"; //$NON-NLS-1$
-	public static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	/**
-	 *  
-	 */
-	public ReferencialFileValidatorExtension() {
-		super();
-	}
-
-	public ReferencialFileValidator getInstance() {
-		try {
-			if (instance == null && !errorCondition)
-				instance = (ReferencialFileValidator) element.createExecutableExtension("run"); //$NON-NLS-1$
-		} catch (Throwable e) {
-			Logger.getLogger().logError(e);
-			errorCondition = true;
-		}
-		return instance;
-	}
-
-	public ReferencialFileValidatorExtension(IConfigurationElement element) {
-		if(!REF_FILE_VALIDATOR_EXTENSION.equals(element.getName()))
-			throw new IllegalArgumentException("Extensions must be of the type \"" + REF_FILE_VALIDATOR_EXTENSION + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
-		this.element = element;
-		init();
-	}
-
-	private void init() {
-		this.id = this.element.getAttribute(ATT_ID);
-	}
-
-	/**
-	 * @return Returns the id.
-	 */
-	public String getId() {
-		return id;
-	}
-	
-	public IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * @param id
-	 *            The id to set.
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorRegistryReader.java
deleted file mode 100644
index 59f803a..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorRegistryReader.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on May 3, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.validation.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.wst.validation.internal.operations.ReferencialFileValidator;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class ReferencialFileValidatorRegistryReader extends RegistryReader {
-	static ReferencialFileValidatorRegistryReader instance = null;
-	protected List referencialFileValidationExtensions;
-
-	/**
-	 * @param arg0
-	 * @param arg1
-	 * @param arg2
-	 */
-	public ReferencialFileValidatorRegistryReader() {
-		super(ValidationPlugin.PLUGIN_ID, "referencialFileValidator"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	public boolean readElement(IConfigurationElement element) {
-		if (ReferencialFileValidatorExtension.REF_FILE_VALIDATOR_EXTENSION.equals(element.getName())) {
-			addExtension(element);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Sets the extension point.
-	 * 
-	 * @param extensions
-	 *            The extensions to set
-	 */
-	protected void addExtension(IConfigurationElement newExtension) {
-
-    	//add to the list of post validator extesions only if the ext is not added yet
-    	boolean containsExt = true;
-    	List extensions = getReferencialFileValidationExtensions();
-    	Iterator it = extensions.iterator();
-    	while(it.hasNext()) {
-    		ReferencialFileValidatorExtension ext = (ReferencialFileValidatorExtension)it.next();
-    		if(!ext.getElement().getAttribute("id").equals(newExtension.getAttribute("id")))
-    			containsExt = false;
-    	}
-    	if(!containsExt ||getReferencialFileValidationExtensions().isEmpty())
-    		getReferencialFileValidationExtensions().add(new ReferencialFileValidatorExtension(newExtension));
-    
-		getReferencialFileValidationExtensions().add(new ReferencialFileValidatorExtension(newExtension));
-	}
-
-	/**
-	 * Sets the extension point.
-	 * 
-	 * @param extensions
-	 *            The extensions to set
-	 */
-	protected void addExtensionPoint(ReferencialFileValidatorExtension newExtension) {
-		if (referencialFileValidationExtensions == null)
-			referencialFileValidationExtensions = new ArrayList();
-		referencialFileValidationExtensions.add(newExtension);
-	}
-
-	/**
-	 * @return the appropriate handler for the project based on priorities of those which are
-	 *         available and enabled
-	 */
-	public ReferencialFileValidator getReferencialFileValidator() {
-		ReferencialFileValidatorExtension refFileValExt;
-		for (Iterator refFileValItr = getReferencialFileValidationExtensions().iterator(); refFileValItr.hasNext();) {
-			refFileValExt = (ReferencialFileValidatorExtension) refFileValItr.next();
-			return refFileValExt.getInstance();
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a EJBCodegenHandlerExtensionReader
-	 */
-	public static ReferencialFileValidatorRegistryReader getInstance() {
-		if (instance == null) {
-			instance = new ReferencialFileValidatorRegistryReader();
-			instance.readRegistry();
-		}
-		return instance;
-	}
-
-	/**
-	 * @return Returns the handlerExtensions.
-	 */
-	protected List getReferencialFileValidationExtensions() {
-		if (referencialFileValidationExtensions == null)
-			referencialFileValidationExtensions = new ArrayList();
-		return referencialFileValidationExtensions;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/RegistryConstants.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/RegistryConstants.java
deleted file mode 100644
index ee6e106..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/RegistryConstants.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import org.eclipse.wst.validation.internal.operations.IRuleGroup;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * Validation constants needed to declare an extension point, and to implement an extension.
- */
-public interface RegistryConstants {
-	public static final String PLUGIN_ID = ValidationPlugin.PLUGIN_ID;
-	public static final String VALIDATOR_EXT_PT_ID = "validator"; //$NON-NLS-1$ // extension point declaration of the validator
-
-	/* package */static final String TAG_RUN_CLASS = "run"; //$NON-NLS-1$ // identifies the Validator class
-	/* package */static final String TAG_FILTER = "filter"; //$NON-NLS-1$ // identifies a filter -- type and/or name -- used to filter out resources which are not to be validated. (i.e., if the resource doesn't pass this filter test, don't validate it.)
-	/* package */static final String TAG_HELPER_CLASS = "helper"; //$NON-NLS-1$ // IValidationContext which loads the MOF model for the IValidator
-	/* package */static final String TAG_PROJECT_NATURE = "projectNature"; //$NON-NLS-1$ // identifies the projects which the validator should run on
-	/* package */static final String TAG_AGGREGATE_VALIDATORS = "aggregateValidator"; //$NON-NLS-1$ // identifies a validator(s) which this validator aggregates. This value is used to remove all messages owned by a particular validator. Aggregate validators cannot be shared. Only one validator may use an aggregate of that type.
-
-	/* package */static final String ATT_OBJECT_CLASS = "objectClass"; //$NON-NLS-1$ // identifies a type
-	/* package */static final String ATT_NAME_FILTER = "nameFilter"; //$NON-NLS-1$ // identifies a name (may include the '*' wildcard anywhere in the name)
-	/* package */static final String ATT_ID = "id"; //$NON-NLS-1$ // identifies a unique id to filter on
-	/* package */static final String ATT_CLASS = "class"; //$NON-NLS-1$ // identifies a class name of a tag, e.g. "helper class", or "run class"
-	/* package */static final String ATT_ACTION_FILTER = "action"; //$NON-NLS-1$ // identifies the incremental validation actions for which a resource should be filtered in
-	/* package */static final String ATT_INCREMENTAL = "incremental"; //$NON-NLS-1$ // identifies whether or not the validator supports incremental build validation. Default is true (i.e., incremental builds are supported).
-	/* package */static final boolean ATT_INCREMENTAL_DEFAULT = true; // The incremental default.
-	/* package */static final String ATT_FULLBUILD = "fullBuild"; //$NON-NLS-1$ // identifies whether or not the validator supports full build validation. Default is true (i.e., full build validation is supported).
-	/* package */static final boolean ATT_FULLBUILD_DEFAULT = true; // The build default.
-	/* package */static final String ATT_ENABLED = "enabled"; //$NON-NLS-1$ // identifies whether or not the validator is enabled by default. Default is "true" (enabled).
-	/* package */static final boolean ATT_ENABLED_DEFAULT = true; // The "enabled" default.
-	/* package */static final String ATT_INCLUDE = "include"; //$NON-NLS-1$ // Include projects with this nature
-	/* package */static final boolean ATT_INCLUDE_DEFAULT = true; // By default, if "include" is not
-	// specified in the projectNature
-	// element, then assume that the
-	// nature is included.
-	/* package */static final String ATT_RULE_GROUP = "ruleGroup"; //$NON-NLS-1$ // identifies the different validation passes which this validator recognizes. The values are identified in IRuleGroup.
-	/* package */static final int ATT_RULE_GROUP_DEFAULT = IRuleGroup.PASS_FAST; // the default pass
-	// includes only the
-	// FAST PASS. FULL
-	// can be invoked
-	// only explicitly by
-	// an operation.
-	/* package */static final String ATT_CASE_SENSITIVE = "caseSensitive"; //$NON-NLS-1$
-	/* package */static final String ATT_ASYNC = "async"; //$NON-NLS-1$ // Is the validator thread-safe? 
-	/* package */static final boolean ATT_ASYNC_DEFAULT = false; // The "can validator run
-	// asynchronously" default. Initially
-	// set to false, but in future this
-	// will be changed to true.
-
-
-	/* package */static final String TAG_MIGRATE = "migrate"; //$NON-NLS-1$ // the "migrate" section of the validator
-	/* package */static final String TAG_VALIDATOR = "validator"; //$NON-NLS-1$ // the "validator" element of the "migrate" section
-	/* package */static final String ATT_FROM = "from"; //$NON-NLS-1$ // the fully-qualified class name of the former validator class
-	/* package */static final String ATT_TO = "to"; //$NON-NLS-1$ // the fully-qualified class name of the current validator class
-	static final String DEP_VALIDATOR = "dependentValidator"; //$NON-NLS-1$
-	static final String DEP_VAL_VALUE = "depValValue"; //$NON-NLS-1$
-	static final String MARKER_ID = "markerId"; //$NON-NLS-1$
-	static final String MARKER_ID_VALUE = "markerIdValue"; //$NON-NLS-1$
-	static final boolean DEP_VAL_VALUE_DEFAULT = false;
-	static final String FACET = "facet"; //$NON-NLS-1$
-	static final String FACET_ID ="facetId"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceConstants.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceConstants.java
deleted file mode 100644
index 7d7ba30..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceConstants.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-
-/**
- * Constants used to access the string resources associated with the plugin.
- * 
- * See the plugin.properties file, in the plugin's directory, for the contents of the strings.
- */
-public interface ResourceConstants {
-	// A marker cannot be added to the task list.
-	public static final String VBF_EXC_CANNOT_ADD_MARKER = "VBF_EXC_CANNOT_ADD_MARKER"; //$NON-NLS-1$ 
-
-	// A marker cannot be removed from the task list.
-	public static final String VBF_EXC_CANNOT_REMOVE_MARKER = "VBF_EXC_CANNOT_REMOVE_MARKER"; //$NON-NLS-1$ 
-
-	// Internal error has occurred.
-	public static final String VBF_EXC_INTERNAL = "VBF_EXC_INTERNAL"; //$NON-NLS-1$ 
-
-	// If the validator cannot be loaded because it didn't specify a helper
-	public static final String VBF_EXC_HELPER_MISSING = "VBF_EXC_HELPER_MISSING"; //$NON-NLS-1$ 
-
-	// If the validator cannot be loaded because its helper cannot be loaded
-	public static final String VBF_EXC_HELPER_CANNOTLOAD = "VBF_EXC_HELPER_CANNOTLOAD"; //$NON-NLS-1$ 
-
-	// A java.lang.Runtime error has occured during the build.
-	public static final String VBF_EXC_RUNTIME = "VBF_EXC_RUNTIME"; //$NON-NLS-1$ 
-
-	// If the "Validator" extension point has been removed from the plugin.xml file.
-	public static final String VBF_EXC_MISSING_VALIDATOR_EP = "VBF_EXC_MISSING_VALIDATOR_EP"; //$NON-NLS-1$ 
-
-	// If the user has specified an invalid type filter in their plugin.xml file.
-	// i.e., it isn't an instance of IResource.
-	public static final String VBF_EXC_INVALID_TYPE_FILTER = "VBF_EXC_INVALID_TYPE_FILTER"; //$NON-NLS-1$ 
-
-	// The validator extension has made a mistake in its plugin.xml's projectNature tag
-	public static final String VBF_EXC_MISSING_PROJECTNATURE_ID = "VBF_EXC_MISSING_PROJECTNATURE_ID"; //$NON-NLS-1$ 
-
-	// The validator extension has made a mistake in its plugin.xml's syntax.
-	public static final String VBF_EXC_VALIDATORNAME_IS_NULL = "VBF_EXC_VALIDATORNAME_IS_NULL"; //$NON-NLS-1$ 
-
-	// Title for the IProgressMonitor.
-	public static final String VBF_STATUS_PROGRESSMONITOR_TITLE = "VBF_STATUS_PROGRESSMONITOR_TITLE"; //$NON-NLS-1$ 
-
-	// Status line for the IProgressMonitor
-	public static final String VBF_STATUS_INITIALIZING = "VBF_STATUS_INITIALIZING"; //$NON-NLS-1$ 
-
-	// If the user has cancelled validation, each validator might have cleanup to do. This message
-	// is shown to tell the user which validator is being cleaned up at the moment.
-	public static final String VBF_STATUS_VALIDATOR_CLEANUP = "VBF_STATUS_VALIDATOR_CLEANUP"; //$NON-NLS-1$ 
-
-	// If the user cancelled validation, remove all of the validator's tasks from the task list, and
-	// put an entry saying that validation on {project} using {validator} was cancelled.
-	public static final String VBF_STATUS_VALIDATOR_TERMINATED = "VBF_STATUS_VALIDATOR_TERMINATED"; //$NON-NLS-1$ 
-
-	// Before a validator is begun, this message informs the user that validation, using a
-	// particular validator, has begun
-	public static final String VBF_STATUS_STARTING_VALIDATION = "VBF_STATUS_STARTING_VALIDATION"; //$NON-NLS-1$ 
-
-	// After a validator is finished, this message informs the user that validtaion, using a
-	// particular validator, has completed.
-	public static final String VBF_STATUS_ENDING_VALIDATION = "VBF_STATUS_ENDING_VALIDATION"; //$NON-NLS-1$ 
-
-	// If a validator throws an unchecked exception, this message is displayed to the user.
-	public static final String VBF_STATUS_ENDING_VALIDATION_ABNORMALLY = "VBF_STATUS_ENDING_VALIDATION_ABNORMALLY"; //$NON-NLS-1$ 
-
-	// If the build's getDelta(getProject()) method returns null, let the user know that a full
-	// validation will be performed because there's no delta information.
-	public static final String VBF_STATUS_NULL_DELTA = "VBF_STATUS_NULL_DELTA"; //$NON-NLS-1$ 
-
-	public static final String VBF_EXC_SYNTAX_NULL_NAME = "VBF_EXC_SYNTAX_NULL_NAME"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_SYNTAX_NO_HELPER = "VBF_EXC_SYNTAX_NO_HELPER"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_SYNTAX_NO_HELPER_CLASS = "VBF_EXC_SYNTAX_NO_HELPER_CLASS"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_SYNTAX_NO_HELPER_THROWABLE = "VBF_EXC_SYNTAX_NO_HELPER_THROWABLE"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_SYNTAX_NO_VAL_RUN = "VBF_EXC_SYNTAX_NO_VAL_RUN"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_SYNTAX_NO_VAL_CLASS = "VBF_EXC_SYNTAX_NO_VAL_CLASS"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_SYNTAX_NO_VAL_THROWABLE = "VBF_EXC_SYNTAX_NO_VAL_THROWABLE"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_SYNTAX_NO_VAL_NULL = "VBF_EXC_SYNTAX_NO_VAL_NULL"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_INVALID_RESOURCE = "VBF_EXC_INVALID_RESOURCE"; //$NON-NLS-1$ 
-
-	public static final String VBF_EXC_NULLCREATE = "VBF_EXC_NULLCREATE"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_NULLSAVE = "VBF_EXC_NULLSAVE"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_SAVE = "VBF_EXC_SAVE"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_NULLRETRIEVE = "VBF_EXC_NULLRETRIEVE"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_RETRIEVE = "VBF_EXC_RETRIEVE"; //$NON-NLS-1$ 
-
-	public static final String VBF_EXC_BADVMD = "VBF_EXC_BADVMD"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_OPENPRJ = "VBF_EXC_OPENPRJ"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_EXISTPRJ = "VBF_EXC_EXISTPRJ"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_BADPRJ = "VBF_EXC_BADPRJ"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_MULTIPRJ = "VBF_EXC_MULTIPRJ"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_BADVAL = "VBF_EXC_BADVAL"; //$NON-NLS-1$ 
-
-	public static final String VBF_STATUS_START_REMOVING_OLD_MESSAGES = "VBF_STATUS_START_REMOVING_OLD_MESSAGES"; //$NON-NLS-1$ 
-	public static final String VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES = "VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES"; //$NON-NLS-1$ 
-
-	public static final String VBF_TASK_WARN_MESSAGE_LIMIT_VAL = "VBF_TASK_WARN_MESSAGE_LIMIT_VAL"; //$NON-NLS-1$ 
-
-	public static final String VBF_EXC_DISABLEV = "VBF_EXC_DISABLEV"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_DISABLEH = "VBF_EXC_DISABLEH"; //$NON-NLS-1$ 
-	public static final String VBF_EXC_ORPHAN_IVALIDATOR = "VBF_EXC_ORPHAN_IVALIDATOR"; //$NON-NLS-1$ 
-
-	public static final String VBF_STATUS_LOOKING = "VBF_STATUS_LOOKING"; //$NON-NLS-1$ 
-	public static final String VBF_STATUS_LOOKINGDONE = "VBF_STATUS_LOOKINGDONE"; //$NON-NLS-1$ 
-	public static final String VBF_STATUS_REMOVING = "VBF_STATUS_REMOVING"; //$NON-NLS-1$ 
-	public static final String VBF_STATUS_REMOVINGDONE = "VBF_STATUS_REMOVINGDONE"; //$NON-NLS-1$ 
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceHandler.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceHandler.java
deleted file mode 100644
index 0cf1cd4..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceHandler.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * This class retrieves the Strings from the .properties file appropriate for the machine's Locale.
- * 
- *  
- */
-public class ResourceHandler {
-	//TODO Make this class final once the public ResourceHandler has been deleted.
-	private static ResourceBundle _bundle = null;
-
-	protected ResourceHandler() {
-		//TODO Make this method private once the public ResourceHandler has been deleted.
-		super();
-	}
-
-	/**
-	 * Return the resource bundle which contains the messages, as identified by
-	 */
-	public static ResourceBundle getBundle() {
-		if (_bundle == null) {
-			try {
-				_bundle = ResourceBundle.getBundle(ValidationPlugin.getBundleName());
-			} catch (MissingResourceException exc) {
-				_bundle = null;
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.FINE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("org.eclipse.wst.validation.internal.operations.internal.ResourceHandler.getBundle()"); //$NON-NLS-1$
-					entry.setText("Cannot find bundle " + ValidationPlugin.getBundleName()); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.FINE, entry);
-				}
-			}
-		}
-		return _bundle;
-	}
-
-	public static String getExternalizedMessage(String key) {
-		try {
-			ResourceBundle bundle = getBundle();
-			if (bundle == null) {
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.FINE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("org.eclipse.wst.validation.internal.operations.internal.ResourceHandler.getExternalizedMessage(String)"); //$NON-NLS-1$
-					entry.setText("Resource bundle is null"); //$NON-NLS-1$
-					logger.write(Level.FINE, entry);
-				}
-				return key;
-			}
-
-			return bundle.getString(key);
-		} catch (NullPointerException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String)"); //$NON-NLS-1$
-				entry.setText("Cannot find message id " + key); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		}
-		return key;
-	}
-
-	public static String getExternalizedMessage(String key, String[] parms) {
-		String res = ""; //$NON-NLS-1$
-		try {
-			res = java.text.MessageFormat.format(getExternalizedMessage(key), parms);
-		} catch (MissingResourceException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.internal.ResourceHandler.getExternalizedMessage(String, String[])"); //$NON-NLS-1$
-				entry.setText("Cannot find message id " + key); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		} catch (NullPointerException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.internal.ResourceHandler.getExternalizedMessage(String, String[])"); //$NON-NLS-1$
-				entry.setText("Cannot format message id " + key + " with " + parms.length + " parameters."); //$NON-NLS-1$  //$NON-NLS-2$  //$NON-NLS-3$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		}
-		return res;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TaskListUtility.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TaskListUtility.java
deleted file mode 100644
index cdbf991..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TaskListUtility.java
+++ /dev/null
@@ -1,571 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * This class must be called only by the validation framework.
- * 
- * This singleton interacts with the eclipse workbench's Task list. TaskListUtility adds and removes
- * tasks from the list.
- * 
- * This class must not be called outside of an IWorkspaceRunnable or IRunnableWithProgress. Many
- * resource deltas can be generated by the methods in this class.
- */
-public class TaskListUtility implements ConfigurationConstants {
-	protected static final int DEPTH_INFINITE = IResource.DEPTH_INFINITE;
-	protected static final int DEPTH_ZERO = IResource.DEPTH_ZERO;
-	protected static final String VALIDATION_MARKER_TARGETOBJECT = "targetObject"; //$NON-NLS-1$
-	private final static IMarker[] NO_MARKERS = new IMarker[0];
-
-	public static IWorkspaceRoot getRoot() {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		return root;
-	}
-
-	/**
-	 * This method is here for use by the SABER validator's reporter instance ONLY. Do not use. See
-	 * defect 260144 for details.
-	 */
-	public static IMarker setPriority(IMarker item, int priority) throws CoreException {
-		Map attrib = item.getAttributes();
-		attrib.put(IMarker.PRIORITY, new Integer(priority));
-		item.setAttributes(attrib);
-		return item;
-	}
-	
-	/**
-	 * This method adds a message to a resource in the task list.
-	 */
-	public static IMarker addTask(String pluginId, IResource resource, String location, String messageId, String message, int markerType, String markerName, String targetObjectName, String groupName, int offset, int length) throws CoreException {
-		if ((message == null) || (resource == null)) {
-			return null;
-		}
-
-		int severity = getSeverity(markerType);
-
-		// Allow duplicate entries in the task list.
-		// Prior to a full validation, the validation framework will remove all messages owned
-		// by a validator before it is executed.
-		// Prior to an incremental validation, the validation framework will remove all messages,
-		// on each of the changed resources, owned by a validator before it is invoked.
-		// 
-		// It is up to the validator to make sure that it is not adding the same message
-		// in more than one place, and also to clear out any old messages which are not cleared
-		// by the validation framework.
-		IMarker item = null;
-		if(markerName != null && markerName.length() >0 )
-			 item = resource.createMarker(markerName); // add a validation marker
-		else
-		     item = resource.createMarker(VALIDATION_MARKER); // add a validation marker
-
-		// For performance reasons, replace the multiple setAttribute
-		// calls above with a single setAttributes call.
-		boolean offsetSet = ((offset != IMessage.OFFSET_UNSET) && (length != IMessage.OFFSET_UNSET));
-		int size = (offsetSet) ? 10 : 8; // add CHAR_START, CHAR_END only if the offset is set. If
-		// the offset is set, it takes precendence over the line
-		// number. (eclipse's rule, not mine.)
-		String[] attribNames = new String[size];
-		Object[] attribValues = new Object[size];
-
-		// Very first thing, add the owner. That way, if the code dies
-		// before things are persisted, hopefully this marker will be persisted.
-		// Hopefully, eclipse WILL persist this field, as requested.
-		attribNames[0] = VALIDATION_MARKER_OWNER;
-		attribValues[0] = pluginId;
-		attribNames[1] = VALIDATION_MARKER_SEVERITY; // this validation severity is stored, in
-		// addition to the marker severity, to enable
-		// more than one severity of message to be
-		// displayed. e.g. ERROR | WARNING (using
-		// binary OR). The IMarker constants are
-		// regular decimal constants.
-		attribValues[1] = new Integer(markerType);
-		attribNames[2] = VALIDATION_MARKER_TARGETOBJECT; // to distinguish between messages which
-		// are registered on an IResource, but
-		// against different target objects
-		attribValues[2] = ((targetObjectName == null) ? "" : targetObjectName); //$NON-NLS-1$
-		attribNames[3] = VALIDATION_MARKER_GROUP;
-		attribValues[3] = ((groupName == null) ? "" : groupName); //$NON-NLS-1$
-		attribNames[4] = IMarker.MESSAGE;
-		attribValues[4] = message;
-		attribNames[5] = VALIDATION_MARKER_MESSAGEID;
-		attribValues[5] = messageId;
-
-		attribNames[6] = IMarker.SEVERITY; // IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING,
-		// IMarker.SEVERITY_INFO
-		attribValues[6] = new Integer(severity);
-		try {
-			// If the location is a line number, store it as a line number
-			Integer lineNumber = Integer.valueOf(location);
-			attribNames[7] = IMarker.LINE_NUMBER;
-			attribValues[7] = lineNumber;
-		} catch (NumberFormatException exc) {
-			// Otherwise, store it as a text location
-			attribNames[7] = IMarker.LOCATION;
-			attribValues[7] = location;
-		}
-
-		if (offsetSet) {
-			attribNames[8] = IMarker.CHAR_START;
-			attribValues[8] = new Integer(offset);
-			attribNames[9] = IMarker.CHAR_END;
-			attribValues[9] = new Integer(offset + length);
-		}
-
-		item.setAttributes(attribNames, attribValues);
-
-		return item;
-	}
-
-	/**
-	 * This method adds a message to a resource in the task list.
-	 */
-	public static IMarker addTask(String pluginId, IResource resource, String location, String messageId, String message, int markerType, String targetObjectName, String groupName, int offset, int length) throws CoreException {
-		if ((message == null) || (resource == null)) {
-			return null;
-		}
-
-		int severity = getSeverity(markerType);
-
-		// Allow duplicate entries in the task list.
-		// Prior to a full validation, the validation framework will remove all messages owned
-		// by a validator before it is executed.
-		// Prior to an incremental validation, the validation framework will remove all messages,
-		// on each of the changed resources, owned by a validator before it is invoked.
-		// 
-		// It is up to the validator to make sure that it is not adding the same message
-		// in more than one place, and also to clear out any old messages which are not cleared
-		// by the validation framework.
-		IMarker item = resource.createMarker(VALIDATION_MARKER); // add a validation marker
-
-		// For performance reasons, replace the multiple setAttribute
-		// calls above with a single setAttributes call.
-		boolean offsetSet = ((offset != IMessage.OFFSET_UNSET) && (length != IMessage.OFFSET_UNSET));
-		int size = (offsetSet) ? 10 : 8; // add CHAR_START, CHAR_END only if the offset is set. If
-		// the offset is set, it takes precendence over the line
-		// number. (eclipse's rule, not mine.)
-		String[] attribNames = new String[size];
-		Object[] attribValues = new Object[size];
-
-		// Very first thing, add the owner. That way, if the code dies
-		// before things are persisted, hopefully this marker will be persisted.
-		// Hopefully, eclipse WILL persist this field, as requested.
-		attribNames[0] = VALIDATION_MARKER_OWNER;
-		attribValues[0] = pluginId;
-		attribNames[1] = VALIDATION_MARKER_SEVERITY; // this validation severity is stored, in
-		// addition to the marker severity, to enable
-		// more than one severity of message to be
-		// displayed. e.g. ERROR | WARNING (using
-		// binary OR). The IMarker constants are
-		// regular decimal constants.
-		attribValues[1] = new Integer(markerType);
-		attribNames[2] = VALIDATION_MARKER_TARGETOBJECT; // to distinguish between messages which
-		// are registered on an IResource, but
-		// against different target objects
-		attribValues[2] = ((targetObjectName == null) ? "" : targetObjectName); //$NON-NLS-1$
-		attribNames[3] = VALIDATION_MARKER_GROUP;
-		attribValues[3] = ((groupName == null) ? "" : groupName); //$NON-NLS-1$
-		attribNames[4] = IMarker.MESSAGE;
-		attribValues[4] = message;
-		attribNames[5] = VALIDATION_MARKER_MESSAGEID;
-		attribValues[5] = messageId;
-
-		attribNames[6] = IMarker.SEVERITY; // IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING,
-		// IMarker.SEVERITY_INFO
-		attribValues[6] = new Integer(severity);
-		try {
-			// If the location is a line number, store it as a line number
-			Integer lineNumber = Integer.valueOf(location);
-			attribNames[7] = IMarker.LINE_NUMBER;
-			attribValues[7] = lineNumber;
-		} catch (NumberFormatException exc) {
-			// Otherwise, store it as a text location
-			attribNames[7] = IMarker.LOCATION;
-			attribValues[7] = location;
-		}
-
-		if (offsetSet) {
-			attribNames[8] = IMarker.CHAR_START;
-			attribValues[8] = new Integer(offset);
-			attribNames[9] = IMarker.CHAR_END;
-			attribValues[9] = new Integer(offset + length);
-		}
-
-		item.setAttributes(attribNames, attribValues);
-
-		return item;
-	}
-
-	/**
-	 * Given one of the SeverityEnum severities, return the IMarker severity int that is its
-	 * equivalent.
-	 * 
-	 * This method was made public for the SaberReporter. No one other than TaskListUtility, or the
-	 * SaberReporter, should use this method!
-	 *  
-	 */
-	private static int getSeverity(int severityEnumValue) {
-		switch (severityEnumValue) {
-			case (IMessage.HIGH_SEVERITY) : {
-				return IMarker.SEVERITY_ERROR;
-			}
-
-			case (IMessage.LOW_SEVERITY) : {
-				return IMarker.SEVERITY_INFO;
-			}
-
-			case (IMessage.NORMAL_SEVERITY) : {
-				return IMarker.SEVERITY_WARNING;
-			}
-
-			case (IMessage.ALL_MESSAGES) :
-			case (IMessage.ERROR_AND_WARNING) :
-			default : {
-				// assume it's a warning.
-				return IMarker.SEVERITY_WARNING;
-			}
-		}
-	}
-
-	private static int getDepth(IResource resource) {
-		if (resource instanceof IProject) {
-			return DEPTH_INFINITE; // DEPTH_INFINITE means get this project's markers, and the
-			// markers belonging to the project's children.
-		} else if (resource instanceof IWorkspaceRoot) {
-			// Needed for the ValidationMigrator when it checks for orphan tasks.
-			return DEPTH_INFINITE; // DEPTH_INFINITE means get all of the markers in the workspace
-		}
-
-		return DEPTH_ZERO; // DEPTH_ZERO means just this resource, not its children
-	}
-
-	public static IMarker[] getValidationTasks(int severity, IProject project) {
-		// DEPTH_INFINITE means get this project's markers, and the markers
-		// belonging to the project's children.
-		return getValidationTasks(project, severity);
-	}
-
-	public static IMarker[] getValidationTasks(IResource resource, int severity) {
-		return getValidationTasks(resource, severity, getDepth(resource));
-	}
-
-	/**
-	 * Return true if the marker is owned by the ownerId.
-	 */
-	public static boolean isOwner(IMarker marker, String ownerId) {
-		try {
-			Object owner = marker.getAttribute(VALIDATION_MARKER_OWNER);
-			if ((owner == null) || !(owner instanceof String)) {
-				// The ValidationMigrator will remove any "unowned" validation markers.
-				return false;
-			}
-
-			return ((String) owner).equals(ownerId);
-		} catch (CoreException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("TaskListUtility.isOwner(IMarker, ownerId)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return false;
-		}
-	}
-
-	private static IMarker[] getValidationTasks(IResource resource, int severity, int depth) {
-		IMarker[] tempMarkers = null;
-		int validCount = 0;
-		try {
-			IMarker[] allMarkers = null;
-			try {
-				allMarkers = resource.findMarkers(VALIDATION_MARKER, true, depth); // false means
-				// only consider
-				// PROBLEM_MARKER,
-				// not variants
-				// of
-				// PROBLEM_MARKER.
-				// Since addTask
-				// only adds
-				// PROBLEM_MARKER,
-				// we don't need
-				// to consider
-				// its subtypes.
-			} catch (CoreException exc) {
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("TaskListUtility.getValidationTasks(IResource, int)"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				return NO_MARKERS;
-			}
-
-			// Now filter in the markers, based on severity type.
-			if (allMarkers.length != 0) {
-				tempMarkers = new IMarker[allMarkers.length];
-				for (int i = 0; i < allMarkers.length; i++) {
-					IMarker marker = allMarkers[i];
-					Integer filterSeverity = (Integer) marker.getAttribute(VALIDATION_MARKER_SEVERITY);
-					if (filterSeverity == null) {
-						// odd...marker wasn't created correctly. How could this happen?
-						// Default to the current severity and add it to the list.
-						try {
-							marker.setAttribute(IMarker.SEVERITY, getSeverity(severity));
-						} catch (CoreException exc) {
-							Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-							if (logger.isLoggingLevel(Level.SEVERE)) {
-								LogEntry entry = ValidationPlugin.getLogEntry();
-								entry.setSourceID("TaskListUtility.getValidationTasks(int, IResource, int)"); //$NON-NLS-1$
-								entry.setTargetException(exc);
-								logger.write(Level.SEVERE, entry);
-							}
-							continue;
-						} catch (Throwable exc) {
-							Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-							if (logger.isLoggingLevel(Level.SEVERE)) {
-								LogEntry entry = ValidationPlugin.getLogEntry();
-								entry.setSourceID("TaskListUtility.getValidationTasks(int, IResource, int)"); //$NON-NLS-1$
-								entry.setTargetException(exc);
-								logger.write(Level.SEVERE, entry);
-							}
-							continue;
-						}
-					} else if ((severity & filterSeverity.intValue()) == 0) {
-						continue;
-					}
-					tempMarkers[validCount++] = marker;
-				}
-			}
-		} catch (CoreException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("TaskListUtility.getValidationTasks(int, IResource, int)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-
-		if (validCount == 0) {
-			return NO_MARKERS;
-		}
-
-		IMarker[] validMarkers = new IMarker[validCount];
-		System.arraycopy(tempMarkers, 0, validMarkers, 0, validCount);
-		return validMarkers;
-	}
-
-	public static IMarker[] getValidationTasks(IResource resource, String messageOwner) {
-		return getValidationTasks(resource, new String[]{messageOwner}, getDepth(resource));
-	}
-
-	public static IMarker[] getValidationTasks(IResource resource, String[] messageOwners) {
-		return getValidationTasks(resource, messageOwners, getDepth(resource));
-	}
-
-	private static IMarker[] getValidationTasks(IResource resource, String[] messageOwners, int depth) {
-		IMarker[] markers = getValidationTasks(resource, IMessage.ALL_MESSAGES, depth);
-		if (markers.length == 0) {
-			return NO_MARKERS;
-		}
-
-		IMarker[] temp = new IMarker[markers.length];
-		int validCount = 0;
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker = markers[i];
-
-			try {
-				Object owner = marker.getAttribute(VALIDATION_MARKER_OWNER);
-				if ((owner == null) || !(owner instanceof String)) {
-					// The ValidationMigrator will remove any "unowned" validation markers.
-					continue;
-				}
-
-				for (int j = 0; j < messageOwners.length; j++) {
-					String messageOwner = messageOwners[j];
-					if (((String) owner).equals(messageOwner)) {
-						temp[validCount++] = marker;
-						break;
-					}
-				}
-			} catch (CoreException exc) {
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("TaskListUtility.getValidationTasks(project, String[])"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				return NO_MARKERS;
-			}
-		}
-
-		IMarker[] result = new IMarker[validCount];
-		System.arraycopy(temp, 0, result, 0, validCount);
-		return result;
-	}
-
-	/**
-	 * This method retrieves all validation tasks from the resource. If depth is INFINITE, child
-	 * tasks are returned as well. Only the tasks which are owned by the specified messageOwner, and
-	 * apply to the named IMessage's target object (objectName) will be returned.
-	 */
-	private static IMarker[] getValidationTasks(IResource resource, String[] messageOwner, String objectName, String groupName, int depth) throws CoreException {
-		if ((messageOwner == null) || (resource == null)) {
-			return NO_MARKERS;
-		}
-
-		int validCount = 0;
-		IMarker[] validList = null;
-		IMarker[] markers = getValidationTasks(resource, messageOwner, depth);
-		if (markers != null) {
-			validList = new IMarker[markers.length];
-			for (int i = 0; i < markers.length; i++) {
-				IMarker marker = markers[i];
-
-				// If more than one target object resolves to the same resource, removing one
-				// target's
-				// messages should not remove the other target object's messages.
-				if (objectName != null) {
-					Object targetObject = marker.getAttribute(VALIDATION_MARKER_TARGETOBJECT);
-					if ((targetObject == null) || !(targetObject instanceof String) || !(((String) targetObject).equals(objectName))) {
-						continue;
-					}
-				}
-
-				if (groupName != null) {
-					Object group = marker.getAttribute(VALIDATION_MARKER_GROUP);
-					if ((group == null) || !(group instanceof String) || !(((String) group).equals(groupName))) {
-						continue;
-					}
-				}
-
-				validList[validCount++] = marker;
-			}
-		}
-
-		if (validCount == 0) {
-			return NO_MARKERS;
-		}
-
-		IMarker[] result = new IMarker[validCount];
-		System.arraycopy(validList, 0, result, 0, validCount);
-		return result;
-	}
-
-	/**
-	 * Remove all validation messages from the resource and its children.
-	 */
-	public static void removeAllTasks(IResource resource) {
-		if (resource == null) {
-			return;
-		}
-
-		try {
-			IMarker[] markers = getValidationTasks(resource, IMessage.ALL_MESSAGES);
-			ResourcesPlugin.getWorkspace().deleteMarkers(markers);
-		} catch (CoreException exc) {
-			// Couldn't remove the task from the task list for some reason...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchMonitor.removeAllMessages(String[], IResource, String)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	/**
-	 * This method removes all tasks from the resource. If the resource is an IProject, all tasks
-	 * are also removed from the project's children.
-	 */
-	public static void removeAllTasks(IResource resource, String[] owners) throws CoreException {
-		removeAllTasks(resource, owners, null); // null means remove messages from all target
-		// objects
-	}
-
-	/**
-	 * This method removes all messages from a resource in the task list.
-	 */
-	public static void removeAllTasks(IResource resource, String owner, String objectName) throws CoreException {
-		removeAllTasks(resource, new String[]{owner}, objectName);
-	}
-
-	public static void removeAllTasks(IResource resource, String[] owners, String objectName) throws CoreException {
-		removeAllTasks(resource, owners, objectName, getDepth(resource));
-	}
-
-	protected static void removeAllTasks(IResource resource, String[] owners, String objectName, int depth) throws CoreException {
-		removeTaskSubset(resource, owners, objectName, null, depth); // null means no group name
-	}
-
-	/**
-	 * This method removes a subset of tasks from the project, including child tasks. Every task
-	 * which belongs to the group, identified by groupName, will be removed.
-	 */
-	public static void removeTaskSubset(IResource resource, String[] owners, String objectName, String groupName) throws CoreException {
-		removeTaskSubset(resource, owners, objectName, groupName, getDepth(resource));
-	}
-
-	/**
-	 * This method removes a subset of tasks from the project, including child tasks. Every task
-	 * which belongs to the group, identified by groupName, will be removed.
-	 */
-	protected static void removeTaskSubset(IResource resource, String[] owners, String objectName, String groupName, int depth) throws CoreException {
-		if ((owners == null) || (resource == null)) {
-			return;
-		}
-
-		IMarker[] allTasks = getValidationTasks(resource, owners, objectName, groupName, depth);
-		if (allTasks.length > 0) {
-			ResourcesPlugin.getWorkspace().deleteMarkers(allTasks);
-		}
-	}
-
-	/**
-	 * This method changes all validator markers which are owned by "from" to make their owner "to".
-	 */
-	public static void updateOwner(String from, String to) throws CoreException {
-		updateOwner(from, to, getRoot());
-	}
-
-	/**
-	 * This method changes all validator markers on the IResource and its children. All markers
-	 * owned by "from" have their owner reassigned to "to".
-	 */
-	public static void updateOwner(String from, String to, IResource resource) throws CoreException {
-		IMarker[] ownedMarkers = getValidationTasks(resource, from);
-		if (ownedMarkers == null) {
-			return;
-		}
-
-		for (int i = 0; i < ownedMarkers.length; i++) {
-			IMarker marker = ownedMarkers[i];
-			marker.setAttribute(VALIDATION_MARKER_OWNER, to);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TimeEntry.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TimeEntry.java
deleted file mode 100644
index d63ed17..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TimeEntry.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import org.eclipse.jem.util.logger.LogEntry;
-
-
-/**
- * This class should be used when logging "elapsed time" information and nothing else. Instead of
- * creating a new instance of this class every time it is needed, for performance reasons, create an
- * instance and reuse it. The text in this class is never translated.
- */
-public class TimeEntry extends LogEntry {
-	private String _toolName = null;
-	private String _details = null;
-	private String _projectName = null;
-	private String _sourceId = null;
-	private int _executionMap = 0x0;
-
-	public TimeEntry() {
-		super();
-	}
-
-	/**
-	 * The name of the tool (e.g., a validator, a builder) whose time is measured.
-	 */
-	public String getToolName() {
-		return _toolName;
-	}
-
-	public void setToolName(String name) {
-		_toolName = name;
-	}
-
-
-	/**
-	 * If there are any details that need to be recorded about the tool, such as what input it runs
-	 * on, this field stores the value. This field is optional.
-	 */
-	public String getDetails() {
-		return _details;
-	}
-
-	public void setDetails(String d) {
-		_details = d;
-	}
-
-	/**
-	 * The name of the project on which the tool ran.
-	 */
-	public String getProjectName() {
-		return _projectName;
-	}
-
-	public void setProjectName(String name) {
-		_projectName = name;
-	}
-
-	/**
-	 * The id of the code that launched the tool.
-	 */
-	public String getSourceID() {
-		return _sourceId;
-	}
-
-	public void setSourceID(String id) {
-		_sourceId = id;
-	}
-
-	/**
-	 * If, in addition to elapsed time, the tool needs to track the execution path of a method, this
-	 * field stores the hexadecimal number that tracks the path. See ValidationBuilder::build for an
-	 * example that uses an execution path.
-	 */
-	public int getExcecutionMap() {
-		return _executionMap;
-	}
-
-	public void setExecutionMap(int map) {
-		_executionMap = map;
-	}
-
-	/**
-	 * Clear all of the fields back to their initial setting so that this TimeEntry instance can be
-	 * reused.
-	 */
-	public void reset() {
-		_toolName = null;
-		_details = null;
-		_projectName = null;
-		_sourceId = null;
-		_executionMap = 0;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/VThreadManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/VThreadManager.java
deleted file mode 100644
index 05b3891..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/VThreadManager.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import java.util.Vector;
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * This class manages (queue, invoke, etc.) the Runnables that perform the validation for a
- * particular validator.
- */
-public class VThreadManager {
-	private static VThreadManager _manager = null;
-	private static final int MAX_NUM_OF_RESTART = 5; // the maximum number of times that the thread
-	// should attempt to ignore a Throwable and
-	// carry on
-
-	private Thread _validationThread = null; // This thread checks if the current Runnable is
-	// finished, and if so, loads the first Runnable off of
-	// the queue and starts it.
-	volatile int restart = 0; // how many times has the thread been restarted?
-	volatile Jobs _jobs = null;
-
-	private VThreadManager() {
-		_jobs = new Jobs();
-
-		// Start the validation thread to check for queued ValidationOperation
-		Runnable validationRunnable = new Runnable() {
-			public void run() {
-				while (true) {
-					try {
-						if (restart > MAX_NUM_OF_RESTART) {
-							// something has gone seriously, seriously wrong
-							Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-							if (logger.isLoggingLevel(Level.SEVERE)) {
-								LogEntry entry = ValidationPlugin.getLogEntry();
-								entry.setSourceID("VThreadManager::validationRunnable"); //$NON-NLS-1$
-								entry.setText("restart = " + restart); //$NON-NLS-1$
-								logger.write(Level.SEVERE, entry);
-							}
-							break;
-						}
-
-						Runnable job = getJobs().dequeue(); // If currentRunnable is null, there's
-						// nothing on the queue. Shouldn't
-						// happen with a semaphore.
-						if (job != null) {
-							getJobs().setActive(true);
-							job.run();
-							getJobs().setActive(false);
-						}
-					} catch (Throwable exc) {
-						// This exception is added as FINE instead of SEVERE because it's not
-						// improbable
-						// that an exception will be thrown
-						restart++;
-						getJobs().setActive(false);
-
-						Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-						if (logger.isLoggingLevel(Level.FINE)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setSourceID("VThreadManager::validationRunnable"); //$NON-NLS-1$
-							entry.setTargetException(exc);
-							logger.write(Level.FINE, entry);
-						}
-					} finally {
-						//do nothing
-					}
-				}
-			}
-		};
-
-		_validationThread = new Thread(validationRunnable, "ValidationThread"); //$NON-NLS-1$
-		_validationThread.start();
-	}
-
-	public static VThreadManager getManager() {
-		if (_manager == null) {
-			_manager = new VThreadManager();
-		}
-		return _manager;
-	}
-
-	Jobs getJobs() {
-		return _jobs;
-	}
-
-	public void queue(Runnable runnable) {
-		getJobs().queue(runnable);
-	}
-
-	/**
-	 * Return true if all of the Runnables have been run.
-	 */
-	public boolean isDone() {
-		return getJobs().isDone();
-	}
-
-	private class Jobs {
-		private Vector __jobs = null; // The queued Runnables that need to be run.
-		private boolean _isActive = false; // Is a job being run in the validation thread?
-
-		public Jobs() {
-			__jobs = new Vector();
-		}
-
-		public synchronized void queue(Runnable runnable) {
-			// If there is a thread running already, then it must finish before another validation
-			// thread is launched, or the validation messages could reflect the last thread
-			// finished,
-			// instead of the last state of changes.
-
-			// Have to wait for the current Runnable to finish, so add this to the end of the queue
-			__jobs.add(runnable);
-			notifyAll();
-		}
-
-		/**
-		 * Pop the Runnable off of the head of the queue.
-		 */
-		synchronized Runnable dequeue() {
-			while (__jobs.size() == 0) {
-				try {
-					wait();
-				} catch (InterruptedException exc) {
-					//Ignore
-				}
-			} // Block on the semaphore; break when a job has been added to the queue.
-
-			Runnable job = null;
-			if (__jobs.size() > 0) {
-				job = (Runnable) __jobs.get(0);
-				if (job != null) {
-					__jobs.remove(0);
-				}
-			}
-			return job;
-		}
-
-		public synchronized boolean isActive() {
-			return _isActive;
-		}
-
-		public synchronized void setActive(boolean active) {
-			_isActive = active;
-		}
-
-		/**
-		 * Return true if all of the Runnables have been run.
-		 */
-		public synchronized boolean isDone() {
-			return ((__jobs.size() == 0) && !isActive());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationConfiguration.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationConfiguration.java
deleted file mode 100644
index 8a43d7c..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationConfiguration.java
+++ /dev/null
@@ -1,878 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * This class represents the user's preference or project settings.
- * 
- * This class is populated from the multiple persistent properties, and is kept as a session
- * property while the resource is open.
- */
-public abstract class ValidationConfiguration {
-	private IResource _resource = null;
-	private boolean disableAllValidation = getDisableAllValidation();
-	private String _version = null;
-	private Map _validators = null; // Map of all validators (ValidatorMetaData) configured on the
-	// project or installed globally. The value is a Boolean; TRUE
-	// means that the VMD is enabled, FALSE means that the VMD is
-	// disabled.
-	private static HashMap manualValidators = null;
-	private static HashMap buildValidators = null;
-
-	public static String getEnabledElementsAsString(Set elements) {
-		if (elements == null) {
-			return null;
-		}
-
-		StringBuffer buffer = new StringBuffer();
-		Iterator iterator = elements.iterator();
-		while (iterator.hasNext()) {
-			buffer.append(((ValidatorMetaData) iterator.next()).getValidatorUniqueName());
-			buffer.append(ConfigurationConstants.ELEMENT_SEPARATOR);
-		}
-		return buffer.toString();
-	}
-
-	private boolean getDisableAllValidation() {
-		return false;
-	}
-
-	public static String getEnabledElementsAsString(Object[] elements) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < elements.length; i++) {
-			buffer.append(((ValidatorMetaData) elements[i]).getValidatorUniqueName());
-			buffer.append(ConfigurationConstants.ELEMENT_SEPARATOR);
-		}
-		return buffer.toString();
-	}
-
-	public static Set getStringAsEnabledElements(String elements) {
-		if (elements == null) {
-			return null;
-		}
-
-		HashSet result = new HashSet();
-		StringTokenizer tokenizer = new StringTokenizer(elements, ConfigurationConstants.ELEMENT_SEPARATOR);
-		while (tokenizer.hasMoreTokens()) {
-			String elem = tokenizer.nextToken();
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(elem);
-			if (vmd != null) {
-				result.add(vmd);
-			}
-		}
-		return result;
-	}
-
-	public static ValidatorMetaData[] getStringAsEnabledElementsArray(String elements) {
-		if (elements == null) {
-			return null;
-		}
-
-		StringTokenizer tokenizer = new StringTokenizer(elements, ConfigurationConstants.ELEMENT_SEPARATOR);
-		ValidatorMetaData[] result = new ValidatorMetaData[tokenizer.countTokens()];
-		int count = 0;
-		while (tokenizer.hasMoreTokens()) {
-			String elem = tokenizer.nextToken();
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(elem);
-			if (vmd != null) {
-				result[count++] = vmd;
-			}
-		}
-
-		if (count != result.length) {
-			ValidatorMetaData[] trimResult = new ValidatorMetaData[count];
-			System.arraycopy(result, 0, trimResult, 0, count);
-			return trimResult;
-		}
-
-		return result;
-	}
-
-	public static IWorkspaceRoot getRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	protected ValidationConfiguration() throws InvocationTargetException {
-		_validators = new HashMap();
-	}
-
-	protected ValidationConfiguration(IResource resource, ValidatorMetaData[] validators) throws InvocationTargetException {
-		this();
-
-		if (resource == null) {
-			throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLCREATE));
-		}
-
-		setResource(resource);
-		setValidators(validators);
-	}
-
-	private void setResource(IResource resource) {
-		_resource = resource;
-	}
-	
-	public boolean isDisableAllValidation() throws InvocationTargetException {
-		return disableAllValidation;
-	}
-
-	public void setDisableAllValidation(boolean allValidation) {
-		disableAllValidation = allValidation;
-	}
-
-	public ValidatorMetaData[] getEnabledValidators() throws InvocationTargetException {
-		return getValidators(true);
-	}
-	
-	/**
-	 * If "incremental" is true, return the enabled incremental validators. If "incremental" is
-	 * false, return the enabled non-incremental validators.
-	 */
-	public ValidatorMetaData[] getEnabledIncrementalValidators(boolean incremental) throws InvocationTargetException {
-		ValidatorMetaData[] temp = new ValidatorMetaData[numberOfValidators()];
-		Iterator iterator = getValidatorMetaData().keySet().iterator();
-		int count = 0;
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			Boolean bvalue = (Boolean) getValidatorMetaData().get(vmd);
-			if (bvalue.booleanValue() == true) {
-				// If the validator is enabled
-				if ((vmd.isIncremental() && incremental && vmd.isBuildValidation()) || (!vmd.isIncremental() && !incremental)) {
-					temp[count++] = vmd;
-				}
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-
-	/**
-	 * If "fullBuild" is true, return the enabled validators that support full builds. If
-	 * "fullBuild" is false, return the enabled validators that do not support full builds.
-	 */
-	public ValidatorMetaData[] getEnabledFullBuildValidators(boolean fullBuild) throws InvocationTargetException {
-		return getEnabledFullBuildValidators(fullBuild, false);
-	}
-
-	public ValidatorMetaData[] getEnabledFullBuildValidators(boolean fullBuild, boolean onlyReferenced) throws InvocationTargetException {
-		ValidatorMetaData[] temp = new ValidatorMetaData[numberOfValidators()];
-		Iterator iterator = getValidatorMetaData().keySet().iterator();
-		int count = 0;
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			Boolean bvalue = (Boolean) getValidatorMetaData().get(vmd);
-			if (bvalue.booleanValue() == true) {
-				// If the validator is enabled
-				if (vmd == null)
-					continue;
-				
-				if (( vmd.isBuildValidation() && vmd.isFullBuild() && fullBuild) || (!vmd.isFullBuild() && !fullBuild)) {
-					if (!onlyReferenced || vmd.isDependentValidator())
-						temp[count++] = vmd;
-				}
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-
-	public void setEnabledValidators(ValidatorMetaData[] vmds) {
-		// First, "disable" all validators
-		Map all = getValidatorMetaData();
-		Iterator iterator = all.keySet().iterator();
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			all.put(vmd, Boolean.FALSE);
-		}
-
-		// Then enable only the validators in the array
-		if ((vmds == null) || (vmds.length == 0)) {
-			return;
-		}
-		for (int i = 0; i < vmds.length; i++) {
-			all.put(vmds[i], Boolean.TRUE);
-		}
-	}
-	
-	public void setEnabledManualValidators(ValidatorMetaData[] vmds) throws InvocationTargetException {
-		List manualEnabledVMDList = Arrays.asList(vmds);
-		List allValidators = Arrays.asList(getValidators());
-		for(int i = 0; i < allValidators.size(); i++) {
-			ValidatorMetaData data = (ValidatorMetaData) allValidators.get(i);
-			if(manualEnabledVMDList.contains(data))
-				getManualEnabledValidatorsMap().put(data, new Boolean(true));
-			else
-				getManualEnabledValidatorsMap().put(data, new Boolean(false));
-			
-		}
-	}
-	
-	public void setEnabledBuildValidators(ValidatorMetaData[] vmds) throws InvocationTargetException {
-		List buildEnabledVMDList = Arrays.asList(vmds);
-		List allValidators = Arrays.asList(getValidators());
-		for(int i = 0; i < allValidators.size(); i++) {
-			ValidatorMetaData data = (ValidatorMetaData) allValidators.get(i);
-			if(buildEnabledVMDList.contains(data))
-				getBuildEnabledValidatorsMap().put(data, new Boolean(true));
-			else
-				getBuildEnabledValidatorsMap().put(data, new Boolean(false));
-			
-		}
-	}
-
-	private Map getValidatorMetaData() {
-		return _validators;
-	}
-	
-
-	public ValidatorMetaData[] getDisabledValidators() throws InvocationTargetException {
-		return getValidators(false);
-	}
-
-	/**
-	 * Return an array of ValidatorMetaData - if value is false, return the disabled validators; if
-	 * value is true, return the enabled validators.
-	 */
-	private ValidatorMetaData[] getValidators(boolean value) throws InvocationTargetException {
-		ValidatorMetaData[] temp = new ValidatorMetaData[numberOfValidators()];
-		Iterator iterator = getValidatorMetaData().keySet().iterator();
-		int count = 0;
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			Boolean bvalue = (Boolean) getValidatorMetaData().get(vmd);
-			if (bvalue.booleanValue() == value) {
-				temp[count++] = vmd;
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-	
-	public ValidatorMetaData[] getManualEnabledValidators() throws InvocationTargetException {
-		HashMap map = getManualEnabledValidatorsMap();
-		Set set = getManualEnabledValidatorsMap().keySet();
-		if (!set.isEmpty()) {
-			Iterator it = set.iterator();
-			List enabledManualValidators = new ArrayList();
-			while (it.hasNext()) {
-				ValidatorMetaData data = (ValidatorMetaData) it.next();
-				Boolean obj = (Boolean) map.get(data);
-				if (obj != null && obj.booleanValue() == true) {
-					enabledManualValidators.add(data);
-				}
-			}
-			return (ValidatorMetaData[]) enabledManualValidators.toArray(new ValidatorMetaData[enabledManualValidators.size()]);
-		}
-		return getEnabledValidators();
-	}	
-	
-	public  ValidatorMetaData[] getBuildEnabledValidators() throws InvocationTargetException {
-		HashMap map = getBuildEnabledValidatorsMap();
-		Set set = getBuildEnabledValidatorsMap().keySet();
-		Iterator it = set.iterator();
-		List enabledBuildValidators = new ArrayList();
-		if (!set.isEmpty()) {
-			while (it.hasNext()) {
-				ValidatorMetaData data = (ValidatorMetaData) it.next();
-				Boolean obj = (Boolean) map.get(data);
-				if (obj != null && obj.booleanValue() == true) {
-					enabledBuildValidators.add(data);
-				}
-			}
-			return (ValidatorMetaData[]) enabledBuildValidators.toArray(new ValidatorMetaData[enabledBuildValidators.size()]);
-		}
-		return getEnabledValidators();
-	}
-	
-	public  HashMap getBuildEnabledValidatorsMap() {
-		if(buildValidators == null)
-			buildValidators = new HashMap();
-		return buildValidators;
-	}	
-	
-	public  HashMap getManualEnabledValidatorsMap() {
-		if(manualValidators == null)
-			manualValidators = new HashMap();
-		return manualValidators;
-	}	
-
-	/**
-	 * Return all incremental validators for this preference; either every installed validator
-	 * (global) or every validator configured on the project (project).
-	 */
-	public ValidatorMetaData[] getIncrementalValidators() throws InvocationTargetException {
-		ValidatorMetaData[] temp = new ValidatorMetaData[numberOfValidators()];
-		Iterator iterator = getValidatorMetaData().keySet().iterator();
-		int count = 0;
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			Boolean bvalue = (Boolean) getValidatorMetaData().get(vmd);
-			if (bvalue.booleanValue() == true) {
-				// If the validator is enabled
-				if (vmd.isIncremental()) {
-					temp[count++] = vmd;
-				}
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-
-	/**
-	 * Return all validators for this preference; either every installed validator (global) or every
-	 * validator configured on the project (project).
-	 */
-	public ValidatorMetaData[] getValidators() throws InvocationTargetException {
-		return convertToArray(_validators.keySet());
-	}
-	
-	public void setValidators(ValidatorMetaData[] vmds) {
-		_validators.clear();
-		for (int i = 0; i < vmds.length; i++) {
-			if (vmds[i] == null)
-				continue;
-			_validators.put(vmds[i], (vmds[i].isEnabledByDefault() ? Boolean.TRUE : Boolean.FALSE));
-		}
-	}
-	
-	
-
-	/**
-	 * Returns the number of configured validators on the given project or installed validators in
-	 * the workspace.
-	 */
-	public int numberOfValidators() throws InvocationTargetException {
-		return _validators.size();
-	}
-
-	public int numberOfEnabledIncrementalValidators() throws InvocationTargetException {
-		return numberOfIncrementalValidators(getEnabledValidators());
-	}
-
-	public int numberOfIncrementalValidators() throws InvocationTargetException {
-		return numberOfIncrementalValidators(getValidators());
-	}
-
-	private static int numberOfIncrementalValidators(ValidatorMetaData[] vmds) {
-		int count = 0;
-		for (int i = 0; i < vmds.length; i++) {
-			ValidatorMetaData vmd = vmds[i];
-			if (vmd.isIncremental()) {
-				count++;
-			}
-		}
-		return count;
-	}
-
-	/**
-	 * Returns the number of enabled validators on the project or workspace.
-	 */
-	public int numberOfEnabledValidators() throws InvocationTargetException {
-		return getEnabledValidators().length;
-	}
-
-	/**
-	 * Returns the number of disabled validators on the project or workspace.
-	 */
-	public int numberOfDisabledValidators() throws InvocationTargetException {
-		return getDisabledValidators().length;
-	}
-
-	/*public int getMaximumNumberOfMessages() throws InvocationTargetException {
-		return _maxMessages;
-	}
-
-	public void setMaximumNumberOfMessages(int max) {
-		_maxMessages = max;
-	}*/
-
-	/**
-	 * The value returned from this method is guaranteed to be non-null.
-	 */
-	public final String getVersion() throws InvocationTargetException {
-		if (_version == null) {
-			loadVersion();
-		}
-		return _version;
-	}
-
-	private void setVersion(String version) {
-		_version = version;
-	}
-
-	/**
-	 * This preference has been migrated; change the version to the current version.
-	 */
-	public void markVersionCurrent() {
-		// The version should not be marked current until the migration is complete
-		// (i.e., ValidationMigrator has been invoked.) Migrating the user's configuration
-		// is only the first step of the migration.
-		setVersion(ConfigurationConstants.CURRENT_VERSION);
-	}
-
-	public boolean isVersionCurrent() throws InvocationTargetException {
-		return getVersion().equals(ConfigurationConstants.CURRENT_VERSION);
-	}
-
-	// IResource could be an IProject or an IWorkspaceRoot
-	public IResource getResource() {
-		return _resource;
-	}
-
-	/**
-	 * Return true if the validator is enabled on this preference.
-	 */
-	public boolean isEnabled(String validatorClassName) throws InvocationTargetException {
-		if (validatorClassName == null) {
-			return false;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorClassName);
-		return isEnabled(vmd);
-	}
-
-	/**
-	 * Return true if the validator is enabled on this preference.
-	 */
-	public boolean isEnabled(ValidatorMetaData vmd) throws InvocationTargetException {
-		if (vmd == null) {
-			return false;
-		}
-
-		Boolean value = (Boolean) getValidatorMetaData().get(vmd);
-		if (value == null) {
-			return false;
-		}
-
-		return value.booleanValue();
-	}
-
-	/**
-	 * Once all of the fields have been updated on this ValidationConfiguration instance, this
-	 * preference should be stored back on the IResource for later use. This method must be called
-	 * manually by the validation framework once the fields of this type have been updated.
-	 */
-	public final void passivate() throws InvocationTargetException {
-		try {
-			if (getResource() == null) {
-				throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLSAVE));
-			}
-			getResource().setSessionProperty(ConfigurationConstants.USER_PREFERENCE, this);
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SAVE, new String[]{getResource().getName()}));
-		}
-	}
-
-	/**
-	 * Reset the values to the default values.
-	 */
-	public abstract void resetToDefault() throws InvocationTargetException;
-
-	protected Boolean convertToBoolean(boolean value) {
-		return (value == true ? Boolean.TRUE : Boolean.FALSE);
-	}
-
-	protected Integer convertToInteger(int value) {
-		return new Integer(value);
-	}
-
-	protected boolean convertToBoolean(String value) {
-		Boolean b = Boolean.valueOf(value);
-		return b.booleanValue();
-	}
-
-	protected int convertToInt(String value) {
-		Integer t = Integer.valueOf(value);
-		return t.intValue();
-	}
-
-	public static ValidatorMetaData[] convertToArray(Collection c) {
-		int length = (c == null) ? 0 : c.size();
-		ValidatorMetaData[] result = new ValidatorMetaData[length];
-		if (length == 0) {
-			return result;
-		}
-
-		Iterator iterator = c.iterator();
-		int count = 0;
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			result[count++] = vmd;
-		}
-
-		return result;
-	}
-
-	public static ValidatorMetaData[] convertToArray(Object[] c) {
-		int length = (c == null) ? 0 : c.length;
-		ValidatorMetaData[] result = new ValidatorMetaData[length];
-		if (length == 0) {
-			return result;
-		}
-
-		System.arraycopy(c, 0, result, 0, length);
-		return result;
-	}
-
-	/**
-	 * Save the values of these fields before the project or workspace is closed.
-	 */
-	public void store() throws InvocationTargetException {
-		if (getResource() == null) {
-			throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLSAVE));
-		}
-		try {
-			getResource().setPersistentProperty(ConfigurationConstants.USER_PREFERENCE, serialize());
-			getResource().setPersistentProperty(ConfigurationConstants.USER_MANUAL_PREFERENCE, serializeManualSetting());
-			getResource().setPersistentProperty(ConfigurationConstants.USER_BUILD_PREFERENCE, serializeBuildSetting());
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SAVE, new String[]{getResource().getName()}));
-		}
-	}
-
-	/**
-	 * Load and store the version number, but nothing else. The version isn't a preference, but it's
-	 * stored and loaded as if it is. Because the load mechanism is different between an IProject
-	 * and the IWorkspaceRoot, keep the load mechanism inside the ValidationConfiguration
-	 * implementation, but initialize only the minimum at first. After the project has been
-	 * migrated, load the other fields (loading the other fields before the migration may overwrite
-	 * the values of those fields).
-	 */
-	protected final void loadVersion() throws InvocationTargetException {
-		if (getResource() == null) {
-			throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLRETRIEVE));
-		}
-
-		IMarker[] marker = getMarker();
-		String version = null;
-		if (marker == null) {
-			// either a new workspace or already migrated; proceed as normal
-			version = loadVersion(getResource());
-		} else {
-			// migrate
-			version = loadVersion(marker);
-		}
-		setVersion(version);
-	}
-
-	protected final String loadVersion(IMarker[] marker) throws InvocationTargetException {
-		String version = (String) getValue(marker[0], ConfigurationConstants.VERSION);
-		if (version == null) {
-			return ConfigurationConstants.VERSION4_03;
-		}
-
-		return version;
-	}
-
-	protected final String loadVersion(IResource resource) throws InvocationTargetException {
-		try {
-			// This method will be called in one of two situations:
-			//    1. This is a new workspace and no preferences exist.
-			//    2. This is a migrated workspace and the old preferences have already been created as
-			// persistent properties.
-			String storedConfiguration = resource.getPersistentProperty(ConfigurationConstants.USER_PREFERENCE);
-			String version = null;
-			if (storedConfiguration == null) {
-				version = getVersionDefault();
-			} else {
-				int versionIndex = storedConfiguration.indexOf(ConfigurationConstants.VERSION);
-				if (versionIndex != -1)
-					version = storedConfiguration.substring(versionIndex + ConfigurationConstants.VERSION.length());
-			}
-
-			if (version == null) {
-				return getVersionDefault();
-			}
-
-			return version;
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{getResource().getName()}));
-		}
-	}
-
-	/**
-	 * Load the values of these fields when the project or workspace is opened.
-	 */
-	protected final void load() throws InvocationTargetException {
-		try {
-			if (getResource() == null) {
-				throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLRETRIEVE));
-			}
-
-			IMarker[] marker = getMarker();
-			if (marker == null) {
-				// either a new workspace or already migrated; proceed as normal
-				load(getResource());
-			} else {
-				// migrate
-				load(marker);
-			}
-		} catch (InvocationTargetException exc) {
-			throw exc;
-		} catch (Throwable exc) {
-			String resourceName = (getResource() == null) ? "null" : getResource().getName(); //$NON-NLS-1$
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{resourceName}));
-		}
-	}
-
-	/**
-	 * Return the IMarker that used to store the preference information, if the marker exists. (If
-	 * it doesn't exist, then it's already been migrated.)
-	 */
-	protected abstract IMarker[] getMarker();
-
-	protected abstract void load(IMarker[] marker) throws InvocationTargetException;
-
-	protected Object getValue(IMarker marker, String attribName) {
-		if (marker == null) {
-			return null;
-		}
-
-		try {
-			return marker.getAttribute(attribName);
-		} catch (CoreException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidationConfiguration::getValue(" + attribName + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		}
-	}
-
-	protected boolean getValue(IMarker marker, String attribName, boolean defaultValue) {
-		Boolean bool = (Boolean) getValue(marker, attribName);
-		if (bool == null) {
-			return defaultValue;
-		}
-
-		return bool.booleanValue();
-	}
-
-	protected int getValue(IMarker marker, String attribName, int defaultValue) {
-		Integer integer = (Integer) getValue(marker, attribName);
-		if (integer == null) {
-			return defaultValue;
-		}
-
-		return integer.intValue();
-	}
-
-	protected String getValue(IMarker marker, String attribName, String defaultValue) {
-		String string = (String) getValue(marker, attribName);
-		if (string == null) {
-			return defaultValue;
-		}
-
-		return string;
-	}
-
-	protected final void load(IResource resource) throws InvocationTargetException {
-		// This method will be called in one of two situations:
-		//    1. This is a new workspace and no preferences exist.
-		//    2. This is a migrated workspace and the old preferences have already been created as
-		// persistent properties.
-		try {
-			String storedConfiguration = resource.getPersistentProperty(ConfigurationConstants.USER_PREFERENCE);
-			deserialize(storedConfiguration);
-			String storedManualConfiguration = resource.getPersistentProperty(ConfigurationConstants.USER_MANUAL_PREFERENCE);
-			deserializeManual(storedManualConfiguration);
-			String storedBuildConfiguration = resource.getPersistentProperty(ConfigurationConstants.USER_BUILD_PREFERENCE);
-			deserializeBuild(storedBuildConfiguration);
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{getResource().getName()}));
-		}
-	}
-
-	private void deserializeBuild(String storedConfiguration) throws InvocationTargetException {
-		if (storedConfiguration == null || storedConfiguration.length() == 0) {
-			// Assume that the configuration has never been set (new workspace).
-			resetToDefault();
-			return;
-		}
-		int buildValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-
-		String manualValidation = storedConfiguration.substring(buildValidationIndex + ConfigurationConstants.ENABLED_BUILD_VALIDATORS.length(),storedConfiguration.length());
-		setEnabledBuildValidators(getStringAsEnabledElementsArray(manualValidation));
-	}
-
-	private void deserializeManual(String storedConfiguration) throws InvocationTargetException {
-		if (storedConfiguration == null || storedConfiguration.length() == 0) {
-			// Assume that the configuration has never been set (new workspace).
-			resetToDefault();
-			return;
-		}
-		int manualValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-
-		String manualValidation = storedConfiguration.substring(manualValidationIndex + ConfigurationConstants.ENABLED_MANUAL_VALIDATORS.length(),storedConfiguration.length());
-		setEnabledManualValidators(getStringAsEnabledElementsArray(manualValidation));
-	}
-
-	protected void copyTo(ValidationConfiguration up) throws InvocationTargetException {
-		up.setVersion(getVersion());
-		up.setResource(getResource());
-		up.setValidators(getValidators());
-		up.setDisableAllValidation(isDisableAllValidation());
-		up.setEnabledValidators(getEnabledValidators());
-		up.setEnabledManualValidators(getManualEnabledValidators());
-		up.setEnabledBuildValidators(getBuildEnabledValidators());
-	}
-
-	/**
-	 * Return true if the enabled validators have not changed since this ValidationConfiguration was
-	 * constructed, false otherwise. (This method is needed for the Properties and Preference pages;
-	 * if the list of validators hasn't changed, then there is no need to update the task list;
-	 * updating the task list is a costly operation.)
-	 */
-	protected boolean hasEnabledValidatorsChanged(ValidatorMetaData[] oldEnabledVmd) throws InvocationTargetException {
-		// First check the obvious: is every enabled validator still enabled, and is
-		// the number of enabled validators the same as it was before? If not, return true.
-		if (oldEnabledVmd == null) {
-			// Something's gone wrong...
-			return true;
-		}
-
-		for (int i = 0; i < oldEnabledVmd.length; i++) {
-			ValidatorMetaData vmd = oldEnabledVmd[i];
-			if (!isEnabled(vmd)) {
-				return true;
-			}
-		}
-
-		// Everything that was enabled is still enabled; have any additional
-		// validators been enabled?
-		if (numberOfEnabledValidators() != oldEnabledVmd.length) {
-			return true;
-		}
-
-		return false;
-	}
-
-	protected String serialize() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING);
-		buffer.append(String.valueOf(isDisableAllValidation()));
-		buffer.append(ConfigurationConstants.VERSION);
-		buffer.append(getVersion());
-		return buffer.toString();
-	}
-	
-	protected String serializeManualSetting() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-		buffer.append(getEnabledElementsAsString(getManualEnabledValidators()));
-		return buffer.toString();
-	}
-	
-	protected String serializeBuildSetting() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-		buffer.append(getEnabledElementsAsString(getBuildEnabledValidators()));
-		return buffer.toString();
-	}
-
-	/**
-	 * Deserialize everything except the version number; the version is deserialized first, in the
-	 * loadVersion() method.
-	 */
-	protected void deserialize(String storedConfiguration) throws InvocationTargetException {
-		if (storedConfiguration == null || storedConfiguration.length() == 0) {
-			// Assume that the configuration has never been set (new workspace).
-			resetToDefault();
-			return;
-		}
-		int disableAllValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING);
-		int versionIndex = storedConfiguration.indexOf(ConfigurationConstants.VERSION);
-		if(disableAllValidationIndex != -1) {
-				String disableAllValidation = storedConfiguration.substring(disableAllValidationIndex + ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING.length(),versionIndex);
-				setDisableAllValidation(Boolean.valueOf(disableAllValidation).booleanValue());
-		} else {
-				setDisableAllValidation(false);;
-		}
-		
-	}
-
-	public static boolean getDisableValidationDefault() {
-		return ConfigurationConstants.DEFAULT_DISABLE_VALIDATION_SETTING;
-	}
-
-	public static ValidatorMetaData[] getEnabledValidatorsDefault() {
-		return ConfigurationConstants.DEFAULT_ENABLED_VALIDATORS;
-	}
-
-	public static int getMaximumNumberOfMessagesDefault() {
-		return ConfigurationConstants.DEFAULT_MAXNUMMESSAGES;
-	}
-
-	public static String getVersionDefault() {
-		// If the version can't be retrieved, assume that it's a new workspace. (A null version
-		// could also mean a 4.03 workspace, but that's taken care of in the load(IMarker[])
-		// method.)
-		return ConfigurationConstants.CURRENT_VERSION;
-	}
-
-	
-	public boolean isManualEnabled(ValidatorMetaData vmd) {
-		if (vmd == null) {
-			return false;
-		}
-		Boolean value = (Boolean) getManualEnabledValidatorsMap().get(vmd);
-		if (value == null) 
-			return false;
-		return value.booleanValue();
-	}
-
-	public boolean isBuildEnabled(ValidatorMetaData vmd) {
-		if (vmd == null) {
-			return false;
-		}
-		Boolean value = (Boolean) getBuildEnabledValidatorsMap().get(vmd);
-		if (value == null) 
-			return false;
-		return value.booleanValue();
-	}
-	
-	public int numberOfManualEnabledValidators() throws InvocationTargetException {
-		return getManualEnabledValidators().length;
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationFactoryImpl.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationFactoryImpl.java
deleted file mode 100644
index b8ec7c3..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationFactoryImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import org.eclipse.wst.validation.internal.provisional.ValidationFactory;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-public class ValidationFactoryImpl implements ValidationFactory {
-	static ValidationFactory inst = null;
-	
-	public ValidationFactoryImpl() {
-		super();
-	}
-
-	public static ValidationFactory getInstance() {
-		if(inst == null)
-			inst = new ValidationFactoryImpl();
-		return inst;
-	}
-
-
-
-	public IValidator getValidator(String validatorUniqueId) throws InstantiationException {
-		ValidationRegistryReader reader = ValidationRegistryReader.getReader();
-		return reader.getValidator(validatorUniqueId);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationRegistryReader.java
deleted file mode 100644
index 4095be7..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationRegistryReader.java
+++ /dev/null
@@ -1,1447 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.validation.internal.operations.IRuleGroup;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-/**
- * ValidationRegistryReader is a singleton who reads the plugin registry for Validator extensions.
- * The read is done once (in the constructor), and the list of validators can be accessed by calling
- * "getValidatorMetaData(String)" on this class. The read is triggered by a call from
- * ValidatorManager's loadValidatorMetaData(IProject) method. ValidatorManager delegates the load
- * call to this class, and if this class is null, the singleton is new'ed up, and the registry is
- * read.
- * 
- * No Validator should need to know about this class. The only class which should call
- * ValidationRegistryReader is ValidatorManager.
- * 
- * The Validator itself is initialized in the "initializeValidator" method.
- * 
- * <extension point="org.eclipse.wst.validation.internal.provisional.core.core.validator" id="EJBValidator" name="EJB
- * Validator"> <validator><projectNature id="com.ibm.etools.j2ee.EJBNature" include="false"/>
- * <filter objectClass="org.eclipse.core.resources.IFile" nameFilter = "ejb-jar.xml"/> <filter
- * objectClass="org.eclipse.core.resources.IFile" nameFilter = "*.java"/> <helper
- * class="org.eclipse.wst.validation.internal.provisional.core.core.ejb.workbenchimpl.EJBHelper"/> <run
- * class="org.eclipse.wst.validation.internal.provisional.core.core.ejb.EJBValidator" incremental="false" enabled="false"
- * pass="fast,full" async="false"/> <aggregateValidator class="my.aggregate.ValidatorClass"/>
- * <migrate><validator from="old.class.name" to="new.class.name"/> </migrate> </validator>
- * </extension>
- */
-public final class ValidationRegistryReader implements RegistryConstants {
-	private static ValidationRegistryReader inst = null;
-	private HashMap _validators; // list of all validators registered, with their associated
-	// ValidatorMetaData, indexed by project nature id
-	private HashMap _indexedValidators; // list of all validators, indexed by validator class name,
-	// with the validator's ValidatorMetaData as the value.
-	// Needed by the WorkbenchReporter, because sometimes the
-	// IValidator is not enough to remove all messages from the
-	// task list.
-	private Set _defaultEnabledValidators;
-	// Since IProject's contents are all instances of IResource, every type filter for a validator
-	// must be an instance of IResource. This applies to both the rebuildCache pass and to the
-	// validation pass.
-	private static final String IRESOURCE = "org.eclipse.core.resources.IResource"; //$NON-NLS-1$
-
-	private static final String UNKNOWN_PROJECT = "UNKNOWN"; //$NON-NLS-1$ // This 'project nature id' is used as a key to get the validators which can run on a project type which hasn't been explicitly filtered in or out by any validator.
-	private static final String EXCLUDED_PROJECT = "EXCLUDED"; //$NON-NLS-1$ // This 'project nature id' is used as a key to get the validators which are excluded on certain projects.
-
-	private List _tempList = null; // list for temporary values. Retrieve and use via the
-	
-	public HashMap projectValidationMetaData = null;
-
-	/**
-	 * The registry is read once - when this class is instantiated.
-	 */
-	private ValidationRegistryReader() {
-		super();
-
-		try {
-			_validators = new HashMap();
-			_indexedValidators = new HashMap();
-			_defaultEnabledValidators = new HashSet();
-
-			// Read the registry and build a map of validators. The key into
-			// the map is the IValidator instance and the value is the ValidatorMetaData
-			// which describes the IValidator.
-			readRegistry();
-
-			// Once all of the validators have been read, the caches of the
-			// validators need to be updated.
-			buildCache();
-		} catch (Throwable exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader()"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	/**
-	 * Traverse over the list of VMDs which have been added and create copies of it. The copies are
-	 * created to increase runtime performance.
-	 */
-	private void buildCache() {
-		Iterator iterator = _indexedValidators.values().iterator();
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			buildProjectNatureCache(vmd);
-			buildDefaultEnabledCache(vmd);
-		}
-
-		// Now add the validators which are configured on all projects,
-		// and all projects but X.
-		addRemainder();
-
-		// this temporary list isn't needed any more. All of the excluded
-		// projects have been added to the project natures which they don't exlcude.
-		_validators.remove(EXCLUDED_PROJECT);
-
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		if (logger.isLoggingLevel(Level.FINEST)) {
-			LogEntry entry = ValidationPlugin.getLogEntry();
-			entry.setSourceID("ValidationRegistryReader.buildCache()"); //$NON-NLS-1$
-			entry.setText(debug());
-			logger.write(Level.FINEST, entry);
-		}
-
-	}
-
-	/**
-	 * Build the cache of VMDs which is indexed by project nature ids. If the validator is
-	 * registered on all project types, the vmd's project nature filters will be null.
-	 */
-	private void buildProjectNatureCache(ValidatorMetaData vmd) {
-		// Build the cache with the identified project natures in validators'
-		// extensions.
-		ValidatorNameFilter[] projNatureIds = vmd.getProjectNatureFilters();
-		if (projNatureIds == null) {
-			// Can run on any project
-			add(UNKNOWN_PROJECT, vmd);
-		} else {
-			boolean noneIncluded = true; // assume that the validator does not include any project
-			// natures
-			for (int i = 0; i < projNatureIds.length; i++) {
-				ValidatorNameFilter pn = projNatureIds[i];
-				if (pn.isInclude()) {
-					noneIncluded = false;
-					add(pn.getNameFilter(), vmd);
-				}
-			}
-
-			if (noneIncluded) {
-				// add it to the list of EXCLUDED projects
-				// (that is, a validator which excludes project natures but doesn't
-				// explicitly include any. This type of validator runs on any unrecognized (UNKNOWN)
-				// projects, but the rest of the cache needs to be built before this is added
-				// to the UNKNOWN list. See addExcludedRemainder().
-				add(EXCLUDED_PROJECT, vmd);
-			}
-		}
-	}
-
-	/**
-	 * Build the list of validators which are enabled by default.
-	 */
-	private void buildDefaultEnabledCache(ValidatorMetaData vmd) {
-		if (vmd == null) {
-			return;
-		}
-
-		if (vmd.isEnabledByDefault()) {
-			_defaultEnabledValidators.add(vmd);
-		}
-	}
-
-	/**
-	 * Add vmd to the list of validators, indexed by validator class name
-	 */
-	private void add(ValidatorMetaData vmd) {
-		if (vmd == null) {
-			return;
-		}
-
-		_indexedValidators.put(vmd.getValidatorUniqueName(), vmd);
-	}
-
-	/*
-	 * Some validators can run on any type of project. In order to have a static list, add the "any
-	 * project" validators to each "project nature" validators' list. This avoids adding the "any
-	 * project" validators to the "project nature" validators at runtime, which results in
-	 * performance savings.
-	 * 
-	 * Some validators run on any type of project but X, where X is an excluded project nature.
-	 * Those validators should also be added via this method.
-	 */
-	private void addRemainder() {
-		// First, add all "can-run-on-any-project-type" to every registered project nature type in
-		// the cache.
-		addAnyRemainder();
-
-		// Then add the "can-run-on-any-project-type-but-X" to every non-X registered project nature
-		// type in the cache.
-		addExcludedRemainder();
-	}
-
-	private void addExcludedRemainder() {
-		Set excludedProjVmds = (Set) _validators.get(EXCLUDED_PROJECT);
-		if (excludedProjVmds == null) {
-			// no excluded project natures
-			return;
-		}
-
-		Iterator exIterator = excludedProjVmds.iterator();
-		while (exIterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) exIterator.next();
-
-			boolean noneIncluded = true; // assume that, by default, if someone explicitly excludes
-			// a project nature then they don't include any project
-			// natures
-			Set keys = _validators.keySet();
-			Iterator iterator = keys.iterator();
-			while (iterator.hasNext()) {
-				String projId = (String) iterator.next();
-				if (projId.equals(UNKNOWN_PROJECT) || projId.equals(EXCLUDED_PROJECT)) {
-					// Don't add list to a project nature which is excluded or applicable to all.
-					continue;
-				}
-
-				ValidatorNameFilter filter = vmd.findProjectNature(projId);
-				if (filter != null) {
-					// Don't add list to itself (filter.isIncluded() == true) or
-					// to a list from which it's excluded (filter.isIncluded() == false)
-					if (filter.isInclude()) {
-						noneIncluded = false;
-					}
-					continue;
-				}
-
-				add(projId, vmd);
-			}
-
-			if (noneIncluded) {
-				// At this point, the "can-run-on-any-project" becomes
-				// "not-excluded-on-these-projects". That is, if the project
-				// nature id isn't in the list of _validators, then it isn't
-				// included or excluded by any validators, so all validators
-				// which can run on any project AND all validators which can
-				// run on any but certain excluded projects can run on the
-				// given IProject.
-				add(UNKNOWN_PROJECT, vmd);
-			}
-		}
-	}
-
-	private void addAnyRemainder() {
-		Set anyProjVmds = (Set) _validators.get(UNKNOWN_PROJECT);
-		if (anyProjVmds == null) {
-			// no validators run on all projects
-			return;
-		}
-
-		Set keys = _validators.keySet();
-		Iterator iterator = keys.iterator();
-		while (iterator.hasNext()) {
-			String projId = (String) iterator.next();
-			if (projId.equals(UNKNOWN_PROJECT) || projId.equals(EXCLUDED_PROJECT)) {
-				// Don't add list to itself or to a project nature which is excluded.
-				continue;
-			}
-
-			add(projId, anyProjVmds);
-		}
-	}
-
-	private void add(String projectNatureId, Set vmdList) {
-		if ((vmdList == null) || (vmdList.size() == 0)) {
-			return;
-		}
-
-		Set pnVal = createSet(projectNatureId); // whether the validator includes or excludes this
-		// project nature id, make sure that an entry is
-		// created for it in the table
-		pnVal.addAll(vmdList);
-		_validators.put(projectNatureId, pnVal);
-	}
-
-	private void add(String projectNatureId, ValidatorMetaData vmd) {
-		if (vmd == null) {
-			return;
-		}
-
-		Set pnVal = createSet(projectNatureId); // whether the validator includes or excludes this
-		// project nature id, make sure that an entry is
-		// created for it in the table
-		pnVal.add(vmd);
-		_validators.put(projectNatureId, pnVal);
-	}
-
-	/**
-	 * When a validator's class or helper class cannot be loaded, the vmd calls this method to
-	 * disable the validator. The validator will be removed from the preference page, properties
-	 * page, and enabled list of any project thereafter validated.
-	 */
-	public void disableValidator(ValidatorMetaData vmd) {
-		_indexedValidators.remove(vmd.getValidatorUniqueName());
-		_defaultEnabledValidators.remove(vmd);
-
-		// The whole "on-any-project" and "exclude-this-project-nature" would take
-		// a lot of processing time... Instead, traverse the list of proj nature ids,
-		// and search the Set of that proj nature id, and remove the vmd if it's in the
-		// Set.
-		Object[] keys = _validators.keySet().toArray();
-		for (int i = 0; i < keys.length; i++) {
-			Object key = keys[i];
-			Set value = (Set) _validators.get(key);
-			if (value == null) {
-				continue;
-			}
-
-			if (value.contains(vmd)) {
-				value.remove(vmd);
-				_validators.put(key, value);
-			}
-		}
-	}
-
-	private Set createSet(String projNature) {
-		Set v = (Set) _validators.get(projNature);
-		if (v == null) {
-			v = new HashSet();
-		}
-		return v;
-	}
-
-	/**
-	 * Given an IConfigurationElement, if it has a project nature(s) specified, return the
-	 * ValidatorNameFilters which represent those natures. Otherwise return null.
-	 * 
-	 * A project nature can be specified in plugin.xml to indicate what types of IProjects a
-	 * validator can run on.
-	 */
-	private String[] getAggregateValidatorsNames(IConfigurationElement element) {
-		IConfigurationElement[] filters = element.getChildren(TAG_AGGREGATE_VALIDATORS);
-		if (filters.length == 0)
-			return null;
-
-		String[] names = new String[filters.length];
-		for (int i = 0; i < names.length; i++) {
-			// In order to speed up our String comparisons, load these
-			// names into Java's constants space. This way, we'll be able to
-			// use pointer comparison instead of the traditional
-			// character-by-character comparison. Since these names should
-			// never be set by anyone other than this class, and this class
-			// sets them only once, it is safe to declare these Strings
-			// constants.
-			//
-			// To load a String into the constants space, call intern() on the String.
-			//
-			String nameFilter = filters[i].getAttribute(ATT_CLASS);
-			if (nameFilter != null) {
-				nameFilter = nameFilter.intern();
-			}
-			names[i] = nameFilter;
-		}
-		return names;
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, if it has any filter tags, construct the
-	 * appropriate ValidatorFilters to represent those tags; else return null.
-	 * 
-	 * A filter can be specified in plugin.xml to filter out certain resources.
-	 */
-	private ValidatorFilter[] getFilters(IConfigurationElement element) {
-		IConfigurationElement[] filters = element.getChildren(TAG_FILTER);
-		if (filters.length == 0)
-			return null;
-
-		ValidatorFilter[] vf = new ValidatorFilter[filters.length];
-		for (int i = 0; i < filters.length; i++) {
-			vf[i] = new ValidatorFilter(IRESOURCE);
-
-			// In order to speed up our String comparisons, load these
-			// names into Java's constants space. This way, we'll be able to
-			// use pointer comparison instead of the traditional
-			// character-by-character comparison. Since these names should
-			// never be set by anyone other than this class, and this class
-			// sets them only once, it is safe to declare these Strings
-			// constants.
-			//
-			// To load a String into the constants space, call intern() on the String.
-			//
-			String nameFilter = filters[i].getAttribute(ATT_NAME_FILTER);
-			if (nameFilter != null) {
-				nameFilter = nameFilter.intern();
-			}
-			String isCaseSensitive = filters[i].getAttribute(ATT_CASE_SENSITIVE);
-			vf[i].setNameFilter(nameFilter, isCaseSensitive);
-
-			String objectClass = filters[i].getAttribute(ATT_OBJECT_CLASS);
-			if (objectClass != null) {
-				objectClass = objectClass.intern();
-			}
-			vf[i].setTypeFilter(objectClass);
-
-			String actionFilter = filters[i].getAttribute(ATT_ACTION_FILTER);
-			if (actionFilter != null) {
-				actionFilter = actionFilter.intern();
-			}
-			vf[i].setActionFilter(actionFilter);
-		}
-		return vf;
-	}
-
-	public boolean getDependentValidatorValue(IConfigurationElement element) {
-		IConfigurationElement[] depValidatorElement = element.getChildren(DEP_VALIDATOR);
-		if (depValidatorElement.length == 0)
-			return false;
-		String depValue = depValidatorElement[0].getAttribute(DEP_VAL_VALUE);
-		boolean depBoolValue = (new Boolean(depValue)).booleanValue();
-		return depBoolValue;
-	}
-
-	/**
-	 * Return the name of the marker ID associated with the IValidator.
-	 */
-	public String getMarkerIdValue(IConfigurationElement element) {
-		IConfigurationElement[] markerId = element.getChildren(MARKER_ID);
-		if (markerId.length == 0)
-			return null;
-		return markerId[0].getAttribute(MARKER_ID_VALUE);
-	}
-	
-	public String[] getFacetIds(IConfigurationElement element) {
-		IConfigurationElement[] facets = element.getChildren(FACET);
-		if (facets.length == 0)
-			return null;
-		String[] facetIds = new String[facets.length];
-		for (int i = 0; i < facets.length; i++) {
-			facetIds[i] = facets[i].getAttribute(FACET_ID);
-		}
-		return facetIds;
-	}
-
-	/**
-	 * Return the name of the helper class associated with the IValidator.
-	 */
-	private String getHelperName(IConfigurationElement element) {
-		IConfigurationElement[] helpers = element.getChildren(TAG_HELPER_CLASS);
-		if (helpers.length == 0)
-			return null;
-
-		return helpers[0].getAttribute(ATT_CLASS);
-	}
-
-	/* package */static IWorkbenchContext createHelper(IConfigurationElement element, String helperClassName) {
-		IWorkbenchContext wh = null;
-		try {
-			wh = (IWorkbenchContext) element.createExecutableExtension(TAG_HELPER_CLASS);
-		} catch (Throwable exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.createHelper(IConfigurationElement, String)"); //$NON-NLS-1$
-				entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_SYNTAX_NO_HELPER_THROWABLE);
-				entry.setTargetException(exc);
-				String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SYNTAX_NO_HELPER_THROWABLE), new String[]{helperClassName});
-				entry.setText(result);				
-				//entry.setTokens(new String[]{helperClassName});
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		}
-		return wh;
-	}
-
-	/* package */static IValidator createValidator(IConfigurationElement element, String validatorClassName) {
-		IValidator validator = null;
-		try {
-			validator = (IValidator) element.createExecutableExtension(TAG_RUN_CLASS);
-		} catch (Throwable exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.createValidator(IConfigurationElement, String, String)"); //$NON-NLS-1$
-				entry.setMessageTypeID(ResourceConstants.VBF_EXC_SYNTAX_NO_VAL_THROWABLE);
-				//entry.setTokens(new String[]{validatorClassName});
-				String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SYNTAX_NO_VAL_THROWABLE), new String[]{validatorClassName});
-				entry.setText(result);				
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-
-		if (validator == null) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.createValidator(IConfigurationElement, String)"); //$NON-NLS-1$
-				entry.setMessageTypeID(ResourceConstants.VBF_EXC_SYNTAX_NO_VAL_NULL);
-				entry.setTokens(new String[]{validatorClassName});
-				logger.write(Level.FINE, entry);
-			}
-			return null;
-		}
-
-		return validator;
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator is
-	 * enabled by default.
-	 * 
-	 * If no enabled attribute is specified, the default, true (i.e., enabled) is returned.
-	 */
-	private boolean getEnabledByDefault(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String inc = runChildren[0].getAttribute(ATT_ENABLED);
-		if (inc == null) {
-			return RegistryConstants.ATT_ENABLED_DEFAULT;
-		}
-
-		return Boolean.valueOf(inc.trim().toLowerCase()).booleanValue(); // this will return true
-		// if, and only if, the
-		// attribute value is
-		// "true". For example,
-		// "yes" will be considered
-		// "false".
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator supports
-	 * incremental validation.
-	 * 
-	 * If no incremental attribute is specified, the default, true (i.e., incremental is supported)
-	 * is returned.
-	 */
-	private boolean getIncremental(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String inc = runChildren[0].getAttribute(ATT_INCREMENTAL);
-		if (inc == null) {
-			return RegistryConstants.ATT_INCREMENTAL_DEFAULT;
-		}
-
-		return Boolean.valueOf(inc.trim().toLowerCase()).booleanValue(); // this will return true
-		// if, and only if, the
-		// attribute value is
-		// "true". For example,
-		// "yes" will be considered
-		// "false".
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator supports
-	 * full build validation.
-	 * 
-	 * If no incremental attribute is specified, the default, true (i.e., incremental is supported)
-	 * is returned.
-	 */
-	private boolean getFullBuild(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String fb = runChildren[0].getAttribute(ATT_FULLBUILD);
-		if (fb == null) {
-			return RegistryConstants.ATT_FULLBUILD_DEFAULT;
-		}
-
-		return Boolean.valueOf(fb.trim().toLowerCase()).booleanValue(); // this will return true if,
-		// and only if, the
-		// attribute value is
-		// "true". For example,
-		// "yes" will be considered
-		// "false".
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator supports
-	 * asynchronous validation.
-	 * 
-	 * If no async attribute is specified, the default, true (i.e., the validator is thread-safe) is
-	 * returned.
-	 */
-	private boolean getAsync(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String async = runChildren[0].getAttribute(ATT_ASYNC);
-		if (async == null) {
-			return RegistryConstants.ATT_ASYNC_DEFAULT;
-		}
-
-		return Boolean.valueOf(async.trim().toLowerCase()).booleanValue(); // this will return true
-		// if, and only if, the
-		// attribute value is
-		// "true". For example,
-		// "yes" will be
-		// considered "false".
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return the types of validation passes, as
-	 * defined in IRuleGroup, that the validator performs.
-	 * 
-	 * If no pass attribute is specified, the default, IRuleGroup.PASS_FULL, is returned.
-	 */
-	private int getRuleGroup(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String pass = runChildren[0].getAttribute(ATT_RULE_GROUP);
-		if (pass == null) {
-			return RegistryConstants.ATT_RULE_GROUP_DEFAULT;
-		}
-
-		final String COMMA = ","; //$NON-NLS-1$
-		StringTokenizer tokenizer = new StringTokenizer(pass, COMMA, false); // false means don't
-		// return the comma as
-		// part of the string
-		int result = 0; // no passes identified
-		while (tokenizer.hasMoreTokens()) {
-			String nextAction = tokenizer.nextToken().trim();
-			if (nextAction.equals(IRuleGroup.PASS_FAST_NAME)) {
-				result = result | IRuleGroup.PASS_FAST;
-			} else if (nextAction.equals(IRuleGroup.PASS_FULL_NAME)) {
-				result = result | IRuleGroup.PASS_FULL;
-			}
-		}
-
-		if (result == 0) {
-			// No recognized passes. Return the default.
-			return RegistryConstants.ATT_RULE_GROUP_DEFAULT;
-		}
-
-		return result;
-	}
-
-	private ValidatorMetaData.MigrationMetaData getMigrationMetaData(IConfigurationElement element, ValidatorMetaData vmd) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_MIGRATE);
-		if ((runChildren == null) || (runChildren.length == 0)) {
-			return null;
-		}
-
-		// Only supposed to be one "migrate" section in a validator, so ignore the rest
-		IConfigurationElement migrate = runChildren[0];
-
-		// Now look for the "validator" elements. Zero or more can be specified.
-		IConfigurationElement[] migrateChildren = migrate.getChildren(TAG_VALIDATOR);
-		if ((migrateChildren == null) || (migrateChildren.length == 0)) {
-			return null;
-		}
-
-		ValidatorMetaData.MigrationMetaData mmd = vmd.new MigrationMetaData();
-		for (int i = 0; i < migrateChildren.length; i++) {
-			IConfigurationElement migrateChild = migrateChildren[i];
-			String from = migrateChild.getAttribute(ATT_FROM);
-			if (from == null) {
-				continue;
-			}
-
-			String to = migrateChild.getAttribute(ATT_TO);
-			if (to == null) {
-				continue;
-			}
-			mmd.addId(from, to);
-		}
-		return mmd;
-	}
-
-	/**
-	 * Given an IConfigurationElement, if it has a project nature(s) specified, return the
-	 * ValidatorNameFilters which represent those natures. Otherwise return null.
-	 * 
-	 * A project nature can be specified in plugin.xml to indicate what types of IProjects a
-	 * validator can run on.
-	 */
-	private ValidatorNameFilter[] getProjectNatureFilters(IConfigurationElement element) {
-		IConfigurationElement[] filters = element.getChildren(TAG_PROJECT_NATURE);
-		if (filters.length == 0) {
-			return null;
-		}
-
-		ValidatorNameFilter[] vf = new ValidatorNameFilter[filters.length];
-		for (int i = 0; i < filters.length; i++) {
-			vf[i] = new ValidatorNameFilter();
-			// In order to speed up our String comparisons, load these
-			// names into Java's constants space. This way, we'll be able to
-			// use pointer comparison instead of the traditional
-			// character-by-character comparison. Since these names should
-			// never be set by anyone other than this class, and this class
-			// sets them only once, it is safe to declare these Strings
-			// constants.
-			//
-			// To load a String into the constants space, call intern() on the String.
-			//
-			String nameFilter = filters[i].getAttribute(ATT_ID);
-			if (nameFilter != null) {
-				nameFilter = nameFilter.intern();
-			}
-			vf[i].setNameFilter(nameFilter);
-
-			String include = filters[i].getAttribute(ATT_INCLUDE);
-			vf[i].setInclude(include);
-		}
-		return vf;
-	}
-
-	/**
-	 * Returns the singleton ValidationRegistryReader.
-	 */
-	public static ValidationRegistryReader getReader() {
-		if (inst == null) {
-			inst = new ValidationRegistryReader();
-
-			EventManager.getManager().setActive(true);
-		}
-		return inst;
-	}
-
-	public static boolean isActivated() {
-		// Whether the registry has been read or not is kept in the EventManager
-		// class instead of this class in order to work around a shutdown problem.
-		// See the comment in the isActive() method of the EventManager class
-		// for details.
-		return EventManager.getManager().isActive();
-	}
-
-	/**
-	 * Returns the Validator extension point
-	 */
-	private IExtensionPoint getValidatorExtensionPoint() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint extensionPoint = registry.getExtensionPoint(PLUGIN_ID, VALIDATOR_EXT_PT_ID);
-		if (extensionPoint == null) {
-			// If this happens it means that someone removed the "validator" extension point
-			// declaration
-			// from our plugin.xml file.
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.getValidatorExtensionPoint()"); //$NON-NLS-1$
-				entry.setMessageTypeID(ResourceConstants.VBF_EXC_MISSING_VALIDATOR_EP);
-				//entry.setTokens(new String[]{ValidationPlugin.PLUGIN_ID + "." + VALIDATOR_EXT_PT_ID}); //$NON-NLS-1$
-				String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_MISSING_VALIDATOR_EP),
-						new String[]{ValidationPlugin.PLUGIN_ID + "." + VALIDATOR_EXT_PT_ID});
-				entry.setText(result);		
-				logger.write(Level.FINE, entry);
-			}
-		}
-		return extensionPoint;
-	}
-
-	/**
-	 * It's okay to return a handle to the ValidatorMetaData because the vmd can't be modified by
-	 * any code not in this package.
-	 */
-	public ValidatorMetaData getValidatorMetaData(IValidator validator) {
-		// retrieval will be in log(n) time
-		if (validator == null) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.getValidatorMetaData(IValidator)"); //$NON-NLS-1$
-				entry.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_ORPHAN_IVALIDATOR, new String[]{"null"})); //$NON-NLS-1$
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		}
-
-		String validatorClassName = validator.getClass().getName();
-		ValidatorMetaData vmd = getValidatorMetaData(validatorClassName);
-		if (vmd != null) {
-			return vmd;
-		}
-
-		// If we got here, then vmd is neither a root nor an aggregate validator,
-		// yet the IValidator exists. Internal error.
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		if (logger.isLoggingLevel(Level.SEVERE)) {
-			LogEntry entry = ValidationPlugin.getLogEntry();
-			entry.setSourceID("ValidationRegistryReader.getValidatorMetaData(IValidator)"); //$NON-NLS-1$
-			entry.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_ORPHAN_IVALIDATOR, new String[]{validatorClassName}));
-			logger.write(Level.SEVERE, entry);
-		}
-		return null;
-	}
-
-	public Set getValidatorMetaData(IWorkspaceRoot root) {
-		// Every validator on the Preferences page must be returned
-		Set copy = new HashSet();
-		clone(_indexedValidators.values(), copy);
-		return copy;
-	}
-
-	/**
-	 * Return a collection of Validators configured on a certain type of IProject (e.g. EJB Project
-	 * vs. Web Project).
-	 * 
-	 * This is a long-running process. If you can, cache the result.
-	 */
-	public Set getValidatorMetaData(IProject project) {
-		Set copy = new HashSet();
-		getValidatorMetaData(project, copy);
-		return copy;
-	}
-
-	/**
-	 * Copy the set of configured validator metadata into the Set.
-	 */
-	public void getValidatorMetaData(IProject project, Set vmds) {
-		if (vmds == null) {
-			return;
-		}
-		vmds.clear();
-		int executionMap = 0x0;
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		try {
-			if (logger.isLoggingLevel(Level.FINEST)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.getValidatorMetaData(IProject)"); //$NON-NLS-1$
-				entry.setText("IProject is " + String.valueOf(project)); //$NON-NLS-1$
-				logger.write(Level.FINEST, entry);
-			}
-			if (project == null) {
-				executionMap |= 0x1;
-				// vmds is already clear
-				return;
-			}
-			String[] projectNatures = null;
-			try {
-				projectNatures = project.getDescription().getNatureIds();
-			} catch (CoreException exc) {
-				executionMap |= 0x2;
-				// vmds is already clear
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationRegistryReader.getValidatorMetaData(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-					entry.setTargetException(exc);
-					entry.setExecutionMap(executionMap);
-					logger.write(Level.SEVERE, entry);
-				}
-				return;
-			}
-			// If there are no project natures on a particular project,
-			// or if this project nature has no validators configured
-			// on it, return the validators which are configured on all
-			// projects.
-			Set projVmds = null;
-			if ((projectNatures == null) || (projectNatures.length == 0)) {
-				executionMap |= 0x4;
-				clone(getValidatorMetaDataUnknownProject(), vmds);
-			} else {
-				executionMap |= 0x8;
-				if (logger.isLoggingLevel(Level.FINEST)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationRegistryReader.getValidatorMetaData(IProject)"); //$NON-NLS-1$
-					// entry.setTokens(projectNatures);
-					entry.setText(projectNatures.toString());
-					logger.write(Level.FINEST, entry);
-				}
-				calculateVmdsForNatureAndFacets(vmds, projectNatures,project);
-				// Now filter out the validators which must not run on this project
-				removeExcludedProjects(project, vmds);
-				if (vmds.size() == 0) {
-					executionMap |= 0x20;
-					clone(getValidatorMetaDataUnknownProject(), vmds);
-				}
-			}
-		} finally {
-			if (logger.isLoggingLevel(Level.FINER)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.getValidatorMetaData(IProject)"); //$NON-NLS-1$
-				entry.setExecutionMap(executionMap);
-				
-				StringBuffer buffer = new StringBuffer();
-				Iterator iterator = vmds.iterator();
-				while (iterator.hasNext()) {
-					ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-					buffer.append(vmd.getValidatorUniqueName());
-					buffer.append("\n"); //$NON-NLS-1$
-				}
-				entry.setText(buffer.toString());
-				logger.write(Level.FINER, entry);
-			}
-		}
-	}
-
-	/**
-	 * @param project
-	 * @param vmds
-	 * @param projectNatures
-	 */
-	private void calculateVmdsForNatureAndFacets(Set vmds, String[] projectNatures,IProject project) {
-		Set projVmds;
-		String[] projectFacetIds = getProjectFacetIds(project);
-		Iterator allValidators = getAllValidators().iterator();
-		while (allValidators.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) allValidators.next();
-			if (containsProjectFacet(vmd, projectFacetIds)) {
-				vmds.add(vmd);
-			}
-		}
-		for (int i = 0; i < projectNatures.length; i++) {
-			String projectNatureId = projectNatures[i];
-			projVmds = (Set) _validators.get(projectNatureId);
-			if (projVmds == null) {
-				continue;
-			}
-			Iterator iterator = projVmds.iterator();
-			while (iterator.hasNext()) {
-				ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-				if (!vmds.contains(vmd) && (vmd.getFacetFilters() == null || vmd.getFacetFilters().length == 0)) {
-					vmds.add(vmd);
-				}
-			}
-		}
-	}
-
-	private boolean containsProjectFacet(ValidatorMetaData vmd, String[] projectFacetIds) {
-		String[] validatorFacets = vmd.getFacetFilters();
-		if (validatorFacets != null && validatorFacets.length > 0) {
-			if (projectFacetIds != null && projectFacetIds.length > 0) {
-				if (Arrays.asList(projectFacetIds).containsAll(Arrays.asList(validatorFacets)))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	private String[] getProjectFacetIds(IProject project) {
-		try {
-			IFacetedProject fProject = ProjectFacetsManager.create(project);
-			if (fProject != null) {
-				Object[] projectFacets = fProject.getProjectFacets().toArray();
-				String[] projectFacetIds = new String[projectFacets.length];
-				for (int i = 0; i < projectFacets.length; i++) {
-					IProjectFacet projectFacet = ((IProjectFacetVersion) projectFacets[i]).getProjectFacet();
-					projectFacetIds[i] = projectFacet.getId();
-				}
-				return projectFacetIds;
-			}
-		} catch (CoreException ce) {
-			Logger.getLogger().log(ce);
-		}
-
-		return null;
-	}
-
-	/*
-	 * If one project nature on the project includes a particular validator, but another project
-	 * nature excludes that validator, then the validator needs to be removed from the vmd set.
-	 * 
-	 * For example, if AValidator can run on any java project but not on a J2EE project, which is an
-	 * instance of a java project, then the AValidator is included by the java nature and excluded
-	 * by the J2EE nature. The AValidator would have to be removed from the set.
-	 */
-	private void removeExcludedProjects(IProject project, Set vmds) {
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		if (logger.isLoggingLevel(Level.FINEST)) {
-			LogEntry entry = ValidationPlugin.getLogEntry();
-			entry.setSourceID("ValidationRegistryReader.removeExcludedProjects"); //$NON-NLS-1$
-
-			StringBuffer buffer = new StringBuffer("\nBefore:\n"); //$NON-NLS-1$
-			Iterator viterator = vmds.iterator();
-			while (viterator.hasNext()) {
-				ValidatorMetaData vmd = (ValidatorMetaData) viterator.next();
-				buffer.append(vmd.getValidatorUniqueName());
-				buffer.append("\n"); //$NON-NLS-1$
-			}
-			entry.setText(buffer.toString());
-			logger.write(Level.FINEST, entry);
-		}
-
-		String[] projectNatures = null;
-		try {
-			projectNatures = project.getDescription().getNatureIds();
-		} catch (CoreException exc) {
-			// if there's no natures, there's no list.
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.getValidatorMetaData(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return;
-		}
-		if ((projectNatures == null) || (projectNatures.length == 0)) {
-			// nothing needs to be removed from the list
-			return;
-		}
-
-		// First of all, clone the Set because we need to remove entries
-		// from it, and we can't alter the set while we're iterating over
-		// it.
-		List tempList = getTempList();
-		clone(vmds, tempList);
-
-		for (int i = 0; i < projectNatures.length; i++) {
-			String nature = projectNatures[i];
-			Iterator iterator = tempList.iterator();
-			while (iterator.hasNext()) {
-				ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-				ValidatorNameFilter[] natureFilters = vmd.getProjectNatureFilters();
-				if (natureFilters == null) {
-					// Can run on any project
-					continue;
-				}
-
-				for (int j = 0; j < natureFilters.length; j++) {
-					ValidatorNameFilter pn = natureFilters[j];
-					if (nature.equals(pn.getNameFilter()) && !pn.isInclude()) {
-						vmds.remove(vmd);
-					}
-				}
-			}
-		}
-
-		if (logger.isLoggingLevel(Level.FINEST)) {
-			LogEntry entry = ValidationPlugin.getLogEntry();
-			entry.setSourceID("ValidationRegistryReader.removeExcludedProjects"); //$NON-NLS-1$
-
-			StringBuffer buffer = new StringBuffer("\nAfter:\n"); //$NON-NLS-1$
-			Iterator viterator = vmds.iterator();
-			while (viterator.hasNext()) {
-				ValidatorMetaData vmd = (ValidatorMetaData) viterator.next();
-				buffer.append(vmd.getValidatorUniqueName());
-				buffer.append("\n"); //$NON-NLS-1$
-			}
-			entry.setText(buffer.toString());
-			logger.write(Level.FINEST, entry);
-		}
-	}
-
-	private Collection clone(Collection input, Collection copy) {
-		if (input == null) {
-			return null;
-		}
-
-		if (copy == null) {
-			return null;
-		}
-		copy.clear();
-		copy.addAll(input);
-		return copy;
-	}
-
-	public String debug() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Project nature => validators configured"); //$NON-NLS-1$
-		buffer.append("\n"); //$NON-NLS-1$
-		Iterator viterator = _validators.keySet().iterator();
-		while (viterator.hasNext()) {
-			String projId = (String) viterator.next();
-			buffer.append("projId: "); //$NON-NLS-1$
-			buffer.append(projId);
-			buffer.append("\n"); //$NON-NLS-1$
-			Set validators = (Set) _validators.get(projId);
-			Iterator innerIterator = validators.iterator();
-			while (innerIterator.hasNext()) {
-				ValidatorMetaData vmd = (ValidatorMetaData) innerIterator.next();
-				buffer.append("\t"); //$NON-NLS-1$
-				buffer.append(vmd.getValidatorUniqueName());
-				buffer.append("\n"); //$NON-NLS-1$
-			}
-		}
-		buffer.append("\n"); //$NON-NLS-1$
-
-		buffer.append("Enable/disable validator by default"); //$NON-NLS-1$
-		buffer.append("\n"); //$NON-NLS-1$
-		viterator = _indexedValidators.values().iterator();
-		while (viterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) viterator.next();
-			buffer.append(vmd.getValidatorUniqueName());
-			buffer.append(" enabled? "); //$NON-NLS-1$
-			buffer.append(vmd.isEnabledByDefault());
-			buffer.append("\n"); //$NON-NLS-1$
-		}
-
-		return buffer.toString();
-	}
-
-	public boolean isConfiguredOnProject(ValidatorMetaData vmd, IProject project) {
-		if (projectValidationMetaData == null)
-			projectValidationMetaData = new HashMap();
-
-		Object vmds = projectValidationMetaData.get(project);
-		if (vmds != null) {
-			Set pvmds = (Set) vmds;
-			return pvmds.contains(vmd);
-		} else {
-			Set prjVmds = getValidatorMetaData(project);
-			if (prjVmds == null) {
-				return false;
-			}
-
-			if (prjVmds.size() == 0) {
-				return false;
-			}
-			projectValidationMetaData.put(project, prjVmds);
-			return prjVmds.contains(vmd);
-		}
-	}
-
-	/**
-	 * Return a set of ValidatorMetaData which are configured on all projects or which run on any
-	 * projects except certain project types.
-	 * 
-	 * Unlike other get methods, because this method is private it doesn't return a clone.
-	 * 
-	 * @see addExcludedRemainder()
-	 */
-	private Set getValidatorMetaDataUnknownProject() {
-		Set projVmds = (Set) _validators.get(UNKNOWN_PROJECT);
-		if (projVmds == null) {
-			projVmds = Collections.EMPTY_SET;
-		}
-		return projVmds;
-	}
-
-	/**
-	 * Return a set of ValidatorMetaData which are enabled by default.
-	 */
-	public Set getValidatorMetaDataEnabledByDefault() {
-		Set copy = new HashSet();
-		clone(_defaultEnabledValidators, copy);
-		return copy;
-	}
-
-	public ValidatorMetaData[] getValidatorMetaDataArrayEnabledByDefault() {
-		ValidatorMetaData[] result = new ValidatorMetaData[_defaultEnabledValidators.size()];
-		_defaultEnabledValidators.toArray(result);
-		return result;
-	}
-
-	/**
-	 * This method should be called ONLY by the validation framework, UI, or TVT plugin. In general,
-	 * only the validation framework and the validation TVT should handle ValidatorMetaData objects.
-	 * 
-	 * Given a string which identifies a fully-qualified class name of a validator, return the
-	 * ValidatorMetaData that uses a validator of that name, if it exists.
-	 * 
-	 * It's okay to return a handle to the ValidatorMetaData because the vmd can't be modified by
-	 * any code not in this package.
-	 */
-	public ValidatorMetaData getValidatorMetaData(String validatorClassName) {
-		if (validatorClassName == null) {
-			return null;
-		}
-
-		ValidatorMetaData vmd = (ValidatorMetaData) _indexedValidators.get(validatorClassName);
-		if (vmd != null) {
-			return vmd;
-		}
-
-		// Check for an aggregate validator
-		Iterator iterator = _indexedValidators.values().iterator();
-		while (iterator.hasNext()) {
-			vmd = (ValidatorMetaData) iterator.next();
-			if (vmd == null) {
-				continue;
-			}
-
-			if (vmd.getValidatorUniqueName().equals(validatorClassName)) {
-				return vmd;
-			}
-
-			String[] aggregateNames = vmd.getAggregatedValidatorNames();
-			if (aggregateNames != null) {
-				for (int i = 0; i < aggregateNames.length; i++) {
-					String aggregateName = aggregateNames[i];
-					if (validatorClassName.equals(aggregateName)) {
-						return vmd;
-					}
-				}
-			}
-
-			// Current name of validator doesn't match; has this validator been
-			// migrated from another package?
-			ValidatorMetaData.MigrationMetaData mmd = vmd.getMigrationMetaData();
-			if (mmd == null) {
-				// Validator class name hasn't been migrated
-				continue;
-			}
-
-			Set idList = mmd.getIds();
-			if (idList == null) {
-				// Invalid <migrate> element.
-				continue;
-			}
-
-			Iterator idIterator = idList.iterator();
-			while (idIterator.hasNext()) {
-				String[] ids = (String[]) idIterator.next();
-				if (ids.length != 2) {
-					// log
-					continue;
-				}
-
-				String from = ids[0];
-				if (from == null) {
-					// log
-					continue;
-				}
-
-				if (from.equals(validatorClassName)) {
-					return vmd;
-				}
-			}
-		}
-
-		// If we got to this point, no validator using that class name is loaded.
-		return null;
-	}
-
-	/**
-	 * Return true if the named validator is installed, otherwise false.
-	 */
-	public boolean isExistingValidator(String validatorClassName) {
-		return (getValidatorMetaData(validatorClassName) != null);
-	}
-
-	/**
-	 * Initialize the validator with the static metadata (runtime metadata is initialized in the
-	 * ValidationOperation class).
-	 */
-	private ValidatorMetaData initializeValidator(IConfigurationElement element, String validatorName, String pluginId) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		if ((runChildren == null) || (runChildren.length < 1)) {
-			// How can an IValidatorImpl be created when there no class name to
-			// instantiate?
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.initializeValidator(IConfigurationElement, String, String)"); //$NON-NLS-1$
-				entry.setMessageTypeID(ResourceConstants.VBF_EXC_SYNTAX_NO_VAL_RUN);
-				//entry.setTokens(new String[]{validatorName});
-				String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SYNTAX_NO_VAL_RUN),
-						new String[]{validatorName});
-				entry.setText(result);
-				
-				logger.write(Level.FINE, entry);
-			}
-			return null;
-		}
-
-		//WTP Bugzilla defect: 82338
-		//Using the Unique Identifier give the flexibility of the same validator class used by other validator extentions without writing a new validation class
-		//Reverting the fix back as the class name defined in the ext is unique to this validator and has to be used for the unique id in the validation metadata
-		String validatorImplName = runChildren[0].getAttribute(ATT_CLASS);
-		
-		if (validatorImplName == null) {
-			// Same as before; how can we instantiate when...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.initializeValidator(IConfigurationElement, String, String)"); //$NON-NLS-1$
-				entry.setMessageTypeID(ResourceConstants.VBF_EXC_SYNTAX_NO_VAL_CLASS);
-				entry.setTokens(new String[]{validatorName});
-				logger.write(Level.FINE, entry);
-			}
-			return null;
-		}
-
-		String helperImplName = getHelperName(element);
-		if (helperImplName == null) {
-			// Same as before; how can we instantiate when...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.initializeValidator(IConfigurationElement, String, String)"); //$NON-NLS-1$
-				entry.setMessageTypeID(ResourceConstants.VBF_EXC_SYNTAX_NO_VAL_RUN);
-				entry.setTokens(new String[]{validatorImplName});
-				logger.write(Level.FINE, entry);
-			}
-			return null;
-		}
-
-		// In order to speed up our String comparisons, load these
-		// names into Java's constants space. This way, we'll be able to
-		// use pointer comparison instead of the traditional
-		// character-by-character comparison. Since these names should
-		// never be set by anyone other than this class, and this class
-		// sets them only once, it is safe to declare these Strings
-		// constants.
-		//
-		// To load a String into the constants space, call intern() on the String.
-		//
-		ValidatorMetaData vmd = new ValidatorMetaData();
-		vmd.addFilters(getFilters(element)); // validator may, or may not, have filters
-		vmd.addProjectNatureFilters(getProjectNatureFilters(element)); // validator may, or may not, specify a project nature
-		vmd.addFacetFilters(getFacetIds(element));//validator may or may not specify the facet
-		vmd.addAggregatedValidatorNames(getAggregateValidatorsNames(element)); // if a validator
-		// aggregated another
-		// validator, it
-		// should identify
-		// the
-		// sub-validator(s)'
-		// class name
-		vmd.setValidatorDisplayName(validatorName.intern()); // validator must have a display name.
-		vmd.setValidatorUniqueName(validatorImplName.intern());
-		vmd.setPluginId(pluginId);
-		vmd.setIncremental(getIncremental(element));
-		vmd.setFullBuild(getFullBuild(element));
-		vmd.setAsync(getAsync(element));
-		vmd.setRuleGroup(getRuleGroup(element));
-		vmd.setEnabledByDefault(getEnabledByDefault(element));
-		vmd.setMigrationMetaData(getMigrationMetaData(element, vmd));
-		vmd.setHelperClass(element, helperImplName);
-		vmd.setValidatorClass(element); // associate the above attributes with the validator
-		vmd.addDependentValidator(getDependentValidatorValue(element));
-		String customMarkerId = getMarkerIdValue(element);
-		if(customMarkerId != null)
-		    vmd.setMarkerId(pluginId+"."+customMarkerId); //$NON-NLS-1$
-
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		if (logger.isLoggingLevel(Level.FINEST)) {
-			LogEntry entry = ValidationPlugin.getLogEntry();
-			entry.setSourceID("ValidationRegistryReader.initializeValidator(IConfigurationElement, String, String)"); //$NON-NLS-1$
-			entry.setText("validator loaded: " + validatorImplName); //$NON-NLS-1$
-			logger.write(Level.FINEST, entry);
-		}
-
-		return vmd;
-	}
-
-	private List getTempList() {
-		// Return a list for temporary use
-		if (_tempList == null) {
-			_tempList = new ArrayList();
-		} else {
-			// Prepare list for use
-			_tempList.clear();
-		}
-
-		return _tempList;
-	}
-
-	/**
-	 * This method should be called ONLY BY THE VALIDATION FRAMEWORK! The value from this method is
-	 * used to populate the validation preference page.
-	 */
-	public Collection getAllValidators() {
-		Set validators = new HashSet();
-		clone(_indexedValidators.values(), validators);
-		return validators;
-	}
-
-	public int numberOfValidators() {
-		return _indexedValidators.size();
-	}
-
-	/**
-	 * Reads one extension by looping through its configuration elements.
-	 */
-	private void readExtension(IExtension extension) {
-		IConfigurationElement[] elements = extension.getConfigurationElements();
-
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-
-			String label = extension.getLabel();
-			if (label == null || label.equals("")) { //$NON-NLS-1$
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.FINE)) {
-					String[] msgParm = {extension.getUniqueIdentifier()};
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationRegistryReader.readExtension(IExtension)"); //$NON-NLS-1$
-					entry.setMessageTypeID(ResourceConstants.VBF_EXC_VALIDATORNAME_IS_NULL);
-					//entry.setTokens(msgParm);
-					String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_VALIDATORNAME_IS_NULL),
-							msgParm);
-					entry.setText(result);					
-					logger.write(Level.FINE, entry);
-				}
-			} else {
-				// If getLabel() returns an empty string, this is an illegal validator.
-				// The PropertyPage, and other status messages, need to have a displayable name for
-				// the validator.
-				String pluginId = extension.getNamespace();
-				ValidatorMetaData vmd = initializeValidator(element, label, pluginId);
-
-				if (vmd != null) {
-					// Add this validator to the list of validators; if vmd is null, the validator
-					// couldn't be created.
-					add(vmd);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Reads the registry to find the Validators which have been implemented.
-	 */
-	private void readRegistry() {
-		_validators.clear();
-
-		// Get the extensions that have been registered.
-		IExtensionPoint validatorEP = getValidatorExtensionPoint();
-		if (validatorEP == null) {
-			return;
-		}
-		IExtension[] extensions = validatorEP.getExtensions();
-
-		// find all runtime implementations
-		for (int i = 0; i < extensions.length; i++) {
-			readExtension(extensions[i]);
-		}
-	}
-
-	public IValidator getValidator(String validatorClassName) throws InstantiationException {
-		ValidatorMetaData vmd = (ValidatorMetaData) _indexedValidators.get(validatorClassName);
-		if(vmd != null)
-			return vmd.getValidator();
-		return null;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationSelectionHandlerRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationSelectionHandlerRegistryReader.java
deleted file mode 100644
index 3876c4e..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationSelectionHandlerRegistryReader.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Created on Nov 23, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.validation.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-public class ValidationSelectionHandlerRegistryReader extends RegistryReader {
-
-	public static final String VALIDATION_SELECTION_HANDLER = "validationSelectionHandler"; //$NON-NLS-1$
-	static final String ATT_ID = "id"; //$NON-NLS-1$ 
-	static final String ATT_HANDLER_CLASS = "handlerClass"; //$NON-NLS-1$
-	static final String ATT_SELECTION_TYPE = "selectionType"; //$NON-NLS-1$
-	private static ValidationSelectionHandlerRegistryReader INSTANCE = null;
-	private List validationSelectionHandlers = null;
-	
-	/**
-	 * Default constructor
-	 */
-	public ValidationSelectionHandlerRegistryReader() {
-		super(ValidationPlugin.PLUGIN_ID, VALIDATION_SELECTION_HANDLER);
-	}
-	
-	public static ValidationSelectionHandlerRegistryReader getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new ValidationSelectionHandlerRegistryReader();
-			INSTANCE.readRegistry();
-		}
-		return INSTANCE;
-	}
-
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(VALIDATION_SELECTION_HANDLER))
-			return false;
-		
-//		String handlerClass = element.getAttribute(ATT_HANDLER_CLASS);
-		String selectionType = element.getAttribute(ATT_SELECTION_TYPE); 
-		
-		IValidationSelectionHandler handler = null;
-		try {
-			handler = (IValidationSelectionHandler) element.createExecutableExtension(ATT_HANDLER_CLASS);
-			handler.setValidationTypeString(selectionType);
-			getValidationSelectionHandlers().add(handler);
-			return true;
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	   return false;
-	}
-	
-	private List getValidationSelectionHandlers() {
-		if (validationSelectionHandlers == null)
-			validationSelectionHandlers = new ArrayList();
-		return validationSelectionHandlers;
-	}
-	
-	public Object getExtendedType(Object selection) {
-		Object result = null;
-		for (int i=0; i<getValidationSelectionHandlers().size(); i++ ) {
-			IValidationSelectionHandler handler = (IValidationSelectionHandler) getValidationSelectionHandlers().get(i);
-			result = handler.getBaseValidationType(selection);
-			if (result != null)
-				break;
-		}
-		return result;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorActionFilter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorActionFilter.java
deleted file mode 100644
index ee241be..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorActionFilter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResourceDelta;
-
-/**
- * This class stores the value of the "action" attribute in the validator's plugin.xml contribution.
- */
-public class ValidatorActionFilter {
-	public static final String ADD = "add"; //$NON-NLS-1$ // if the resource delta is an addition; this value is used in plugin.xml
-	public static final String CHANGE = "change"; //$NON-NLS-1$ // if the resource delta is a change; this value is used in plugin.xml
-	public static final String DELETE = "delete"; //$NON-NLS-1$ // if the resource delta is a removal; this value is used in plugin.xml
-	public static final int ALL_ACTIONS = (IResourceDelta.ADDED | IResourceDelta.CHANGED | IResourceDelta.REMOVED);
-
-	private int _actionType = 0; // Default to 0, so that if an invalid filter is specified, then no
-
-	// matter what the IResourceDelta is, the delta & _actionType will
-	// always == 0. (i.e., the resource will never be filtered in)
-
-	public ValidatorActionFilter() {
-		super();
-	}
-
-	/**
-	 * Return the hexadecimal number which represents the type(s) of actions which this filter
-	 * allows in.
-	 */
-	public int getActionType() {
-		// Since IResourceDelta's constants are hexadecimal numbers,
-		// it's nicer to return a corresponding hexadecimal, for bitwise OR,
-		// than it is to have three boolean methods on this class, i.e.,
-		// isAdd, isChange, isDelete.
-		return _actionType;
-	}
-
-	/**
-	 * <p>
-	 * Parse the incoming string, which is extracted from the plugin.xml file, to determine the
-	 * value of the actionType.
-	 * <p>
-	 * The string can contain one, two, or three constants. If there is more than one constant, the
-	 * constants should be separated by a comma.
-	 * <p>
-	 * These are the three constants: add, change, delete. The order that the constants are
-	 * specified in does not matter. The constants are case-sensitive; i.e., ADD is not considered
-	 * the same as add.
-	 * <p>
-	 * If the action attribute is not defined, the default behaviour is to filter in all types of
-	 * actions: add, change, delete. (i.e., the same behaviour can be achieved by specifying "add,
-	 * change, delete" as the action attribute's value.
-	 * <p>
-	 * If the action attribute is defined, and none of the constants are defined, then the filter is
-	 * invalid, and will be ignored by the Validation Framework. (If none of the actions should be
-	 * filtered in, then the filter itself should not exist.)
-	 * <p>
-	 * If the action attribute is defined, and one of the constants is defined, then the form of the
-	 * action should be like this: <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="add"/>
-	 * <p>
-	 * If the action attribute is defined, and more than one constant is defined, then the form of
-	 * the action should be like this: <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="add, delete"/>
-	 * <p>
-	 * If the action attribute is defined, and an unknown constant is defined, then the unknown
-	 * constant will be ignored. For example, <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="ADD, delete"/> <br>
-	 * is the same as specifying <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="delete"/> <br>
-	 * and if all of the constants are unknown, the filter is invalid, and will be ignored by the
-	 * Validation Framework. e.g., <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="ADD, DELETE"/> <br>
-	 * is the same as not specifying a filter.
-	 * <p>
-	 * If the action attribute is defined, and a constant is defined more than once, the extra
-	 * constant is ignored. For example, <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="add, change, add"/> <br>
-	 * is the same as specifying <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="add, change"/>
-	 */
-	public void setActionTypes(String actions) {
-		if (actions == null) {
-			// user has not defined the "action" element, so default to everything
-			_actionType = ALL_ACTIONS;
-			return;
-		}
-
-		final String COMMA = ","; //$NON-NLS-1$
-		StringTokenizer tokenizer = new StringTokenizer(actions, COMMA, false); // false means don't
-		// return the comma
-		// as part of the
-		// string
-		int isAdd = 0;
-		int isChange = 0;
-		int isDelete = 0;
-		while (tokenizer.hasMoreTokens()) {
-			String nextAction = tokenizer.nextToken().trim();
-			if (nextAction.equals(ADD)) {
-				isAdd = IResourceDelta.ADDED;
-			} else if (nextAction.equals(CHANGE)) {
-				isChange = IResourceDelta.CHANGED;
-			} else if (nextAction.equals(DELETE)) {
-				isDelete = IResourceDelta.REMOVED;
-			}
-		}
-		_actionType = isAdd | isChange | isDelete;
-	}
-
-	public String toString() {
-		final String ON = "on"; //$NON-NLS-1$
-		final String OFF = "off"; //$NON-NLS-1$
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("     ActionFilter:"); //$NON-NLS-1$
-		buffer.append("          add: " + (((getActionType() & IResourceDelta.ADDED) != 0) ? ON : OFF)); //$NON-NLS-1$
-		buffer.append("          change: " + (((getActionType() & IResourceDelta.CHANGED) != 0) ? ON : OFF)); //$NON-NLS-1$
-		buffer.append("          delete: " + (((getActionType() & IResourceDelta.REMOVED) != 0) ? ON : OFF)); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorFilter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorFilter.java
deleted file mode 100644
index 8035a0c..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorFilter.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import org.eclipse.core.resources.IResource;
-
-
-
-/**
- * This class represents the plugin.xml tags, for a validator, for both name filters and type
- * filters. i.e., if an object has name filter and type filter specified, the filter filters out
- * objects which are not both of that type and named like the filter.
- */
-public class ValidatorFilter {
-	private ValidatorNameFilter _nameFilter = null;
-	private ValidatorTypeFilter _typeFilter = null;
-	private ValidatorActionFilter _actionFilter = null;
-
-	/* package */ValidatorFilter() {
-		super();
-		_nameFilter = new ValidatorNameFilter();
-		_typeFilter = new ValidatorTypeFilter();
-		_actionFilter = new ValidatorActionFilter();
-	}
-
-	/* package */ValidatorFilter(String mustImplementClass) {
-		this();
-		_nameFilter = new ValidatorNameFilter();
-		_typeFilter.setMustImplementClass(mustImplementClass);
-		_actionFilter = new ValidatorActionFilter();
-	}
-
-	public boolean isApplicableAction(int resourceDelta) {
-		return ((resourceDelta & _actionFilter.getActionType()) != 0);
-	}
-
-	/**
-	 * Returns true if the given resource's name matches the name filter.
-	 * 
-	 * e.g. if the name filter is "*.java", and this resource is "readme.txt", this method will
-	 * return false. If the resource is named "readme.java", this method will return true.
-	 */
-	/* package */boolean isApplicableName(IResource resource) {
-		return _nameFilter.isApplicableName(resource);
-	}
-
-	/**
-	 * Returns true if the given resource's type matches the type filter.
-	 * 
-	 * e.g. if the type filter is "IFile", and this resource is "IProject", this method will return
-	 * false. If the resource is an IFile, this method will return true.
-	 */
-	/* package */boolean isApplicableType(IResource resource) {
-		return _typeFilter.isApplicableType(resource);
-	}
-
-	public void setActionFilter(String actions) {
-		_actionFilter.setActionTypes(actions);
-	}
-
-	/**
-	 * Sets the name filter.
-	 */
-	/* package */void setNameFilter(String filter, String isCaseSensitiveString) {
-		_nameFilter.setNameFilter(filter);
-		if(filter != null)
-			  _nameFilter.setNameFilterExtension(getFilterExt(filter));
-		_nameFilter.setCaseSensitive(isCaseSensitiveString);
-	}
-	
-	private String getFilterExt(String filter) {
-		return filter.substring(filter.indexOf(".") + 1);
-	}
-	
-
-	/**
-	 * Sets the type filter.
-	 */
-	/* package */void setTypeFilter(String filter) {
-		_typeFilter.setTypeFilter(filter);
-	}
-
-	public String toString() {
-		final String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("ValidatorFilter:"); //$NON-NLS-1$
-		buffer.append(lineSep);
-		buffer.append("     nameFilter = " + _nameFilter); //$NON-NLS-1$
-		buffer.append(lineSep);
-		buffer.append("     typeFilter = " + _typeFilter); //$NON-NLS-1$
-		buffer.append(lineSep);
-		buffer.append("     actionFilter = " + _actionFilter); //$NON-NLS-1$
-		buffer.append(lineSep);
-		return buffer.toString();
-	}
-
-	/**
-	 * @return Returns the _nameFilter.
-	 */
-	public ValidatorNameFilter get_nameFilter() {
-		return _nameFilter;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorMetaData.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorMetaData.java
deleted file mode 100644
index 7889652..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorMetaData.java
+++ /dev/null
@@ -1,540 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.operations.WorkbenchContext;
-import org.eclipse.wst.validation.internal.plugin.ValidationHelperRegistryReader;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.osgi.framework.Bundle;
-
-/**
- * This class stores information, as specified by a validator's plugin.xml tags. There is one
- * ValidatorMetaData for each Validator. No Validator should attempt to access its
- * ValidatorMetaData; it is for use by the base framework only.
- */
-public class ValidatorMetaData {
-	private ValidatorFilter[] _filters = null;
-	private ValidatorNameFilter[] _projectNatureFilters = null;
-	private String[] facetFilters = null;
-	private IValidator _validator = null;
-	private IWorkbenchContext _helper = null;
-	private String _validatorDisplayName = null;
-	private String _validatorUniqueName = null;
-	private String[] _aggregatedValidators = null;
-	private String[] _validatorNames = null;
-	private String _pluginId = null;
-	private boolean _supportsIncremental = RegistryConstants.ATT_INCREMENTAL_DEFAULT;
-	private boolean _supportsFullBuild = RegistryConstants.ATT_FULLBUILD_DEFAULT;
-	private Logger _logger = null;
-	private boolean _isEnabledByDefault = RegistryConstants.ATT_ENABLED_DEFAULT;
-	private MigrationMetaData _migrationMetaData = null;
-	private int _ruleGroup = RegistryConstants.ATT_RULE_GROUP_DEFAULT;
-	private boolean _async = RegistryConstants.ATT_ASYNC_DEFAULT;
-	private boolean dependentValidator = RegistryConstants.DEP_VAL_VALUE_DEFAULT;
-	private String markerId = null;
-	private String _helperClassName = null;
-	private IConfigurationElement _helperClassElement = null;
-	private IConfigurationElement _validatorClassElement = null;
-	private boolean _cannotLoad = false;
-	private boolean manualValidation = true;
-	private boolean buildValidation = true;
-
-	/* package */ValidatorMetaData() {
-		//default
-	}
-
-	/**
-	 * Add to the list of class names of every validator which this validator aggregates. For
-	 * example, if the EJB Validator instantiated another validator, and started its validate
-	 * method, then that instantiated class' name should be in this list.
-	 */
-	/* package */void addAggregatedValidatorNames(String[] val) {
-		_aggregatedValidators = val;
-	}
-
-	/**
-	 * Add the name/type filter pair(s).
-	 */
-	/* package */void addFilters(ValidatorFilter[] filters) {
-		_filters = filters;
-	}
-
-	/**
-	 * Add the project nature filter(s).
-	 */
-	/* package */void addProjectNatureFilters(ValidatorNameFilter[] filters) {
-		_projectNatureFilters = filters;
-	}
-	
-	/**
-	 * Add the facet  filter(s).
-	 */
-	protected void addFacetFilters(String[] filters) {
-		facetFilters = filters;
-	}
-	
-	protected String[] getFacetFilters() {
-		return facetFilters;
-	}
-
-	public List getNameFilters() {
-		List nameFilters = new ArrayList();
-		if (_filters != null && _filters.length > 0) {
-			for (int i = 0; i < _filters.length; i++) {
-				ValidatorFilter filter = _filters[i];
-				ValidatorNameFilter nameFilter = filter.get_nameFilter();
-				if (nameFilter != null) {
-					nameFilters.add(nameFilter.getNameFilter());
-				}
-
-			}
-		}
-		return nameFilters;
-	}
-
-	/**
-	 * Return the list of class names of the primary validator and its aggregates.
-	 */
-	public String[] getValidatorNames() {
-		if (_validatorNames == null) {
-			int aLength = (_aggregatedValidators == null) ? 0 : _aggregatedValidators.length;
-			_validatorNames = new String[aLength + 1]; // add 1 for the primary validator name
-			_validatorNames[0] = getValidatorUniqueName();
-			if (_aggregatedValidators != null) {
-				System.arraycopy(_aggregatedValidators, 0, _validatorNames, 1, aLength);
-			}
-		}
-		return _validatorNames;
-	}
-
-	/**
-	 * Return the list of class names of every validator which this validator aggregates. For
-	 * example, if the EJB Validator instantiated another validator, and started its validate
-	 * method, then that instantiated class' name should be in this list.
-	 */
-	public String[] getAggregatedValidatorNames() {
-		return _aggregatedValidators;
-	}
-
-	/**
-	 * Return the name/type filter pairs.
-	 */
-	public ValidatorFilter[] getFilters() {
-		return _filters;
-	}
-
-	/**
-	 * Return true if this vmd's helper and validator have been instantiated, and also if this
-	 * validator's plugin is active.
-	 */
-	public boolean isActive() {
-		if (_helperClassElement != null) {
-			return false;
-		}
-
-		if (_validatorClassElement != null) {
-			return false;
-		}
-
-		Bundle bundle = Platform.getBundle(_pluginId);
-		if (bundle != null)
-			return bundle.getState() == Bundle.ACTIVE;
-
-		return false;
-	}
-
-	/**
-	 * This method will throw an InstantiationException if the helper cannot be instantiated, e.g.,
-	 * if the helper's plugin is disabled for some reason. Before the InstantiationException is
-	 * thrown, this validator will be disabled.
-	 * 
-	 * The IWorkbenchContext must ALWAYS have its project set before it is used; but it can't be
-	 * created with the IProject. So, before using the single instance, always initialize that
-	 * instance with the IProject.
-	 * 
-	 * If this validator supports asynchronous validation, then instead of maintaining a single the
-	 * helper instance, create a new IWorkbenchContext instance every time that the helper is needed.
-	 * This feature is provided because several validation Runnables may be queued to run, and if
-	 * those Runnables's project is different from the current validation's project, then the
-	 * current validation will suddenly start validating another project.
-	 */
-	//TODO just want to remember to figure out the many-temporary-objects problem if this method
-	// continues to new an IValidationContext every time - Ruth
-	public IWorkbenchContext getHelper(IProject project) throws InstantiationException {
-		if (isAsync()) {
-			IWorkbenchContext helper = ValidationRegistryReader.createHelper(_helperClassElement, _helperClassName);
-			if (helper == null) {
-				helper = new WorkbenchContext();
-				//setCannotLoad();
-				//throw new InstantiationException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_DISABLEH, new String[]{_helperClassName, getValidatorUniqueName()}));
-			}
-			helper.setProject(project);
-			return helper;
-		}
-		if (_helper == null) {
-			_helper = ValidationRegistryReader.createHelper(_helperClassElement, _helperClassName);
-			if (_helper == null) {
-				_helper = new WorkbenchContext();
-				//setCannotLoad();
-				//throw new InstantiationException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_DISABLEH, new String[]{_helperClassName, getValidatorUniqueName()}));
-			}
-			// Won't be using the element & name again, so clear them.
-			_helperClassElement = null;
-			_helperClassName = null;
-		}
-		if ((_helper.getProject() == null) || !(_helper.getProject().equals(project))) {
-			// Initialize helper with the new project
-			_helper.setProject(project);
-		}
-		return _helper;
-	}
-
-	/**
-	 * cannotLoad is false if both the IValidator and IWorkbenchContext instance can be instantiated.
-	 * This method should be called only by the validation framework, and only if an
-	 * InstantiationException was thrown.
-	 * 
-	 * @param can
-	 */
-	private void setCannotLoad() {
-		_cannotLoad = true;
-	}
-
-	/**
-	 * Return false if both the IValidator and IWorkbenchContext instance can be instantiated.
-	 * 
-	 * @return boolean
-	 */
-	public boolean cannotLoad() {
-		return _cannotLoad;
-	}
-
-	/**
-	 * This method must not be called until the unique id of the validator has been initialized.
-	 */
-	public Logger getMsgLogger() {
-		if (_logger == null) {
-			_logger = ValidationPlugin.getPlugin().getMsgLogger();
-			/*
-			 * // Decided against having a logger for each validator because each validator // would
-			 * need to contribute an extension in their plugins for it to be recognized // by the
-			 * logging preference page. For now, just use the validation framework's logger. _logger =
-			 * (MsgLogger)MsgLogger.getFactory().getLogger(getValidatorUniqueName());
-			 * _logger.write(Level.CONFIG, getValidatorDisplayName());
-			 */
-		}
-		return _logger;
-	}
-
-	public MigrationMetaData getMigrationMetaData() {
-		return _migrationMetaData;
-	}
-
-	/**
-	 * Return the IRuleGroup integer indicating which groups of rules this validator recognizes.
-	 */
-	public int getRuleGroup() {
-		return _ruleGroup;
-	}
-
-	/**
-	 * Return the filters which identify which project(s) this validator may run on.
-	 */
-	/* package */ValidatorNameFilter[] getProjectNatureFilters() {
-		return _projectNatureFilters;
-	}
-
-	/**
-	 * This method returns the validator if it can be loaded; if the validator cannot be loaded,
-	 * e.g., if its plugin is disabled for some reason, then this method throws an
-	 * InstantiationException. Before the CoreException is thrown, this validator is disabled.
-	 * 
-	 * @return IValidator
-	 * @throws InstantiationException
-	 */
-	public IValidator getValidator() throws InstantiationException {
-		if (_validator == null) {
-			_validator = ValidationRegistryReader.createValidator(_validatorClassElement, getValidatorUniqueName());
-
-			// Since the element won't be used any more, clear it.
-			_validatorClassElement = null;
-
-			if (_validator == null) {
-				setCannotLoad();
-				throw new InstantiationException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_DISABLEV, new String[]{getValidatorUniqueName()}));
-			}
-		}
-		return _validator;
-	}
-
-	public String getValidatorDisplayName() {
-		return _validatorDisplayName;
-	}
-
-	public String getValidatorUniqueName() {
-		return _validatorUniqueName;
-	}
-
-	/**
-	 * If the resource is applicable to the Validator which this ValidatorMetaData is associated
-	 * with, return true; else return false.
-	 * 
-	 * A resource is applicable if it passes the name/type filters. This method is called if there
-	 * is no resource delta (i.e., a full validation).
-	 */
-	public boolean isApplicableTo(IResource resource) {
-		return isApplicableTo(resource, ValidatorActionFilter.ALL_ACTIONS);
-	}
-
-	/**
-	 * If the resource is applicable to the Validator which this ValidatorMetaData is associated
-	 * with, return true; else return false.
-	 * 
-	 * A resource is applicable if it passes the name/type filters.
-	 */
-	public boolean isApplicableTo(IResource resource, int resourceDelta) {
-		// If no filters are specified, then every type of resource should be validated/trigger a
-		// rebuild of the model cache
-		if (_filters == null)
-			return true;
-
-		return isApplicableTo(resource, resourceDelta, _filters);
-	}
-
-	/**
-	 * Return true if the resource passes the name/type filters for this validator.
-	 */
-	/* package */boolean isApplicableTo(IResource resource, int resourceDelta, ValidatorFilter[] filters) {
-		// Are any of the filters satisfied? (i.e., OR them, not AND them.)
-		for (int i = 0; i < filters.length; i++) {
-			ValidatorFilter filter = filters[i];
-			if (checkIfValidSourceFile(resource) && filter.isApplicableType(resource) && filter.isApplicableName(resource) && filter.isApplicableAction(resourceDelta)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	private boolean checkIfValidSourceFile(IResource file) {
-		if (file.getType() == IResource.FILE) {
-			IProjectValidationHelper helper = ValidationHelperRegistryReader.getInstance().getValidationHelper();
-			IProject project = file.getProject();
-			if (helper == null || project == null)
-				return true;
-			IContainer[] outputContainers = helper.getOutputContainers(project);
-			IContainer[] sourceContainers = helper.getSourceContainers(project);
-			for (int i=0; i<outputContainers.length; i++) {
-				String outputPath = outputContainers[i].getProjectRelativePath().makeAbsolute().toString();
-				for (int j=0; j<sourceContainers.length; j++) {
-					String sourceContainerPath = sourceContainers[j].getProjectRelativePath().makeAbsolute().toString();
-					if (outputPath.equals(sourceContainerPath))
-						continue;
-				}
-				String filePath = file.getProjectRelativePath().makeAbsolute().toString();
-				if (filePath.startsWith(outputPath))
-					return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * If this validator recognizes the project nature, whether included or excluded, return the
-	 * name filter which describes the nature. Otherwise return null.
-	 */
-	ValidatorNameFilter findProjectNature(String projId) {
-		if (projId == null) {
-			return null;
-		}
-
-		if (_projectNatureFilters == null) {
-			// If no tag is specified, this validator is configured on all IProjects
-			return null;
-		}
-
-		for (int i = 0; i < _projectNatureFilters.length; i++) {
-			ValidatorNameFilter filter = _projectNatureFilters[i];
-			// In this case, we're not checking if the project is an instance of the filter class,
-			// but if it has the Nature specified in the filter class.
-			String projectNatureID = filter.getNameFilter();
-			if (projId.equals(projectNatureID)) {
-				return filter;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Convenience method. Rather than store the is-this-vmd-configured-on-this-IProject algorithm
-	 * in two places, refer back to the reader's cache.
-	 */
-	public boolean isConfiguredOnProject(IProject project) {
-		return ValidationRegistryReader.getReader().isConfiguredOnProject(this, project);
-	}
-
-	public boolean isEnabledByDefault() {
-		return _isEnabledByDefault;
-	}
-
-	public boolean isIncremental() {
-		return _supportsIncremental;
-	}
-
-	public boolean isFullBuild() {
-		return _supportsFullBuild;
-	}
-
-	/**
-	 * Return true if the validator is thread-safe and can be run asynchronously.
-	 */
-	public boolean isAsync() {
-		return _async;
-	}
-
-	/* package */void setHelperClass(IConfigurationElement element, String helperClassName) {
-		_helperClassElement = element;
-		_helperClassName = helperClassName;
-	}
-
-	/* package */void setEnabledByDefault(boolean enabledByDefault) {
-		_isEnabledByDefault = enabledByDefault;
-	}
-
-	/* package */void setIncremental(boolean isIncremental) {
-		_supportsIncremental = isIncremental;
-	}
-
-	/* package */void setFullBuild(boolean fullBuild) {
-		_supportsFullBuild = fullBuild;
-	}
-
-	/* package */void setAsync(boolean isAsync) {
-		_async = isAsync;
-	}
-
-	/* package */void setMigrationMetaData(MigrationMetaData mmd) {
-		_migrationMetaData = mmd;
-	}
-
-	/* package */void setRuleGroup(int ruleGroup) {
-		_ruleGroup = ruleGroup;
-	}
-
-	/* package */void setValidatorClass(IConfigurationElement element) {
-		_validatorClassElement = element;
-		// validator class name == validatorUniqueName
-	}
-
-	/* package */void setValidatorDisplayName(String validatorName) {
-		_validatorDisplayName = validatorName;
-	}
-
-	/* package */void setValidatorUniqueName(String validatorUniqueName) {
-		_validatorUniqueName = validatorUniqueName;
-	}
-
-	/* package */void setPluginId(String validatorPluginId) {
-		_pluginId = validatorPluginId;
-	}
-
-	public String toString() {
-		return getValidatorUniqueName();
-	}
-
-	public class MigrationMetaData {
-		private Set _ids = null;
-
-		public MigrationMetaData() {
-			//default
-		}
-
-		public void addId(String oldId, String newId) {
-			if (oldId == null) {
-				// log
-				return;
-			}
-
-			if (newId == null) {
-				// log
-				return;
-			}
-
-			String[] ids = new String[]{oldId, newId};
-			getIds().add(ids);
-		}
-
-		public Set getIds() {
-			if (_ids == null) {
-				_ids = new HashSet();
-			}
-			return _ids;
-		}
-	}
-
-	/**
-	 * @param b
-	 */
-	public void addDependentValidator(boolean b) {
-		dependentValidator = b;
-	}
-
-	/**
-	 * @param b
-	 */
-	public boolean isDependentValidator() {
-		return dependentValidator;
-	}
-
-	/**
-	 * @return Returns the markerId.
-	 */
-	public String getMarkerId() {
-		return markerId;
-	}
-
-	/**
-	 * @param markerId
-	 *            The markerId to set.
-	 */
-	public void setMarkerId(String markerId) {
-		this.markerId = markerId;
-	}
-
-	public boolean isBuildValidation() {
-		return buildValidation;
-	}
-
-	public void setBuildValidation(boolean buildValidation) {
-		this.buildValidation = buildValidation;
-	}
-
-	public boolean isManualValidation() {
-		return manualValidation;
-	}
-
-	public void setManualValidation(boolean manualValidation) {
-		this.manualValidation = manualValidation;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorNameFilter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorNameFilter.java
deleted file mode 100644
index 75d857a..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorNameFilter.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Represents a name filter tag in a validator's plugin.xml file. e.g. &lt;filter name="*.*"> Then
- * this class would store the "*.*", and provide the wildcard matching functionality.
- */
-public class ValidatorNameFilter {
-	private String _nameFilter = null;
-	private String nameFilterExtension = null;
-	private boolean _include = true; // by default, filter in the IFile specified
-	private final static String WILDCARD = "*"; //$NON-NLS-1$
-	private boolean _isCaseSensitive = true; // by default, the filter name is case-sensitive
-
-	/**
-	 * Insert the method's description here. Creation date: (12/4/00 11:08:41 AM)
-	 */
-	/* package */ValidatorNameFilter() {
-		//default
-	}
-
-	/**
-	 * Get the filter, as specified in plugin.xml
-	 */
-	/* package */String getNameFilter() {
-		return _nameFilter;
-	}
-
-	/* package */boolean isCaseSensitive() {
-		return _isCaseSensitive;
-	}
-
-	/* package */boolean isInclude() {
-		return _include;
-	}
-
-	/**
-	 * Return true if the given resource is both applicable and include="true".
-	 */
-	/* package */boolean isApplicableTo(IResource resource) {
-		return (isApplicableName(resource) && isInclude());
-	}
-	
-	protected void setNameFilterExtension(String filterExt) {
-		nameFilterExtension = filterExt;
-	}
-
-	/**
-	 * Returns true if the name of the resource matches the filter, or if there is no filter
-	 * specified.
-	 */
-	public boolean isApplicableName(IResource resource) {
-		// If name filter is null, means filter out no names.
-		// Otherwise, return true only if the given name matches
-		// the name filter.
-		if (_nameFilter == null)
-			return true;
-		
-		String name = resource.getName();
-//		return true if the file name is exact match of the _nameFilter
-		if (name.equalsIgnoreCase(_nameFilter))
-			return true;
-
-		int indexOfStarDot = _nameFilter.indexOf("*.");
-
-		//return value if the fileter name extension matches the extension
-		//of the resource 
-		if (indexOfStarDot != -1) {
-			String nameExtension = name.substring(name.indexOf(".") + 1);
-			return nameFilterExtension.equalsIgnoreCase(nameExtension);
-		}
-
-		if (!isCaseSensitive()) {
-			name = name.toLowerCase();
-		}
-
-		return verifyNameMatch(_nameFilter, name);
-	}
-
-	/* package */void setInclude(String includeValue) {
-		if (includeValue != null) {
-			setInclude(Boolean.valueOf(includeValue).booleanValue());
-		}
-	}
-
-	void setInclude(boolean includeBool) {
-		_include = includeBool;
-	}
-
-	/**
-	 * Set the filter, as specified in plugin.xml
-	 */
-	/* package */void setNameFilter(String filter) {
-		_nameFilter = filter;
-	}
-
-	/* package */void setCaseSensitive(String isCaseSensitiveString) {
-		if (isCaseSensitiveString != null) {
-			// only change the value from the default if the case-sensitive attribute is defined
-			_isCaseSensitive = Boolean.valueOf(isCaseSensitiveString).booleanValue();
-		}
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("NameFilter:\n\tnameFilter = "); //$NON-NLS-1$
-		buffer.append(_nameFilter);
-		return buffer.toString();
-	}
-
-	/**
-	 * Return true if the given name matches the given filter.
-	 * 
-	 * The only filter wildcard allowed is '*'.
-	 */
-	/* package */static boolean verifyNameMatch(final String filter, String name) {
-		/*
-		 * There are eight possible wildcard combinations, given that a wildcard may, if present, be
-		 * at the beginning, middle, or end of a name; or any combination of those positions. i.e.,
-		 * 
-		 * beginning middle end 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
-		 *  
-		 */
-		StringTokenizer tokenizer = new StringTokenizer(filter, WILDCARD, true);
-		boolean wildcardFlag = false;
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			if (token.equals(WILDCARD)) {
-				wildcardFlag = true;
-			} else {
-				if (wildcardFlag) {
-					int tokenIndex = name.indexOf(token);
-					if (tokenIndex >= 0) {
-						name = name.substring(tokenIndex + token.length());
-					} else {
-						return false;
-					}
-				} else {
-					if (name.startsWith(token)) {
-						int tokenIndex = token.length();
-						name = name.substring(tokenIndex);
-					} else {
-						return false;
-					}
-				}
-				wildcardFlag = false;
-			}
-		}
-		if (!name.equals("")) { //$NON-NLS-1$
-			if (!wildcardFlag) {
-				return false;
-			}
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorTypeFilter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorTypeFilter.java
deleted file mode 100644
index 0f00ce3..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorTypeFilter.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal;
-
-import java.text.MessageFormat;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Represents a type filter tag in a validator's plugin.xml file. e.g. &lt;filter
- * objectClass="com.ibm.foo.MyClass"> Then this class would store the "com.ibm.foo.MyClass", and
- * provide the "instanceof" matching functionality.
- */
-public class ValidatorTypeFilter {
-	private Class _typeFilterClass = null;
-	private String _mustImplementClass = null; // the type set in setTypeFilter must implement the
-
-	// class/interface identified by this fully-qualified
-	// Java string.
-
-	/* package */ValidatorTypeFilter() {
-		//default
-	}
-
-	/* package */ValidatorTypeFilter(String mustImplementClass) {
-		setMustImplementClass(mustImplementClass);
-	}
-
-	/**
-	 * Type filters are allowed only for certain types of classes. This method returns the name of
-	 * the class which this type must implement before it can be a filter.
-	 */
-	/* package */String getMustImplementClass() {
-		return _mustImplementClass;
-	}
-
-	/**
-	 * Return the type filter as a java.lang.Class object.
-	 */
-	/* package */Class getTypeFilterClass() {
-		return _typeFilterClass;
-	}
-
-	/**
-	 * Returns true if the resource passed in either an instance of the type filter class, or if
-	 * there is no type filter class defined in plugin.xml.
-	 */
-	public boolean isApplicableType(IResource resource) {
-		// If type filter is null, means filter out no types.
-		// Otherwise, return true only if the given type is an instance of
-		// the type filter.
-		if (_typeFilterClass == null)
-			return true;
-
-		// If the resource is an instance of the type filter class.
-		return isInstance(resource.getClass(), _typeFilterClass);
-	}
-
-	/**
-	 * Checks if filterClass is a parent (interface or superclass) of objectClass.
-	 */
-	/* package */boolean isInstance(Class objectClass, Class filterClass) {
-		// The java.lang.Class.isInstance call doesn't check interfaces fully.
-		// i.e., if I have two interfaces, A and B, and B extends A but
-		// doesn't implement A, then the isInstance call will return false.
-		//
-		// So, instead of using Class.isInstance, do the checking myself.
-		for (Class cl = objectClass; cl != null; cl = cl.getSuperclass()) {
-			if (cl.getName().equals(filterClass.getName())) {
-				return true;
-			}
-			Class[] clInterfaces = cl.getInterfaces();
-			for (int i = 0; i < clInterfaces.length; i++) {
-				if (clInterfaces[i].getName().equals(filterClass.getName())) {
-					return true;
-				}
-				return isInstance(clInterfaces[i], filterClass);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Type filters are allowed only for certain types of classes. This method sets the name of the
-	 * class which this type must implement before it can be a filter.
-	 */
-	/* package */void setMustImplementClass(String className) {
-		_mustImplementClass = className;
-	}
-
-	/**
-	 * If the filter implements the mustImplementClass (in ValidatorFilter's case, IResource), then
-	 * this is a valid filter, and store the filter value.
-	 */
-	/* package */void setTypeFilter(String filter) {
-		Class filterClass = null;
-		Class mustImplementClass = null;
-
-		if (filter == null) {
-			_typeFilterClass = null;
-			return;
-		}
-
-		try {
-			filterClass = Class.forName(filter);
-			if (getMustImplementClass() != null) {
-				mustImplementClass = Class.forName(getMustImplementClass());
-
-				// If the filter class is not an instance of mustImplementClass
-				if (!isInstance(filterClass, mustImplementClass)) {
-					_typeFilterClass = null;
-					Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.FINE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceID("ValidatorTypeFilter.setTypeFilter(String)"); //$NON-NLS-1$
-						entry.setMessageTypeID(ResourceConstants.VBF_EXC_INVALID_TYPE_FILTER);
-						String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INVALID_TYPE_FILTER), new String[]{filter, getMustImplementClass()});
-						entry.setText(result);						
-						//entry.setTokens(new String[]{filter, getMustImplementClass()});
-						logger.write(Level.FINE, entry);
-					}
-				}
-			}
-		} catch (ClassNotFoundException exc) {
-			_typeFilterClass = null;
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidatorTypeFilter.setTypeFilter(String)"); //$NON-NLS-1$
-				entry.setText("The class named " + filter + " cannot be instantiated because it does not exist. Check the spelling of the name, in the validator's plugin.xml contribution, and try restarting eclipse again."); //$NON-NLS-1$  //$NON-NLS-2$
-				logger.write(Level.FINE, entry);
-			}
-			return;
-		}
-		_typeFilterClass = filterClass;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("TypeFilter:"); //$NON-NLS-1$
-		buffer.append("     _typeFilterClass = " + _typeFilterClass.getName()); //$NON-NLS-1$
-		buffer.append("     _mustImplementClass = " + _mustImplementClass); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/AllValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/AllValidatorsOperation.java
deleted file mode 100644
index f32ae59..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/AllValidatorsOperation.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * This operation runs all validators: enabled validators, disabled validators, incremental
- * validators, full validators.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class AllValidatorsOperation extends ValidatorSubsetOperation {
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use AllValidatorsOperation(IProject, boolean)
-	 */
-	public AllValidatorsOperation(IProject project) {
-		this(project, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * Run all configured validators on the project, regardless of whether the validator is enabled
-	 * or disabled by the user.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in a background thread.
-	 * If async is false, no validators will run in a background thread.
-	 */
-	public AllValidatorsOperation(IProject project, boolean async) {
-		super(project, true, async);// always force validation to run
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getValidators()));
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("EventManager::closing(" + project.getName() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, exc);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/DefaultResourceUtil.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/DefaultResourceUtil.java
deleted file mode 100644
index 39231d4..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/DefaultResourceUtil.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-/**
- * The default line number calculator (always returns "0").
- */
-public class DefaultResourceUtil implements IResourceUtil {
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.IResourceUtil#getLineNo(Object)
-	 */
-	public int getLineNo(Object obj) {
-		return 0;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledIncrementalValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledIncrementalValidatorsOperation.java
deleted file mode 100644
index 7fcd3f4..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledIncrementalValidatorsOperation.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.FilterUtil;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * Instances of this operation load the project's configured validators, and run the validators if
- * they are both enabled and incremental.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class EnabledIncrementalValidatorsOperation extends EnabledValidatorsOperation {
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use
-	 *             EnabledIncrementalValidatorsOperation(IProject, IResourceDelta, boolean)
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IResourceDelta delta) {
-		this(project, delta, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use
-	 *             EnabledIncrementalValidatorsOperation(IProject, IResourceDelta, int, boolean)
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IResourceDelta delta, int ruleGroup) {
-		this(project, delta, ruleGroup, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use
-	 *             EnabledIncrementalValidatorsOperation(IProject, IResourceDelta, int, boolean)
-	 *             instead.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, Set validators, IResourceDelta delta, int ruleGroup) {
-		this(project, delta, ruleGroup, DEFAULT_ASYNC);
-		setEnabledValidators(validators);
-	}
-
-	/**
-	 * IProject must exist and be open.
-	 * 
-	 * If delta is null, a full validation of the project using only the incremental validators is
-	 * performed. If delta is not null, all enabled incremental validators that validate resources
-	 * in the delta will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IResourceDelta delta, boolean async) {
-		this(project, delta, RegistryConstants.ATT_RULE_GROUP_DEFAULT, async);
-	}
-	
-	/**
-	 * IProject must exist and be open.
-	 * 
-	 * If delta is null, a full validation of the project using only the incremental validators is
-	 * performed. If delta is not null, all enabled incremental validators that validate resources
-	 * in the delta will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IWorkbenchContext context, IResourceDelta delta, boolean async) {
-		this(project,context, delta, RegistryConstants.ATT_RULE_GROUP_DEFAULT, async);
-	}
-	
-	/**
-	 * IProject must exist and be open.
-	 * 
-	 * If delta is null, a full validation of the project using only the incremental validators is
-	 * performed. If delta is not null, all enabled incremental validators that validate resources
-	 * in the delta will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project,IWorkbenchContext context, IResourceDelta delta, int ruleGroup, boolean async) {
-		super(project, ruleGroup, shouldForce(delta), async);
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true)));
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("EnabledIncrementalVAlidatorsOperation(IProject<" + project.getName() + ">, IResourceDelta, int, boolean)"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, exc);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-		}
-		setDelta(delta);
-		setContext(context);
-	}
-
-	/**
-	 * IProject must exist and be open.
-	 * 
-	 * If delta is null, a full validation of the project using only the incremental validators is
-	 * performed. If delta is not null, all enabled incremental validators that validate resources
-	 * in the delta will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IResourceDelta delta, int ruleGroup, boolean async) {
-		super(project, ruleGroup, shouldForce(delta), async);
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true)));
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("EnabledIncrementalVAlidatorsOperation(IProject<" + project.getName() + ">, IResourceDelta, int, boolean)"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, exc);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-		}
-		setDelta(delta);
-	}
-
-	/**
-	 * IProject must exist, be open, and contain all of the resources in changedResources. If some
-	 * of the resources in changedResources belong to different projects, the result is undefined.
-	 * 
-	 * If changedResources is null, a full validation of the project using only the incremental
-	 * validators is performed. If changedResources is not null, all enabled incremental validators
-	 * that validate resources in the changedResources array will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IResource[] changedResources,IWorkbenchContext aWorkbenchContext, IProject project, boolean async) {
-		super(project, RegistryConstants.ATT_RULE_GROUP_DEFAULT, shouldForce(changedResources), async);
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true)));
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("EnabledIncrementalValidatorsOperation(IResource[], IProject<" + project.getName() + ">, boolean)"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, exc);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-		//construct an array of IFileDelta[] to wrap the Object[]; one IFileDelta for each Object in the array
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, false));
-		setContext(aWorkbenchContext);
-	}
-	
-	/**
-	 * IProject must exist, be open, and contain all of the resources in changedResources. If some
-	 * of the resources in changedResources belong to different projects, the result is undefined.
-	 * 
-	 * If changedResources is null, a full validation of the project using only the incremental
-	 * validators is performed. If changedResources is not null, all enabled incremental validators
-	 * that validate resources in the changedResources array will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IResource[] changedResources,IProject project, boolean async) {
-		super(project, RegistryConstants.ATT_RULE_GROUP_DEFAULT, shouldForce(changedResources), async);
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true)));
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("EnabledIncrementalValidatorsOperation(IResource[], IProject<" + project.getName() + ">, boolean)"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, exc);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-		//construct an array of IFileDelta[] to wrap the Object[]; one IFileDelta for each Object in the array
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, false));
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledValidatorsOperation.java
deleted file mode 100644
index a4e3cfd..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledValidatorsOperation.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * Instances of this operation run every enabled validator (both full and incremental) on the
- * project.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class EnabledValidatorsOperation extends ValidatorSubsetOperation {
-	
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use EnabledValidatorsOperation(IProject, boolean)
-	 */
-	public EnabledValidatorsOperation(IProject project) {
-		this(project, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use EnabledValidatorsOperation(IProject, int,
-	 *             boolean, boolean)
-	 */
-	public EnabledValidatorsOperation(IProject project, int ruleGroup) {
-		this(project, ruleGroup, DEFAULT_FORCE, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use EnabledValidatorsOperation(IProject, int,
-	 *             boolean, boolean)
-	 */
-	public EnabledValidatorsOperation(IProject project, int ruleGroup, boolean force) {
-		this(project, ruleGroup, force, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * Run all enabled validators on the project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public EnabledValidatorsOperation(IProject project, boolean async) {
-		this(project, RegistryConstants.ATT_RULE_GROUP_DEFAULT, DEFAULT_FORCE, async);
-	}
-	
-	/**
-	 * Run all enabled validators on the project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public EnabledValidatorsOperation(IProject project, IWorkbenchContext aWorkbenchContext, boolean async) {
-		this(project, aWorkbenchContext, RegistryConstants.ATT_RULE_GROUP_DEFAULT, DEFAULT_FORCE, async);
-	}
-	
-	/**
-	 * Run all enabled validators on the project with the identified ruleGroup.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public EnabledValidatorsOperation(IProject project, IWorkbenchContext aWorkbenchContext, int ruleGroup, boolean force, boolean async) {
-		this(project, aWorkbenchContext, ValidatorManager.getManager().getEnabledValidators(project), ruleGroup, force, async);
-	}
-	
-
-	/**
-	 * Run all enabled validators on the project with the identified ruleGroup.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public EnabledValidatorsOperation(IProject project, int ruleGroup, boolean force, boolean async) {
-		this(project, ValidatorManager.getManager().getEnabledValidators(project), ruleGroup, force, async);
-	}
-
-	/**
-	 * Run the identified validators on the project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	protected EnabledValidatorsOperation(IProject project, Set enabledValidators, boolean async) {
-		this(project, enabledValidators, RegistryConstants.ATT_RULE_GROUP_DEFAULT, DEFAULT_FORCE, async); 
-		// true = force validation to run whether or not auto-validate is on
-	}
-	
-	/**
-	 * Run the identified validators on the project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	protected EnabledValidatorsOperation(IProject project,IWorkbenchContext aWorkbenchContext, Set enabledValidators, boolean async) {
-		this(project,aWorkbenchContext, enabledValidators, RegistryConstants.ATT_RULE_GROUP_DEFAULT, DEFAULT_FORCE, async); 
-		// true = force validation to run whether or not auto-validate is on
-	}
-
-	/**
-	 * Run the identified validators on the project with the ruleGroup.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	protected EnabledValidatorsOperation(IProject project, Set enabledValidators, int ruleGroup, boolean force, boolean async) {
-		super(project, force, ruleGroup, async);
-		setEnabledValidators(enabledValidators);
-	}
-	
-	/**
-	 * Run the identified validators on the project with the ruleGroup.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	protected EnabledValidatorsOperation(IProject project, IWorkbenchContext aWorkbenchContext, Set enabledValidators, int ruleGroup, boolean force, boolean async) {
-		super(project,aWorkbenchContext,force, ruleGroup, async);
-		setEnabledValidators(enabledValidators);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IResourceUtil.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IResourceUtil.java
deleted file mode 100644
index d0a34bf..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IResourceUtil.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-/**
- * This type is not intended to be extended by clients.
- */
-public interface IResourceUtil {
-	/**
-	 * Return the line number where the Object is located.
-	 */
-	public int getLineNo(Object obj);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IRuleGroup.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IRuleGroup.java
deleted file mode 100644
index dabcee8..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IRuleGroup.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-/**
- * This type represents a group of rules which a validator checks. For now, the only grouping is by
- * speed: if a set of rules can be checked quickly, it will be included in the PASS_FAST group,
- * otherwise, it is grouped in the PASS_FULL group.
- * 
- * In future, this could be extended to include severities. To be able to group by severity helps
- * with the MessageLimitException. A validator should report errors first, and then warnings, and
- * then infos, in order to avoid the message limit being reached before the most severe problems are
- * reported.
- */
-public interface IRuleGroup {
-	// The following filters are used to identify a group of validation checks.
-
-	// retrieves the type of pass, from the IValidationContext, which the validator should execute
-	public static final String PASS_LEVEL = "PASS_LEVEL"; //$NON-NLS-1$
-
-	// On the FAST_PASS, the validator should check the rules which do not
-	// take much time to check, and exclude the rules which are valid only
-	// before some action (e.g. exporting or deploying).
-	// 
-	// The severity of the messages is irrelevant.
-	public static final int PASS_FAST = 0x1;
-	public static final String PASS_FAST_NAME = "fast"; //$NON-NLS-1$ // In plugin.xml, identify this pass by this constant
-
-	// On the FULL_PASS, the validator should check everything. This is the default.
-	public static final int PASS_FULL = 0x2 | PASS_FAST;
-	public static final String PASS_FULL_NAME = "full"; //$NON-NLS-1$ // In plugin.xml, identify this pass by this constant
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IWorkbenchContext.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IWorkbenchContext.java
deleted file mode 100644
index 49d677f..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IWorkbenchContext.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-
-
-
-
-/**
- * In the eclipse environment, not only does the IValidationContext need to be able to load the MOF model, it
- * also needs to load items from the eclipse workbench. This interface should be extended by
- * workbench IHelpers, so that items can be added to, and from, the task list.
- */
-public interface IWorkbenchContext extends IValidationContext {
-	/**
-	 * When the validation is complete, this method will be called so that the IWorkbenchContext can
-	 * clean up any resources it allocated during the validation.
-	 * 
-	 * If the cleanup is a long-running operation, subtask messages should be sent to the IReporter.
-	 */
-	public void cleanup(WorkbenchReporter reporter);
-
-	/**
-	 * When the IProject is closing, perform any cleanup that needs to be done. When this method is
-	 * called, if the helper has cached any resources from the IProject, it should release those
-	 * resources. If you do not allocate resources in your helper, then this method should be a
-	 * no-op.
-	 */
-	public void closing();
-
-	/**
-	 * When the IProject is being deleted, perform any cleanup that needs to be done. When this
-	 * method is called, if the helper has cached any resources from the IProject, it should release
-	 * those resources. If you do not allocate resources in your helper, then this method should be
-	 * a no-op.
-	 */
-	public void deleting();
-
-	/**
-	 * Given an Object, if the object has a corresponding IFile in the workbench, return the IFile.
-	 * Otherwise return null.
-	 * 
-	 * This method is used by the WorkbenchReporter. In eclipse, in order to add or remove a task
-	 * list entry, the IResource, to which the entry applies, must be identified. The IReporter
-	 * interface passes in an Object in these methods:
-	 * 
-	 * addValidationMessage(IValidator, IMessage) // Object is a part of IMessage
-	 * 
-	 * removeAllMessages(IValidator, Object),
-	 * 
-	 * Thus, the WorkbenchReporter needs to know how, given the Object, which IFile that the Object
-	 * represents in the workbench, in order to be able to add the task list entry.
-	 * 
-	 * If this method returns null, then the WorkbenchReporter will add the message to the IProject
-	 * instead of an IFile.
-	 * 
-	 * @deprecated Implement getResource(Object) instead.
-	 */
-	public IFile getFile(Object object);
-
-	/**
-	 * Given an Object, if the object has a corresponding IResource in the workbench, return the
-	 * IResourcee. Otherwise return null.
-	 * 
-	 * This method is used by the WorkbenchReporter. In eclipse, in order to add or remove a task
-	 * list entry, the IResource, to which the entry applies, must be identified. The IReporter
-	 * interface passes in an Object in these methods:
-	 * 
-	 * addValidationMessage(IValidator, IMessage) // Object is a part of IMessage
-	 * 
-	 * removeAllMessages(IValidator, Object),
-	 * 
-	 * Thus, the WorkbenchReporter needs to know how, given the Object, which IFile that the Object
-	 * represents in the workbench, in order to be able to add the task list entry.
-	 * 
-	 * If this method returns null, then the WorkbenchReporter will add the message to the IProject
-	 * instead of an IResource.
-	 */
-	public IResource getResource(Object object);
-
-	/**
-	 * Given an IMessage's target object, return the line number, of the IFile, which the target
-	 * object represents, if possible. If the object is null, or if access to line numbers is not
-	 * possible, return a text description of the location.
-	 * 
-	 * This method will be called whether or not the IResource is an IFile, IFolder, or IProject.
-	 * Line numbers are valid only for IFile types; if the resource is not an IFile, then a text
-	 * description of the location must be returned.
-	 */
-	public String getLocation(Object object);
-
-	/**
-	 * Return the name of the resource, without the project-specific information in front.
-	 * 
-	 * This method is used by ValidationOperation to calculate the non-environment specific names of
-	 * the files. Only the IWorkbenchContext implementation knows how much information to strip off
-	 * of the IResource name. For example, if there is an EJB Project named "MyEJBProject", and it
-	 * uses the default names for the source and output folders, "source" and "ejbModule",
-	 * respectively, then the current implementation of EJB Helper knows how much of that structure
-	 * is eclipse-specific.
-	 * 
-	 * Since the "source" folder contains Java source files, a portable name would be the
-	 * fully-qualified name of the Java class, without the eclipse-specific project and folder names
-	 * in front of the file name. The EJBHelper knows that everything up to the "source" folder, for
-	 * example, can be removed, because, according to the definition of the EJB Project, everything
-	 * contained in the source folder is java source code. So if there is an IResource in an EJB
-	 * Project named "/MyEJBProject/source/com/ibm/myclasses/MyJavaFile.java", this method would
-	 * make this name portable by stripping off the "/MyEJBProject/source", and returning
-	 * "com/ibm/myclasses/MyJavaFile.java".
-	 * 
-	 * The output of this method is used by the ValidationOperation, when it is calculating the list
-	 * of added/changed/deleted file names for incremental validation. If getPortableName(IResource)
-	 * returns null, that means that the IWorkbenchContext's implementation does not support that
-	 * particular type of resource, and the resource should not be included in the array of
-	 * IFileDelta objects in the IValidator's "validate" method.
-	 */
-	public String getPortableName(IResource resource);
-
-	/**
-	 * Return the IProject which is about to be validated. Each IWorkbenchContext knows how to
-	 * traverse a certain type of IProject, for example, an EJB project or a web project.
-	 */
-	public IProject getProject();
-
-	/**
-	 * When an IValidator associates a target object with an IMessage, the WorkbenchReporter
-	 * eventually resolves that target object with an IResource. Sometimes more than one target
-	 * object resolves to the same IResource (usually the IProject, which is the default IResource
-	 * when an IFile cannot be found). This method is called, by the WorkbenchReporter, so that the
-	 * WorkbenchReporter can distinguish between the IMessages which are on the same IResource, but
-	 * refer to different target objects. This is needed for the removeAllMessages(IValidator,
-	 * Object) method, so that when one target object removes all of its messages, that it doesn't
-	 * remove another target object's messages.
-	 * 
-	 * This method may return null only if object is null. Otherwise, an id which can uniquely
-	 * identify a particular object must be returned. The id needs to be unique only within one
-	 * particular IValidator.
-	 */
-	public String getTargetObjectName(Object object);
-
-	/**
-	 * Whether full or incremental validation is running, this method will be called, by the
-	 * Validation Framework, for every IResource which is filtered in by the IValidator, so that the
-	 * IValidationContext can receive notification that one of the resources, which validation will run on, is
-	 * being filtered in.
-	 */
-	public void registerResource(IResource resource);
-
-	/**
-	 * This method is called by the Validation Framework, to initialize the IWorkbenchContext so that
-	 * it can gather information from the current project.
-	 */
-	public void setProject(IProject project);
-
-	/**
-	 * Notifies this IWorkbenchContext that the Validation Framework is shutting down. There will be
-	 * calls to closing(IProject) and possibly deleting(IProject) following this call, but the
-	 * resources may already be closed by the time that those methods are called, so EVERYTHING
-	 * should be cleaned up in this method. The parameter passed in is the project which is about to
-	 * shut down. This method will be called once for every IProject in the workbench. The IProject
-	 * may, or may not, be closed.
-	 */
-	public void shutdown();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/LocalizedMessage.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/LocalizedMessage.java
deleted file mode 100644
index 2472f76..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/LocalizedMessage.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import java.util.Locale;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.core.Message;
-
-
-/**
- * This class is provided for validators which run only in UI and whose messages, because they
- * come from another tool, are already localized. LocalizedMessage cannot be used by any validator
- * which needs to run in both WebSphere and WSAD.
- */
-public class LocalizedMessage extends Message {
-	private String _message = null;
-
-	public LocalizedMessage(int severity, String messageText) {
-		this(severity, messageText, null);
-	}
-
-	public LocalizedMessage(int severity, String messageText, IResource targetObject) {
-		this(severity, messageText, (Object) targetObject);
-	}
-
-	public LocalizedMessage(int severity, String messageText, Object targetObject) {
-		super(null, severity, null);
-		setLocalizedMessage(messageText);
-		setTargetObject(targetObject);
-	}
-
-	public void setLocalizedMessage(String message) {
-		_message = message;
-	}
-
-	public String getLocalizedMessage() {
-		return _message;
-	}
-
-	public String getText() {
-		return getLocalizedMessage();
-	}
-
-	public String getText(ClassLoader cl) {
-		return getLocalizedMessage();
-	}
-
-	public String getText(Locale l) {
-		return getLocalizedMessage();
-	}
-
-	public String getText(Locale l, ClassLoader cl) {
-		return getLocalizedMessage();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualValidatorsOperation.java
deleted file mode 100644
index 242b07d..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualValidatorsOperation.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * Instances of this operation run every enabled validator (both full and incremental) on the
- * project.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class ManualValidatorsOperation extends ValidatorSubsetOperation {
-
-	public ManualValidatorsOperation(IProject project) {
-		super(project, DEFAULT_FORCE, RegistryConstants.ATT_RULE_GROUP_DEFAULT, false);
-		setEnabledValidators(ValidatorManager.getManager().getManualEnabledValidators(project));
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/OneValidatorOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/OneValidatorOperation.java
deleted file mode 100644
index c11ec1d..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/OneValidatorOperation.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * This operation runs a single validator on a project.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class OneValidatorOperation extends ValidatorSubsetOperation {
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use OneValidatorOperation(project, validatorId,
-	 *             boolean, boolean)
-	 */
-	public OneValidatorOperation(IProject project, String validatorId) throws IllegalArgumentException {
-		this(project, validatorId, DEFAULT_FORCE, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use OneValidatorOperation(project, validatorId,
-	 *             boolean, boolean)
-	 */
-	public OneValidatorOperation(IProject project, String validatorId, boolean force) throws IllegalArgumentException {
-		this(project, validatorId, force, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use OneValidatorOperation(IProject, String,
-	 *             boolean, int, boolean)
-	 */
-	public OneValidatorOperation(IProject project, String validatorId, boolean force, int ruleGroup) throws IllegalArgumentException {
-		this(project, validatorId, force, ruleGroup, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @param validatorId
-	 *            The plugin id of the validator which you wish to run.
-	 * @param force
-	 *            If the value is "true", the validator should be run regardless of what the
-	 *            environment settings are; if the value is "false", this operation should be run
-	 *            only if the validation builder will not run the validator.
-	 * 
-	 * IllegalArgumentException will be thrown if the named validator is not configured on the
-	 * project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public OneValidatorOperation(IProject project, String validatorId, boolean force, boolean async) throws IllegalArgumentException {
-		this(project, validatorId, force, RegistryConstants.ATT_RULE_GROUP_DEFAULT, async);
-	}
-
-	/**
-	 * OneValidatorOperation constructor comment.
-	 * 
-	 * @param project
-	 *            org.eclipse.core.resources.IProject
-	 * @param validatorId
-	 *            The plugin id of the validator which you wish to run.
-	 * @param force
-	 *            If the value is "true", the validator should be run regardless of what the
-	 *            environment settings are; if the value is "false", this operation should be run
-	 *            only if the validation builder will not run the validator.
-	 * @param ruleGroup
-	 *            Whether a FULL or FAST pass should be invoked.
-	 * 
-	 * IllegalArgumentException will be thrown if the named validator is not configured on the
-	 * project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public OneValidatorOperation(IProject project, String validatorId, boolean force, int ruleGroup, boolean async) throws IllegalArgumentException {
-		super(project, force, ruleGroup, async);
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorId);
-		if (vmd == null) {
-			// No validator, with that plugin id, can be run on that project.
-			// Either the validator isn't installed, or the IProject passed in
-			// doesn't have the necessary nature.
-			throw new IllegalArgumentException(validatorId);
-		}
-
-		if (!vmd.isConfiguredOnProject(project)) {
-			// No validator, with that plugin id, can be run on that project.
-			// Either the validator isn't installed, or the IProject passed in
-			// doesn't have the necessary nature.
-			throw new IllegalArgumentException(validatorId);
-		}
-
-		Set enabled = new HashSet();
-		enabled.add(vmd);
-		setEnabledValidators(enabled);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidator.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidator.java
deleted file mode 100644
index a2e1fcc..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on May 3, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.validation.internal.operations;
-
-import java.util.List;
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public interface ReferencialFileValidator {
-	public List getReferencedFile(List inputFiles);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidatorHelper.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidatorHelper.java
deleted file mode 100644
index 1dbe0bd..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidatorHelper.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on May 4, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.validation.internal.operations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class ReferencialFileValidatorHelper {
-	/**
-	 *  
-	 */
-	public ReferencialFileValidatorHelper() {
-		super();
-	}
-
-	/**
-	 * return a list of all files contained in project to infinite depth
-	 */
-	public static List getAllProjectFiles(IProject project) {
-		List result = new ArrayList();
-		if (project == null)
-			return result;
-		try {
-			result = collectFiles(project.members(), result);
-		} catch (CoreException e) {
-			//Ignore
-		}
-		return result;
-	}
-
-	private static List collectFiles(IResource[] members, List result) throws CoreException {
-		// recursively collect files for the given members
-		for (int i = 0; i < members.length; i++) {
-			IResource res = members[i];
-			if (res instanceof IFolder) {
-				collectFiles(((IFolder) res).members(), result);
-			} else if (res instanceof IFile) {
-				result.add(res);
-			}
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ResourceHandler.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ResourceHandler.java
deleted file mode 100644
index fe47c03..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ResourceHandler.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-/**
- * @deprecated For use by the validation framework only. This class retrieves the Strings from the
- *             .properties file appropriate for the machine's Locale.
- */
-public final class ResourceHandler extends org.eclipse.wst.validation.internal.ResourceHandler {
-	//Default
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/TaskListHelper.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/TaskListHelper.java
deleted file mode 100644
index 8532dc1..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/TaskListHelper.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-
-
-
-/**
- * @deprecated This class is intended to be used only by the validation framework. The
- *             TaskListHelper class will be removed in Milestone 4.
- */
-public class TaskListHelper {
-	private static TaskListHelper _taskListHelper = null;
-
-	public static TaskListHelper getTaskList() {
-		if (_taskListHelper == null) {
-			_taskListHelper = new TaskListHelper();
-		}
-		return _taskListHelper;
-	}
-
-	/**
-	 * This method adds a message to a resource in the task list.
-	 */
-	public void addTask(String pluginId, IResource resource, String location, String messageId, String message, int markerType, String targetObjectName, String groupName, int offset, int length) throws CoreException {
-		TaskListUtility.addTask(pluginId, resource, location, messageId, message, markerType, targetObjectName, groupName, offset, length);
-	}
-
-
-	public IMarker[] getValidationTasks(int severity, IProject project) {
-		return TaskListUtility.getValidationTasks(severity, project);
-	}
-
-	public IMarker[] getValidationTasks(IResource resource, int severity) {
-		return TaskListUtility.getValidationTasks(resource, severity);
-	}
-
-	public IMarker[] getValidationTasks(IResource resource, String messageOwner) {
-		return TaskListUtility.getValidationTasks(resource, messageOwner);
-	}
-
-	public IMarker[] getValidationTasks(IResource resource, String[] messageOwners) {
-		return TaskListUtility.getValidationTasks(resource, messageOwners);
-	}
-
-	/**
-	 * Remove all validation messages from the resource and its children.
-	 */
-	public void removeAllTasks(IResource resource) {
-		TaskListUtility.removeAllTasks(resource);
-	}
-
-	/**
-	 * This method removes all tasks from the resource. If the resource is an IProject, all tasks
-	 * are also removed from the project's children.
-	 */
-	public void removeAllTasks(IResource resource, String[] owners) throws CoreException {
-		TaskListUtility.removeAllTasks(resource, owners);
-	}
-
-	/**
-	 * This method removes all messages from a resource in the task list.
-	 */
-	public void removeAllTasks(IResource resource, String owner, String objectName) throws CoreException {
-		TaskListUtility.removeAllTasks(resource, owner, objectName);
-	}
-
-	public void removeAllTasks(IResource resource, String[] owners, String objectName) throws CoreException {
-		TaskListUtility.removeAllTasks(resource, owners, objectName);
-	}
-
-	/**
-	 * This method removes a subset of tasks from the project, including child tasks. Every task
-	 * which belongs to the group, identified by groupName, will be removed.
-	 */
-	public void removeTaskSubset(IResource resource, String[] owners, String objectName, String groupName) throws CoreException {
-		TaskListUtility.removeTaskSubset(resource, owners, objectName, groupName);
-	}
-
-	/**
-	 * This method changes all validator markers which are owned by "from" to make their owner "to".
-	 */
-	public void updateOwner(String from, String to) throws CoreException {
-		TaskListUtility.updateOwner(from, to);
-	}
-
-	/**
-	 * This method changes all validator markers on the IResource and its children. All markers
-	 * owned by "from" have their owner reassigned to "to".
-	 */
-	public void updateOwner(String from, String to, IResource resource) throws CoreException {
-		TaskListUtility.updateOwner(from, to, resource);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java
deleted file mode 100644
index 509d239..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.TimeEntry;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Validation Framework Builder.
- * 
- * This builder is configured on J2EE IProjects automatically, can be added to other types of
- * projects through the Properties page, and launches validation on the project if the project has
- * build validation enabled.
- */
-public class ValidationBuilder extends IncrementalProjectBuilder {
-	public static final int NO_DELTA_CHANGE = -1; // Since IResourceConstants
-	protected List referencedProjects;
-	protected IWorkbenchContext workbenchContext = null;
-
-	// doesn't have a "no delta"
-	// flag, let this constant be
-	// the flag.
-	public ValidationBuilder() {
-		super();
-	}
-
-	private IProject[] getAllReferencedProjects(IProject project, Set visitedProjects) {
-		if (visitedProjects == null)
-			visitedProjects = new HashSet();
-		else if (visitedProjects.contains(project))
-			return getReferencedProjects();
-		else
-			visitedProjects.add(project);
-		if (referencedProjects == null)
-			referencedProjects = new ArrayList();
-		try {
-			if (project.isAccessible()) {
-				IProject[] refProjArray = project.getReferencedProjects();
-				collectReferecedProject(refProjArray);
-				for (int i = 0; i < refProjArray.length; i++) {
-					IProject refProject = refProjArray[i];
-					getAllReferencedProjects(refProject, visitedProjects);
-				}
-			}
-			return getReferencedProjects();
-		} catch (CoreException core) {
-			return null;
-		}
-	}
-	
-	public IWorkbenchContext getWorkbenchContext() {
-		if(workbenchContext == null) {
-			workbenchContext = new WorkbenchContext();
-			workbenchContext.setProject(getProject());
-		}
-		return workbenchContext;
-	}
-
-
-	/**
-	 * @param referencedProjects2
-	 * @param refProjArray
-	 */
-	private void collectReferecedProject(IProject[] refProjArray) {
-		for (int i = 0; i < refProjArray.length; i++) {
-			IProject project = refProjArray[i];
-			if (!referencedProjects.contains(project))
-				referencedProjects.add(project);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.resources.IncrementalProjectBuilder#clean(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void clean(IProgressMonitor monitor) throws CoreException {
-		IProject currentProject = getProject();
-		if (currentProject == null || !currentProject.isAccessible())
-			return;
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(currentProject);
-			ValidatorMetaData[] vmds = prjp.getValidators();
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = vmds[i];
-				// For validators who aren't going to run, clear their messages from the task list.
-				// Don't need to check for duplicate entries because each Validator must be unique.
-				// The uniqueness of each Validator is checked by the plugin registry.
-				WorkbenchReporter.removeAllMessages(currentProject, vmd.getValidatorNames(), null);
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.updateTaskList(" + currentProject.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-
-	}
-
-	/**
-	 * @param referencedProjects
-	 * @return
-	 */
-	private IProject[] getReferencedProjects() {
-		IProject[] refProjArray = new IProject[referencedProjects.size()];
-		for (int i = 0; i < referencedProjects.size(); i++) {
-			refProjArray[i] = (IProject) referencedProjects.get(i);
-		}
-		return refProjArray;
-	}
-
-	public IProject[] build(int kind, Map parameters, IProgressMonitor monitor) {
-		long start = System.currentTimeMillis();
-		int executionMap = 0x0;
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		IResourceDelta delta = null;
-		IProject project = getProject();
-		IProject[] referenced = getAllReferencedProjects(project, null);
-		try {
-			if (ValidatorManager.getManager().isSuspended(project)) {
-				// Do not perform validation on this project
-				executionMap |= 0x1;
-				return referenced;
-			}
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			delta = getDelta(project);
-			boolean doFullBuild = (kind == FULL_BUILD);
-			boolean doAutoBuild = ((delta != null) && (kind == AUTO_BUILD));
-			boolean doIncrementalBuild = ((delta != null) && (kind == INCREMENTAL_BUILD));
-//			if ((doFullBuild || doIncrementalBuild) && !prjp.isBuildValidate()) {
-//				// Is a build validation about to be invoked? If so, does the
-//				// user want build validation to run?
-//				executionMap |= 0x2;
-//				return referenced;
-//			}
-			// It is possible for kind to == AUTO_BUILD while delta is null
-			// (saw this
-			// when creating a project by copying another project.)
-			// However, a "Rebuild Project" will invoke this builder with
-			// kind==FULL_BUILD
-			// and a null delta, and validation should run in that case.
-			if (!doFullBuild && delta == null) {
-				if (isReferencedProjectInDelta(referenced)) {
-					performFullBuildForReferencedProjectChanged(monitor, prjp);
-				} else {
-					String[] msgParms = new String[]{project.getName()};
-					monitor.subTask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_NULL_DELTA, msgParms));
-					// A null delta means that a full build must be performed,
-					// but this builder was invoked with an incremental or
-					// automatic
-					// build kind. Return without doing anything so that the
-					// user
-					// doesn't have to wait forever.
-					executionMap |= 0x4;
-				}
-				return referenced;
-			}
-			if (doFullBuild) {
-				performFullBuild(monitor, prjp);
-			} else {
-//				if (doAutoBuild && !prjp.isAutoValidate()) {
-//					executionMap |= 0x8;
-//					return referenced;
-//				}
-				if (delta.getAffectedChildren().length == 0) {
-					if (isReferencedProjectInDelta(referenced))
-						performFullBuildForReferencedProjectChanged(monitor, prjp);
-					else
-						executionMap |= 0x10;
-					return referenced;
-				}
-				EnabledIncrementalValidatorsOperation operation = new EnabledIncrementalValidatorsOperation(project, delta, false);
-				operation.run(monitor);
-			}
-			return referenced;
-		} catch (InvocationTargetException exc) {
-			logInvocationTargetException(logger, exc);
-			executionMap |= 0x20;
-			return referenced;
-		} catch (Throwable exc) {
-			logBuildError(logger, exc);
-			executionMap |= 0x40;
-			return referenced;
-		} finally {
-			referencedProjects = null;
-			// The builder's time needs to be FINE because the builder is
-			// called often.
-			if (logger.isLoggingLevel(Level.FINE)) {
-				logBuilderTimeEntry(start, executionMap, logger, delta);
-			}
-		}
-	}
-
-	/**
-	 * @param referenced
-	 * @return
-	 */
-	private boolean isReferencedProjectInDelta(IProject[] referenced) {
-		IProject p = null;
-		for (int i = 0; i < referenced.length; i++) {
-			p = referenced[i];
-			IResourceDelta delta = getDelta(p);
-			if (delta != null && delta.getAffectedChildren().length > 0)
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @param monitor
-	 * @param prjp
-	 */
-	private void performFullBuildForReferencedProjectChanged(IProgressMonitor monitor, ProjectConfiguration prjp) throws InvocationTargetException {
-		performFullBuild(monitor, prjp, true);
-	}
-
-	private void performFullBuild(IProgressMonitor monitor, ProjectConfiguration prjp) throws InvocationTargetException {
-		performFullBuild(monitor, prjp, false);
-	}
-
-	private void performFullBuild(IProgressMonitor monitor, ProjectConfiguration prjp, boolean onlyDependentValidators) throws InvocationTargetException {
-		ValidatorMetaData[] enabledValidators = prjp.getEnabledFullBuildValidators(true, onlyDependentValidators);
-		if ((enabledValidators != null) && (enabledValidators.length > 0)) {
-			Set enabledValidatorsSet = InternalValidatorManager.wrapInSet(enabledValidators);
-			EnabledValidatorsOperation op = new EnabledValidatorsOperation(getProject(), enabledValidatorsSet,false);
-			op.run(monitor);
-		}
-	}
-
-	private void logInvocationTargetException(Logger logger, InvocationTargetException exc) {
-		if (logger.isLoggingLevel(Level.SEVERE)) {
-			LogEntry entry = ValidationPlugin.getLogEntry();
-			entry.setSourceID("ValidationBuilder::build"); //$NON-NLS-1$
-			entry.setTargetException(exc);
-			logger.write(Level.SEVERE, entry);
-			if (exc.getTargetException() != null) {
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	private void logBuildError(Logger logger, Throwable exc) {
-		if (logger.isLoggingLevel(Level.SEVERE)) {
-			LogEntry entry = ValidationPlugin.getLogEntry();
-			entry.setSourceID("ValidationBuilder.build(int, Map, IProgressMonitor)"); //$NON-NLS-1$
-			entry.setTargetException(exc);
-			logger.write(Level.SEVERE, entry);
-		}
-	}
-
-	private void logBuilderTimeEntry(long start, int executionMap, Logger logger, IResourceDelta delta) {
-		TimeEntry entry = ValidationPlugin.getTimeEntry();
-		entry.setSourceID("ValidationBuilder.build(int, Map, IProgressMonitor)"); //$NON-NLS-1$
-		entry.setProjectName(getProject().getName()); //$NON-NLS-1$  //$NON-NLS-2$
-		entry.setExecutionMap(executionMap);
-		entry.setElapsedTime(System.currentTimeMillis() - start);
-		if (delta == null) {
-			entry.setDetails("delta == null"); //$NON-NLS-1$
-		}
-		entry.setToolName("ValidationBuilder"); //$NON-NLS-1$
-		logger.write(Level.FINE, entry);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationConstants.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationConstants.java
deleted file mode 100644
index 1e37524..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationConstants.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-import org.eclipse.wst.validation.internal.ResourceConstants;
-
-/**
- * @deprecated For use by the validation framework only.
- * 
- * Constants used to access the string resources associated with the plugin.
- * 
- * See the plugin.properties file, in the plugin's directory, for the contents of the strings.
- */
-public interface ValidationConstants extends ResourceConstants {
-	//Default
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationOperation.java
deleted file mode 100644
index 4c76254..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationOperation.java
+++ /dev/null
@@ -1,1658 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress;
-import org.eclipse.wst.validation.internal.FilterUtil;
-import org.eclipse.wst.validation.internal.IProjectValidationHelper;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ReferencialFileValidatorRegistryReader;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.TimeEntry;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.core.EmptySchedulingRule;
-import org.eclipse.wst.validation.internal.core.IFileDelta;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.core.ValidatorLauncher;
-import org.eclipse.wst.validation.internal.plugin.ValidationHelperRegistryReader;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
-
-/**
- * Implemented Validators methods must not be called directly by anyone other than this class, since
- * some initialization of the validator is done here (via the getProject() method). The
- * initialization is separated because the IProject isn't known until runtime.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public abstract class ValidationOperation implements IWorkspaceRunnable, IHeadlessRunnableWithProgress {
-	public static final int NO_DELTA_CHANGE = -1; // Since IResourceConstants
-	// doesn't have a "no delta"
-	// flag, let this constant be
-	// the flag.
-	private static final String DELTA_AS_STRING = "IFileDelta[{0}] '{'{1}'}'"; //$NON-NLS-1$
-	private static final String COMMA = ", "; //$NON-NLS-1$
-	protected static final boolean DEFAULT_ASYNC = false; // For the deprecated
-	// constructors, by
-	// default the
-	// operation will not
-	// fork.
-	protected static final boolean DEFAULT_FORCE = true; // By default, run the
-	// operation whether
-	// or not it needs to
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use DEFAULT_ASYNC
-	 */
-	protected static final boolean DEFAULT_FORK = false; // @deprecated
-	private IProject _project = null; // project to be validated
-	private int _ruleGroup = RegistryConstants.ATT_RULE_GROUP_DEFAULT; // which
-	// pass
-	// should
-	// the
-	// validation
-	// invoke
-	private boolean _fork = DEFAULT_ASYNC; // do not fork the validation into a
-	// different thread by default
-	private Map _fileDeltas = null; // To reduce object creation,
-	private IResourceDelta _delta = null;
-	// the resource delta tree to be processed, or null if a full build/menu
-	// option was triggered. This value is cached so that validation can be run
-	// either from a builder, or from a menu item. (The Operation interface
-	// doesn't allow any parameter on execute except the IProgressMonitor.)
-	private Set _enabledValidators = null;
-	private boolean _force = DEFAULT_FORCE; // force this operation to run even
-	// if it doesn't need to?
-	private boolean _isFullValidate = false; // Run a full validation or an
-	// incremental? (true = full)
-	private Boolean _isAutoBuild = null; // Is the global auto-build preference
-	// enabled?
-	private Set _launchedValidators = null; // A list of the validators that
-	
-	protected IWorkbenchContext context;
-
-	// are enabled and were launched
-	// (i.e., that have input to
-	// validate). For internal
-	// validation framework use only;
-	// it's needed for the automatic
-	// tests.
-	/**
-	 * This method is used for FINEST logging, to report exactly what deltas were about to be
-	 * validated.
-	 */
-	private static final String getDeltaAsString(IFileDelta[] delta) {
-		String args = ""; //$NON-NLS-1$
-		int numArgs = 0;
-		if (delta != null) {
-			numArgs = delta.length;
-			StringBuffer buffer = new StringBuffer();
-			for (int i = 0; i < delta.length; i++) {
-				buffer.append(COMMA);
-				buffer.append(delta[i].toString());
-			}
-			buffer.replace(0, 1, ""); //$NON-NLS-1$ // magic numbers 0 and 1 => Remove first COMMA from the list (hence index 0); length of COMMA is 2, hence index 0, 1.
-			args = buffer.toString();
-		}
-		return MessageFormat.format(DELTA_AS_STRING, new String[]{String.valueOf(numArgs), args});
-	}
-
-	protected static void checkCanceled(WorkbenchReporter reporter) throws OperationCanceledException {
-		if (reporter == null) {
-			return;
-		} else if (reporter.getProgressMonitor().isCanceled()) {
-			throw new OperationCanceledException(""); //$NON-NLS-1$
-		}
-	}
-
-	protected static boolean shouldForce(IResourceDelta delta) {
-		return ((delta == null) ? DEFAULT_FORCE : false);
-	}
-
-	protected static boolean shouldForce(Object[] changedResources) {
-		return (((changedResources == null) || (changedResources.length == 0)) ? DEFAULT_FORCE : false);
-	}
-
-	/**
-	 * @deprecated. Will be removed in Milestone 3. Use ValidationOperation(project, boolean)
-	 */
-	public ValidationOperation(IProject project) {
-		this(project, DEFAULT_ASYNC, DEFAULT_FORCE);
-	}
-
-	/**
-	 * Internal.
-	 */
-	public ValidationOperation(IProject project, boolean force, boolean async) {
-		this(project, null, null, RegistryConstants.ATT_RULE_GROUP_DEFAULT, force, async);
-	}
-
-	/**
-	 * @deprecated. Will be removed in Milestone 3. Use ValidationOperation(project, int, boolean)
-	 */
-	public ValidationOperation(IProject project, int ruleGroup) {
-		this(project, null, null, ruleGroup, DEFAULT_FORCE, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated. Will be removed in Milestone 3. Use ValidationOperation(IProject,
-	 *              IResourceDelta, Boolean, int, boolean, boolean)
-	 */
-	public ValidationOperation(IProject project, IResourceDelta delta, boolean isAutoBuild, int ruleGroup, boolean force, boolean fork) {
-		this(project, delta, ((isAutoBuild) ? Boolean.TRUE : Boolean.FALSE), ruleGroup, fork, force);
-	}
-
-	/**
-	 * Internal.
-	 */
-	protected ValidationOperation(IProject project, IResourceDelta delta, Boolean isAutoBuild, int ruleGroup, boolean force, boolean fork) {
-		super();
-		_project = project;
-		_delta = delta;
-		_isAutoBuild = isAutoBuild;
-		_ruleGroup = ruleGroup;
-		_fork = fork;
-		_force = force;
-		_enabledValidators = new HashSet();
-	}
-	
-	/**
-	 * Internal.
-	 */
-	protected ValidationOperation(IProject project, IWorkbenchContext aContext, IResourceDelta delta, Boolean isAutoBuild, int ruleGroup, boolean force, boolean fork) {
-		super();
-		_project = project;
-		_delta = delta;
-		_isAutoBuild = isAutoBuild;
-		_ruleGroup = ruleGroup;
-		_fork = fork;
-		_force = force;
-		_enabledValidators = new HashSet();
-		context = aContext;
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3.
-	 */
-	protected void terminateCleanup(WorkbenchReporter reporter) {
-		Set enabledValidators = getEnabledValidators();
-		Iterator iterator = enabledValidators.iterator();
-		ValidatorMetaData vmd = null;
-		try {
-			while (iterator.hasNext()) {
-				vmd = (ValidatorMetaData) iterator.next();
-				reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_CLEANUP, new String[]{vmd.getValidatorDisplayName()}));
-				try {
-					reporter.removeAllMessages(vmd.getValidator());
-				} catch (InstantiationException exc) {
-					// Remove the vmd from the reader's list
-					ValidationRegistryReader.getReader().disableValidator(vmd);
-					// Log the reason for the disabled validator
-					final Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceID("ValidationOperation::terminateCleanup"); //$NON-NLS-1$
-						entry.setTargetException(exc);
-						logger.write(Level.SEVERE, entry);
-					}
-					continue;
-				}
-				addCancelTask(vmd);
-				reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED, new String[]{getProject().getName(), vmd.getValidatorDisplayName()}));
-			}
-		} catch (MessageLimitException e) {
-			ValidatorManager.getManager().addMessageLimitExceeded(getProject());
-		}
-	}
-
-	/**
-	 * @param vmd
-	 * @param delta
-	 * @param logger
-	 * @param start
-	 */
-//	private void logValidationInfo(ValidatorMetaData vmd, IFileDelta[] delta, Logger logger, long start) {
-//		long finish = System.currentTimeMillis();
-//		TimeEntry entry = ValidationPlugin.getTimeEntry();
-//		entry.setSourceID("ValidationOperation.launchValidator"); //$NON-NLS-1$
-//		entry.setProjectName(getProject().getName());
-//		entry.setToolName(vmd.getValidatorUniqueName());
-//		entry.setElapsedTime(finish - start);
-//		if (logger.isLoggingLevel(Level.FINE)) {
-//			StringBuffer buffer = new StringBuffer();
-//			if (isFullValidate()) {
-//				buffer.append("EVERYTHING"); //$NON-NLS-1$
-//			} else {
-//				if (delta.length == 0) {
-//					buffer.append("NOTHING"); //$NON-NLS-1$
-//				} else {
-//					buffer.append(getDeltaAsString(delta));
-//				}
-//			}
-//			entry.setDetails(buffer.toString());
-//		}
-//		logger.write(Level.INFO, entry);
-//	}
-
-	/**
-	 * @param reporter
-	 * @param vmd
-	 * @param logger
-	 * @param exc
-	 */
-//	private void handleThrowables(WorkbenchReporter reporter, ValidatorMetaData vmd, Logger logger, Throwable exc) {
-//		// If a runtime exception has occured, e.g. NullPointer or ClassCast,
-//		// display it with the "A runtime exception has occurred " messsage.
-//		// This will provide more information to the user when he/she calls IBM
-//		// Service.
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationPlugin.getLogEntry();
-//			entry.setSourceID("ValidationOperation::launchValidator"); //$NON-NLS-1$
-//			entry.setTargetException(exc);
-//			logger.write(Level.SEVERE, entry);
-//		}
-//		String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-//		Message message = ValidationPlugin.getMessage();
-//		message.setSeverity(IMessage.NORMAL_SEVERITY);
-//		message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-//		message.setParams(msgParm);
-//		try {
-//			reporter.addMessage(vmd.getValidator(), message);
-//		} catch (InstantiationException exc2) {
-//			handleInstantiationException(vmd, logger, exc2);
-//		} catch (MessageLimitException e) {
-//			throw e;
-//		}
-//		return;
-//	}
-
-	/**
-	 * @param vmd
-	 * @param logger
-	 * @param exc2
-	 */
-//	private void handleInstantiationException(ValidatorMetaData vmd, Logger logger, InstantiationException exc2) {
-//		// Remove the vmd from the reader's list
-//		ValidationRegistryReader.getReader().disableValidator(vmd);
-//		// Log the reason for the disabled validator
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationPlugin.getLogEntry();
-//			entry.setSourceID("ValidationOperation::launchValidator (deprecated)"); //$NON-NLS-1$
-//			entry.setTargetException(exc2);
-//			logger.write(Level.SEVERE, entry);
-//		}
-//	}
-
-	/**
-	 * @param reporter
-	 * @param vmd
-	 * @param logger
-	 * @param exc
-	 */
-//	private void handleValidationExceptions(WorkbenchReporter reporter, ValidatorMetaData vmd, Logger logger, ValidationException exc) {
-//		// First, see if a validator just caught all Throwables and
-//		// accidentally wrapped a MessageLimitException instead of propagating
-//		// it.
-//		if (exc.getAssociatedException() != null) {
-//			if (exc.getAssociatedException() instanceof MessageLimitException) {
-//				MessageLimitException mssgExc = (MessageLimitException) exc.getAssociatedException();
-//				throw mssgExc;
-//			} else if (exc.getAssociatedException() instanceof ValidationException) {
-//				try {
-//					ValidationException vexc = (ValidationException) exc.getAssociatedException();
-//					vexc.setClassLoader(vmd.getValidator().getClass().getClassLoader()); // first,
-//					// set the class loader,so that the exception's getMessage() method can retrieve
-//					// the resource bundle
-//				} catch (InstantiationException exc2) {
-//					handleInstantiationException(vmd, logger, exc2);
-//				}
-//			}
-//		}
-//		// If there is a problem with this particular validator, log the error
-//		// and continue
-//		// with the next validator.
-//		try {
-//			exc.setClassLoader(vmd.getValidator().getClass().getClassLoader()); // first,
-//			// set the class loader,so that the exception's getMessage() method can retrieve the
-//			// resource bundle
-//		} catch (InstantiationException exc2) {
-//			handleInstantiationException(vmd, logger, exc2);
-//		}
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationPlugin.getLogEntry();
-//			entry.setSourceID("ValidationOperation.validate(WorkbenchMonitor)"); //$NON-NLS-1$
-//			entry.setTargetException(exc);
-//			logger.write(Level.SEVERE, entry);
-//			if (exc.getAssociatedException() != null) {
-//				entry.setTargetException(exc.getAssociatedException());
-//				logger.write(Level.SEVERE, entry);
-//			}
-//		}
-//		String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-//		reporter.displaySubtask(message);
-//		if (exc.getAssociatedMessage() != null) {
-//			try {
-//				reporter.addMessage(vmd.getValidator(), exc.getAssociatedMessage());
-//			} catch (InstantiationException exc2) {
-//				handleInstantiationException(vmd, logger, exc2);
-//			}
-//		}
-//	}
-
-	/**
-	 * @param reporter
-	 * @param vmd
-	 * @param logger
-	 * @param exc
-	 */
-//	private void handleHelperCleanupExceptions(WorkbenchReporter reporter, ValidatorMetaData vmd, Logger logger, Throwable exc) {
-//		// If a runtime exception has occured, e.g. NullPointer or ClassCast,
-//		// display it with the "A runtime exception has occurred " messsage.
-//		// This will provide more information to the user when he/she calls IBM
-//		// Service.
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationPlugin.getLogEntry();
-//			entry.setSourceID("ValidationOperation::launchValidator"); //$NON-NLS-1$
-//			entry.setTargetException(exc);
-//			logger.write(Level.SEVERE, entry);
-//		}
-//		String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-//		Message message = ValidationPlugin.getMessage();
-//		message.setSeverity(IMessage.NORMAL_SEVERITY);
-//		message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-//		message.setParams(msgParm);
-//		try {
-//			reporter.addMessage(vmd.getValidator(), message);
-//		} catch (InstantiationException exc2) {
-//			handleInstantiationException(vmd, logger, exc2);
-//		} catch (MessageLimitException e) {
-//			throw e;
-//		}
-//		return;
-//	}
-
-	public boolean isFork() {
-		return _fork;
-	}
-
-	public boolean isForce() {
-		return _force;
-	}
-
-	public void setForce(boolean force) {
-		_force = force;
-	}
-
-	/**
-	 * If the code that invoked this operation suspended auto-build before invoking this operation,
-	 * the user's auto-build setting is stored in the following methods.
-	 */
-	public boolean isAutoBuild() {
-		if (_isAutoBuild == null) {
-			return ValidatorManager.getManager().isGlobalAutoBuildEnabled();
-		}
-		return _isAutoBuild.booleanValue();
-	}
-
-	protected void setAutoBuild(boolean autoOn) {
-		_isAutoBuild = ((autoOn) ? Boolean.TRUE : Boolean.FALSE);
-	}
-
-	protected boolean isFullValidate() {
-		return _isFullValidate;
-	}
-
-	private void setFullValidate(boolean b) {
-		_isFullValidate = b;
-	}
-
-	protected int getRuleGroup() {
-		return _ruleGroup;
-	}
-
-	/**
-	 * Return true if the given validator must run (i.e., it has changes to validate, and it was not
-	 * run automatically.)
-	 */
-	private boolean isValidationNecessary(ValidatorMetaData vmd, IFileDelta[] delta) {
-		// Validation is not necessary if:
-		//    1. auto-validation has run and the validator is incremental,
-		//    2. There are no files for the validator to validate.
-		// There are files to validate if this is a full validation or if the
-		// validator filtered in some of the deltas.
-		boolean autoValidateRan = false;
-		if (_isAutoBuild != null) {
-			// User set the autoBuild default, so check if validation is
-			// necessary or not.
-			autoValidateRan = ValidatorManager.getManager().isAutoValidate(getProject(), _isAutoBuild.booleanValue()) && vmd.isIncremental();
-		}
-		boolean hasFiles = (isFullValidate() || (delta.length > 0));
-		return (!autoValidateRan && hasFiles);
-	}
-
-	/**
-	 * Return true if, given the enabled validators and file deltas, there is work for this
-	 * operation to do.
-	 */
-	public boolean isNecessary(IProgressMonitor monitor) throws CoreException, OperationCanceledException {
-		Set enabledValidators = getEnabledValidators();
-		if ((enabledValidators == null) || (enabledValidators.size() == 0)) {
-			return false;
-		}
-		if (isFullValidate()) {
-			return true;
-		}
-		Iterator iterator = enabledValidators.iterator();
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			if (isValidationNecessary(vmd, getFileDeltas(monitor, vmd))) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private Map getFileDeltas(IProgressMonitor monitor) throws CoreException {
-		if (_fileDeltas == null) {
-			loadFileDeltas(monitor);
-		}
-		return _fileDeltas;
-	}
-
-	private IFileDelta[] getFileDeltas(IProgressMonitor monitor, ValidatorMetaData vmd) throws CoreException {
-		Set result = (Set) getFileDeltas(monitor).get(vmd);
-		if (result == null) {
-			return new IFileDelta[0];
-		}
-		IFileDelta[] temp = new IFileDelta[result.size()];
-		result.toArray(temp);
-		return temp;
-	}
-
-	/**
-	 * Store the file deltas (VMD <=>Set[IFileDelta]) if the file deltas haven't been loaded. If the
-	 * deltas have already been loaded, return without doing anything.
-	 */
-	private void loadFileDeltas(IProgressMonitor monitor) throws CoreException {
-		// Although, for a full build, we don't build up a list of changed
-		// files, we do need to notify each IWorkbenchContext that an
-		// IResource has been filtered in.
-		// It's a full validation if the IResourceDelta is null and the
-		// Object[] (or IResource[]) is also null.
-		// i.e., it's a full validation if no incremental input has been set.
-		setFullValidate((getDelta() == null) && (_fileDeltas == null));
-		if (isFullValidate()) {
-			_fileDeltas = FilterUtil.loadDeltas(monitor, getEnabledValidators(), getProject());
-		} else {
-			_fileDeltas = FilterUtil.loadDeltas(monitor, getEnabledValidators(), getDelta()); // traverse,
-			// and process, each resource in the delta tree
-		}
-	}
-
-	protected void setFileDeltas(Map deltas) {
-		_fileDeltas = deltas;
-	}
-
-	protected IResourceDelta getDelta() {
-		return _delta;
-	}
-
-	protected void setDelta(IResourceDelta delta) {
-		_delta = delta;
-	}
-
-	protected boolean areValidatorsEnabled() {
-		return (getEnabledValidators().size() != 0);
-	}
-
-	/**
-	 * Return the validators which are both configured on this type of project, (as stored in
-	 * getProject()), and enabled by the user on this project.
-	 */
-	public Set getEnabledValidators() {
-		return _enabledValidators;
-	}
-
-	/**
-	 * This is an internal method, subject to change without notice. It is provided only for the
-	 * automated validation framework tests.
-	 */
-	public Set getLaunchedValidators() {
-		if (_launchedValidators == null) {
-			_launchedValidators = new HashSet();
-		}
-		return _launchedValidators;
-	}
-
-	protected void setEnabledValidators(Set evmds) {
-		// Check that every VMD in the set is configured on this project.
-		// Necessary because the user can manually choose which validators
-		// to launch, and the validator may not be installed.
-		_enabledValidators.clear();
-		Iterator iterator = evmds.iterator();
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			if (ValidationRegistryReader.getReader().isConfiguredOnProject(vmd, getProject())) {
-				_enabledValidators.add(vmd);
-			}
-		}
-	}
-
-	/**
-	 * This method returns the IProject that this ValidationOperation was created with.
-	 */
-	public IProject getProject() {
-		return _project;
-	}
-
-	protected int getUnitsOfWork() {
-		/*
-		 * // Let one unit of work equal one resource. number of enabled validators // i.e., each
-		 * enabled validator must process (at most) each resource in the project; count each process
-		 * as one unit of work // Note that this is a ceiling number, because if we're doing an
-		 * incremental validation, not all resources will // be validated.
-		 * setNumResources(countResources(getProject())); getEnabledValidators().size();
-		 */
-		// Until the validators can report units-of-work complete,
-		// initialize the monitor with an unknown amount of work.
-		// (So the user will see movement in the progress bar, even
-		// if the movement doesn't indicate the amount of work done.)
-		return IProgressMonitor.UNKNOWN;
-	}
-
-	/**
-	 * If the user is cancelling validation on the current project/resource, Add an information task
-	 * to the task list informing the user that validation has not been run on the current project.
-	 */
-	protected void addCancelTask(ValidatorMetaData vmd) {
-		InternalValidatorManager.getManager().addOperationTask(getProject(), vmd, ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-	}
-
-	/**
-	 * This method starts the validation of each configured enabled validator on the current
-	 * project.
-	 * 
-	 * The IProgressMonitor passed in must not be null.
-	 */
-	public void run(IProgressMonitor progressMonitor) throws OperationCanceledException {
-		long start = System.currentTimeMillis();
-		final Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		try {
-			// In order to check whether or not the monitor has been cancelled,
-			// the monitor must not be null.
-			if (progressMonitor == null) {
-				return;
-			}
-			if (ValidatorManager.getManager().isSuspended(getProject())) {
-				return;
-			}
-			if (!areValidatorsEnabled()) {
-				// save some processing time...
-				return;
-			}
-			if (ValidatorManager.getManager().getMaximumMessagesAllowed(getProject()) == 0) {
-				// save some processing time
-				return;
-			}
-			final WorkbenchReporter reporter = new WorkbenchReporter(getProject(), progressMonitor);
-
-			try {
-				// Periodically check if the user has cancelled the operation
-				checkCanceled(reporter);
-				preValidate(reporter);
-				validate(reporter);
-				validateReferencialFiles(reporter);
-			} catch (CoreException exc) {
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationOperation.run"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		} finally {
-			if (logger.isLoggingLevel(Level.FINE)) {
-				long finish = System.currentTimeMillis();
-				TimeEntry entry = ValidationPlugin.getTimeEntry();
-				entry.setSourceID("ValidationOperation.run(WorkbenchMonitor)"); //$NON-NLS-1$
-				entry.setProjectName(getProject().getName());
-				entry.setToolName("ValidationOperation"); //$NON-NLS-1$
-				entry.setElapsedTime(finish - start);
-				logger.write(Level.FINE, entry);
-			}
-		}
-	}
-
-	/**
-	 * @param reporter
-	 */
-	private void validateReferencialFiles(WorkbenchReporter reporter) {
-		ReferencialFileValidatorRegistryReader reader = ReferencialFileValidatorRegistryReader.getInstance();
-		if (reader != null) {
-			reader.readRegistry();
-			ReferencialFileValidator refFileValidator = reader.getReferencialFileValidator();
-			if (refFileValidator != null) {
-				if (_delta != null) {
-					refFileValidateFileDelta(reporter, refFileValidator);
-				} else if (_project != null) {
-					postValidateProject(reporter, refFileValidator);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @param reporter
-	 * @param referencialFileValidator
-	 */
-	private void refFileValidateFileDelta(WorkbenchReporter reporter, ReferencialFileValidator refFileValidator) {
-		IResourceDelta[] resourceDelta = _delta.getAffectedChildren(IResourceDelta.ADDED | IResourceDelta.CHANGED | IResourceDelta.REMOVED);
-		List inputFiles = new ArrayList();
-		List referencingFiles = new ArrayList();
-		if (resourceDelta != null && resourceDelta.length > 0) {
-			for (int i = 0; i < resourceDelta.length; i++) {
-				IResource resource = resourceDelta[i].getResource();
-				if (resource instanceof IFolder) {
-					getFileResourceDeltaInFolder(resourceDelta[i], inputFiles);
-				} else if (resource instanceof IFile)
-					inputFiles.add(resource);
-			}
-			List rFilesToValidate = refFileValidator.getReferencedFile(inputFiles);
-			if (rFilesToValidate != null && !rFilesToValidate.isEmpty())
-				referencingFiles.addAll(rFilesToValidate);
-			try {
-				if (!referencingFiles.isEmpty())
-					validateReferencingFiles(reporter, referencingFiles);
-			} catch (Exception e) {
-				Logger.getLogger().log(e);
-			}
-		}
-	}
-
-	/**
-	 * @param delta
-	 * @return
-	 */
-	private void getFileResourceDeltaInFolder(IResourceDelta delta, List inputFiles) {
-		IResourceDelta[] resourceDelta = delta.getAffectedChildren();
-		for (int i = 0; i < resourceDelta.length; i++) {
-			IResource resource = resourceDelta[i].getResource();
-			if (resource instanceof IFile) {
-				inputFiles.add(resource);
-			} else if (resource instanceof IFolder)
-				getFileResourceDeltaInFolder(resourceDelta[i], inputFiles);
-		}
-	}
-
-	/**
-	 * @param reporter
-	 * @param referencialFileValidator
-	 */
-	private void postValidateProject(WorkbenchReporter reporter, ReferencialFileValidator refFileValidator) {
-		Set set = ValidationRegistryReader.getReader().getValidatorMetaData(_project);
-		Iterator it = set.iterator();
-		while (it.hasNext()) {
-			ValidatorMetaData data = (ValidatorMetaData) it.next();
-			List filters = data.getNameFilters();
-			List files = getAllFilesForFilter(filters);
-			if (!files.isEmpty()) {
-				List fileForValidation = refFileValidator.getReferencedFile(files);
-				try {
-					validateReferencingFiles(reporter, fileForValidation);
-				} catch (Exception e) {
-					Logger.getLogger().log(e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @param filters
-	 * @return
-	 */
-	private List getAllFilesForFilter(List filters) {
-		if (!filters.isEmpty()) {
-			List allProjectFiles = ReferencialFileValidatorHelper.getAllProjectFiles(_project);
-			List filterFiles = new ArrayList();
-			for (int i = 0; i < filters.size(); i++) {
-				String fileName = (String) filters.get(i);
-				if (fileName == null)
-					continue;
-				for (int j = 0; j < allProjectFiles.size(); j++) {
-					IFile projectFile = (IFile) allProjectFiles.get(j);
-					if (fileName.charAt(0) == '*') {
-						String extName = fileName.substring(2, fileName.length());
-						String ext = projectFile.getFileExtension();
-						if (ext != null && ext.equals(extName))
-							filterFiles.add(projectFile);
-					} else if (fileName.equals(projectFile.getName()))
-						filterFiles.add(projectFile);
-				}
-
-			}
-			return filterFiles;
-		}
-		return Collections.EMPTY_LIST;
-	}
-
-	private void validateReferencingFiles(IReporter reporter, List referencingFiles) throws Exception {
-		HashSet validatedFiles = new HashSet();
-		for (int i = 0; i < referencingFiles.size(); i++) {
-			IFile refFile = (IFile) referencingFiles.get(i);
-			if (!validatedFiles.contains(refFile)) {
-				IResource resource = refFile.getParent();
-				IProject project = null;
-				if (resource != null && !(resource instanceof IProject))
-					project = getProjectContainer(resource);
-				else
-					project = (IProject) resource;
-				if (project != null) {
-					Set set = ValidationRegistryReader.getReader().getValidatorMetaData(project);
-//					IFileDelta[] changedfiles = new FileDelta[]{new WorkbenchFileDelta(refFile.getProjectRelativePath().toString(), IFileDelta.CHANGED, refFile)};
-					Iterator it = set.iterator();
-					while (it.hasNext()) {
-						ValidatorMetaData data = (ValidatorMetaData) it.next();
-						if (data.isApplicableTo(refFile)) {
-							IValidator validator = (IValidator)data.getValidator();
-							validator.validate(data.getHelper(project),reporter);
-							validatedFiles.add(refFile);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private IProject getProjectContainer(IResource resource) {
-		IResource pResource = resource.getParent();
-		if (!(pResource instanceof IProject))
-			return getProjectContainer(pResource);
-		return (IProject) pResource;
-	}
-
-	protected void preValidate(WorkbenchReporter reporter) throws CoreException, OperationCanceledException {
-		// Load the input.
-		getFileDeltas(reporter.getProgressMonitor());
-	}
-
-	/**
-	 * Iterate over all of the enabled validators and run the thread-safe validators in a background
-	 * thread, and the not-thread-safe validators in this thread.
-	 */
-	protected void validate(WorkbenchReporter reporter) throws OperationCanceledException {
-		if (reporter == null) {
-			return;
-		}
-		checkCanceled(reporter);
-		reporter.getProgressMonitor().beginTask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_PROGRESSMONITOR_TITLE), getUnitsOfWork());
-		IValidator validator = null;
-		ValidatorMetaData vmd = null;
-		Iterator iterator = null;
-		WorkbenchReporter nullReporter = new WorkbenchReporter(getProject(), new NullProgressMonitor());
-		final Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		IFileDelta[] delta = null;
-		
-		HashSet jobValidators = new HashSet();
-		HashSet validators = new HashSet();
-		
-		iterator = getEnabledValidators().iterator();
-		while( iterator.hasNext() ){
-			vmd = (ValidatorMetaData) iterator.next();
-			try {
-				if( vmd.getValidator() instanceof IValidatorJob ){
-					jobValidators.add( vmd );
-				}else{
-					validators.add( vmd );
-				}
-			} catch (InstantiationException e) {
-				Logger.getLogger().logError(e);
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationOperation.validate(WorkbenchReporter)"); //$NON-NLS-1$
-					entry.setTargetException(e);
-					logger.write(Level.SEVERE, entry);
-				}				
-			}
-		}
-		launchJobs( jobValidators, reporter );
-		
-		try {
-			//iterator = getEnabledValidators().iterator();
-			iterator = validators.iterator();
-			
-			// In order to allow validators to run, must first check if there's
-			// space for new markers.
-			// But we don't want the old markers to prevent validation from
-			// running again, so delete all
-			// of the old markers first, and then run validation.
-			while (iterator.hasNext()) {
-				vmd = (ValidatorMetaData) iterator.next();
-				// Is validation about to be run on this validator?
-				// Validation will run either if this operation forces
-				// regardless
-				// of need, or if the validator was not run automatically.
-				// If validation is not about to be run, then don't activate
-				// the plugin
-				try {
-					delta = getFileDeltas(reporter.getProgressMonitor(), vmd);
-					boolean willRun = (isForce() || isValidationNecessary(vmd, delta));
-					if (logger.isLoggingLevel(Level.FINEST)) {
-						TimeEntry entry = ValidationPlugin.getTimeEntry();
-						entry.setSourceID("ValidationOperation.validate(WorkbenchReporter)"); //$NON-NLS-1$
-						entry.setProjectName(getProject().getName());
-						entry.setToolName(vmd.getValidatorUniqueName());
-						entry.setElapsedTime(0);
-						StringBuffer buffer = new StringBuffer();
-						buffer.append("will run? "); //$NON-NLS-1$
-						buffer.append(willRun);
-						buffer.append("  "); //$NON-NLS-1$
-						buffer.append("is force? "); //$NON-NLS-1$
-						buffer.append(isForce());
-						buffer.append("  "); //$NON-NLS-1$
-						buffer.append("isAutoBuild? "); //$NON-NLS-1$
-						buffer.append(_isAutoBuild);
-						buffer.append("  "); //$NON-NLS-1$
-						buffer.append("isAutoValidate? "); //$NON-NLS-1$
-						boolean autoBuild = (_isAutoBuild == null) ? ValidatorManager.getManager().isGlobalAutoBuildEnabled() : _isAutoBuild.booleanValue();
-						buffer.append(ValidatorManager.getManager().isAutoValidate(getProject(), autoBuild));
-						buffer.append("  "); //$NON-NLS-1$
-						buffer.append("isIncremental? "); //$NON-NLS-1$
-						buffer.append(vmd.isIncremental());
-						buffer.append("  "); //$NON-NLS-1$
-						if (isFullValidate()) {
-							buffer.append("EVERYTHING"); //$NON-NLS-1$
-						} else {
-							if (delta.length == 0) {
-								buffer.append("NOTHING"); //$NON-NLS-1$
-							} else {
-								buffer.append(getDeltaAsString(delta));
-							}
-						}
-						entry.setDetails(buffer.toString());
-						logger.write(Level.FINEST, entry);
-					}
-					if (!willRun) {
-						continue;
-					}
-				} catch (CoreException exc) {
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceID("ValidationOperation.validate(WorkbenchReporter)"); //$NON-NLS-1$
-						entry.setTargetException(exc);
-						logger.write(Level.SEVERE, entry);
-					}
-					String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-					reporter.displaySubtask(mssg);
-					String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-					Message message = ValidationPlugin.getMessage();
-					message.setSeverity(IMessage.NORMAL_SEVERITY);
-					message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-					message.setParams(msgParm);
-					reporter.addMessage(validator, message);
-					continue;
-				}
-				try {
-					context = vmd.getHelper(getProject());
-					initValidateContext(delta);
-					validator = vmd.getValidator();
-					
-					checkCanceled(reporter);
-					
-				} catch (InstantiationException exc) {
-					// Remove the vmd from the reader's list
-					ValidationRegistryReader.getReader().disableValidator(vmd);
-					// Log the reason for the disabled validator
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceID("ValidationOperation::validate(WorkbenchReporter)"); //$NON-NLS-1$
-						entry.setTargetException(exc);
-						logger.write(Level.SEVERE, entry);
-					}
-					continue;
-				}
-				
-//				if (isFork() && vmd.isAsync()) {
-//					// Don't appear to run in the foreground by sending
-//					// progress to the IProgressMonitor in the
-//					// WorkbenchMonitor. Suppress the status messages by
-//					// changing the IProgressMonitor to a
-//					// NullProgressMonitor.
-//					VThreadManager.getManager().queue(wrapInRunnable(nullReporter, validator, vmd,(WorkbenchContext)getContext(),delta, iterator));
-//				} else {
-//					internalValidate(reporter, validator, vmd, context, delta);
-//				}
-				internalValidate(reporter, (IValidator)validator, vmd, context, delta);
-				}
-		} catch (OperationCanceledException exc) {
-			handleOperationCancelledValidateException(reporter, validator, vmd, iterator, logger, exc);
-		} finally {
-			releaseCachedMaps();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void releaseCachedMaps() {
-		if(ValidatorManager.messageLimitProjectMap != null) {
-			ValidatorManager.messageLimitProjectMap.clear();
-			ValidatorManager.messageLimitProjectMap = null;
-		}
-		if(ValidatorManager.messageLimitMessageProjectMap != null) {
-			ValidatorManager.messageLimitMessageProjectMap.clear();
-			ValidatorManager.messageLimitMessageProjectMap = null;
-		}
-		if (ValidationRegistryReader.getReader().projectValidationMetaData != null) {
-			ValidationRegistryReader.getReader().projectValidationMetaData.clear();
-			ValidationRegistryReader.getReader().projectValidationMetaData = null;
-		}
-		IProjectValidationHelper helper = ValidationHelperRegistryReader.getInstance().getValidationHelper();
-		if (helper != null)
-			helper.disposeInstance();
-	}
-
-	private void initValidateContext(IFileDelta[] delta) {
-		 if (context instanceof WorkbenchContext) {
-			 ((WorkbenchContext)context).setValidationFileURIs(new ArrayList());
-			 for(int i = 0; i < delta.length; i++) {
-				 IFileDelta file = delta[i];
-				 if(file.getDeltaType() != IFileDelta.DELETED ) {
-					 ((WorkbenchContext)context).getValidationFileURIs().add(file.getFileName());
-				 }
-			 } 
-		}
-	}
-
-	/**
-	 * @param reporter
-	 * @param validator
-	 * @param vmd
-	 * @param iterator
-	 * @param logger
-	 * @param exc
-	 */
-	private void handleOperationCancelledValidateException(WorkbenchReporter reporter, IValidator validator, ValidatorMetaData vmd, Iterator iterator, final Logger logger, OperationCanceledException exc) {
-		/*
-		 * If the user terminates validation (i.e., presses "cancel" on the progress monitor) before
-		 * the validation completes, perform clean up on each configured enabled validator.
-		 * 
-		 * To clean up, several steps are performed: 1. call <code></code> on each configured
-		 * enabled validator, so that each validator can perform cleanup that it knows is necessary.
-		 * 2. remove all tasks that this validator has added to the task list 3. add another task to
-		 * the task list to say that validation, using this validator on this project, was
-		 * terminated.
-		 * 
-		 * Steps 2 and 3 are done so that it's clear what has, and has not, been validated. If these
-		 * steps weren't performed, validation could be done on some items in the project, but not
-		 * others; and the user could mistakenly believe that those are the only problems with the
-		 * project. Unless the user knows that a full verification needs to be done, he/she could
-		 * continue to rely on automatic verification, and never know that there are problems with a
-		 * resource which hasn't been validated.
-		 */
-		reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_CLEANUP, new String[]{vmd.getValidatorDisplayName()}));
-		reporter.removeAllMessages(validator);
-		addCancelTask(vmd);
-		reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED, new String[]{getProject().getName(), vmd.getValidatorDisplayName()}));
-		while (iterator.hasNext()) {
-			vmd = (ValidatorMetaData) iterator.next();
-			try {
-				validator = vmd.getValidator();
-			} catch (InstantiationException exc2) {
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-				// Log the reason for the disabled validator
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationOperation::validate(WorkbenchReporter)"); //$NON-NLS-1$
-					entry.setTargetException(exc2);
-					logger.write(Level.SEVERE, entry);
-				}
-				continue;
-			}
-			reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_CLEANUP, new String[]{vmd.getValidatorDisplayName()}));
-			reporter.removeAllMessages(validator);
-			addCancelTask(vmd);
-			reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED, new String[]{getProject().getName(), vmd.getValidatorDisplayName()}));
-		}
-		throw exc; // propagate the exception up to the framework so that
-		// the framework can display the correct "cancelled"
-		// message in the dialog
-
-	}
-
-	/* package */
-	void internalValidate(final WorkbenchReporter reporter, final IValidator validator, final ValidatorMetaData vmd,final IWorkbenchContext aContext, final IFileDelta[] delta) throws OperationCanceledException {
-		final Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		try {
-			checkCanceled(reporter);
-			removeOldMessages(reporter, validator, vmd, delta);
-			// Do NOT check if the message limit is exceeded before launching
-			// the validator.
-			// Even if the limit is exceeded when the messages are removed from
-			// the delta
-			// files, it could be that the validator itself will remove
-			// messages before
-			// proceeding. Let the validator run so that it can remove messages
-			// if it
-			// needs to, and if it tries to add a message when the limit is
-			// exceeded, let
-			// the WorkbenchReporter take care of it.
-			launchValidator(reporter, validator, vmd, aContext, delta);
-		} catch (OperationCanceledException exc) {
-			// This is handled in the validate(WorkbenchReporter) method.
-			throw exc;
-		}catch (Throwable exc) {
-			// If there is a problem with this particular validator, log the
-			// error and continue
-			// with the next validator.
-			// If a runtime exception has occured, e.g. NullPointer or
-			// ClassCast, display it with the "A runtime exception has occurred
-			// " messsage.
-			// This will provide more information to the user when he/she calls
-			// IBM Service.
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationOperation.internalValidate"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(mssg);
-			String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-			Message message = ValidationPlugin.getMessage();
-			message.setSeverity(IMessage.NORMAL_SEVERITY);
-			message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-			message.setParams(msgParm);
-			reporter.addMessage(validator, message);
-		} finally {
-			// If user fixes problem, and limit exceeded, add "exceeded"
-			// message, or
-			// if limit not exceeded any more, remove "exceeded" message.
-			//Message Limit is removed from the framework
-			//ValidatorManager.getManager().checkMessageLimit(getProject(), true);
-			reporter.getProgressMonitor().done();
-		}
-	}
-
-	/**
-	 * In order to allow validators to run, must first check if there's space for new markers. But
-	 * the old markers must not prevent validation from running again (limit exceeded), so delete
-	 * all of the old markers first, and then run validation.
-	 */
-	private final void removeOldMessages(WorkbenchReporter reporter, IValidator validator, ValidatorMetaData vmd, IFileDelta[] delta) {
-		if (reporter == null) {
-			return;
-		}
-		// If the validator has been enabled, remove the "cancel" task.
-		// If the validator, on the last run, threw a Throwable, remove the
-		// "internal error" task. (For the same reasons we remove the "cancel"
-		// task.
-		InternalValidatorManager.getManager().removeOperationTasks(getProject(), vmd);
-		checkCanceled(reporter);
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		try {
-			// Check to see if a full build must be performed, or if a delta
-			// build is to be performed, if there are files to verify for that
-			// validator. (If it's delta, but there are no files, calling
-			// validate on that validator starts a full build, instead of just
-			// returning.)
-			if (isFullValidate()) {
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_START_REMOVING_OLD_MESSAGES, new String[]{vmd.getValidatorDisplayName(), getProject().getName()});
-				reporter.displaySubtask(message);
-				reporter.removeAllMessages(validator);
-				message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(message);
-			} else {
-				// Don't need to check that there are deltas to validate
-				// because that's already checked in isValidationNecessary
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_START_REMOVING_OLD_MESSAGES, new String[]{vmd.getValidatorDisplayName(), getProject().getName()});
-				reporter.displaySubtask(message);
-				for (int i = 0; i < delta.length; i++) {
-					WorkbenchFileDelta fd = (WorkbenchFileDelta) delta[i];
-					if (fd.getDeltaType() != IFileDelta.DELETED) {
-						// If the file has been deleted, eclipse erases all
-						// markers on the file.
-						// Also, when a resource doesn't exist,
-						// WorkbenchReporter's getMessageResource()
-						// returns the IProject, which means that removing the
-						// messages from this
-						// file removes all of this validator's messages on
-						// this IProject (aix defect 206157)
-						IResource resource = reporter.getMessageResource(validator, fd);
-						if (fd.getObject().equals(fd.getResource())) {
-							WorkbenchReporter.removeAllMessages(resource, validator); // remove
-							// all
-							// messages
-							// from
-							// this
-							// resource
-						} else {
-							reporter.removeAllMessages(validator, fd.getObject());
-						}
-					}
-				}
-				message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(message);
-			}
-		} catch (OperationCanceledException exc) {
-			throw exc;
-		} catch (Throwable exc) {
-			// If there is a problem with this particular validator, log the
-			// error and continue
-			// with the next validator.
-			// If a runtime exception has occured, e.g. NullPointer or
-			// ClassCast, display it with the "A runtime exception has occurred
-			// " messsage.
-			// This will provide more information to the user when he/she calls
-			// IBM Service.
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationOperation.validate(WorkbenchMonitor)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(mssg);
-			String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-			Message message = ValidationPlugin.getMessage();
-			message.setSeverity(IMessage.NORMAL_SEVERITY);
-			message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-			message.setParams(msgParm);
-			reporter.addMessage(validator, message);
-			return;
-		}
-	}
-
-	/**
-	 * Whether a full verification or a delta verification is in progress, both will call this
-	 * method to process the resource. This method calls the current Validator to filter the
-	 * resource (i.e., this method returns if the resource fails the filter test).
-	 * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls
-	 * the current Validator to validate the resource.
-	 * 
-	 * To process a resource, there are several steps: 1. check if the resource is registered for
-	 * this validator (i.e., the validator has either specified it in a filter, or has not filtered
-	 * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with
-	 * the current resource. This method performs further filtering by the Validator itself, in
-	 * addition to the static filtering done by the framework, based on the information in
-	 * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the
-	 * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the
-	 * completion of the <code>validate</code>), increment the IProgressMonitor's status by one
-	 * (i.e., one resource has been processed.)
-	 */
-	private final void launchValidator(WorkbenchReporter reporter, IValidator validator, ValidatorMetaData vmd, IWorkbenchContext helper, IFileDelta[] delta) {
-		if (reporter == null) {
-			return;
-		}
-		checkCanceled(reporter);
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		// Check to see if a full build must be performed, or if a delta
-		// build is to be performed, if there are files to verify for that
-		// validator. (If it's delta, but there are no files, calling
-		// validate on that validator starts a full build, instead of just
-		// returning.)
-		try {
-			// Validate the resource; this step will add errors/warnings to the
-			// task list, and remove errors/warnings from the task list.
-			if (helper instanceof WorkbenchContext) {
-				// Initialize the "loadRuleGroup" method with the group of
-				// rules
-				// which the validator should validate.
-				((WorkbenchContext) helper).setRuleGroup(getRuleGroup());
-			}
-			long start = System.currentTimeMillis();
-			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_STARTING_VALIDATION, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(message);
-			if (logger.isLoggingLevel(Level.FINEST)) {
-				// This internal "launched validators" value is used only in
-				// tests.
-				getLaunchedValidators().add(vmd);
-			}
-			//initValidateContext(delta);
-			ValidatorLauncher.getLauncher().start(helper, validator, reporter);
-			long finish = System.currentTimeMillis();
-			if (logger.isLoggingLevel(Level.INFO)) {
-				TimeEntry entry = ValidationPlugin.getTimeEntry();
-				entry.setSourceID("ValidationOperation.launchValidator"); //$NON-NLS-1$
-				entry.setProjectName(getProject().getName());
-				entry.setToolName(vmd.getValidatorUniqueName());
-				entry.setElapsedTime(finish - start);
-				if (logger.isLoggingLevel(Level.FINE)) {
-					StringBuffer buffer = new StringBuffer();
-					if (isFullValidate()) {
-						buffer.append("EVERYTHING"); //$NON-NLS-1$
-					} else {
-						if (delta.length == 0) {
-							buffer.append("NOTHING"); //$NON-NLS-1$
-						} else {
-							buffer.append(getDeltaAsString(delta));
-						}
-					}
-					entry.setDetails(buffer.toString());
-				}
-				logger.write(Level.INFO, entry);
-			}
-			message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(message);
-		} catch (MessageLimitException exc) {
-			throw exc;
-		} catch (OperationCanceledException exc) {
-			throw exc;
-		} catch (ValidationException exc) {
-			// First, see if a validator just caught all Throwables and
-			// accidentally wrapped a MessageLimitException instead of
-			// propagating it.
-			if (exc.getAssociatedException() != null) {
-				if (exc.getAssociatedException() instanceof MessageLimitException) {
-					MessageLimitException mssgExc = (MessageLimitException) exc.getAssociatedException();
-					throw mssgExc;
-				} else if (exc.getAssociatedException() instanceof ValidationException) {
-					ValidationException vexc = (ValidationException) exc.getAssociatedException();
-					vexc.setClassLoader(validator.getClass().getClassLoader()); // first,
-					// set
-					// the
-					// class
-					// loader,
-					// so
-					// that
-					// the
-					// exception's
-					// getMessage()
-					// method
-					// can
-					// retrieve
-					// the
-					// resource
-					// bundle
-				}
-			}
-			// If there is a problem with this particular validator, log the
-			// error and continue
-			// with the next validator.
-			exc.setClassLoader(validator.getClass().getClassLoader()); // first,
-			// set
-			// the
-			// class
-			// loader,
-			// so
-			// that
-			// the
-			// exception's
-			// getMessage()
-			// method
-			// can
-			// retrieve
-			// the
-			// resource
-			// bundle
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationOperation.validate(WorkbenchMonitor)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-				if (exc.getAssociatedException() != null) {
-					entry.setTargetException(exc.getAssociatedException());
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(message);
-			if (exc.getAssociatedMessage() != null) {
-				reporter.addMessage(validator, exc.getAssociatedMessage());
-			}
-		} catch (Throwable exc) {
-			// If there is a problem with this particular validator, log the
-			// error and continue
-			// with the next validator.
-			// If a runtime exception has occured, e.g. NullPointer or
-			// ClassCast, display it with the "A runtime exception has occurred
-			// " messsage.
-			// This will provide more information to the user when he/she calls
-			// IBM Service.
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationOperation.validate(WorkbenchMonitor)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(mssg);
-			String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-			Message message = ValidationPlugin.getMessage();
-			message.setSeverity(IMessage.NORMAL_SEVERITY);
-			message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-			message.setParams(msgParm);
-			reporter.addMessage(validator, message);
-		} finally {
-			try {
-				validator.cleanup(reporter);
-			} catch (MessageLimitException e) {
-				throw e;
-			} catch (OperationCanceledException e) {
-				throw e;
-			} catch (Throwable exc) {
-				// If a runtime exception has occured, e.g. NullPointer or
-				// ClassCast, display it with the "A runtime exception has
-				// occurred " messsage.
-				// This will provide more information to the user when he/she
-				// calls IBM Service.
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationOperation::launchValidator"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-				Message message = ValidationPlugin.getMessage();
-				message.setSeverity(IMessage.NORMAL_SEVERITY);
-				message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-				message.setParams(msgParm);
-				try {
-					reporter.addMessage(validator, message);
-				} catch (MessageLimitException e) {
-					throw e;
-				}
-				return;
-			}
-			try {
-				helper.cleanup(reporter);
-			} catch (MessageLimitException e) {
-				throw e;
-			} catch (OperationCanceledException e) {
-				throw e;
-			} catch (Throwable exc) {
-				// If a runtime exception has occured, e.g. NullPointer or
-				// ClassCast, display it with the "A runtime exception has
-				// occurred " messsage.
-				// This will provide more information to the user when he/she
-				// calls IBM Service.
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationOperation::launchValidator"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-				Message message = ValidationPlugin.getMessage();
-				message.setSeverity(IMessage.NORMAL_SEVERITY);
-				message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-				message.setParams(msgParm);
-				try {
-					reporter.addMessage(validator, message);
-				} catch (MessageLimitException e) {
-					throw e;
-				}
-				return;
-			} finally {
-				// Now that cleanup has been called, set the project to null.
-				// This project's
-				// resources have been freed so this project should also be
-				// cleared on the helper.
-				// If it isn't set to null, then the next time that the helper
-				// is retrieved from
-				// the ValidatorMetaData, the resources allocated for this
-				// project, in the
-				// helper's initialize method, will not be reallocated if the
-				// project is the same.
-				helper.setProject(null);
-			}
-			// Tell the progress monitor that we've completed n units of work
-			// (i.e., n resources validated by one validator).
-			reporter.getProgressMonitor().worked(((delta == null) ? 1 : delta.length)); // One
-			// unit
-			// of
-			// work
-			// = 1
-			// (i.e.,
-			// 1
-			// resource)
-		}
-	}
-
-	private Runnable wrapInRunnable(final WorkbenchReporter reporter, final IValidator validator, final ValidatorMetaData vmd, final IWorkbenchContext helper, final IFileDelta[] delta, final Iterator iterator) {
-		// Need to create a new Runnable each time because several Runnable
-		// instances may exist at the same time.
-		Runnable runnable = new ProjectRunnable(reporter, validator, vmd, helper, delta, iterator);
-		return runnable;
-	}
-
-	/*
-	 * // For convenience, keep this method in the class but commented out. // When async needs to
-	 * be tested, this method may be needed again. private static void debug(String prefix,
-	 * IWorkbenchContext helper) { IProject hProject = helper.getProject(); System.err.println(prefix +
-	 * "Start ValidationOperation "+Thread.currentThread().getName() + "::" + hProject.getName());
-	 * if( Thread.currentThread().getName().equals("ValidationThread") &&
-	 * (hProject.getName().indexOf("noFork") > -1)) { Thread.dumpStack(); } else
-	 * if((!Thread.currentThread().getName().equals("ValidationThread")) &&
-	 * (hProject.getName().indexOf("fork") > -1)) { Thread.dumpStack(); } System.err.println(prefix +
-	 * "End ValidationOperation"); }
-	 */
-	public class ProjectRunnable implements Runnable {
-		private WorkbenchReporter _reporter = null;
-		private IValidator _validator = null;
-		private ValidatorMetaData _vmd = null;
-//		private IValidationContext _helper = null;
-		private IFileDelta[] __delta = null;
-
-		public ProjectRunnable(WorkbenchReporter reporter, IValidator validator, ValidatorMetaData vmd, IWorkbenchContext helper, IFileDelta[] delta, Iterator iterator) {
-			_reporter = reporter;
-			_validator = validator;
-			_vmd = vmd;
-//			_helper = helper;
-			__delta = delta;
-		}
-
-		public void run() {
-			try {
-				internalValidate(_reporter, _validator, _vmd, context,__delta);
-			} catch (OperationCanceledException exc) {
-				// User can't cancel a job in a background thread, so ignore
-				// this exception.
-			}
-		}
-
-		public IProject getProject() {
-			return _reporter.getProject();
-		}
-	}
-
-	/**
-	 * @return Returns the context.
-	 */
-	public IValidationContext getContext() {
-		return context;
-	}
-
-	/**
-	 * @param context The context to set.
-	 */
-	public void setContext(IWorkbenchContext context) {
-		this.context = context;
-	}
-	
-	void launchJobs(HashSet validators, final WorkbenchReporter reporter) throws OperationCanceledException{
-		
-		final Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		Iterator iterator = validators.iterator();
-		ValidatorMetaData vmd = null;
-		IValidator validator = null;
-		IFileDelta[] delta = null;
-		IWorkbenchContext workbenchcontext = null;
-		
-		while (iterator.hasNext()) {
-			checkCanceled(reporter);
-			
-			vmd = (ValidatorMetaData) iterator.next();
-
-			try {
-				delta = getFileDeltas(reporter.getProgressMonitor(), vmd);
-				boolean willRun = (isForce() || isValidationNecessary(vmd, delta));
-				if (!willRun) {
-					continue;
-				}
-			} catch (CoreException exc) {
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationOperation.launchJobs()"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(mssg);
-				String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-				Message message = ValidationPlugin.getMessage();
-				message.setSeverity(IMessage.NORMAL_SEVERITY);
-				message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-				message.setParams(msgParm);
-				reporter.addMessage(validator, message);
-				continue;
-			}
-			
-			try {
-				workbenchcontext = vmd.getHelper( getProject() );
-				initValidateContext( delta, workbenchcontext );
-				validator = vmd.getValidator();
-				
-				checkCanceled(reporter);
-				
-			} catch (InstantiationException exc) {
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-				// Log the reason for the disabled validator
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationOperation.launchJobs()"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				continue;
-			}
-			
-			try {
-				checkCanceled(reporter);
-				removeOldMessages(reporter, validator, vmd, delta);
-				
-				if( validator instanceof IValidatorJob ){
-					launchValidatorJob( reporter, (IValidatorJob)validator, vmd, workbenchcontext, delta);
-				}
-
-				
-			} catch (OperationCanceledException exc) {
-				throw exc;
-
-			} catch (Throwable exc) {
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationOperation.launchJobs()"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(mssg);
-				String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-				Message message = ValidationPlugin.getMessage();
-				message.setSeverity(IMessage.NORMAL_SEVERITY);
-				message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-				message.setParams(msgParm);
-				reporter.addMessage(validator, message);
-			} finally {
-				// If user fixes problem, and limit exceeded, add "exceeded"
-				// message, or
-				// if limit not exceeded any more, remove "exceeded" message.
-				reporter.getProgressMonitor().done();
-			}
-		}
-				
-				
-				
-		
-
-	}
-	
-	private void initValidateContext(IFileDelta[] delta, IWorkbenchContext context ) {
-		 if (context instanceof WorkbenchContext) {
-			 ((WorkbenchContext)context).setValidationFileURIs(new ArrayList());
-			 for(int i = 0; i < delta.length; i++) {
-				 IFileDelta file = delta[i];
-				 if(file.getDeltaType() != IFileDelta.DELETED ) {
-					 ((WorkbenchContext)context).getValidationFileURIs().add(file.getFileName());
-				 }
-			 } 
-		}
-	}
-			
-			
-	private final void launchValidatorJob(WorkbenchReporter reporter,
-				   IValidatorJob validator, ValidatorMetaData vmd,
-				   IWorkbenchContext helper, IFileDelta[] delta) {
-		
-		if (reporter == null) {
-			return;
-		}
-		checkCanceled(reporter);
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-
-		if (helper instanceof WorkbenchContext) {
-			((WorkbenchContext) helper).setRuleGroup(getRuleGroup());
-		}
-		if (logger.isLoggingLevel(Level.FINEST)) {
-			// This internal "launched validators" value is used only in
-			// tests.
-			getLaunchedValidators().add(vmd);
-		}
-		
-		ValidatorJob validatorjob = new ValidatorJob( vmd.getValidatorDisplayName(), vmd.getValidatorUniqueName(),
-					helper.getProject(), helper );
-
-
-		ISchedulingRule schedulingRule = validator.getSchedulingRule(helper);
-		if( schedulingRule == null ){
-			schedulingRule = new EmptySchedulingRule();
-			validatorjob.setRule( schedulingRule );
-		}
-		validatorjob.schedule();		
-		
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationUtility.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationUtility.java
deleted file mode 100644
index 0a29729..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationUtility.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.ConfigurationConstants;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * This class contains utility methods that are intended to be used by validators and code outside
- * of the validation framework.
- */
-public final class ValidationUtility {
-	//TODO Make the ValidationUtility constructor private in Milestone 4.
-
-	/**
-	 * Given an IResource and one of the org.eclipse.wst.validation.internal.core.core.SevertyEnum constants,
-	 * return an array containing the fully-qualified class names of the validators which have
-	 * reported messages, of the given severity, against the resource and the resource's children.
-	 */
-	public static String[] listValidatorClasses(IResource resource, int severity) {
-		IMarker[] markers = TaskListUtility.getValidationTasks(resource, severity);
-		if ((markers == null) || (markers.length == 0)) {
-			return new String[0];
-		}
-
-		Set tempSet = new HashSet();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker = markers[i];
-			try {
-				Object owner = marker.getAttribute(ConfigurationConstants.VALIDATION_MARKER_OWNER);
-				if ((owner == null) || !(owner instanceof String)) {
-					// The ValidationMigrator will remove any "unowned" validation markers.
-					continue;
-				}
-				tempSet.add(owner);
-			} catch (CoreException exc) {
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidationUtility.listValidatorClasses(" + resource.getName() + ", " + severity); //$NON-NLS-1$  //$NON-NLS-2$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-
-
-		if (tempSet.size() > 0) {
-			String[] result = new String[tempSet.size()];
-			tempSet.toArray(result);
-			tempSet.clear();
-			return result;
-		}
-		return new String[0];
-	}
-
-	/**
-	 * @deprecated This instance method will be made static in Milestone 4.
-	 */
-	public boolean isEnabled(IProject project, String validatorClassName) {
-		return isEnabled(project, new String[]{validatorClassName});
-	}
-
-	/**
-	 * Return true if all of the validators, identified by their fully-qualified class names, are
-	 * enabled on the project. If a validator isn't enabled, or if there's an internal error while
-	 * retrieving the user's configuration, return false.
-	 */
-	public static boolean isEnabled(IProject project, String[] validatorClassNames) {
-		if ((validatorClassNames == null) || (validatorClassNames.length == 0)) {
-			return false;
-		}
-
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			for (int i = 0; i < validatorClassNames.length; i++) {
-				if (!prjp.isEnabled(validatorClassNames[i])) {
-					return false;
-				}
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationUtility::isEnabled(" + project.getName() + ", String[])"); //$NON-NLS-1$  //$NON-NLS-2$  //$NON-NLS-3$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return false;
-		}
-
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorJob.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorJob.java
deleted file mode 100644
index 9cf7ff1..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorJob.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package org.eclipse.wst.validation.internal.operations;
-
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.ValidationFactoryImpl;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-public class ValidatorJob extends Job {
-
-
-	private IProject			project;
-	private String				validatorUniqueName;
-	private IWorkbenchContext 	helper;
-	
-	public ValidatorJob(String name) {
-		super(name);
-	}
-
-
-	   
-	   
-	public ValidatorJob(String displayName, String name, IProject project, IWorkbenchContext aHelper  ){
-		super(displayName);
-		validatorUniqueName = name;
-		this.project = project;
-		this.helper = aHelper;
-	}
-	
-	//revisit reporter in the code  below
-	//subtask information is displayed in the monitor created by the Job
-	//error information is reported by the IReporter
-	
-	protected IStatus run(IProgressMonitor monitor) {
-
-		monitor.beginTask("Validating", IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-		IStatus status = IValidatorJob.OK_STATUS;
-		WorkbenchReporter	reporter = new WorkbenchReporter( project, monitor );
-
-		IValidatorJob	validator = null;
-
-		
-		try {
-			validator = (IValidatorJob) ValidationFactoryImpl.getInstance().getValidator( validatorUniqueName );
-		} catch (InstantiationException e1) {
-			Logger.getLogger().logError(e1);
-
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		
-//		try {
-//			helper = vmd.getHelper(project);
-//		} catch (InstantiationException e1) {
-//			Logger.getLogger().logError(e1);
-//		}
-		
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-
-		try {
-
-			String message = ResourceHandler.getExternalizedMessage(
-				ResourceConstants.VBF_STATUS_STARTING_VALIDATION,
-				new String[]{helper.getProject().getName(), vmd.getValidatorDisplayName()});
-			
-			monitor.subTask(message);
-			
-		
-			status = validator.validateInJob(helper, reporter);
-		
-			//to remove, if error is returned from the validator, the job stays back in the UI...
-			//should we even return error status if error is found in the validator
-			//status = IValidatorJob.OK_STATUS;	
-			
-			
-			
-			message = ResourceHandler.getExternalizedMessage(
-					ResourceConstants.VBF_STATUS_ENDING_VALIDATION,
-					new String[]{helper.getProject().getName(), vmd.getValidatorDisplayName()});
-			monitor.subTask(message);
- 
-		} catch (OperationCanceledException exc) {
-			throw exc;
-		} catch (ValidationException exc) {
-			// First, see if a validator just caught all Throwables and
-			// accidentally wrapped a MessageLimitException instead of
-			// propagating it.
-			if (exc.getAssociatedException() != null) {
-				if (exc.getAssociatedException() instanceof ValidationException) {
-					ValidationException vexc = (ValidationException) exc.getAssociatedException();
-					vexc.setClassLoader(validator.getClass().getClassLoader()); 
-				}
-			}
-			// If there is a problem with this particular validator, log the
-			// error and continue
-			// with the next validator.
-			exc.setClassLoader(validator.getClass().getClassLoader());
-
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidatorJob.run()"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-				if (exc.getAssociatedException() != null) {
-					entry.setTargetException(exc.getAssociatedException());
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			String message = ResourceHandler.getExternalizedMessage(
-						ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY,
-						new String[]{helper.getProject().getName(), vmd.getValidatorDisplayName()});
-			
-			monitor.subTask(message);
-			if (exc.getAssociatedMessage() != null) {
-				reporter.addMessage(validator, exc.getAssociatedMessage());
-			}
-		} catch (Throwable exc) {
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidatorJob.run()"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-				IStatus stat = new Status(IStatus.ERROR,
-			    		      ValidationPlugin.getPlugin().PLUGIN_ID, 0, "", exc );
-					logger.write(Level.SEVERE, stat);
-				
-			}
-			String mssg = ResourceHandler.getExternalizedMessage(
-						ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY,
-						new String[]{helper.getProject().getName(), vmd.getValidatorDisplayName() });
-			
-			monitor.subTask(mssg);
-			
-			String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-			Message message = ValidationPlugin.getMessage();
-			message.setSeverity(IMessage.NORMAL_SEVERITY);
-			message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-			message.setParams(msgParm);
-			reporter.addMessage(validator, message);
-			
-		} finally {
-			try {
-				validator.cleanup(reporter);
-			} catch (OperationCanceledException e) {
-				throw e;
-			} catch (Throwable exc) {
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidatorJob.run()"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-				Message message = ValidationPlugin.getMessage();
-				message.setSeverity(IMessage.NORMAL_SEVERITY);
-				message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-				message.setParams(msgParm);
-				reporter.addMessage(validator, message);
-
-				
-				status = WTPCommonPlugin.createErrorStatus(message.getText());
-				return status;
-			}
-			try {
-				helper.cleanup(reporter);
-			}catch (OperationCanceledException e) {
-				throw e;
-			} catch (Throwable exc) {
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidatorJob.run()"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-				Message message = ValidationPlugin.getMessage();
-				message.setSeverity(IMessage.NORMAL_SEVERITY);
-				message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-				message.setParams(msgParm);
-				reporter.addMessage(validator, message);
-
-				status = WTPCommonPlugin.createErrorStatus(message.getText());	
-				return status;
-			} finally {
-				helper.setProject(null);
-			}
-			//reporter.getProgressMonitor().worked(((delta == null) ? 1 : delta.length)); // One
-			//monitor.worked(((delta == null) ? 1 : delta.length)); // One
-			monitor.done();
-		}
-		return status;
-	}
-
-	public boolean belongsTo(Object family) {
-		return (project.getName() + ValidatorManager.VALIDATOR_JOB_FAMILY).equals(family);
-	}	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorManager.java
deleted file mode 100644
index 86b70bf..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorManager.java
+++ /dev/null
@@ -1,1335 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.ValidationConfiguration;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-/**
- * A centralised class for accessing validation metadata.
- * 
- * This class is not intended to be subclassed outside of the validation framework.
- */
-public final class ValidatorManager {
-	public static final String VALIDATOR_JOB_FAMILY = "validators";	 //$NON-NLS-1$	
-	private static ValidatorManager inst = null;
-	private static IResourceUtil _resourceUtil = null; // a common utility, different whether or not
-	// WSAD is running in headless or UI mode,
-	// which can retrieve the line number of some
-	// MOF objects.
-	private static final Class RESOURCEUTIL_DEFAULTCLASS = org.eclipse.wst.validation.internal.operations.DefaultResourceUtil.class;
-	private static Class _resourceUtilClass = RESOURCEUTIL_DEFAULTCLASS;
-	private static final Set EMPTY_SET = Collections.EMPTY_SET; // an empty set, provided for
-	// convenience, so that we only
-	// construct one empty set once.
-	private Set _suspendedProjects = null;
-	private boolean _suspendAllValidation = false;
-	private static Class _messageLimitOwner = null;
-	private String[] _internalOwners = null;
-
-	public static HashMap messageLimitProjectMap = null;
-	public static HashMap messageLimitMessageProjectMap = null;
-	
-	/**
-	 * ValidatorManager constructor comment.
-	 */
-	private ValidatorManager() {
-		super();
-		_suspendedProjects = new HashSet();
-		_internalOwners = new String[0];
-
-		addInternalOwner(getMessageLimitOwner());
-	}
-
-	/**
-	 * Disable all validators for the current project, and does not touch the auto-validate setting.
-	 */
-	public void disableAllValidators(IProject currentProject, IProgressMonitor monitor) {
-		// Disable the individual validators
-		setEnabledValidators(currentProject, EMPTY_SET, monitor);
-	}
-
-	/**
-	 * Given an IProject, if the IProject does not support build validation, add the validation
-	 * builder to the project description so that the project can support bulid validation.
-	 */
-	public static void addProjectBuildValidationSupport(IProject project) {
-		if (project == null) {
-			return;
-		}
-
-		boolean isBuilderAdded = false;
-		try {
-			IProjectDescription description = project.getDescription();
-			ICommand[] commands = description.getBuildSpec(); // don't need to check if description
-			// is null, because it's never null
-			if (commands != null) {
-				for (int i = 0; i < commands.length; i++) {
-					String builderName = commands[i].getBuilderName();
-					if (builderName == null) {
-						// builder name will be null if it has not been set
-						continue;
-					}
-
-					if (builderName.equals(ValidationPlugin.VALIDATION_BUILDER_ID)) {
-						isBuilderAdded = true;
-						break;
-					}
-				}
-			}
-
-			if (!isBuilderAdded) {
-				ICommand newCommand = description.newCommand();
-				newCommand.setBuilderName(ValidationPlugin.VALIDATION_BUILDER_ID);
-
-				ICommand[] newCommands = null;
-				if (commands != null) {
-					newCommands = new ICommand[commands.length + 1];
-					System.arraycopy(commands, 0, newCommands, 0, commands.length);
-					newCommands[commands.length] = newCommand;
-				} else {
-					newCommands = new ICommand[1];
-					newCommands[0] = newCommand;
-				}
-				description.setBuildSpec(newCommands);
-
-				project.setDescription(description, null);
-			}
-		} catch (CoreException exc) {
-			// if we can't read the information, the project isn't open, so it can't run
-			// auto-validate
-			return;
-		}
-	}
-
-
-	/**
-	 * Given an IProject, this method returns true if the project can run build validation (i.e.,
-	 * incremental validation), and false otherwise. The test, to find out if the project supports
-	 * build validation or not, is to see if the ValidationBuilder is configured on that type of
-	 * project.
-	 * 
-	 * This is a long-running process - is there any way that I can shorten the amount of time this
-	 * takes?
-	 */
-	public static boolean doesProjectSupportBuildValidation(IProject project) {
-		boolean canRunAV = false;
-		if (project == null) {
-			return canRunAV;
-		}
-
-		try {
-			IProjectDescription description = project.getDescription();
-			ICommand[] commands = description.getBuildSpec(); // don't need to check if description
-			// is null, because it's never null
-			if (commands == null) {
-				return canRunAV;
-			}
-
-			for (int i = 0; i < commands.length; i++) {
-				String builderName = commands[i].getBuilderName();
-				if (builderName == null) {
-					// builder name will be null if it has not been set
-					continue;
-				}
-
-				if (builderName.equals(ValidationPlugin.VALIDATION_BUILDER_ID)) {
-					canRunAV = true;
-					break;
-				}
-			}
-		} catch (CoreException exc) {
-			// if we can't read the information, the project isn't open, so it can't run
-			// auto-validate
-			return false;
-		}
-
-		return canRunAV;
-	}
-
-	/**
-	 * Enable all validators for the current project, and does not touch the auto-validate setting.
-	 */
-	public void enableAllValidators(IProject project, IProgressMonitor monitor) {
-		// Turn auto-validate off
-		//	setAutoValidate(currentProject, false);
-
-		// Enable the individual validators
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			prjp.setEnabledValidators(prjp.getValidators());
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidatorManager::enableAllValidators(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Return a collection of incremental ValidatorMetaData configured on a certain type of IProject
-	 * (e.g. EJB Project vs. Web Project).
-	 */
-	public Set getProjectConfiguredIncrementalValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return InternalValidatorManager.wrapInSet(prjp.getIncrementalValidators());
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidatorManager::getProjectConfiguredIncrementalValidators(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return Collections.EMPTY_SET;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Return a collection of ValidatorMetaData configured on a certain type of IProject (e.g. EJB
-	 * Project vs. Web Project).
-	 * 
-	 * If the collection has not been calculated before, calculate it now, and cache the result.
-	 */
-	public Set getProjectConfiguredValidatorMetaData(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return InternalValidatorManager.wrapInSet(prjp.getValidators());
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidatorManager::getProjectConfiguredValidatorMetaData(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return Collections.EMPTY_SET;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Return a collection of ValidatorMetaData enabled on a certain type of IProject (e.g. EJB
-	 * Project vs. Web Project). The second parameter, isIncremental, identifies whether it's the
-	 * incremental, or non-incremental, validators which should be returned. If the parameter is
-	 * true, return incremental validators. If the parameter is false, return nonincremental
-	 * validators.
-	 */
-	public Set getProjectEnabledIncrementalValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true));
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::getProjectEnabledIncrementalValidators" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return Collections.EMPTY_SET;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Return a collection of ValidatorMetaData enabled on a certain type of IProject (e.g. EJB
-	 * Project vs. Web Project). The second parameter, isIncremental, identifies whether it's the
-	 * incremental, or non-incremental, validators which should be returned. If the parameter is
-	 * true, return incremental validators. If the parameter is false, return nonincremental
-	 * validators.
-	 */
-	public Collection getProjectEnabledNonIncrementalValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(false));
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::getProjectEnabledNonIncrementalValidators" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return Collections.EMPTY_SET;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Returns a Vector of all ValidatorMetaData who are both configured on this type of project,
-	 * and who are also enabled by this project. If the list of enabled validators hasn't been
-	 * loaded into the cache, load it now. Otherwise, just return it.
-	 */
-	public Set getProjectEnabledValidators(IProject project) {
-		return getEnabledValidators(project);
-	}
-
-	public static ValidatorManager getManager() {
-		if (inst == null) {
-			inst = new ValidatorManager();
-		}
-		return inst;
-	}
-
-	public static IResourceUtil getResourceUtil() {
-		if (_resourceUtil == null) {
-			if (_resourceUtilClass == null) {
-				// Since the value returned from this method must never be null,
-				// default the resource util to the headless resource util.
-				_resourceUtilClass = RESOURCEUTIL_DEFAULTCLASS;
-			}
-
-			try {
-				_resourceUtil = (IResourceUtil) _resourceUtilClass.newInstance();
-			} catch (ClassCastException e) {
-				_resourceUtil = null;
-			} catch (InstantiationException e) {
-				_resourceUtil = null;
-			} catch (IllegalAccessException e) {
-				_resourceUtil = null;
-			}
-		}
-		return _resourceUtil;
-	}
-
-	/**
-	 * @deprecated This method is intended for use only by the validation framework. It will be
-	 *             moved to a class in the "internal" package at some time.
-	 */
-	public IMarker[] getValidationTasks(int severity, IProject project) {
-		return getValidationTasks(project, severity);
-	}
-
-	/**
-	 * @deprecated This method is intended for use only by the validation framework. It will be
-	 *             moved to a class in the "internal" package at some time.
-	 */
-	public IMarker[] getValidationTasks(IResource resource, int severity) {
-		return TaskListUtility.getValidationTasks(resource, severity);
-	}
-
-	/**
-	 * @deprecated This method is intended for use only by the validation framework. It will be
-	 *             moved to a class in the "internal" package at some time.
-	 */
-	public IMarker[] getValidationTasks(IResource resource, String[] validatorNames) {
-		return TaskListUtility.getValidationTasks(resource, validatorNames);
-	}
-
-	public int getMaximumMessagesAllowed(IProject project) {
-		try {
-			return ConfigurationManager.getManager().getProjectConfiguration(project).getMaximumNumberOfMessages();
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.getMaximumMessagesAllowed(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-
-			return ValidationConfiguration.getMaximumNumberOfMessagesDefault();
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 */
-	public ValidatorMetaData getValidatorMetaData(IValidator validator) {
-		return ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 */
-	public Set getIncrementalValidators(Collection vmds) {
-		if (vmds == null) {
-			return Collections.EMPTY_SET;
-		}
-
-		Set result = new HashSet();
-		Iterator iterator = vmds.iterator();
-		while (iterator.hasNext()) {
-			ValidatorMetaData vmd = (ValidatorMetaData) iterator.next();
-			if (vmd.isIncremental()) {
-				result.add(vmd);
-			}
-		}
-		return result;
-	}
-
-
-	/**
-	 * Return true if the validator identified by validatorId will validate the given resource. If
-	 * either parameter is null, false is returned. If the validator is not registered with the
-	 * validation framework (i.e., either no validator in the activated plugins is identified by
-	 * that plugin id, or the given IResource's project does not run that particular validator),
-	 * then this method will return false.
-	 */
-	public boolean isApplicableTo(String validatorId, IResource res) {
-		if ((validatorId == null) || (res == null)) {
-			return false;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorId);
-		if (vmd == null) {
-			// validator not registered with the framework
-			return false;
-		}
-
-		if (!ValidationRegistryReader.getReader().isConfiguredOnProject(vmd, res.getProject())) {
-			return false;
-		}
-
-		return vmd.isApplicableTo(res);
-	}
-
-
-	public boolean isAutoValidate(IProject project) {
-		return isAutoValidate(project, isGlobalAutoBuildEnabled());
-	}
-
-	/**
-	 * Keeping this API around so as not to break existing code.
-	 * 
-	 * @deprecated use isAutoValidate
-	 */
-	public boolean isAutoValidateChecked(IProject project) {
-		return isAutoValidate(project);
-	}
-
-	/**
-	 * Keeping this API around so as not to break existing code.
-	 * 
-	 * @deprecated use isAutoValidate
-	 */
-	public boolean isAutoValidateChecked(IProject project, boolean isGlobalAutoBuildOn) {
-		return isAutoValidate(project, isGlobalAutoBuildOn);
-	}
-
-	/**
-	 * This method returns true if validate will run when there is a resource change. The following
-	 * attributes are checked: 1. does this project have auto-validate on or off? 2. if this project
-	 * does not have an auto-validate value set, is the global auto-validate preference on? 3. if 1
-	 * or 2 is true, does the project support auto-validate? 4. if 1/2, & 3, is auto-build on? 5. if
-	 * 1/2, 3, and 4, is there at least one incremental validator enabled on the project?
-	 * 
-	 * @deprecated auto validate is not used any more
-	 */
-	public boolean isAutoValidate(IProject project, boolean isGlobalAutoBuildOn) {
-		/*try {
-			// 1. does the project have auto-validate on or off?
-			boolean isAutoValidate = ConfigurationManager.getManager().getProjectConfiguration(project).isAutoValidate();
-			if (!isAutoValidate) {
-				return false;
-			}
-
-			// 3. does the project support auto-validate?
-			// 4. is auto-build on?
-			// 5. is there at least one incremental validator enabled on the project?
-			
-			 * Auto-validation, on the properties page, can be enabled under these conditions: 1.
-			 * the project supports auto-validation, AND 2. fhe platform's global "automatically
-			 * build" is selected, AND 3. at least one of the project's validators supports
-			 * incremental validation. Without #1, the ValidationBuilder is never called because
-			 * it's not configured on the project. Without #2, the ValidationBuilder will not be
-			 * called because auto-building is turned off. Without #3, the ValidationBuilder will be
-			 * called, but there's no point because no validators can run.
-			 
-			return canAutoValidateButtonBeEnabled(project, isGlobalAutoBuildOn);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.canAutoValidateButtonBeEnabled(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-
-			// If the user's setting can't be retrieved, return the default
-			return ValidationConfiguration.getAutoValidateDefault();
-		}*/
-		return false;
-	}
-
-	public boolean canAutoValidateButtonBeEnabled(IProject project) {
-		return canAutoValidateButtonBeEnabled(project, isGlobalAutoBuildEnabled());
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 */
-	public Set getEnabledIncrementalValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getEnabledIncrementalValidators(true);
-			return InternalValidatorManager.wrapInSet(vmds);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::getEnabledIncrementalValidators" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return Collections.EMPTY_SET;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Given a checked list of enabled validators, return a set of the ones which are configured on
-	 * the project and, if getIncremental is true, which also run incrementally.
-	 */
-	public Set getProjectConfiguredValidators(IProject project, Object[] enabledVal, boolean getIncremental) {
-		if ((project == null) || (enabledVal == null) || (enabledVal.length == 0)) {
-			return Collections.EMPTY_SET;
-		}
-
-		Set val = new HashSet();
-		for (int i = 0; i < enabledVal.length; i++) {
-			ValidatorMetaData vmd = (ValidatorMetaData) enabledVal[i];
-			if (!vmd.isConfiguredOnProject(project)) {
-				continue;
-			}
-
-			if (!getIncremental || vmd.isIncremental()) {
-				val.add(vmd);
-			}
-		}
-		return val;
-	}
-
-	public boolean containsIncrementalValidators(Object[] enabledVal) {
-		if ((enabledVal == null) || (enabledVal.length == 0)) {
-			return false;
-		}
-
-		for (int i = 0; i < enabledVal.length; i++) {
-			ValidatorMetaData vmd = (ValidatorMetaData) enabledVal[i];
-
-			if (vmd.isIncremental()) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * For use by the validation framework only.
-	 */
-	protected Set getEnabledValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getEnabledValidators();
-			return InternalValidatorManager.wrapInSet(vmds);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::getEnabledValidators" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return Collections.EMPTY_SET;
-		}
-	}
-
-	protected Set getManualEnabledValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getManualEnabledValidators();
-			return InternalValidatorManager.wrapInSet(vmds);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::getEnabledValidators" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return Collections.EMPTY_SET;
-		}
-	}	
-	
-	protected Set getBuildEnabledValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getBuildEnabledValidators();
-			return InternalValidatorManager.wrapInSet(vmds);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::getEnabledValidators" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return Collections.EMPTY_SET;
-		}
-	}	
-	
-	/**
-	 * This method is for use only by the validation framework. Update the task list based on which
-	 * validators are enabled or disabled. This method should be called only by the validation
-	 * framework UI classes. Remove the messages belonging to disabled validators.
-	 */
-	public void updateTaskList(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getDisabledValidators();
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = vmds[i];
-				// For validators who aren't going to run, clear their messages from the task list.
-				// Don't need to check for duplicate entries because each Validator must be unique.
-				// The uniqueness of each Validator is checked by the plugin registry.
-				WorkbenchReporter.removeAllMessages(project, vmd.getValidatorNames(), null);
-			}
-			 //Message Limit is removed from the framework - WTP1.5M5
-			/*if (prjp.numberOfEnabledValidators() > 0) {
-				ValidatorManager.getManager().checkMessageLimit(project, false); // Do not remove
-				// the exceeded
-				// message; only
-				// ValidationOperation
-				// should do that
-				// because it's
-				// about to run
-				// validation. If
-				// the limit is
-				// increased,
-				// messages may
-				// still be
-				// missing, so
-				// don't remove the
-				// "messages may be
-				// missing"
-				// message.
-			} else {
-				// Can't run validation, so remove the "exceeded" message
-				ValidatorManager.getManager().removeMessageLimitExceeded(project);
-			}*/
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.updateTaskList(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	}
-
-
-	public boolean canAutoValidateButtonBeEnabled(IProject project, boolean isGlobalAutoBuildOn) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			boolean incrementalValEnabled = (prjp.numberOfEnabledIncrementalValidators() > 0);
-			return canAutoValidateButtonBeEnabled(project, isGlobalAutoBuildOn, incrementalValEnabled);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::canAutoValidateButtonBeEnabled" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return false;
-		}
-	}
-
-	public boolean canAutoValidateButtonBeEnabled(IProject project, boolean isGlobalAutoBuildOn, boolean incrementalValEnabled) {
-		boolean doesProjectSupportAutoValidate = doesProjectSupportBuildValidation(project);
-		return (doesProjectSupportAutoValidate && isGlobalAutoBuildOn && incrementalValEnabled);
-	}
-
-	/**
-	 * Return true if the validator identified by the String is configured on the IProject and
-	 * enabled on the IProject. Otherwise return false;
-	 */
-	public boolean isEnabled(IProject project, String validatorName) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return prjp.isEnabled(validatorName);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.isEnabled(" + project.getName() + ", " + validatorName + ")"); //$NON-NLS-1$  //$NON-NLS-2$ //$NON-NLS-3$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only. Return true if the ValidatorMetaData is
-	 *             enabled for the given project
-	 */
-	public boolean isEnabled(IProject project, ValidatorMetaData vmd) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return prjp.isEnabled(vmd);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::isEnabled" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 */
-	public boolean isConfigured(IProject project, ValidatorMetaData vmd) {
-		return ValidationRegistryReader.getReader().isConfiguredOnProject(vmd, project);
-	}
-
-	/**
-	 * This method returns true if the global auto-build setting is turned on.
-	 */
-	public boolean isGlobalAutoBuildEnabled() {
-		return ResourcesPlugin.getWorkspace().isAutoBuilding();
-	}
-
-	/**
-	 * Returns the number of enabled validators on the given project.
-	 */
-	public int numberProjectEnabledValidators(IProject project) {
-		if (project == null) {
-			return 0;
-		}
-
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return prjp.numberOfEnabledValidators();
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager::numberProjectEnabledValidators" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return 0;
-		}
-	}
-
-
-	/**
-	 * Suspends, or undoes the suspension of, validation on the current project. If "suspend" is
-	 * true then validation is suspended and if it's "false" then validation will run on the
-	 * project. The value of this variable is not persisted.
-	 * 
-	 * Be VERY CAREFUL when you use this method! Turn validation back on in a finally block because
-	 * if the code which suspended validation crashes, the user has no way to unsuspend validation.
-	 * The user will have to shut down & restart WSAD to get validation to work again.
-	 * 
-	 * If an operation is used to make changes that should not be validated, then use the technique
-	 * documented in the "Preventing Validation" topic of the "Validation Guide" (in the
-	 * org.eclipse.wst.validation.internal.provisional.core.core.prop plugin). If you don't, validation may not be suspended.
-	 */
-	public void suspendValidation(IProject project, boolean suspend) {
-		if (project == null) {
-			return;
-		}
-
-		if (!project.exists()) {
-			return;
-		}
-
-		// Ignore whether or not the project is closed. If it's closed then it will not be built
-		// and the "Run Validation" option will not be available.
-		if (suspend) {
-			_suspendedProjects.add(project);
-		} else {
-			_suspendedProjects.remove(project);
-		}
-	}
-
-	/**
-	 * Suspends, or undoes the suspension of, validation on all projects in the workbench. If
-	 * "suspend" is true then validation is suspended and if it's "false" then validation will run.
-	 * The value of this variable is not persisted.
-	 * 
-	 * Be VERY CAREFUL when you use this method! Turn validation back on in a finally block because
-	 * if the code which suspended validation crashes, the user has no way to unsuspend validation.
-	 * The user will have to shut down & restart WSAD to get validation to work again.
-	 * 
-	 * If an operation is used to make changes that should not be validated, then use the technique
-	 * documented in the "Preventing Validation" topic of the "Validation Guide" (in the
-	 * org.eclipse.wst.validation.internal.provisional.core.core.prop plugin). If you don't, validation may not be suspended.
-	 */
-	public void suspendAllValidation(boolean suspend) {
-		_suspendAllValidation = suspend;
-	}
-
-	/**
-	 * Return true if "suspend all" is enabled, false otherwise.
-	 */
-	public boolean isSuspended() {
-		return _suspendAllValidation;
-	}
-
-	/**
-	 * Returns true if validation will not run on the project because it's been suspended. This
-	 * method checks only the suspension status; if validation cannot run for some other reason (for
-	 * example, there are no enabled validators), yet the IProject is not suspended, this method
-	 * will return true even though validation will not run.
-	 */
-	public boolean isSuspended(IProject project) {
-		if (project == null) {
-			return false;
-		}
-
-		if (_suspendAllValidation) {
-			return true;
-		}
-
-		return _suspendedProjects.contains(project);
-	}
-
-	/**
-	 * This method should be called by any code that is preparing to suspend validation on a
-	 * project. Rather than calling isSuspsend(IProject), which will return true if all validation
-	 * has been suspended, this method returns the state of the project itself. See the
-	 * ValidationMigrator::migrateProject for an example.
-	 * 
-	 * @param project
-	 * @return boolean
-	 */
-	public boolean isProjectSuspended(IProject project) {
-		if (project == null) {
-			return false;
-		}
-
-		return _suspendedProjects.contains(project);
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Given a list of validators' plugin ids, make those validators enabled for this project. All
-	 * others, disable for this project.
-	 */
-	public void setEnabledValidators(IProject project, Set vmdsSet, IProgressMonitor monitor) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = null;
-			if (vmdsSet == null) {
-				vmds = new ValidatorMetaData[0];
-			} else {
-				vmds = new ValidatorMetaData[vmdsSet.size()];
-				vmdsSet.toArray(vmds);
-			}
-
-			prjp.setEnabledValidators(vmds);
-
-			updateTaskList(project);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.setEnabledValidators(" + project.getName() + ", Set, IProgressMonitor)"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	}
-
-	public static void setResourceUtilClass(Class clazz) {
-		_resourceUtilClass = clazz;
-	}
-
-	
-	
-	public static void initializeMessageLimitProjectMap(IProject project) {
-		if(messageLimitProjectMap == null) 
-			messageLimitProjectMap = new HashMap();
-		if(messageLimitProjectMap.get(project) == null)
-			messageLimitProjectMap.put(project,new Integer(0));
-	}
-	
-	public static void setMessageLimitMessageForProject(IProject project) {
-		initializeMessageLimitMessageProjectMap();
-		messageLimitMessageProjectMap.put(project, Boolean.TRUE);
-	}
-
-	private static void initializeMessageLimitMessageProjectMap() {
-		if(messageLimitMessageProjectMap == null) 
-			messageLimitMessageProjectMap = new HashMap();
-	}
-
-	/**
-	 * This method is for use by batch EJB deploy only. Only in batch mode is an infinitie number of
-	 * messages allowed.
-	 * 
-	 * Enable a project to have an infinite number of messages.
-	 * @deprecated
-	 */
-	public void setNoMessageLimit(IProject project) {/*
-		setMessageLimit(project, WorkbenchReporter.NO_MESSAGE_LIMIT);
-	*/}
-
-	/**
-	 * This method is for use by batch EJB deploy only. Only in batch mode is an infinitie number of
-	 * messages allowed.
-	 * 
-	 * Return true if the given project is allowed an infinite number of validation messages.
-	 */
-	public boolean isNoMessageLimit(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			int max = prjp.getMaximumNumberOfMessages();
-			if (max == WorkbenchReporter.NO_MESSAGE_LIMIT) {
-				return true;
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.setEnabledValidators(" + project.getName() + ", Set, IProgressMonitor)"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * This method is for use by the validation framework only.
-	 * @deprecated - message limits no longer used
-	 */
-	public void setMessageLimit(IProject project, int limit) {/*
-		try {
-			if ((limit == WorkbenchReporter.NO_MESSAGE_LIMIT) || (limit >= 0)) {
-				ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-				if (!prjp.doesProjectOverride()) {
-					prjp.setDoesProjectOverride(true);
-				}
-				prjp.setMaximumNumberOfMessages(limit);
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.setMessageLimit(" + project.getName() + ", " + limit + ")"); //$NON-NLS-1$  //$NON-NLS-2$ //$NON-NLS-3$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	*/}
-
-	/**
-	 * @deprecated This method should be used only by the validation framework. If a validator
-	 *             validates more than one project, then a try-catch block should wrap the
-	 *             validation of each project, and the MessageLimitException should be caught. In
-	 *             the catch(MessageLimitException) block, this method should be called so that the
-	 *             appropriate message can be added to the task list: "validation was terminated
-	 *             because the maximum number of messages was reported"
-	 */
-	public boolean checkMessageLimit(IProject project) {
-		return checkMessageLimit(project, true);
-	}
-
-	/**
-	 * @deprecated This method should be not be used anymore as Message Limit is removed from
-	 * the framework
-	 */
-	public boolean checkMessageLimit(IProject project, Iterator iterator) {
-		return checkMessageLimit(project, false);
-	}
-
-	/**
-	 * This method is intended to be used only by the validation framework. This method should be
-	 * used by the validation operation to add/remove the "exceeded" message. Return true if the
-	 * project is under the limit of messages, false otherwise.
-	 * 
-	 * @deprecated This method should be not be used anymore as Message Limit is removed from
-	 * the framework - WTP1.5M5
-	 */
-	public boolean checkMessageLimit(IProject project, boolean removeExceededMessage) {
-		if (project == null) {
-			return true;
-		}
-
-		/*if (!isMessageLimitExceeded(project)) {
-			if (removeExceededMessage) {
-				// If the max was exceeded before, but isn't exceeded now,
-				// remove the "exceeded" message.
-				removeMessageLimitExceeded(project);
-			}
-			return true;
-		}*/
-
-		// This method is called under two conditions:
-		//    1. The UI's message limit has changed, and some messages may need to be removed. The
-		// "exceeded" message is never removed.
-		//    2. The ValidationOperation has run, and the exceeded message may need to be added or
-		// removed.
-		boolean result = true;
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			int max = prjp.getMaximumNumberOfMessages();
-			IMarker[] markers = getValidationTasksWithoutLimitMessage(project);
-			int numExceededMarkers = markers.length - max; // Excluding the "limit was exceeded"
-			// message, this is the number of extra
-			// markers.
-			if (numExceededMarkers >= 0) { // Will be == max if last time val run, maximum reported.
-				// Remove some markers; these markers are chosen arbitrarily.
-				int index = (max >= 0) ? (max) : 0;
-				IMarker[] removeMarkers = new IMarker[numExceededMarkers];
-				System.arraycopy(markers, index, removeMarkers, 0, numExceededMarkers);
-				try {
-					ResourcesPlugin.getWorkspace().deleteMarkers(removeMarkers);
-				} catch (CoreException exc) {
-					Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceID("ValidatorManager.checkMessageLimit(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-						entry.setTargetException(exc);
-						logger.write(Level.SEVERE, entry);
-					}
-				}
-				result = false;
-
-				if (max > 0) {
-					// If max <= 0, user doesn't want to see anything
-					// If exceeded message doesn't exist, add it.
-					addMessageLimitExceeded(project);
-				}
-			} else if (removeExceededMessage) {
-				removeMessageLimitExceeded(project);
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.checkMessageLimit(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			return true;
-		}
-
-		return result;
-	}
-
-	/**
-	 * @deprecated This method should be used by the validation operation to add/remove the
-	 *             "exceeded" message.
-	 */
-	public boolean checkMessageLimit(IProject project, Iterator iterator, boolean removeExceededMessage) {
-		return checkMessageLimit(project, removeExceededMessage);
-	}
-
-	/**
-	 * This message is for use only by the validation framework. If the "max messages were reported"
-	 * IMarker exists, return it. Otherwise return null.
-	 */
-	private IMarker[] getLimitMessage(IProject project) {
-		IMarker[] exceededMessage = TaskListUtility.getValidationTasks(project, WorkbenchReporter.getUniqueId(getMessageLimitOwner()));
-		if ((exceededMessage != null) && (exceededMessage.length != 0)) {
-			return exceededMessage;
-		}
-
-		return null;
-	}
-
-	/**
-	 * Return true if the given IMarker is a "limit was exceeded" message, false otherwise.
-	 */
-	private boolean isLimitMessage(IMarker marker) {
-		if (marker == null) {
-			return false;
-		}
-
-		return TaskListUtility.isOwner(marker, WorkbenchReporter.getUniqueId(getMessageLimitOwner()));
-	}
-
-	/**
-	 * Return all of the IMarkers on the IProject excluding the "limit was exceeded" message. If
-	 * there are no markers, return null.
-	 */
-	private IMarker[] getValidationTasksWithoutLimitMessage(IProject project) {
-		IMarker[] allTasks = TaskListUtility.getValidationTasks(project, IMessage.ALL_MESSAGES);
-		if ((allTasks == null) || (allTasks.length == 0)) {
-			return null;
-		}
-
-		// Don't check if the limit message exists because
-		// any interaction with markers is costly. Since the
-		// interaction has to be done at least once, make that
-		// single occasion in the for loop below.
-		IMarker[] validatorMessages = new IMarker[allTasks.length];
-		int count = 0; // how many markers have been added to the result array?
-		for (int i = 0; i < allTasks.length; i++) {
-			IMarker marker = allTasks[i];
-			if (isLimitMessage(marker)) {
-				continue;
-			}
-			validatorMessages[count++] = marker;
-		}
-
-		IMarker[] result = new IMarker[count];
-		System.arraycopy(validatorMessages, 0, result, 0, count);
-		return result;
-	}
-
-	/**
-	 * This method should be called only by the validation framework. Return true if the message was
-	 * removed, false if the message didn't exist.
-	 * @deprecated This method should be not be used anymore as Message Limit is removed from
-	 * the framework - WTP1.5M5
-	 */
-	public boolean removeMessageLimitExceeded(IProject project) {
-		IMarker[] exceededMessage = getLimitMessage(project);
-		if (exceededMessage != null) {
-			try {
-				ResourcesPlugin.getWorkspace().deleteMarkers(exceededMessage);
-				return true;
-			} catch (CoreException exc) {
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("ValidatorManager.removeMessageLimitExceeded(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if the last validation operation terminated due to the maximum number of messages
-	 * having already been reported.
-	 */
-	public boolean wasValidationTerminated(IProject project) {
-		IMarker[] exceededMessage = getLimitMessage(project);
-		return (exceededMessage != null); // Validation was terminated if the message exists.
-	}
-
-	private Class getMessageLimitOwner() {
-		if (_messageLimitOwner == null) {
-			_messageLimitOwner = getClass();
-		}
-		return _messageLimitOwner;
-	}
-
-	/**
-	 * Return true if owner is the name of the class which owns validation framework status
-	 * messages.
-	 * 
-	 * ONLY the validation framework should use this method.
-	 */
-	public boolean isInternalOwner(String owner) {
-		if (owner == null) {
-			return false;
-		}
-
-		for (int i = 0; i < _internalOwners.length; i++) {
-			String internalOwner = _internalOwners[i];
-			if (owner.equals(internalOwner)) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Add a class to the list of owners of validation messages. ONLY by the validation framework
-	 * should use this method (it is used for messages owned by framework classes or classes used by
-	 * the TVT plugin.)
-	 */
-	public void addInternalOwner(Class clazz) {
-		if (clazz == null) {
-			return;
-		}
-
-		String[] tempInternalOwners = new String[_internalOwners.length + 1];
-		if (_internalOwners.length > 0) {
-			System.arraycopy(_internalOwners, 0, tempInternalOwners, 0, _internalOwners.length);
-		}
-		tempInternalOwners[_internalOwners.length] = WorkbenchReporter.getUniqueId(clazz);
-
-		_internalOwners = tempInternalOwners;
-	}
-
-
-	/**
-	 * @deprecated This method should be used only by the validation framework.
-	 */
-	public void addMessageLimitExceeded(IProject project, Iterator iterator) {
-		addMessageLimitExceeded(project);
-	}
-
-	/**
-	 * This method should be used only by the validation framework.
-	 */
-	public void addMessageLimitExceeded(IProject project) {
-		// if the message exists already, don't add it again.
-		IMarker[] exceededMessage = getLimitMessage(project);
-		if (exceededMessage == null) {
-			IMessage message = new Message(ValidationPlugin.VALIDATION_PROP_FILE_NAME, IMessage.LOW_SEVERITY, ResourceConstants.VBF_TASK_WARN_MESSAGE_LIMIT_VAL);
-			WorkbenchReporter.addMessage(project, getMessageLimitOwner(), message);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorSubsetOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorSubsetOperation.java
deleted file mode 100644
index f5aee2d..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorSubsetOperation.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.FilterUtil;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-
-/**
- * Run some validators on a given IProject. Any validators which cannot be loaded or which are not
- * registered against this type of project will be ignored.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class ValidatorSubsetOperation extends ValidationOperation {
-	protected static final String DEFAULT_DEFAULTEXTENSION = null; // By default, assume that there
-
-	// is no default fallback
-	// extension
-
-	/**
-	 * Create an operation that runs a full validation on the named validators either if validation
-	 * needs to (@see ValidatorSubsetOperation(IProject)) or if <code>force</code> is true.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, boolean force, boolean async) {
-		this(project, force, RegistryConstants.ATT_RULE_GROUP_DEFAULT, async);
-	}
-
-	/**
-	 * Create an operation that runs a full validation on the named validators using the
-	 * <code>ruleGroup</code> pass. Use this constructor only if you want to run a validator that
-	 * supports the two passes: FAST and FULL.
-	 * 
-	 * If force is true, validation is run whether or not it needs to.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, IWorkbenchContext aWorkenchContext, boolean force, int ruleGroup, boolean async) {
-		super(project, aWorkenchContext, null, null, ruleGroup, force, async);
-	}
-	
-
-	/**
-	 * Create an operation that runs a full validation on the named validators using the
-	 * <code>ruleGroup</code> pass. Use this constructor only if you want to run a validator that
-	 * supports the two passes: FAST and FULL.
-	 * 
-	 * If force is true, validation is run whether or not it needs to.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, boolean force, int ruleGroup, boolean async) {
-		super(project, null, null, ruleGroup, force, async);
-	}
-
-	/**
-	 * The fileExtension parameter must be ".X", where X is the extension. Do not type "*.X" or "X"
-	 * (i.e., without the dot). The parameter could also be the file name, e.g. "foo.X".
-	 * 
-	 * This constructor should be used when the invoker wishes to force validation on certain
-	 * resources, without waiting for the user to save their changes.
-	 * 
-	 * An IllegalArgumentException is thrown if there are no validators registered for the
-	 * fileExtension on the given IProject.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, String fileExtension, Object[] changedResources, boolean async) throws IllegalArgumentException {
-		this(project, fileExtension, DEFAULT_DEFAULTEXTENSION, changedResources, async);
-	}
-
-	/**
-	 * The fileExtension parameter must be ".X", where X is the extension. Do not type "*.X" or "X"
-	 * (i.e., without the dot). The parameter could also be the file name, e.g. "foo.X".
-	 * 
-	 * This constructor should be used when the invoker wishes to force validation on certain
-	 * resources, without waiting for the user to save their changes.
-	 * 
-	 * If there are no validators configured on files named ".X", then use the validators configured
-	 * on validators named ".Y", where defaultExtension identifies the fallback extension to use.
-	 * defaultExtension follows the same syntax as fileExtension.
-	 * 
-	 * An IllegalArgumentException is thrown if there are no validators registered for the
-	 * fileExtension or defaultExtension on the given IProject.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, String fileExtension, String defaultExtension, Object[] changedResources, boolean async) throws IllegalArgumentException {
-		super(project, shouldForce(changedResources), async);
-
-		boolean filterIn = false; // force the resources to be filtered in even if the validator
-		// doesn't normally take them?
-		ValidatorMetaData[] vmds = InternalValidatorManager.getManager().getValidatorsForExtension(project, fileExtension); // return
-		// a
-		// list
-		// of
-		// validators
-		// which
-		// are
-		// configured
-		// to
-		// run
-		// on
-		// files
-		// with
-		// that
-		// extension.
-		// A
-		// validator
-		// will
-		// be
-		// in
-		// the
-		// list
-		// whether
-		// it
-		// has
-		// been
-		// enabled
-		// or
-		// disabled
-		// by
-		// the
-		// user.
-		if ((defaultExtension != null) && ((vmds == null) || (vmds.length == 0))) {
-			filterIn = true;
-			vmds = InternalValidatorManager.getManager().getValidatorsForExtension(project, defaultExtension);
-		}
-
-		if ((vmds == null) || (vmds.length == 0)) {
-			throw new IllegalArgumentException();
-		}
-
-		setEnabledValidators(InternalValidatorManager.wrapInSet(vmds));
-
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, filterIn)); // construct
-		// an
-		// array
-		// of
-		// IFileDelta[]
-		// to
-		// wrap
-		// the
-		// Object[];
-		// one
-		// IFileDelta
-		// for
-		// each
-		// Object
-		// in
-		// the
-		// array
-	}
-
-	/**
-	 * This constructor is provided for the validation async testing, and is not intended to be
-	 * called outside the validation framework.
-	 * 
-	 * Run validation on the changed resources with the given validators. All resources must be from
-	 * the same project; if they're not, an IllegalArgumentException will be thrown. All validators
-	 * must be able to run on the resources' project; if not, an IllegalArgumentException will be
-	 * thrown. If the vmds are either empty or null, an IllegalArgumentExeption will be thrown. If
-	 * the project is closed or doesn't exist then an IllegalArgumentException will be thrown.
-	 * 
-	 * The ifileDeltaType is one of the IFileDelta constants: ADDED, CHANGED, or DELETED.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, ValidatorMetaData[] vmds, IResource[] changedResources, int ifileDeltaType, boolean force, boolean async) throws IllegalArgumentException {
-		// Have to have the IProject as a parameter because ValidationOperation needs the IProject,
-		// and the super(..)
-		// must be called before anything else in this constructor is called.
-		super(project, force, async);
-
-		if ((vmds == null) || (vmds.length == 0)) {
-			throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_BADVMD));
-		}
-
-		if (!project.isOpen()) {
-			throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_OPENPRJ, new String[]{project.getName()}));
-		}
-		if (!project.exists()) {
-			throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_EXISTPRJ, new String[]{project.getName()}));
-		}
-
-		if ((changedResources != null) && (changedResources.length > 0)) {
-			Set tempSet = new HashSet();
-			for (int i = 0; i < changedResources.length; i++) {
-				IProject p = changedResources[i].getProject();
-				if (!p.isOpen()) {
-					throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_OPENPRJ, new String[]{p.getName()}));
-				}
-				if (!p.exists()) {
-					throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_EXISTPRJ, new String[]{p.getName()}));
-				}
-				tempSet.add(project);
-			}
-
-			if (!tempSet.contains(project)) {
-				throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_BADPRJ, new String[]{project.getName()}));
-			}
-			if (tempSet.size() != 1) {
-				StringBuffer buffer = new StringBuffer("\n"); //$NON-NLS-1$
-				Iterator iterator = tempSet.iterator();
-				while (iterator.hasNext()) {
-					IProject p = (IProject) iterator.next();
-					buffer.append("\t"); //$NON-NLS-1$
-					buffer.append(p.getName());
-					if (iterator.hasNext()) {
-						buffer.append(", "); //$NON-NLS-1$
-					}
-				}
-				throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_MULTIPRJ, new String[]{buffer.toString()}));
-			}
-		}
-
-		for (int i = 0; i < vmds.length; i++) {
-			ValidatorMetaData vmd = vmds[i];
-			if (!ValidationRegistryReader.getReader().isConfiguredOnProject(vmd, project)) {
-				throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_BADVAL, new String[]{vmd.getValidatorDisplayName(), project.getName()}));
-			}
-		}
-
-		setEnabledValidators(InternalValidatorManager.wrapInSet(vmds));
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, ifileDeltaType)); // construct
-		// an
-		// array
-		// of
-		// IFileDelta[]
-		// to
-		// wrap
-		// the
-		// IResource[];
-		// one
-		// IFileDelta
-		// for
-		// each
-		// IResource
-		// in
-		// the
-		// array
-	}
-
-	/**
-	 * Given an array of fully-qualified class names of validators, create the list of validators to
-	 * be run. The array is not checked for duplicates or for invalid validators (i.e., a validator
-	 * of that class type is not loaded, or the validator is loaded but cannot run against this type
-	 * of IProject.)
-	 */
-	public void setValidators(String[] validatorNames) throws IllegalArgumentException {
-		Set enabled = new HashSet();
-		for (int i = 0; i < validatorNames.length; i++) {
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorNames[i]);
-			if (vmd == null) {
-				// No validator, with that plugin id, can be run on that project.
-				// Either the validator isn't installed, or the IProject passed in
-				// doesn't have the necessary nature.
-				throw new IllegalArgumentException(validatorNames[i]);
-			}
-			enabled.add(vmd);
-		}
-		setEnabledValidators(enabled);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use setForce(boolean)
-	 */
-	public void setAlwaysRun(boolean force) {
-		setForce(force);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchContext.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchContext.java
deleted file mode 100644
index 58b281f..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchContext.java
+++ /dev/null
@@ -1,790 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * Abstract base class for registration of symbolic model names, and also provides the mechanism for
- * registering the load model method which loads a specific type of MOF model, as identified by the
- * symbolic model name.
- */
-public class WorkbenchContext implements IWorkbenchContext {
-	private IProject _project = null;
-	private Hashtable _modelRegistry = null;
-//	private static final IContainer[] NO_CONTAINERS = new IContainer[0];
-	private int _ruleGroup = RegistryConstants.ATT_RULE_GROUP_DEFAULT;
-	public List validationFileURIs = null; 
-	public static final String GET_PROJECT_FILES = "getAllFiles"; //$NON-NLS-1$
-	public static final String GET_FILE = "getFile"; //$NON-NLS-1$
-//	private static final IContainer[] NO_CONTAINERS = new IContainer[0];
-	public static final String VALIDATION_MARKER = "com.ibm.etools.validation.problemmarker"; //$NON-NLS-1$
-	public static final String VALIDATION_MARKER_OWNER = "owner";  //$NON-NLS-1$
-
-	public WorkbenchContext() {
-		super();
-		_modelRegistry = new Hashtable();
-
-		registerModel(IRuleGroup.PASS_LEVEL, "loadRuleGroup"); //$NON-NLS-1$
-		
-		//the following will register the helper's symbolic methods
-	    Class [] args = new Class[1] ;
-	    args[0] = String.class ;  // a string argument denoting a specific JSP.
-		registerModel(GET_FILE, "getFile", args);//$NON-NLS-1$
-		registerModel(GET_PROJECT_FILES, "getFiles", args);//$NON-NLS-1$
-	}
-
-	/**
-	 * When the validation is complete, this method will be called so that the IWorkbenchContext can
-	 * clean up any resources it allocated during the validation.
-	 * 
-	 * If the cleanup is a long-running operation, subtask messages should be sent to the IReporter.
-	 */
-	public void cleanup(WorkbenchReporter reporter) {
-		// Default: nothing to clean up
-	}
-
-	/**
-	 * When the IProject is closing, perform any cleanup that needs to be done. When this method is
-	 * called, if the helper has cached any resources from the IProject, it should release those
-	 * resources. If you do not allocate resources in your helper, then this method should be a
-	 * no-op.
-	 */
-	public void closing() {
-		closing(getProject());
-	}
-
-	/**
-	 * When the IProject is closing, perform any cleanup that needs to be done. When this method is
-	 * called, if the helper has cached any resources from the IProject, it should release those
-	 * resources. If you do not allocate resources in your helper, then this method should be a
-	 * no-op.
-	 * 
-	 * @deprecated Override closing() instead, and use getProject()
-	 */
-	public void closing(IProject project) {
-		//do nothing
-	}
-
-	/**
-	 * When the IProject is being deleted, perform any cleanup that needs to be done. When this
-	 * method is called, if the helper has cached any resources from the IProject, it should release
-	 * those resources. If you do not allocate resources in your helper, then this method should be
-	 * a no-op.
-	 */
-	public void deleting() {
-		deleting(getProject());
-	}
-
-	/**
-	 * When the IProject is being deleted, perform any cleanup that needs to be done. When this
-	 * method is called, if the helper has cached any resources from the IProject, it should release
-	 * those resources. If you do not allocate resources in your helper, then this method should be
-	 * a no-op.
-	 * 
-	 * @deprecated Override deleting() instead, and use getProject()
-	 */
-	public void deleting(IProject project) {
-		//do nothing
-	}
-
-	/**
-	 * Returns the IPath of a resource, relative to the container. If the IResource is not a member
-	 * of the container, return null. This method should be useful for implementors of this class;
-	 * specifically, in their getPortableName method.
-	 */
-	public static String getContainerRelativePath(String fullPath, IContainer container) {
-		if ((fullPath == null) || (container == null))
-			return null;
-		IPath relPath = getContainerRelativePath(new Path(fullPath), container);
-		if (relPath != null)
-			return relPath.toString();
-		return null;
-	}
-
-	/**
-	 * Returns the IPath of a resource, relative to the container. If the IResource is not a member
-	 * of the container, return null. This method should be useful for implementors of this class;
-	 * specifically, in their getPortableName method.
-	 */
-	public static IPath getContainerRelativePath(IResource resource, IContainer container) {
-		if ((resource == null) || (container == null)) {
-			return null;
-		}
-
-		IResource foundResource = null;
-		IPath relPath = getContainerRelativePath(resource.getFullPath(), container);
-		if (relPath != null) {
-			// if relPath is null, the resource is not a direct member of the container
-			try {
-				if (!resource.exists()) { // findMember won't work
-					if (resource instanceof IFile) {
-						foundResource = container.getFile(relPath);
-					} else if (resource instanceof IFolder) {
-						foundResource = container.getFolder(relPath);
-					}
-				} else {
-					foundResource = container.findMember(relPath, true); // true means include
-					// phantom resources
-					if ((foundResource != null) && !foundResource.exists()) {
-						foundResource = null;
-					}
-				}
-			} catch (IllegalArgumentException exc) {
-				foundResource = null;
-
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("WorkbenchContext::getContainerRelativePath(IResource, IContainer)"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-
-		if (foundResource == null) {
-			return null;
-		}
-
-		// file has been found
-		int matchingFirstSegments = container.getProjectRelativePath().matchingFirstSegments(resource.getProjectRelativePath());
-		return resource.getProjectRelativePath().removeFirstSegments(matchingFirstSegments);
-	}
-
-	/**
-	 * Given an IPath, if the IPath is absolute, and is a part of the IContainer, return an IPath
-	 * which is relative to the container. If the IPath is not part of the IContainer, return null.
-	 */
-	public static IPath getContainerRelativePath(IPath path, IContainer container) {
-		if ((path == null) || (container == null)) {
-			return null;
-		}
-
-		if (path.isAbsolute()) {
-			// Is the path part of the IContainer?
-			int matchingFirstSegments = path.matchingFirstSegments(container.getFullPath());
-			if ((matchingFirstSegments > 0) && (matchingFirstSegments == container.getFullPath().segmentCount())) {
-				// part of the IContainer
-				return path.removeFirstSegments(matchingFirstSegments);
-			}
-			// not part of the IContainer
-			return null;
-		}
-		// path is relative
-		// Is the path part of the IContainer?
-		//TODO don't have time to implement this now, but should in future. - Ruth
-		return null;
-	}
-
-	/**
-	 * Given an IMessage's target object, return a string which identifies the object, so that the
-	 * user can locate it.
-	 */
-	public String getDescription(Object object) {
-		if (object == null) {
-			return ""; //$NON-NLS-1$
-		}
-
-		if (object instanceof WorkbenchFileDelta) {
-			WorkbenchFileDelta wfd = (WorkbenchFileDelta) object;
-			if (wfd.getResource() != null) {
-				// resource will be null if WorkbenchFileDelta was constructed from an Object
-				// instead of an IResource
-				return wfd.getResource().getFullPath().toString();
-			}
-		}
-
-		return object.toString();
-	}
-
-	/**
-	 * Given an Object, if the object has a corresponding IFile in the workbench, return the IFile.
-	 * Otherwise return null.
-	 * 
-	 * This method is used by the WorkbenchReporter. In eclipse, in order to add or remove a task
-	 * list entry, the IResource, to which the entry applies, must be identified. The IReporter
-	 * interface passes in an Object in these methods:
-	 * 
-	 * addValidationMessage(IValidator, IMessage) // Object is a part of IMessage
-	 * 
-	 * removeAllMessages(IValidator, Object),
-	 * 
-	 * Thus, the WorkbenchReporter needs to know how, given the Object, which IFile that the Object
-	 * represents in the workbench, in order to be able to add the task list entry.
-	 * 
-	 * If this method returns null, then the WorkbenchReporter will add the message to the IProject
-	 * instead of an IFile.
-	 *  
-	 */
-	public IFile getFile(Object obj) {
-		return null;
-	}
-
-	public IResource getResource(Object obj) {
-		if (obj == null) {
-			return null;
-		}
-
-		IResource res = null;
-		if (obj instanceof WorkbenchFileDelta) {
-			// resource may be null if WorkbenchFileDelta was constructed from an Object instead of
-			// an IResource
-			res = ((WorkbenchFileDelta) obj).getResource();
-		} else if (obj instanceof IResource) {
-			res = (IResource) obj;
-		}
-
-		if ((res == null) || (!res.exists())) {
-			return getFile(obj);
-		}
-
-		return res;
-	}
-
-	/**
-	 * If the IProject is associated with an EJBNatureRuntime, return the IJavaProject which
-	 * represents it.
-	 */
-//	public static IJavaProject getJavaProject(IProject project) {
-//		if (project == null) {
-//			return null;
-//		}
-//		return JavaCore.create(project);
-//	}
-
-	/**
-	 * Given an IMessage's target object, return the line number, of the IFile, which the target
-	 * object represents. If the object is null, or if access to line numbers is not possible,
-	 * return "0".
-	 */
-	public int getLineNo(Object object) {
-		IResourceUtil util = ValidatorManager.getResourceUtil();
-		if (util == null) {
-			return IMessage.LINENO_UNSET;
-		}
-		try {
-			return util.getLineNo(object);
-		} catch (Throwable exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchContext.getLineNo(Object)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return IMessage.LINENO_UNSET;
-		}
-
-	}
-	
-	/**
-	 * Given an IMessage's target object, return the line number, of the IFile, which the target
-	 * object represents, if possible. If the object is null, or if access to line numbers is not
-	 * possible, return a text description of the location.
-	 * 
-	 * This method will be called whether or not the IResource is an IFile, IFolder, or IProject.
-	 * Line numbers are valid only for IFile types; if the resource is not an IFile, then a text
-	 * description of the location must be returned.
-	 */
-	public String getLocation(Object object) {
-		IResource res = getResource(object);
-		if ((res == null) || !(res instanceof IFile))
-			// return a text description
-			return getDescription(object);
-		// default to a line number, if it's available. Else, use a text description.
-		int lineNumber = getLineNo(object);
-		if (lineNumber == IMessage.LINENO_UNSET) {
-			return getDescription(object);
-		}
-		// return the line number
-		return String.valueOf(lineNumber);
-	}
-
-	/**
-	 * Given a name of a load method, and the types of parameters it takes (this method is always
-	 * called with null as the second parameter), return the java.lang.reflect.Method which
-	 * represents the load method.
-	 */
-	private final Method getMethod(String methodName, Class[] parmTypes) {
-		Method m = null;
-		try {
-			m = getClass().getMethod(methodName, parmTypes);
-		} catch (NoSuchMethodException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchContext::getMethod(String, Class[])"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		}
-
-		return m;
-	}
-
-	/**
-	 * @see IWorkbenchContext.getPortableName(IResource)
-	 */
-	public String getPortableName(IResource resource) {
-		return resource.getFullPath().toString();
-	}
-
-	/**
-	 * Return the IProject which is about to be validated. Each IWorkbenchContext knows how to
-	 * traverse a certain type of IProject, for example, an EJB project or a web project.
-	 */
-	public final IProject getProject() {
-		return _project;
-	}
-	
-	  /**
-	   * Get the IFile for the given filename.
-	   * 
-	   * @param filename The name of the file to retrieve.
-	   * @return An IFile representing the file specified or null if it can't be resolved.
-	   */
-	  public IFile getFile(String filename)
-	  {
-	    //    System.out.println("file name = " + filename);
-	    IResource res = getProject().findMember(filename, true); // true means include phantom resources
-	    if (res instanceof IFile) 
-	    {
-	      return (IFile) res;
-	    }
-	    return null;
-	  }
-	  
-	  /**
-	   * Get the collection of files from the project that are relevant for the
-	   * validator with the given class name.
-	   * 
-	   * @param validatorClassName The name of the validator class.
-	   * @return The collection of files relevant for the validator class specified.
-	   */
-	  public Collection getFiles(String validatorClassName)
-	  {
-	    IProject project = getProject();
-	    List files = new ArrayList();
-	    getFiles(files, project, validatorClassName);
-	    return files;
-	  }
-
-	  /**
-	   * Get the collection of files from the project that are relevant for the
-	   * validator with the given class name.
-	   * 
-	   * @param files The files relevant for the class name.
-	   * @param resource The resource to look for files in.
-	   * @param validatorClassName The name of the validator class.
-	   */
-	  protected void getFiles(Collection files, IContainer resource, String validatorClassName)
-	  {
-	    try
-	    {
-	      IResource [] resourceArray = resource.members(false);
-	      for (int i=0; i<resourceArray.length; i++)
-	      {       
-	        if (ValidatorManager.getManager().isApplicableTo(validatorClassName, resourceArray[i])) 
-	        {
-	          if (resourceArray[i] instanceof IFile) 
-				  files.add(resourceArray[i]);
-	        }
-	        if (resourceArray[i].getType() == IResource.FOLDER)
-	         getFiles(files,(IContainer)resourceArray[i], validatorClassName) ;
-	      }
-	    }
-	    catch (Exception e) {}
-	  }
-	  
-
-//	/**
-//	 * Return the folders (or project) which contain the .java source files.
-//	 */
-//	public static IContainer[] getProjectSourceContainers(IProject project) {
-//		if (project == null) {
-//			return NO_CONTAINERS;
-//		}
-//
-//		IJavaProject jp = getJavaProject(project);
-//		if (jp == null) {
-//			return NO_CONTAINERS;
-//		}
-//
-//		return getProjectSourceContainers(jp);
-//	}
-
-	/**
-	 * Return the folders (or project) which contain the .java source files.
-	 */
-//	public static IContainer[] getProjectSourceContainers(IJavaProject javaProject) {
-//		if (javaProject == null) {
-//			return NO_CONTAINERS;
-//		}
-//		IProject project = javaProject.getProject();
-//
-//		IClasspathEntry[] classpath = null;
-//		try {
-//			classpath = javaProject.getResolvedClasspath(true); // true means ignore unresolved
-//			// (missing) variables, instead of
-//			// throwing an exception
-//		} catch (JavaModelException exc) {
-//			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-//			if (logger.isLoggingLevel(Level.SEVERE)) {
-//				LogEntry entry = ValidationPlugin.getLogEntry();
-//				entry.setSourceID("WorkbenchContext::getProjectSourceContainers(IJavaProject)"); //$NON-NLS-1$
-//				entry.setTargetException(exc);
-//				logger.write(Level.SEVERE, entry);
-//			}
-//			return NO_CONTAINERS;
-//		}
-//
-//		if (classpath == null) {
-//			return NO_CONTAINERS;
-//		}
-//
-//		// Traverse the classpath, and calculate a list of just the
-//		// IFolders and IProjects (i.e., IContainers) which contain source
-//		IContainer[] icontainers = new IContainer[classpath.length];
-//		int validCount = 0;
-//		for (int i = 0; i < classpath.length; i++) {
-//			IClasspathEntry entry = classpath[i];
-//			if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-//				IPath entryPath = entry.getPath();
-//				IPath relEntryPath = getContainerRelativePath(entryPath, project);
-//				if (relEntryPath == null) {
-//					// classpath entry refers to something which doesn't exist
-//					continue;
-//				}
-//
-//				IResource outputResource = project.findMember(relEntryPath);
-//				if (outputResource == null) {
-//					// classpath entry refers to something which doesn't exist
-//					continue;
-//				}
-//
-//				if (outputResource instanceof IContainer) {
-//					icontainers[validCount++] = (IContainer) outputResource;
-//				}
-//			}
-//		}
-//
-//		//  following line causes a ClassCastException, so construct an array of IContainers
-//		// explicitly
-//		//	return (IContainer[])icontainers.toArray();
-//		IContainer[] containers = new IContainer[validCount];
-//		System.arraycopy(icontainers, 0, containers, 0, validCount);
-//		return containers;
-//	}
-
-	public int getRuleGroup() {
-		return _ruleGroup;
-	}
-
-	/**
-	 * This method can be overriden by AWorkbenchHelpers, if they wish to perform some
-	 * initialization once the IProject is set. Default is to do nothing.
-	 * 
-	 * For example, if this IWorkbenchContext delegates to another IWorkbenchContext, then that
-	 * IWorkbenchContext's setProject() method should be called here.
-	 */
-	public void initialize() {
-		//do nothing
-	}
-
-	/**
-	 * Return true if the given resource is in an IJavaProject, and if it is in one of the source
-	 * folders in the IJavaProject. If the project's source folder happens to be the project's
-	 * output folder too, this method will return true. If res is null, or is not found in one of
-	 * the source containers, this method will return false.
-	 */
-//	public boolean isInJavaSourcePath(IResource res) {
-//		if (res == null) {
-//			return false;
-//		}
-//
-//		IContainer[] containers = getProjectSourceContainers(res.getProject());
-//		for (int c = 0; c < containers.length; c++) {
-//			IPath resourcePath = getContainerRelativePath(res, containers[c]);
-//			if (resourcePath != null) {
-//				// file has been found
-//				return true;
-//			}
-//		}
-//
-//		return false;
-//	}
-
-	/**
-	 * Return true if the given symbolic name is registered, and can be loaded by WorkbenchContext's
-	 * "loadModel" method. For further information, see the comment above WorkbenchContext's
-	 * "registerModel" method.
-	 */
-	public final boolean isRegistered(String symbolicName) {
-		if (symbolicName == null) {
-			return false;
-		}
-		return _modelRegistry.containsKey(symbolicName);
-	}
-
-	/**
-	 * Given a symbolic name, load the MOF model which is identified by that name.
-	 * 
-	 * For support of dynamic symbolic names, such as file names, read the comment above the
-	 * registerModel method.
-	 * 
-	 * @see registerModel
-	 */
-	public Object loadModel(String symbolicName) {
-		return loadModel(symbolicName, null);
-	}
-
-	/**
-	 * Given a symbolic name, load the MOF model which is identified by that name.
-	 * 
-	 * For support of dynamic symbolic names, such as file names, read the comment above the
-	 * registerModel method.
-	 * 
-	 * @see registerModel
-	 */
-	public Object loadModel(String symbolicName, Object[] parms) {
-		try {
-			Method loader = (Method) _modelRegistry.get(symbolicName);
-			if (loader == null) {
-				return null;
-			}
-
-			return loader.invoke(this, parms);
-		} catch (IllegalAccessException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchContext::loadModel(String, Object[])"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchContext::loadModel(String, Object[])"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc.getTargetException());
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-			return null;
-		} catch (NullPointerException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchContext::loadModel(String, Object[])"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		} catch (ExceptionInInitializerError exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchContext::loadModel(String, Object[])"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return null;
-		}
-	}
-
-	public Object loadRuleGroup() {
-		return new Integer(getRuleGroup()); // have to wrap the int in an Integer because can't cast
-		// an int to an Object
-	}
-
-	/**
-	 * This method should be used only by the validation framework. This method will be called by
-	 * ValidationOperation, before the IValidator's validate method is called, to set the group of
-	 * rules which the IValidator should check.
-	 */
-	public void setRuleGroup(int rg) {
-		_ruleGroup = rg;
-	}
-
-	/**
-	 * Register a load method for a symbolic name. A load method is defined as a method which takes
-	 * no parameters and returns a RefObject.
-	 * 
-	 * Every subclass of WorkbenchContext, for every static type of symbolic name which it supports,
-	 * should call registerModel. For IWorkbenchHelpers which support dynamic symbolic names, such
-	 * as file names, each IWorkbenchContext should override the "loadModel" method. Their
-	 * "loadModel" should first call this class' "isRegistered" method to see if they're dealing
-	 * with a static symbolic name, or a dynamic one. If the symbolic name is registered, the
-	 * child's "loadModel" method should just return the result of WorkbenchContext's "loadModel"
-	 * method. Otherwise, it should return the result based on its own processing.
-	 * 
-	 * When this method is called, the load method identified by loadMethodName is located & stored
-	 * for future retrieval by the "loadModel" method. When the IValidator calls "loadModel" with a
-	 * symbolic name, the java.lang.reflect.Method which was loaded by this method is invoked, and
-	 * the result (RefObject) returned by that method is returned by "loadModel".
-	 * 
-	 * symbolicName must not be null or the empty string. loadMethodName must not be null or the
-	 * empty string.
-	 */
-	protected final void registerModel(String symbolicName, String loadMethodName) {
-		registerModel(symbolicName, loadMethodName, null);
-	}
-
-	/**
-	 * Register a load method for a symbolic name. A load method is defined as a method which takes
-	 * no parameters and returns a RefObject.
-	 * 
-	 * Every subclass of WorkbenchContext, for every static type of symbolic name which it supports,
-	 * should call registerModel. For IWorkbenchHelpers which support dynamic symbolic names, such
-	 * as file names, each IWorkbenchContext should override the "loadModel" method. Their
-	 * "loadModel" should first call this class' "isRegistered" method to see if they're dealing
-	 * with a static symbolic name, or a dynamic one. If the symbolic name is registered, the
-	 * child's "loadModel" method should just return the result of WorkbenchContext's "loadModel"
-	 * method. Otherwise, it should return the result based on its own processing.
-	 * 
-	 * When this method is called, the load method identified by loadMethodName is located & stored
-	 * for future retrieval by the "loadModel" method. When the IValidator calls "loadModel" with a
-	 * symbolic name, the java.lang.reflect.Method which was loaded by this method is invoked, and
-	 * the result (RefObject) returned by that method is returned by "loadModel".
-	 * 
-	 * symbolicName must not be null or the empty string. loadMethodName must not be null or the
-	 * empty string.
-	 */
-	protected final void registerModel(String symbolicName, String loadMethodName, Class[] parms) {
-		Method method = getMethod(loadMethodName, parms);
-		if (method == null) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				StringBuffer buffer = new StringBuffer("Load method "); //$NON-NLS-1$
-				buffer.append(loadMethodName);
-				buffer.append("("); //$NON-NLS-1$
-				for (int i = 0; (parms != null) && (i < parms.length); i++) {
-					buffer.append(parms[i]);
-				}
-				buffer.append(") must exist. " + getClass().getName() + " cannot support model " + symbolicName); //$NON-NLS-1$ //$NON-NLS-2$
-
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("ValidationRegistryReader.readExtension(IExtension)"); //$NON-NLS-1$
-				entry.setText(buffer.toString());
-				logger.write(Level.FINE, entry);
-			}
-		} else {
-			_modelRegistry.put(symbolicName, method);
-		}
-	}
-
-	/**
-	 * Whether full or incremental validation is running, this method will be called, for every
-	 * IResource which is filtered in by the IValidator, so that the IValidationContext can receive
-	 * notification that one of the resources, which validation will run on, is being filtered in.
-	 */
-	public void registerResource(IResource resource) {
-		// default: do nothing
-	}
-
-	/**
-	 * This method is called by the Validation Framework, to initialize the IWorkbenchContext so that
-	 * it can gather information from the current project.
-	 * 
-	 * If an IWorkbenchContext delegates some model loading to another IWorkbenchContext, this method
-	 * should be overriden so that the delegatee IWorkbenchContext is initialized with the IProject.
-	 */
-	public final void setProject(IProject project) {
-		_project = project;
-
-		if (project != null) {
-			// Project will be set back to null once the validation of the project is complete.
-			initialize();
-		}
-	}
-
-	/**
-	 * Notifies this IWorkbenchContext that the Validation Framework is shutting down. There will be
-	 * calls to closing(IProject) and possibly deleting(IProject) following this call, but the
-	 * resources may already be closed by the time that those methods are called, so EVERYTHING
-	 * should be cleaned up in this method. The parameter passed in is the project which is about to
-	 * shut down. This method will be called once for every IProject in the workbench. The IProject
-	 * may, or may not, be closed.
-	 */
-	public void shutdown() {
-		// Default is to assume that no resources were allocated; therefore,
-		// no cleanup needs to be done.
-		shutdown(getProject());
-	}
-
-	/**
-	 * Notifies this IWorkbenchContext that the Validation Framework is shutting down. There will be
-	 * calls to closing(IProject) and possibly deleting(IProject) following this call, but the
-	 * resources may already be closed by the time that those methods are called, so EVERYTHING
-	 * should be cleaned up in this method. The parameter passed in is the project which is about to
-	 * shut down. This method will be called once for every IProject in the workbench. The IProject
-	 * may, or may not, be closed.
-	 * 
-	 * @deprecated Override shutdown() instead, and use getProject()
-	 */
-	public void shutdown(IProject project) {
-		// Default is to assume that no resources were allocated; therefore,
-		// no cleanup needs to be done.
-	}
-
-	public String getTargetObjectName(Object object) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public String[] getURIs() {
-		String[] uris = new String[validationFileURIs.size()];
-		for(int i = 0; i < validationFileURIs.size(); i++) 
-			uris[i] = (String) validationFileURIs.get(i);
-		return uris;
-	}
-
-	/**
-	 * @return Returns the validationFileURIs.
-	 */
-	public List getValidationFileURIs() {
-		return validationFileURIs;
-	}
-
-	/**
-	 * @param validationFileURIs The validationFileURIs to set.
-	 */
-	public void setValidationFileURIs(List validationFileURIs) {
-		this.validationFileURIs = validationFileURIs;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchFileDelta.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchFileDelta.java
deleted file mode 100644
index 2871aff..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchFileDelta.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.core.FileDelta;
-import org.eclipse.wst.validation.internal.core.IFileDelta;
-
-
-/**
- * Eclipse-specific implementation of FileDelta which also caches the IResource which is associated
- * with the FileDelta.
- */
-public class WorkbenchFileDelta extends FileDelta {
-	private IResource _resource = null;
-	private Object _changedResource = null;
-
-	private static final String FILE_NAME = "FILE NAME:"; //$NON-NLS-1$
-	private static final String DELTA = "  DELTA: "; //$NON-NLS-1$
-	private static final String RESOURCE = "  RESOURCE: "; //$NON-NLS-1$
-	private static final String OBJECT = "  OBJECT: "; //$NON-NLS-1$
-
-	public WorkbenchFileDelta(String aFileName, int aFileDelta, IResource resource) {
-		super(aFileName, aFileDelta);
-		setResource(resource);
-		setObject(resource);
-	}
-
-	public WorkbenchFileDelta(Object changedResource) {
-		super(null, IFileDelta.CHANGED);
-		setObject(changedResource);
-	}
-
-	public IResource getResource() {
-		return _resource;
-	}
-
-	public void setResource(IResource resource) {
-		_resource = resource;
-	}
-
-	/**
-	 * If the changed resource is not an IResource (e.g., a RefObject), then the getFileName method
-	 * will return null, getResource will return null, and this method will return the object. If
-	 * the changedResource is an IResource, then both this method and the getResource method will
-	 * return the resource.
-	 */
-	public Object getObject() {
-		return _changedResource;
-	}
-
-	/**
-	 * @see getObject()
-	 */
-	public void setObject(Object o) {
-		_changedResource = o;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer(FILE_NAME);
-		buffer.append(String.valueOf(getFileName()));
-		buffer.append(DELTA);
-		buffer.append(getDeltaType());
-		buffer.append(RESOURCE);
-		buffer.append(String.valueOf(getResource()));
-		buffer.append(OBJECT);
-		buffer.append(String.valueOf(getObject()));
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchReporter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchReporter.java
deleted file mode 100644
index 5864bbb..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchReporter.java
+++ /dev/null
@@ -1,727 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.operations;
-
-import java.text.MessageFormat;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-/**
- * IValidator instances will interact with an instance of this class, but should never cast that
- * IReporter instance to WorkbenchReporter. The WorkbenchReporter class will be moved in Milestone
- * 4.
- * 
- * This class handles interaction between the user and the IValidator in the eclipse workbench
- * environment.
- * 
- * This class must not be called outside of an IWorkspaceRunnable or IRunnableWithProgress. Many
- * resource deltas can be generated by the methods in this class.
- * 
- * Only the validation framework may instantiate or alter instances of this class.
- */
-
-public final class WorkbenchReporter implements IReporter {
-	public static final String DEFAULT_LOCATION = ""; //$NON-NLS-1$
-	public static final int NO_MESSAGE_LIMIT = -1;
-
-	private IProject _project = null;
-	private IProgressMonitor _monitor = null;
-
-	public static void addMessage(IResource resource, Class messageOwner, IMessage message) {
-		addMessage(resource, messageOwner, null, message); // null ClassLoader = use the default
-		// (clazz.getClassLoader());
-	}
-	
-	public static void addMessage(IResource resource, Class messageOwner, ClassLoader cl, IMessage message) {
-		addMessage(resource, messageOwner, cl, message, null, ""); //$NON-NLS-1$
-	}
-	
-	public static void addMessage(IResource resource, Class clazz, IMessage message, String targetObjectName, String location) {
-		addMessage(resource, clazz, null, message, targetObjectName, location); // null = use the
-		// default
-		// ClassLoader
-		// (class.getClassLoader())
-	}
-	
-	public static void addMessage(IResource resource, Class clazz, IMessage message, String targetObjectName, String location,String markerId) {
-		addMessage(resource, clazz, null, message, targetObjectName, location,markerId); // null = use the
-		// default
-		// ClassLoader
-		// (class.getClassLoader())
-	}
-	
-	
-
-	public static void addMessage(IResource resource, Class clazz, ClassLoader cl, IMessage message, String targetObjectName, String location) {
-		if ((clazz == null) || (message == null) || (resource == null)) {
-			return;
-		}
-
-		if (cl == null) {
-			cl = clazz.getClassLoader();
-		}
-
-		addMessage(resource, getUniqueId(clazz), cl, message, targetObjectName, location);
-	}
-	
-	public static void addMessage(IResource resource, Class clazz, ClassLoader cl, IMessage message, String targetObjectName, String location, String markerId) {
-		if ((clazz == null) || (message == null) || (resource == null)) {
-			return;
-		}
-
-		if (cl == null) {
-			cl = clazz.getClassLoader();
-		}
-
-		addMessage(resource, getUniqueId(clazz), cl, message, targetObjectName, location, markerId);
-	}
-
-	public static void addMessage(IResource resource, String messageOwnerId, ClassLoader cl, IMessage message) {
-		addMessage(resource, messageOwnerId, cl, message, null, ""); //$NON-NLS-1$
-	}
-
-	public static void addMessage(IResource resource, String messageOwnerId, ClassLoader cl, IMessage message, String targetObjectName, String location) {
-		int severity = message.getSeverity();
-		try {
-			TaskListUtility.addTask(messageOwnerId, resource, location, message.getId(), message.getText(cl), severity,targetObjectName, message.getGroupName(), message.getOffset(), message.getLength());
-		} catch (CoreException exc) {
-			// Couldn't add the task to the task list for some reason...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter.addMessage(Class,, IResource, IMessage, String, String"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-	
-	public static void addMessage(IResource resource, String messageOwnerId, ClassLoader cl, IMessage message, String targetObjectName, String location, String markerId) {
-		int severity = message.getSeverity();
-		try {
-			TaskListUtility.addTask(messageOwnerId, resource, location, message.getId(), message.getText(cl), severity,markerId,targetObjectName, message.getGroupName(), message.getOffset(), message.getLength());
-			increaseMessageCountForProject(resource.getProject());;
-		} catch (CoreException exc) {
-			// Couldn't add the task to the task list for some reason...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter.addMessage(Class,, IResource, IMessage, String, String"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-	
-	private static void increaseMessageCountForProject(IProject project) {
-		ValidatorManager.initializeMessageLimitProjectMap(project);
-		Object integer = ValidatorManager.messageLimitProjectMap.get(project);
-		int newVal = ((Integer) integer).intValue() + 1;
-		ValidatorManager.messageLimitProjectMap.put(project,new Integer(newVal));
-	}
-
-	public static void removeAllMessages(IResource resource, IValidator validator) {
-		if (resource == null) {
-			return;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			// log
-			return;
-		}
-
-		String[] validatorNames = vmd.getValidatorNames();
-		try {
-			TaskListUtility.removeAllTasks(resource, validatorNames);
-		} catch (CoreException exc) {
-			// Couldn't remove the task from the task list for some reason...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter.removeAllMessages(String[], IResource, String)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Should not be called outside of the validation
-	 *             framework.
-	 */
-	public static void removeAllMessages(IResource resource, IValidator validator, Object object) {
-		if (resource == null) {
-			return;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			// log
-			return;
-		}
-
-		String[] validatorNames = vmd.getValidatorNames();
-		try {
-			String targetObjectName = getTargetObjectName(vmd.getHelper(resource.getProject()), object);
-			removeAllMessages(resource, validatorNames, targetObjectName);
-		} catch (InstantiationException exc) {
-			// Remove the vmd from the reader's list
-			ValidationRegistryReader.getReader().disableValidator(vmd);
-
-			// Log the reason for the disabled validator
-			final Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter::removeAllMessages(IResource, IValidator, Object)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	public static void removeAllMessages(IResource resource, String[] validatorNames, String targetObjectName) {
-		try {
-			TaskListUtility.removeAllTasks(resource, validatorNames, targetObjectName);
-		} catch (CoreException exc) {
-			// Couldn't remove the task from the task list for some reason...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter.removeAllMessages(String[], IResource, String)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	public static void removeMessageSubset(IResource resource, Class messageOwner, String groupName) {
-		// Since the addMessage(Class, IMessage) is defaulted to the IProject,
-		// remove the message subsets from the IProject
-		removeMessageSubset(resource, new String[]{getUniqueId(messageOwner)}, null, groupName);
-	}
-
-	public static void removeMessageSubset(IResource resource, String messageOwnerId, String groupName) {
-		// Since the addMessage(Class, IMessage) is defaulted to the IProject,
-		// remove the message subsets from the IProject
-		removeMessageSubset(resource, new String[]{messageOwnerId}, null, groupName);
-	}
-
-	public static void removeMessageSubset(IResource resource, String[] ownerId, String targetObjectName, String groupName) {
-		try {
-			TaskListUtility.removeTaskSubset(resource, ownerId, targetObjectName, groupName);
-		} catch (CoreException exc) {
-			// Couldn't remove the task to the task list for some reason...
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter.removeMessageSubset(String[], IResource, String, String)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	/**
-	 * Given a Class instance, return the id that uniquely identifies this instance. (Used as the
-	 * value for the message owner.)
-	 */
-	public static String getUniqueId(Class clazz) {
-		if (clazz == null) {
-			return ""; //$NON-NLS-1$
-		}
-
-		// It is safe to load this String into the constants space because
-		// the Class name will not change during WSAD's session.
-		return clazz.getName().intern();
-	}
-
-	public static String getUniqueId(IValidator validator) {
-		if (validator == null) {
-			return ""; //$NON-NLS-1$
-		}
-		return getUniqueId(validator.getClass());
-	}
-
-	public static Logger getMsgLogger(IValidator validator) {
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			return ValidationPlugin.getPlugin().getMsgLogger();
-		}
-
-		return vmd.getMsgLogger();
-	}
-
-	public static String getLocation(IWorkbenchContext helper, IMessage message) {
-		if (message == null) {
-			return getLocationText(helper, null);
-		}
-		int lineNo = message.getLineNumber();
-		if (lineNo == IMessage.LINENO_UNSET) {
-			return getLocationText(helper, message.getTargetObject());
-		}
-		return String.valueOf(lineNo);
-	}
-
-	public static String getLocationText(IWorkbenchContext helper, Object targetObject) {
-		String location = null;
-		try {
-			location = helper.getLocation(targetObject);
-		} catch (Throwable exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter.getLocationText(Object)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-		if ((location == null) || (location.trim().equals(""))) { //$NON-NLS-1$
-			location = DEFAULT_LOCATION;
-		}
-		return location;
-	}
-
-	/**
-	 * If the user is cancelling validation on the current project/resource, Add an information task
-	 * to the task list informing the user that validation has not been run on the current project.
-	 */
-	// TODO This method was made protected for the SaberReporter. Make this method private again
-	// once the framework supports IMarker.PRIORITY.
-	protected static void addTerminatedTask(IProject project, IValidator validator) throws IllegalArgumentException {
-		if ((project == null) || (validator == null)) {
-			return;
-		}
-		ValidatorManager.getManager().addMessageLimitExceeded(project);
-		ValidatorManager.setMessageLimitMessageForProject(project);
-	}
-
-	// TODO This method was made protected for the SaberReporter. Make this method private again
-	// once the framework supports IMarker.PRIORITY.
-	protected static String getTargetObjectName(IWorkbenchContext helper, IMessage message) {
-		if (message == null) {
-			return getTargetObjectName(helper, null);
-		}
-		return getTargetObjectName(helper, message.getTargetObject());
-	}
-
-	private static String getTargetObjectName(IWorkbenchContext helper, Object targetObject) {
-		String targetObjectName = null;
-		try {
-			targetObjectName = helper.getTargetObjectName(targetObject);
-		} catch (Throwable exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter.getTargetObjectName(Object)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-		return targetObjectName;
-	}
-
-	// TODO This method was made "protected" for the SaberReporter. Do not call this method! This
-	// method will be made private once support for marker PRIORITY attributes is in the framework.
-	protected static ValidatorMetaData getVMD(IValidator validator) throws IllegalArgumentException {
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			throw new IllegalArgumentException(); // already logged in the ValidationRegistryReader
-		}
-		return vmd;
-	}
-
-	/**
-	 * @deprecated. The IValidationContext will be ignored.
-	 */
-	public WorkbenchReporter(IWorkbenchContext helper, IProgressMonitor monitor, IProject project) {
-		this(project, monitor);
-	}
-
-	/**
-	 * An IReporter instance must exist for each Runnable in order for the validator to report
-	 * status messages. IProject and IProgressMonitor must not be null.
-	 */
-	public WorkbenchReporter(IProject project, IProgressMonitor monitor) {
-		super();
-		_project = project;
-		_monitor = monitor;
-	}
-
-	// TODO This method was made protected for the SaberReporter. Make it private again once the
-	// framework support IMarker.PRIORITY.
-	protected IWorkbenchContext getHelper(IValidator validator) throws InstantiationException, IllegalArgumentException {
-		ValidatorMetaData vmd = getVMD(validator);
-		IWorkbenchContext helper = vmd.getHelper(getProject());
-		return helper;
-	}
-	
-
-	public IProject getProject() {
-		return _project;
-	}
-
-	public IProgressMonitor getProgressMonitor() {
-		return _monitor;
-	}
-
-	/**
-	 * This method will never return null.
-	 */
-	private IResource getDefaultResource() {
-		IResource prj = getProject();
-		if (prj != null) {
-			return prj;
-		}
-		// return the workspace root
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/**
-	 * When an IMessage is created, the user has the option of creating it with a target object.
-	 * That target object is used to identify which object has the problem identified by the
-	 * IMessage. This method, given the target object, returns the IResource which represents that
-	 * object in the workbench.
-	 */
-	public IResource getMessageResource(IValidator validator, Object object) {
-		if (validator == null) {
-			return null;
-		}
-
-		IResource resource = null;
-		if (object != null) {
-			if (object instanceof IResource) {
-				resource = (IResource) object;
-			} else if (object instanceof WorkbenchFileDelta) {
-				// resource may be null if the WorkbenchFileDelta was constructed from an Object
-				// instead of an IResource
-				resource = ((WorkbenchFileDelta) object).getResource();
-			}
-
-			if (resource == null) {
-				try {
-					IWorkbenchContext helper = getHelper(validator);
-					resource = helper.getResource(object);
-				} catch (InstantiationException exc) {
-					try {
-						// Unlikely that an exception will be thrown, because this method is
-						// invoked by the validator, and if the validator is invoked, it's likely
-						// that the helper has been loaded too.
-						ValidatorMetaData vmd = getVMD(validator);
-
-						// Remove the vmd from the reader's list
-						ValidationRegistryReader.getReader().disableValidator(vmd);
-
-						// Log the reason for the disabled validator
-						Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-						if (logger.isLoggingLevel(Level.SEVERE)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setSourceID("WorkbenchReporter::getMessageResource(IValidator, Object)"); //$NON-NLS-1$
-							entry.setTargetException(exc);
-							logger.write(Level.SEVERE, entry);
-						}
-					} catch (IllegalArgumentException exc2) {
-						// Even the IValidator is invalid. Unfortunately, can't disable the
-						// validator because it can't be found by the registry reader.
-						// Log the reason for the disabled validator
-						Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-						if (logger.isLoggingLevel(Level.SEVERE)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setSourceID("WorkbenchReporter::getMessageResource(IValidator, Object)"); //$NON-NLS-1$
-							entry.setTargetException(exc2);
-							logger.write(Level.SEVERE, entry);
-						}
-					}
-				} catch (IllegalArgumentException exc) {
-					// Even the IValidator is invalid. Unfortunately, can't disable the
-					// validator because it can't be found by the registry reader.
-					// Log the reason for the disabled validator
-					Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceID("WorkbenchReporter::getMessageResource(IValidator, Object)"); //$NON-NLS-1$
-						entry.setTargetException(exc);
-						logger.write(Level.SEVERE, entry);
-					}
-				} catch (Throwable exc) {
-					Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setSourceID("WorkbenchReporter.getMessageResource(IValidator, Object)"); //$NON-NLS-1$
-						entry.setTargetException(exc);
-						logger.write(Level.SEVERE, entry);
-					}
-				}
-			}
-		}
-
-		if (resource == null) {
-			resource = getDefaultResource();
-		}
-
-		if (!resource.exists()) {
-			resource = getDefaultResource();
-		}
-
-		return resource;
-	}
-
-	/**
-	 * Show a message to the user indicating which subtask is currently being processed. <br>
-	 * <br>
-	 * <code>message</code> may not be null or the empty string (""). <br>
-	 */
-	public void displaySubtask(String message) {
-		if ((message == null) || (message.equals(""))) { //$NON-NLS-1$
-			return;
-		}
-
-		if (getProgressMonitor() != null) {
-			getProgressMonitor().subTask(message);
-		} else {
-			System.out.println(message);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#getMessages()
-	 */
-	public List getMessages() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#isCancelled()
-	 */
-	public boolean isCancelled() {
-		if (getProgressMonitor() != null) {
-			return getProgressMonitor().isCanceled();
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#addMessage(IValidator, IMessage)
-	 */
-	public void addMessage(IValidator validator, IMessage message)  {
-		IResource resource = getMessageResource(validator, message.getTargetObject());
-		IWorkbenchContext helper = null;
-		ValidatorMetaData vmd = getVMD(validator);
-		try {
-			helper = getHelper(validator);
-		} catch (InstantiationException exc) {
-			try {
-				// Unlikely that an exception will be thrown, because this method is
-				// invoked by the validator, and if the validator is invoked, it's likely
-				// that the helper has been loaded too
-				
-				
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-
-				// Log the reason for the disabled validator
-				Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setSourceID("WorkbenchReporter::addMessage(IValidator, IMessage)"); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-				return;
-			} catch (IllegalArgumentException exc2) {
-				logDisabledValidator(exc2);
-				return;
-			}
-		} catch (IllegalArgumentException exc) {
-			logDisabledValidator(exc);
-			return;
-		}
-
-		if (resource == null) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter.addMessage(IValidator, Message)"); //$NON-NLS-1$
-				entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INVALID_RESOURCE);
-				String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INVALID_RESOURCE), new String[]{message.getText(), getTargetObjectName(helper, message)});
-				entry.setText(result);				
-				//entry.setTokens(new String[]{message.getText(), getTargetObjectName(helper, message)});
-				logger.write(Level.FINE, entry);
-			}
-			return;
-		}
-
-		ValidatorManager mgr = ValidatorManager.getManager();
-		addMessage(resource, validator.getClass(), message, getTargetObjectName(helper, message), getLocation(helper, message),vmd.getMarkerId());
-	}
-
-	/**
-	 * @param exc
-	 */
-	private void logDisabledValidator(IllegalArgumentException exc) {
-		// Even the IValidator is invalid. Unfortunately, can't disable the
-		// validator because it can't be found by the registry reader.
-		// Log the reason for the disabled validator
-		Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-		if (logger.isLoggingLevel(Level.SEVERE)) {
-			LogEntry entry = ValidationPlugin.getLogEntry();
-			entry.setSourceID("WorkbenchReporter::addMessage(IValidator, IMessage)"); //$NON-NLS-1$
-			entry.setTargetException(exc);
-			logger.write(Level.SEVERE, entry);
-		}
-		return;
-	}
-
-	/**
-	 * @param validator
-	 * @param resource
-	 */
-	private void validateMessageLimitExceeded(IValidator validator, IResource resource) {
-		try {
-			addTerminatedTask(resource.getProject(), validator);
-		} catch (IllegalArgumentException exc) {
-			// Even the IValidator is invalid. Unfortunately, can't disable the
-			// validator because it can't be found by the registry reader.
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter::addMessage(IValidator, IMessage)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#displaySubtask(IValidator, IMessage)
-	 */
-	public void displaySubtask(IValidator validator, IMessage message) {
-		if ((message == null) || (message.equals(""))) { //$NON-NLS-1$
-			return;
-		}
-
-		displaySubtask(message.getText(validator.getClass().getClassLoader()));
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#removeAllMessages(IValidator)
-	 */
-	public void removeAllMessages(IValidator validator) {
-		if (validator == null) { // getHelper could be null if the user cancelled before something
-			// was fully initialized
-			return;
-		}
-
-		removeAllMessages(validator, null);
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#removeAllMessages(IValidator, Object)
-	 */
-	public void removeAllMessages(IValidator validator, Object object) {
-		IResource resource = getMessageResource(validator, object);
-		if (resource == null) {
-			return;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			return;
-		}
-
-		IWorkbenchContext helper = null;
-		try {
-			helper = vmd.getHelper(resource.getProject());
-		} catch (InstantiationException exc) {
-			// Unlikely that an exception will be thrown, because this method is
-			// invoked by the validator, and if the validator is invoked, it's likely
-			// that the helper has been loaded too.
-
-			// Remove the vmd from the reader's list
-			ValidationRegistryReader.getReader().disableValidator(vmd);
-
-			// Log the reason for the disabled validator
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter::removeAllMessages(IResource, IValidator, Object)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-
-			return;
-		}
-
-		String[] validatorNames = vmd.getValidatorNames();
-		String targetObjectName = getTargetObjectName(helper, object);
-		removeAllMessages(resource, validatorNames, targetObjectName);
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#removeMessageSubset(IValidator, Object, String)
-	 */
-	public void removeMessageSubset(IValidator validator, Object obj, String groupName) {
-		IResource resource = getMessageResource(validator, obj);
-		if (resource == null) {
-			return;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			return;
-		}
-
-
-		IWorkbenchContext helper = null;
-		try {
-			helper = vmd.getHelper(resource.getProject());
-		} catch (InstantiationException exc) {
-			// Unlikely that an exception will be thrown, because this method is
-			// invoked by the validator, and if the validator is invoked, it's likely
-			// that the helper has been loaded too.
-
-			// Remove the vmd from the reader's list
-			ValidationRegistryReader.getReader().disableValidator(vmd);
-
-			// Log the reason for the disabled validator
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceID("WorkbenchReporter::removeAllMessages(IResource, IValidator, Object)"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-
-			return;
-		}
-
-		String[] validatorNames = vmd.getValidatorNames();
-		String targetObjectName = getTargetObjectName(helper, obj);
-		removeMessageSubset(resource, validatorNames, targetObjectName, groupName);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationHelperRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationHelperRegistryReader.java
deleted file mode 100644
index eef9e53..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationHelperRegistryReader.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.plugin;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.wst.validation.internal.IProjectValidationHelper;
-
-public class ValidationHelperRegistryReader extends RegistryReader {
-
-	public static final String VALIDATION_HELPER = "validationHelper"; //$NON-NLS-1$
-	static final String ATT_ID = "id"; //$NON-NLS-1$ 
-	static final String ATT_HELPER_CLASS = "helperClass"; //$NON-NLS-1$
-	private static ValidationHelperRegistryReader INSTANCE = null;
-	private List validationHelpers = null;
-	
-	/**
-	 * Default constructor
-	 */
-	public ValidationHelperRegistryReader() {
-		super(ValidationPlugin.PLUGIN_ID, VALIDATION_HELPER);
-	}
-	
-	public static ValidationHelperRegistryReader getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new ValidationHelperRegistryReader();
-			INSTANCE.readRegistry();
-		}
-		return INSTANCE;
-	}
-	
-	private List getValidationHelpers() {
-		if (validationHelpers == null)
-			validationHelpers = new ArrayList();
-		return validationHelpers;
-	}
-
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(VALIDATION_HELPER))
-			return false;
-		IProjectValidationHelper helper = null;
-		try {
-			helper = (IProjectValidationHelper) element.createExecutableExtension(ATT_HELPER_CLASS);
-			getValidationHelpers().add(helper);
-			return true;
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return false;
-	}
-	
-	public IProjectValidationHelper getValidationHelper() {
-		if (getValidationHelpers().isEmpty())
-			return null;
-		return (IProjectValidationHelper) getValidationHelpers().get(0);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationPlugin.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationPlugin.java
deleted file mode 100644
index 12170c2..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationPlugin.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2001, 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.validation.internal.plugin;
-
-import java.util.Locale;
-
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-import org.eclipse.wst.validation.internal.EventManager;
-import org.eclipse.wst.validation.internal.TimeEntry;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-public class ValidationPlugin extends WTPPlugin {
-	public static final String VALIDATION_PROP_FILE_NAME = "validate_base"; //$NON-NLS-1$
-	public static final String PLUGIN_ID = "org.eclipse.wst.validation"; //$NON-NLS-1$
-	private static ValidationPlugin _plugin = null;
-	private static TimeEntry _tEntry = null;
-	private static LogEntry _entry = null;
-	private static Message _message = null;
-	public static final String VALIDATION_BUILDER_ID = PLUGIN_ID + ".validationbuilder"; //$NON-NLS-1$// plugin id of the validation builder
-	public static final String VALIDATOR_EXT_PT_ID = "validator"; //$NON-NLS-1$// extension point declaration of the validator 
-
-	/**
-	 * ValidationPlugin constructor comment.
-	 * 
-	 * @param descriptor
-	 *            org.eclipse.core.runtime.IPluginDescriptor
-	 */
-	public ValidationPlugin() {
-		super();
-		if (_plugin == null) {
-			_plugin = this;
-			//Commenting off the following lines the Plugin is not activated and the
-			//getMsgLogger tries to access the Plugin and the plugin is in a active pending state.
-			//getMsgLogger();
-			//logger.log(Level.CONFIG, null);
-
-		}
-	}
-
-	public static String getBundleName() {
-		return VALIDATION_PROP_FILE_NAME;
-	}
-
-	public static LogEntry getLogEntry() {
-		if (_entry == null) {
-			_entry = new LogEntry(VALIDATION_PROP_FILE_NAME);
-		} else {
-			_entry.reset();
-		}
-		// Always set the log entry's Locale before you use it
-		// because the user can reset it on the fly.
-		_entry.setLocaleOfOrigin(Locale.getDefault().toString());
-		return _entry;
-	}
-
-	public static TimeEntry getTimeEntry() {
-		if (_tEntry == null) {
-			_tEntry = new TimeEntry();
-		}
-		_tEntry.reset();
-		return _tEntry;
-	}
-
-	public static Message getMessage() {
-		if (_message == null) {
-			_message = new Message();
-			_message.setBundleName(getBundleName());
-		}
-		// clear the message for reuse
-		_message.setId(null);
-		_message.setParams(null);
-		_message.setTargetObject(null);
-		_message.setGroupName(null);
-		_message.setSeverity(IMessage.LOW_SEVERITY);
-		return _message;
-	}
-
-	/**
-	 * Retrieves a hashtable of a logger's preferences initially from the
-	 * com.ibm.etools.logging.util.loggingDefaults extension point if specified in the
-	 * com.ibm.etools.logging.util plugin.xml file. If specified, the
-	 * com.ibm.etools.logging.util.loggingOptions extension point preferences in the parameter
-	 * plugin's plugin.xml file are returned.
-	 * 
-	 * The logger's preferences are stored in the return hashtable using the static instance
-	 * variables in LoggerStateHashKeys as keys.
-	 * 
-	 * @param plugin
-	 *            the Plugin polled for their logger's preferences in the plugin.xml file
-	 * @return hashtable of a logger's preferences
-	 */
-	/*
-	 * public Hashtable getMsgLoggerConfig(Plugin plugin) { return (new
-	 * PluginHelperImpl().getMsgLoggerConfig(plugin));
-	 */
-	public static ValidationPlugin getPlugin() {
-		return _plugin;
-	}
-
-	/**
-	 * Sets the logger's preferences based on values in the parameter hashtable.
-	 * 
-	 * The logger's preferences are stored in the parameter hashtable using the static instance
-	 * variables in LoggerStateHashKeys as keys.
-	 * 
-	 * @param msgLoggerConfig
-	 *            hashtable of the logger's preferences
-	 */
-	/*
-	 * public void setMsgLoggerConfig(Hashtable msgLoggerConfig) {
-	 * getMsgLogger().setMsgLoggerConfig(msgLoggerConfig); }
-	 */
-	public static boolean isActivated() {
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null)
-			return bundle.getState() == Bundle.ACTIVE;
-		return false;
-	}
-
-	/**
-	 * @see Plugin#startup()
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(EventManager.getManager(), IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.PRE_BUILD | IResourceChangeEvent.POST_CHANGE);
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.Plugin#stop(BundleContext context)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		EventManager.getManager().shutdown();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.WTPPlugin#getPluginID()
-	 */
-	public String getPluginID() {
-		return PLUGIN_ID;
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/provisional/ValidationFactory.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/provisional/ValidationFactory.java
deleted file mode 100644
index caa4614..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/provisional/ValidationFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.provisional;
-
-import org.eclipse.wst.validation.internal.ValidationFactoryImpl;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-/**
- * This interface provides a way to access an instance of the ValidationFactoryImpl
- * instance, an internal implementation that provides access to some of the internal state
- * of validators.
- * 
- * @plannedfor 1.0
- * 
- * [issue: LM - 2 issues.
- *  1. I don't think the name 'factory' provides a good description of 
- *     this interface. Unless I'm mistaken the ValidationFactory doesn't
- *     actually create validators but simply returns existing validators.
- *     Looking at the implementation this is currently the case. I suggest
- *     renaming this to ValidatorRegistry or something similar.
- *  2. I think the common way for creating a factory is to create a class
- *     with a static method such as getFactory. If this is to be a factory
- *     it should probably be structured as per the convention.]
- */
-public interface ValidationFactory {
-	
-	ValidationFactory instance = ValidationFactoryImpl.getInstance();
-	/**
-	 * This api returns the IValidator given the validatorUniqueName id. The unique
-	 * id name is the class name that is defined in the class name element in the 
-	 * plugin extension of the validator.
-	 * @param validatorUniqueId
-	 * @return IValidator
-	 * @plannedfor WTP 1.0
-	 */
-	public IValidator getValidator(String validatorUniqueId) throws InstantiationException;
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/EmptySchedulingRule.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/EmptySchedulingRule.java
deleted file mode 100644
index d59249a..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/EmptySchedulingRule.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.wst.validation.internal.core;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-public class EmptySchedulingRule implements ISchedulingRule {
-		
-    public boolean contains(ISchedulingRule rule) 
-    {
-         return rule == this;
-    }
-
-    public boolean isConflicting(ISchedulingRule rule) {
-         return rule == this;
-    }
-    
-    
-//    public static ISchedulingRule getDefaultRule(){
-//    	IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-//    	EmptySchedulingRule emptyRule = new EmptySchedulingRule();
-//		ISchedulingRule rule = MultiRule.combine(ruleFactory.markerRule(fileResource), emptyRule);    	
-//    }
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/FileDelta.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/FileDelta.java
deleted file mode 100644
index a0229a5..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/FileDelta.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.core;
-
-
-
-/**
- * <p>
- * Default implementation of the IFileDelta
- * </p>
- * 
- * @see org.eclipse.wst.validation.internal.core.IFileDelta
- * 
- *  [issue: CS - is there a reason that we need to expose this impl class as an API?
- *   It would seem better to only expose IFileDelta.  I can't think of a reason where 
- *   a typical client would need to create one of these.]
- */
-public class FileDelta implements IFileDelta {
-	private int fileDelta = 0;
-	private String fileName = null;
-
-	/**
-	 * <p>
-	 * Creates a default instance of the FileDelta
-	 * </p>
-	 */
-	public FileDelta() {
-		super();
-	}
-	
-	/**
-	 * <p>
-	 * Constructor is used to initialize the fields. 
-	 * </p>
-	 * 
-	 * @param aFileName specifies the file name
-	 * @param aFileDelta specifies the 
-	 */
-	public FileDelta(String aFileName, int aFileDelta) {
-		fileName = aFileName;
-		fileDelta = aFileDelta;
-	}
-
-	/**
-	 * @see IFileDelta#getDeltaType()
-	 */
-	public int getDeltaType() {
-		return fileDelta;
-	}
-
-	/**
-	 * @see IFileDelta#getFileName()
-	 */
-	public String getFileName() {
-		return fileName;
-	}
-
-	/**
-	 * <p>
-	 * Set the flag which indicates the type of change that the file 
-	 * has undergone.
-	 * </p>
-	 */
-	public void setDeltaType(int deltaType) {
-		fileDelta = deltaType;
-	}
-
-	/**
-	 * <p>
-	 * Set the name of the file which has changed.
-	 * </p>
-	 */
-	public void setFileName(String aFileName) {
-		fileName = aFileName;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IFileDelta.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IFileDelta.java
deleted file mode 100644
index 170a74b..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IFileDelta.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.core;
-
-/**
- * <p>
- * This interface is used, for incremental validation, to encapsulate the change 
- * status of a resource. IFileDelta contains the name of the file which has 
- * changed, and a flag which indicates the type of change which has occurred.
- * 
- * @plannedfor 1.0
- * </p>
- * [issue: LM - From speaking with Vijay the name IFileDelta doesn't really capture
- *  what this interface is for. Validation may occur of files, it may occur on resources,
- *  or it may occur on something more abstract simply known as an artifact. The delta part
- *  of the name also seems misleading as this interface doesn't provide the delta but
- *  rather provides the type of change. I suggest renaming this interface to IModifiedArtifact
- *  or something along those lines to better capture its use. ]
- */
-public interface IFileDelta {
-	public static final int ADDED = 1;   // the file has been added
-	public static final int CHANGED = 2; // the file has been changed
-	public static final int DELETED = 3; // the file has been deleted
-
-	/**
-	 * <p>
-	 * Returns the flag which indicates the type of change which has occurred:
-	 * IFileDelta.ADDED, IFileDelta.CHANGED, or IFileDelta.DELETED.
-	 * </p>
-	 * @return returns the delta type.
-	 * @plannedfor WTP 1.0
-	 * 
-	 * [issue: LM - From my experience a validator simply needs to know what artifact needs
-	 *  to be validated. Can you provide a use case where the type of change is needed for
-	 *  validation? ]
-	 */
-	public int getDeltaType();
-
-	/**
-	 * <p>
-	 * Returns the name of the eclipse resource file which has changed. The return value must not be 
-	 * null or the empty string ("").
-	 * </p>
-	 * @return returns the file name.
-	 * @plannedfor WTP 1.0
-	 * 
-	 * [issue: LM - Following my comments above this method should be renamed to getArtifactName or
-	 *  something that follows along with the interface rename. ]
-	 */
-	public String getFileName();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IMessageAccess.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IMessageAccess.java
deleted file mode 100644
index 88d6eca..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IMessageAccess.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.core;
-
-
-import java.util.List;
-import java.util.Locale;
-
-
-/**
- * <p>
- * Interface which can be used to access messages which are stored within a reporter which retains
- * its message history.
- * </p>
- * 
- * [issue: CS - This interface seems like overkill.  I'd think that an IReport should simply have a getMessages() method.
- * I think MessageFiltering should take place at the 'display' level and not at this level of the API.]
- */
-public interface IMessageAccess {
-	/**
-	 * @param filter
-	 *            A filter which specifies a subset of messages to retrieve. null specifies, "all
-	 *            messages".
-	 * @return List list of messages related to the target object
-	 */
-	public abstract List getMessages(MessageFilter filter);
-
-	/**
-	 * @param filter
-	 *            A filter which specifies a subset of messages to retrieve. null specifies, "all
-	 *            messages".
-	 * @param locale
-	 *            The target local to translate the messages into. null specifies, "use default
-	 *            locale".
-	 * @return List a list of messages related to the target object, translated into the specified
-	 * locale.
-	 */
-	public abstract List getMessagesAsText(MessageFilter filter, Locale targetLocale);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/Message.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/Message.java
deleted file mode 100644
index cbadca4..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/Message.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.core;
-
-
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * <p>
- * Default implementation of the IMessage interface, provided for the convenience of the
- * IValidators. If an IValidator needs to run in both AAT and WSAD then this IMessage implementation
- * should be used; if the IValidator runs in WSAD alone, the WSAD LocalizedMessage may be used in
- * place of this implementation.
- * <p>
- * @see org.eclipse.wst.validation.internal.provisional.core.IMessage
- * 
- * [issue: CS - I'd suggest splitting this class into Message and BundleMessage (where the latter inherits
- * from the former.  We have many messages that come (from xerces) pretranslated and don't require 'bundle'
- * related fields and methods. Splitting this class would make it easier to understand where bundle related
- * function is coming into play. Below I've listed out what would go into BundleMessage to demonstrate how 
- * we can simplify the 'Message' class by factoring out the bundle related details.
- * 
- * Message
- *	private Object targetObject = null;
- *	private String groupName = null;
- *	private int lineNumber = IMessage.LINENO_UNSET;
- *	private int length = IMessage.OFFSET_UNSET;
- *	private int offset = IMessage.OFFSET_UNSET;
- *
- *    
- * BundleMessage
- *	private String id = null;
- *	private String[] params = null;
- *	private String bundleName = null;
- *   
- *   - getId()
- *   - getBundle(...)
- *   - getBundleName()
- *   - getParams()
- *   - getText(Locale)
- *   - getText(ClassLoader)
- *   - getText(Locale, ClassLoader)
- *   - setId(String)
- *   - setBundleName(String)
- *   - setParams(String[])
- * ]
- */
-public class Message implements IMessage {
-	private String id = null;
-	private String[] params = null;
-	private int severity = MessageFilter.ANY_SEVERITY;
-	private Object targetObject = null;
-	private String bundleName = null;
-	private String groupName = null;
-	private int lineNumber = IMessage.LINENO_UNSET;
-	private int length = IMessage.OFFSET_UNSET;
-	private int offset = IMessage.OFFSET_UNSET;
-	private HashMap messageAttributes;
-
-	/**
-	 * <p>
-	 * Creates a default instance of the Message
-	 * </p>
-	 */
-	public Message() {
-		super();
-	}
-
-	/**
-	 * <p>
-	 * Creates a Message object with bundle name, severity and a unique id
-	 * </p>
-	 * 
-	 * @param aBundleName 
-	 * 			Must not be null or the empty string (""). 
-	 * @param aSeverity 
-	 * 			Must be one of the severities specified in IMessage. 
-	 * @param anId 
-	 * 			Must not be null or the empty string ("").
-	 */
-	public Message(String aBundleName, int aSeverity, String anId) {
-		this(aBundleName, aSeverity, anId, null, null);
-	}
-
-	/**
-	 * <p>
-	 * Creates a Message object with bundle name, severity, a unique id, and 
-	 * a list of parameters. 
-	 * </p>
-	 * 
-	 * @param aBundleName 
-	 * 			Must not be null or the empty string (""). 
-	 * @param aSeverity 
-	 * 			Must be one of the severities specified in IMessage.
-	 * @param anId 
-	 * 			Must not be null or the empty string ("").
-	 * @param aParams 
-	 * 			May be null, if there are no parameters in the message.
-	 */
-	public Message(String aBundleName, int aSeverity, String anId, String[] aParams) {
-		this(aBundleName, aSeverity, anId, aParams, null);
-	}
-	
-	/**
-	 * <p>
-	 * Creates a Message object with bundle name, severity, a unique id, and 
-	 * a list of parameters and the target object.
-	 * </p>
-	 * 
-	 * @param aBundleName 
-	 * 			Must not be null or the empty string (""). 
-	 * @param aSeverity 
-	 * 			Must be one of the severities specified in IMessage.
-	 * @param anId 
-	 * 			Must not be null or the empty string ("").
-	 * @param aParams 
-	 * 			May be null, if there are no parameters in the message.
-	 * @param targetObject 
-	 * 			May be null, if the message does not pertain to a particular 
-	 * 			object.
-	 */
-	public Message(String aBundleName, int aSeverity, String anId, String[] aParams, Object aTargetObject) {
-		bundleName = aBundleName;
-		severity = aSeverity;
-		id = anId;
-		params = aParams;
-		targetObject = aTargetObject;
-	}
-	
-	public Message(String aBundleName, int aSeverity, String anId, String[] aParams, Object aTargetObject, String aGroupName) {
-		bundleName = aBundleName;
-		severity = aSeverity;
-		id = anId;
-		params = aParams;
-		targetObject = aTargetObject;
-		groupName = aGroupName;
-	}
-
-	/**
-	 * @return the resource bundle which contains the messages, as identified by
-	 * 
-	 * @link #getBundleName()
-	 */
-	public ResourceBundle getBundle(Locale locale, ClassLoader classLoader) {
-		ResourceBundle bundle = null;
-		try {
-			if (classLoader == null) {
-				bundle = ResourceBundle.getBundle(getBundleName(), locale);
-			} else {
-				bundle = ResourceBundle.getBundle(getBundleName(), locale, classLoader);
-			}
-		} catch (MissingResourceException e) {
-			e.printStackTrace();
-		}
-		return bundle;
-	}
-
-	/**
-	 * @see IMessage#getBundleName()
-	 */
-	public String getBundleName() {
-		return bundleName;
-	}
-
-	/**
-	 * @see IMessage#getGroupName()
-	 */
-	public String getGroupName() {
-		return groupName;
-	}
-
-	/**
-	 * @see IMessage#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * @see IMessage#getLength()
-	 */
-	public int getLength() {
-		return length;
-	}
-
-	/**
-	 * @see IMessage#getLineNumber()
-	 */
-	public int getLineNumber() {
-		return lineNumber;
-	}
-
-	/**
-	 * @see IMessage#getOffset()
-	 */
-	public int getOffset() {
-		return offset;
-	}
-
-	/**
-	 * @see IMessage#getParams()
-	 */
-	public String[] getParams() {
-		return params;
-	}
-
-	/**
-	 * @see IMessage#getSeverity()
-	 */
-	public int getSeverity() {
-		return severity;
-	}
-
-	/**
-	 * @see IMessage#getTargetObject()
-	 */
-	public Object getTargetObject() {
-		return targetObject;
-	}
-
-	/**
-	 * @see IMessage#getText()
-	 */
-	public String getText() {
-		return getText(Locale.getDefault(), null);
-	}
-
-	/**
-	 * @see IMessage#getText(ClassLoader)
-	 */
-	public String getText(ClassLoader classLoader) {
-		return getText(Locale.getDefault(), classLoader);
-	}
-
-	/**
-	 * @see IMessage#getText(Locale)
-	 */
-	public String getText(Locale locale) {
-		return getText(locale, null);
-	}
-
-	/**
-	 * @see IMessage#getText(Locale, ClassLoader)
-	 */
-	public java.lang.String getText(Locale locale, ClassLoader classLoader) {
-		String message = ""; //$NON-NLS-1$
-
-		if (locale == null) {
-			return message;
-		}
-
-		ResourceBundle bundle = getBundle(locale, classLoader);
-		if (bundle == null) {
-			return message;
-		}
-
-		try {
-			message = bundle.getString(getId());
-
-			if (getParams() != null) {
-				message = java.text.MessageFormat.format(message, getParams());
-			}
-		} catch (MissingResourceException exc) {
-			System.err.println(exc.getMessage());
-			System.err.println(getId());
-		} catch (NullPointerException exc) {
-			System.err.println(exc.getMessage());
-			System.err.println(getId());
-		}
-
-		return message;
-	}
-
-	/**
-	 * @see IMessage#setBundleName(String)
-	 */
-	public void setBundleName(String aBundleName) {
-		bundleName = aBundleName;
-	}
-
-	/**
-	 * @see IMessage#setGroupName(String)
-	 */
-	public void setGroupName(String name) {
-		groupName = name;
-	}
-
-	/**
-	 * @see IMessage#setId(String)
-	 */
-	public void setId(String newId) {
-		id = newId;
-	}
-
-	/**
-	 * @see IMessage#setLength(int)
-	 */
-	public void setLength(int length) {
-		if (length < 0) {
-			length = IMessage.OFFSET_UNSET;
-		}
-		this.length = length;
-	}
-
-	/**
-	 * @see IMessage#setLineNo(int)
-	 */
-	public void setLineNo(int lineNumber) {
-		if (lineNumber < 0) {
-			this.lineNumber = IMessage.LINENO_UNSET;
-		} else {
-			this.lineNumber = lineNumber;
-		}
-	}
-
-	/**
-	 * @see IMessage#setOffset(int)
-	 */
-	public void setOffset(int offset) {
-		if (offset < 0) {
-			offset = IMessage.OFFSET_UNSET;
-		}
-		this.offset = offset;
-	}
-
-	/**
-	 * @see IMessage#setParams(String[])
-	 */
-	public void setParams(String[] newParams) {
-		params = newParams;
-	}
-
-	/**
-	 * @see IMessage#setSeverity(int)
-	 */
-	public void setSeverity(int newSeverity) {
-		severity = newSeverity;
-	}
-
-	/**
-	 * @see IMessage#setTargetObject(Object)
-	 */
-	public void setTargetObject(Object obj) {
-		targetObject = obj;
-	}
-
-	public Object getAttribute(String attributeName) {
-		if(messageAttributes != null) {
-			return messageAttributes.get(attributeName);
-		}
-		return null;
-	}
-
-	public void setAttribute(String attributeName, Object value) {
-		if(messageAttributes == null) {
-			messageAttributes = new HashMap();
-		}
-		messageAttributes.put(attributeName,value);
-	}
-	
-	public HashMap getAttributes() {
-		return messageAttributes;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/MessageFilter.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/MessageFilter.java
deleted file mode 100644
index a380061..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/MessageFilter.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.core;
-
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-
-/**
- * <p>
- * Encapsulates common message filtering parameters. Message Filters are used when retrieving
- * messages via an IMessageAccess. The filter encapsulates a simple set of typical filter criteria
- * which is used to select a subset of messages to retrieve. If multiple attributes of the message
- * filter are specified, they should be logically AND'd together by the MessageAccess
- * implementation.
- * </p>
- */
-public class MessageFilter {
-	public static final int ANY_SEVERITY = -1;
-
-	/**
-	 * <p>
-	 * Messages matching this severity(s) will be retrieved. One of SeverityEnum XXX_severity
-	 * constants, or ANY_SEVERITY to specify that messages of any severity will be returned. This
-	 * field can be combined with other filter attributes to narrow the selection set further.
-	 * </p>
-	 */
-	private int severity = ANY_SEVERITY;
-
-	/**
-	 * <p>
-	 * The validator which reported the messages that should be returned. All messages which were
-	 * reported using validator matching this validator will be returned. This field can be combined
-	 * with other filter attributes to narrow the selection set further.
-	 * </p>
-	 */
-	private IValidator validator;
-
-	/**
-	 * <p>
-	 * The target object of the messages that should be returned, or null to specify to retrieve
-	 * messages of any target. All messages having a target object matching this object will be
-	 * returned. This field can be combined with other filter attributes to narrow the selection set
-	 * further.
-	 * </p>
-	 */
-	private Object targetObject;
-
-	/**
-	 * @deprecated
-	 */
-	public MessageFilter() {
-		super();
-	}
-
-	/**
-	 * 
-	 * @param aSeverity
-	 * 			Severity of the message
-	 * @param validator
-	 * 			IValidator which reported the message
-	 * @param aTargetObject
-	 * 			Target object of the message
-	 */
-	public MessageFilter(int aSeverity, IValidator validator, Object aTargetObject) {
-		super();
-		severity = aSeverity;
-		this.validator = validator;
-		targetObject = aTargetObject;
-	}
-
-	/**
-	 * @return the severity filter constraint.
-	 */
-	public int getSeverity() {
-		return severity;
-	}
-
-	/**
-	 * @return the target object filter constraint.
-	 */
-	public java.lang.Object getTargetObject() {
-		return targetObject;
-	}
-
-	/**
-	 * @return the validator to filter on.
-	 */
-	public IValidator getValidator() {
-		return validator;
-	}
-
-	/**
-	 * Set the severity filter constraint.
-	 * 
-	 * @param newSeverity
-	 *            severity filter constraint
-	 */
-	public void setSeverity(int newSeverity) {
-		severity = newSeverity;
-	}
-
-	/**
-	 * Set the target object filter constraint.
-	 * 
-	 * @param newTargetObject
-	 *             target object filter constraint
-	 */
-	public void setTargetObject(java.lang.Object newTargetObject) {
-		targetObject = newTargetObject;
-	}
-
-	/**
-	 * Set the validator to return messages for.
-	 * 
-	 * @param validator
-	 *            validator to return messages for
-	 */
-	public void setValidator(IValidator validator) {
-		this.validator = validator;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidationException.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidationException.java
deleted file mode 100644
index e5fb20a..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidationException.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.core;
-
-
-import java.util.Locale;
-
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * <p>
- * This exception is the only exception which should be thrown by IValidators. The message in this
- * exception must be suitable for showing to the user. All ValidationExceptions will have their
- * message extracted when they're caught, and the message will be shown to the user.
- * 
- * @plannedfor 1.0
- * </p>
- */
-public class ValidationException extends Exception {
-	private Throwable _lowLevelException = null;
-	private IMessage _message = null;
-	private ClassLoader _loader = null;
-	private final static long serialVersionUID = -3387516993124229949L;
-
-
-	
-	/**
-	 * Constructs a new exception with a given message string. <br>
-	 * <br>
-	 * 
-	 * @param message
-	 *            IMessage, which is Locale-independent, which contains the message to be shown to
-	 *            be shown to the user.
-	 */
-	public ValidationException(IMessage message) {
-		this(message, null);
-	}
-
-	/**
-	 * Constructs a new exception with a given message string, and low-level exception. <br>
-	 * <br>
-	 * 
-	 * @param message
-	 *            IMessage Locale-independent message to be shown to the user.
-	 * @param exception
-	 *            relevant low-level exception, or <code>null</code> if none. <br>
-	 *            &nbsp;&nbsp;&nbsp For example, when a method fails because of a network
-	 *            communications &nbsp;&nbsp;&nbsp problem, this would be the
-	 *            <code>java.io.IOException</code> &nbsp;&nbsp;&nbsp describing the exact nature
-	 *            of the problem.
-	 */
-	public ValidationException(IMessage message, Throwable exception) {
-		super();
-		_message = message;
-		_lowLevelException = exception;
-	}
-
-	/**
-	 * @return the low-level exception associated with this ValidationException.
-	 */
-	public Throwable getAssociatedException() {
-		return _lowLevelException;
-	}
-
-	/**
-	 * @return the IMessage to be shown to the user, or null if this exception should be handled
-	 * internally.
-	 */
-	public IMessage getAssociatedMessage() {
-		return _message;
-	}
-
-	/**
-	 * @return if the IValidator which threw this exception was loaded by a different ClassLoader than the
-	 * framework, this method returns the ClassLoader of the IValidator.
-	 */
-	public ClassLoader getClassLoader() {
-		return _loader;
-	}
-
-	/**
-	 * @return the error message string of this <code>Throwable</code> object if it was
-	 *         {@link java.lang.Throwable#Throwable(String) created}with an error message string;
-	 *         or <code>null</code> if it was {@link java.lang.Throwable#Throwable() created}with
-	 *         no error message.
-	 *  
-	 */
-	public String getMessage() {
-		return _message.getText(getClassLoader());
-	}
-
-	/**
-	 * @param locale
-	 * 			The locale of which to get the message.
-	 * @return the error message string of this <code>Throwable</code> object if it was
-	 *         {@link java.lang.Throwable#Throwable(String) created}with an error message string;
-	 *         or <code>null</code> if it was {@link java.lang.Throwable#Throwable() created}with
-	 *         no error message.
-	 */
-	public String getMessage(Locale locale) {
-		return _message.getText(locale, getClassLoader());
-	}
-
-	/**
-	 * <p>
-	 * If the IValidator which threw this exception was loaded by a different ClassLoader than the
-	 * framework, this method should set the ClassLoader to be the ClassLoader of the IValidator.
-	 * </p>
-	 * @param loader
-	 *  		ClassLoader of the validator
-	 */
-	public void setClassLoader(ClassLoader loader) {
-		_loader = loader;
-	}
-
-	/**
-	 * <p>
-	 * Returns a short description of this throwable object. If this <code>Throwable</code> object
-	 * was {@link java.lang.Throwable#Throwable(String) created}with an error message string, then
-	 * the result is the concatenation of three strings:
-	 * <ul>
-	 * <li>The name of the actual class of this object
-	 * <li>": " (a colon and a space)
-	 * <li>The result of the {@link #getMessage}method for this object
-	 * </ul>
-	 * If this <code>Throwable</code> object was {@link java.lang.Throwable#Throwable() created}
-	 * with no error message string, then the name of the actual class of this object is returned.
-	 * </p>
-	 * 
-	 * @return a string representation of this <code>Throwable</code>.
-	 */
-	public String toString() {
-		return toString(Locale.getDefault());
-	}
-
-	/**
-	 * <p>
-	 * Returns a short description of this throwable object. If this <code>Throwable</code> object
-	 * was {@link java.lang.Throwable#Throwable(String) created}with an error message string, then
-	 * the result is the concatenation of three strings:
-	 * <ul>
-	 * <li>The name of the actual class of this object
-	 * <li>": " (a colon and a space)
-	 * <li>The result of the {@link #getMessage}method for this object
-	 * </ul>
-	 * If this <code>Throwable</code> object was {@link java.lang.Throwable#Throwable() created}
-	 * with no error message string, then the name of the actual class of this object is returned.
-	 * </p>
-	 * 
-	 * @return a string representation of this <code>Throwable</code>.
-	 */
-	public String toString(Locale locale) {
-		String s = getClass().getName();
-		String message = getMessage(locale);
-		return (message != null) ? (s + ": " + message) : s; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidatorLauncher.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidatorLauncher.java
deleted file mode 100644
index cae3972..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidatorLauncher.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.core;
-
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-
-
-/**
- * <p>
- * This singleton launches the validation on a single validator. Clients should call this class's
- * <code>start</code> method to begin the validation.
- * </p>
- */
-public class ValidatorLauncher {
-	private static ValidatorLauncher _launcher = null;
-
-	
-	/**
-	 * Default constructor 
-	 */
-	private ValidatorLauncher() {
-		//Default constructor
-	}
-
-	/**
-	 * @return the singleton launcher.
-	 */
-	public static ValidatorLauncher getLauncher() {
-		if (_launcher == null) {
-			_launcher = new ValidatorLauncher();
-		}
-		return _launcher;
-	}
-
-	/**
-	 * <p>
-	 * This method is the launch point of the validation. It runs validation on the validator
-	 * accessed by the IValidationContext. When the validation is complete, each validator may perform resource
-	 * cleanup, if necessary.
-	 * 
-	 * <br>
-	 * <br>
-	 * If <code>helper</code>,<code>validator</code>, or <code>reporter</code> are null,
-	 * validation is not performed. <code>changedFiles</code> may be null, or empty, if a full
-	 * build should be done.
-	 * </p>
-	 * 
-	 * @param helper 
-	 * 			loads an object. 
-	 * @param validator
-	 * 			validator object to launch validation.
-	 * @param reporter
-	 * 			Is an instance of an IReporter interface, which is used for
-	 * interaction with the user.
-	 * @param changedFiles
-	 * 			Is an array of files which have been added, changed, or deleted
-	 * since the last validation. If <code>changedFiles</code> is null, or if it is an empty
-	 * array, then a full validation should be performed. Otherwise, validation on just the files
-	 * listed in the array should performed if the validator supports incremental validation.
-	 */
-	public void start(final IValidationContext helper, final IValidator validator, final IReporter reporter) throws ValidationException {
-		if ((helper == null) || (validator == null) || (reporter == null)) {
-			return;
-		}
-
-		// Can't force each validator to check if it's cancelled or not,
-		// so check for cancellation here. Hopefully the user won't wait
-		// too long.
-		if (reporter.isCancelled()) {
-			return;
-		}
-
-		// If the validator is about to perform a full build, remove all of its previous validation
-		// messages.
-		if ((helper.getURIs() == null) || (helper.getURIs().length == 0)) {
-			reporter.removeAllMessages(validator);
-		}
-
-		validator.validate(helper, reporter);
-		validator.cleanup(reporter);
-
-	}
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMessage.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMessage.java
deleted file mode 100644
index d85080c..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMessage.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.provisional.core;
-
-
-import java.util.HashMap;
-import java.util.Locale;
-
-/**
- * <p>
- * This interface represents a locale-independent validation message.
- * </p>
- * <p>
- * Given these three values as input, this interface can be queried for the final message string.
- * (i.e., the message with the parameters already substituted in.) Either the default Locale can be
- * used, or the caller can specify a Locale.
- * 
- * @plannedfor 1.0
- * </p>
- * 
- * [issue: CS - The 'IMessage' interface would be simpler without the bundle related details.  I'd like to understand
- * why we can 'precompute' the translated message. Is there some benefit to perform 'late computation' of these messages?
- * How does this compare to the eclipse Marker (as far as I know the Marker's text() is preLocalized).
- * Here's a list of the methods that are related to 'bundle specific' aspects and could be separate out (or designed away)?
- *    
- *   - getId()
- *   - getBundle(...)
- *   - getBundleName()
- *   - getParams()
- *   - getText(Locale)
- *   - getText(ClassLoader)
- *   - getText(Locale, ClassLoader)
- *   - setId(String)
- *   - setBundleName(String)
- *   - setParams(String[])
- * ]
- * 
- *   - void setAttribute(String attributeName, Object value)
- *   - Object getAttribute(String attributeName);
- * ]
- */
-public interface IMessage {
-	public static final int OFFSET_UNSET = -1; // see getLength(), getOffset()
-	public static final int LINENO_UNSET = 0;
-	/**
-	 * Typically used to specify error messages.
-	 */
-	public static final int HIGH_SEVERITY = 0x0001;
-	/**
-	 * Typically used to specify warning messages.
-	 */
-	public static final int NORMAL_SEVERITY = 0x0002;
-	/**
-	 * Typically used to specify information messages.
-	 */
-	public static final int LOW_SEVERITY = 0x0004;
-	/**
-	 * Specify high (error) and normal (warning) messages. Typically used with a MessageFilter, to
-	 * filter out information messages.
-	 */
-	public static final int ERROR_AND_WARNING = HIGH_SEVERITY | NORMAL_SEVERITY;
-	/**
-	 * Specify all types of messages. Typically used with a MessageFilter.
-	 */
-	public static final int ALL_MESSAGES = ERROR_AND_WARNING | LOW_SEVERITY;
-
-	/**
-	 * @return the name of the bundle which this message is contained in.
-	 */
-	public String getBundleName();
-
-	/**
-	 * <p>
-	 * To support removal of a subset of validation messages, an IValidator may assign group names
-	 * to IMessages. An IMessage subset will be identified by the name of its group. Default (null)
-	 * means no group.
-	 * </p>
-	 * @return the name of the group to which the message belongs.
-	 */
-	public String getGroupName();
-
-	/**
-	 * <p>
-	 * Returns the id of the message. Message ids are used as the constants in property bundles
-	 * which localize the description of the message in a locale-independent fashion. The id is the
-	 * key, in the resource bundle, which identifies the string to be loaded. The id may not be null
-	 * or the empty string.
-	 * </p>
-	 * @return the id of the message
-	 */
-	public java.lang.String getId();
-
-	/**
-	 * @return the length of the problem area, starting from the offset. If unset, value =
-	 * IMessage.OFFSET_UNSET.
-	 * 
-	 * @see #getOffset()
-	 */
-	public int getLength();
-
-	/**
-	 * <p>
-	 * If there is a target object associated with this IMessage, and that target object is a file,
-	 * then an optional line number may be set. The line number identifies the location of the
-	 * problem identified by this message. If no line number has been set, #LINENO_UNSET will be
-	 * returned.
-	 * </p>
-	 * @return line number of the location of the problem.
-	 * 
-	 */
-	public int getLineNumber();
-
-	/**
-	 * <p>
-	 * Returns the offset of the message. If unset, value = IMessage.OFFSET_UNSET. For example, if
-	 * the java compiler were a validator, and it reported that a variable name was unknown, offset
-	 * would identify the position of the first character of the unknown variable. (The position is
-	 * identified by the number of characters from the start of the file.)
-	 * </p>
-	 * 
-	 * @return offset of the message
-	 */
-	public int getOffset();
-
-	/**
-	 * <p>
-	 * Returns the parameters of the message. Message parameters are the values which are
-	 * substituted into parameter slots in localized message text ddscriptions.
-	 * </p>
-	 * 
-	 * @return parameters of the message
-	 */
-	public java.lang.String[] getParams();
-
-	/**
-	 * <p>
-	 * Returns the severity level of the message. One of SeverityEnum constants.
-	 * 
-	 * @see IMessage#HIGH_SEVERITY
-	 * @see IMessage#NORMAL_SEVERITY
-	 * @see IMessage#LOW_SEVERITY
-	 * </p>
-	 * 
-	 * @return the severity level of the message
-	 */
-	public int getSeverity();
-
-	/**
-	 * <p>
-	 * Return the object that this IMessage is reporting the problem against, if any. null will be
-	 * returned if this is a general message which does not apply to a particular object; for
-	 * example, "internal error".
-	 * </p>
-	 * 
-	 * @return the target object for the message
-	 */
-	public Object getTargetObject();
-
-	/**
-	 * @return a text representation of this message formatted in the default Locale, with the
-	 * bundle loaded by the default ClassLoader.
-	 */
-	public java.lang.String getText();
-
-	/**
-	 * @param classLoader 
-	 * 				The ClassLoader which will be used to load the ResourceBundle.
-	 *            
-	 * @return a text representation of this message formatted in the default locale, with the
-	 * bundle loaded by the specified ClassLoader.
-	 */
-	public java.lang.String getText(ClassLoader classLoader);
-
-	/**
-	 * @param locale
-	 *            The locale to translate the message text into.
-	 *            
-	 * @return a text representation of this message formatted in the specified locale, with the
-	 * bundle loaded by the default ClassLoader.
-	 */
-	public java.lang.String getText(Locale locale);
-
-	/**
-	 * @param locale
-	 *            The locale to translate the message text into.
-	 * @param classLoader
-	 *            The ClassLoader which will be used to load the ResourceBundle.
-	 *            
-	 * @return a text representation of this message formatted in the specified locale, with the
-	 * bundle loaded by the specified ClassLoader.
-	 */
-	public java.lang.String getText(Locale locale, ClassLoader classLoader);
-	
-	/**
-	 * Provides a way to store some additional attributes that a message would like to store
-	 * that can used by some other parties that are interested in those attribute values. Basically
-	 * a convienince to pass object values around that can consumed by other Objects it they need it
-	 * @param attributeName
-	 * @return an Object basically the value associated with the object name.
-	 */
-	
-	public Object getAttribute(String attributeName);
-	
-	/**
-	 * Set the attributeName and value as key value pair
-	 * @see getAttribute(String attributeName).
-	 * @param attributeName
-	 */
-	
-	void setAttribute(String attributeName, Object value);
-	   
-
-	/**
-	 * Set the name of the bundle which this message is contained in.
-	 * 
-	 * @param bundleName 
-	 * 			Name of the bundle which contains the message.
-	 */
-	public void setBundleName(String bundleName);
-
-	/**
-	 * <p>
-	 * To support removal of a subset of validation messages, an IValidator may assign group names
-	 * to IMessages. An IMessage subset will be identified by the name of its group. Default (null)
-	 * means no group.
-	 * </p>
-	 * 
-	 * @param name
-	 * 			Name of the group.
-	 */
-	public void setGroupName(String name);
-
-	/**
-	 * <p>
-	 * Set the id of the message. Message ids are used as the constants in property bundles which
-	 * localize the description of the message in a locale-independent fashion. The id is the key,
-	 * in the resource bundle, which identifies the string to be loaded. The id may not be null or
-	 * the empty string.
-	 * </p>
-	 * 
-	 * @param newId
-	 *            Id of the message.
-	 */
-	public void setId(java.lang.String newId);
-
-	/**
-	 * <p>
-	 * Sets the length of the problem, starting from the offset. If unset, value =
-	 * IMessage.OFFSET_UNSET.
-	 * 
-	 * @see #setOffset(int)
-	 * </p>
-	 * 
-	 * @param length 
-	 *			sets the length 		
-	 */
-	public void setLength(int length);
-
-	/**
-	 * <p>
-	 * If there is a target object associated with this IMessage, and that target object is a file,
-	 * then an optional line number may be set. The line number identifies the location of the
-	 * problem identified by this message. To indicate no line number, use #LINENO_UNSET.
-	 * </p>
-	 * @param lineNumber 
-	 *			sets the line no. 	
-	 */
-	public void setLineNo(int lineNumber);
-
-	/**
-	 * <p>
-	 * Sets the offset of the message. If unset, value = IMessage.OFFSET_UNSET. For example, if the
-	 * java compiler were a validator, and it reported that a variable name was unknown, offset
-	 * would identify the position of the first character of the unknown variable. (The position is
-	 * identified by the number of characters from the start of the file.)
-	 * </p>
-	 * @param offset 
-	 *			sets the offset of the message.
-	 */
-	public void setOffset(int offset);
-
-	/**
-	 * <p>
-	 * Sets the parameters of the message. Message parameters are the values which are substituted
-	 * into parameter slots in localized message text descriptions.
-	 * </p>
-	 * <p>
-	 * For example, if getId() returns "MY_ID", then the ResourceBundle identified by
-	 * getBundleName() is searched for the message named "MY_ID", and if found,
-	 * </p>
-	 * 
-	 * @see java.text.MessageFormat#format(String, Object[]) is invoked on the message, with
-	 *      <code>newParams</code> passed in as the Object[].
-	 * @param newParams
-	 *            parameters of the message.
-	 */
-	public void setParams(java.lang.String[] newParams);
-
-	/**
-	 * Sets the severity level of the message. One of SeverityEnum constants.
-	 * 
-	 * @see IMessage#HIGH_SEVERITY
-	 * @see IMessage#NORMAL_SEVERITY
-	 * @see IMessage#LOW_SEVERITY
-	 * 
-	 * @param newSeverity
-	 *            severity level of the message
-	 */
-	public void setSeverity(int newSeverity);
-
-	/**
-	 * <p>
-	 * Associate this IMessage with the object that has the problem. A null value is permitted. If a
-	 * message is applicable to one object, then this value should be set. Otherwise, the default
-	 * value (null) should be kept. Given this target object, it should be possible to calculate the
-	 * exact location of the problem.
-	 * </p>
-	 * 
-	 * @param obj
-	 *         The object that has the problem.
-	 */
-	public void setTargetObject(Object obj);
-	
-	/**
-	 * return all the attributes of a Message object
-	 * @return
-	 */
-	public HashMap getAttributes();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMetaModelContext.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMetaModelContext.java
deleted file mode 100644
index 37a9cfe..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMetaModelContext.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.provisional.core;
-
-public interface IMetaModelContext extends IValidationContext {
-	
-	public Object getModel(String URI);
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IReporter.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IReporter.java
deleted file mode 100644
index a2cd946..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IReporter.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.provisional.core;
-
-import java.util.List;
-
-
-
-
-/*
- * CCM - Reporter is now passed locale-independent messages.
- *       Messages should only be translated to a locale upon access.
- *       Or in special locale-dependent reporter implementations (console logger).
- */
-
-/**
- * The interface used by IValidator's to report messages. The implementation of the IReporter could
- * simply log the messages to stdout, a file, or retain them in a buffer for later access by a user
- * interface.
- * 
- * Reporter implementations should keep non-localized versions of their messages
- * 
- * Any messages which need to be displayed to the user are done through this class, and if the user
- * cancels the current function, this class is the one which registers the cancellation.
- * 
- * The IReporter instance is created at the time validation begins and ends when validation is complete.
- * There is only one IReporter instance created for all validators that are run on a IResource. The IResource
- * provides a way to get messages put out each validator and add and delete messages for one validator
- * at a time. 
- * ] 
- */
-public interface IReporter {
-	/**
-	 * <p>
-	 * Add a locale-independent validation message. It will be displayed later, with all of the
-	 * other validation messages.
-	 * </p>
-	 * <p>
-	 * The IValidator passed in is needed for incremental validation (when a message needs to be
-	 * removed, one validator should not remove messages entered by another validator.) The
-	 * validator is also queried for information about its resource bundle, to enable support for
-	 * localization of messages in a client-server environment.
-	 * </p>
-	 * <p>
-	 * Both parameters must not be null.
-	 * </p>
-	 * @param origin
-	 *            The validator which is the source of the message.
-	 * @param message
-	 *            A message to be reported
-	 * @exception MessageLimitException
-	 *                is thrown when the total number of messages reported exceeds the maximum
-	 *                allowed.
-	 * [issue: LM - This exception seems questionable to me. Why do validators need to know how
-	 *  to handle a MessageLimitException? Seems to me that this is a validation framework
-	 *  specific issue and that client validators shouldn't know about this at all. ]
-	 */
-	public abstract void addMessage(IValidator origin, IMessage message);
-
-	/**
-	 * <p>
-	 * Show a text representation of this message, formatted in the default Locale, to the user
-	 * immediately. This message indicates which subtask is currently being processed. The message
-	 * is not stored. The subtask message in this context is the subtask in a IProgressMontior 
-	 * 
-	 * @see subTask(String name) in IProgressMonitor
-	 * </p>
-	 * <p>
-	 * Both parameters must not be null. 
-	 * </p>
-	 * 
-	 * @param IValidator
-	 *            validator The validator issuing the subtask message.
-	 * @param IMessage
-	 *            message The message to be displayed to the user.
-	 *                       
-	 */
-	public abstract void displaySubtask(IValidator validator, IMessage message);
-
-	/**
-	 * @return the message access interface to this reporter, or null if message access is not
-	 * supported.
-	 *     
-	 */
-	public List getMessages();
-
-	/**
-	 * <p>
-	 * Return true if the user cancelled validation, and false otherwise. This method should be
-	 * called by IValidators periodically, because no event is fired to notify IValidators that the
-	 * user cancelled validation. If a validator does not check this method, a cancellation request
-	 * is ignored.
-	 * </p>
-	 * 
-	 * @return true if the user cancelled validation, and false otherwise.
-	 *  
-	 */
-	public abstract boolean isCancelled();
-
-	/**
-	 * <p>
-	 * Remove all validation messages entered by the identified validator. This method is provided
-	 * for incremental validation. 
-	 * </p>
-	 * <p>
-	 * The IValidator parameter must not be null.
-	 * </p>
-	 * @param origin
-	 * 			originator validator of the message.  
-	 */
-	public abstract void removeAllMessages(IValidator origin);
-
-	/**
-	 * Remove all validation messages, entered by the identified validator, pertaining to the Object
-	 * provided. This method is provided for incremental validation. <br>
-	 * <br>
-	 * If <code>object</code> is null, then this method should remove all messages owned by the
-	 * validator. (i.e., the same behaviour as the removeAllMessages(IValidator) method.) <br>
-	 * <br>
-	 * <p>
-	 * The IValidator parameter must not be null.
-	 * </p>
-	 * @param origin
-	 * 			originator validator of the message.
-	 * @param object
-	 * 			Object to which the message belongs. Object is the target object that was set on the IMessage
-	 * when adding the message as problem marker.
-	 * 
- 	 */
-	public abstract void removeAllMessages(IValidator origin, Object object);
-
-	/**
-	 * To support removal of a subset of validation messages, an IValidator may assign group names
-	 * to IMessages. An IMessage subset will be identified by the name of its group. This method
-	 * will remove only the IMessage's that are in the group identified by groupName. <br>
-	 * <br>
-	 * <br>
-	 * 
-	 * The IValidator parameter must not be null. <br>
-	 * <br>
-	 * 
-	 * If <code>object</code> is null, then this method should remove all messages owned by the
-	 * validator. (i.e., the same behaviour as the removeAllMessages(IValidator) method.)
-	 * 
-	 * If groupName is null, that's the same as no group (i.e., the same behaviour as the
-	 * <code>removeAllMessages(IValidator, Object)</code> method.) <br>
-	 * 
-	 * @param origin
-	 * 			originator validator of the message.
-	 * @param object
-	 * 			Object to which the message belongs. 
-	 * @param groupName
-	 * 			name of the group to which the message belongs. 
-	 */
-	public void removeMessageSubset(IValidator validator, Object obj, String groupName);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidationContext.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidationContext.java
deleted file mode 100644
index 135a80f..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidationContext.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.provisional.core;
-
-
-
-/**
- * <p>
- * This class is used to to separate the IValidator from the model loading. A model 
- * is a group of object(s) that must follow some rules.
- * </p>
- * <p>
- * The model is loaded differently depending on whether the validator is running in 
- * UI or headless context. If the <code>loadModel</code> method was a method on the IValidator, 
- * then there would need to be two versions of validators, one for headless and one for 
- * UI. Because <code>loadModel</code> is separate from the IValidator, we provide 
- * two different IHelpers instead, and ship the one specific to the environment.
- * </p>
- * <p>
- * Each IValidationContext implementation loads a specific model as identified by a String
- * <code>symbolicName</code>. The symbolicName can be any value except null or the 
- * empty string. Each validator identifies the symbolic names which it needs, and the
- * type of model which needs to be returned when that symbolic name is loaded via a 
- * <code>loadModel</code> method. An IValidationContext can support more than one IValidator; 
- * the helper needs to support every model that each validator needs.
- * </p>
- */
-public interface IValidationContext {
-	/**
-	 * <p>
-	 * Load the model identified by <code>symbolicName</code>.<code>symbolicName</code> 
-	 * must not be null or the empty string if the validator needs to be run in both 
-	 * Headless and UI.
-	 * 
-	 * The symbolicName is a string name that is registered in the implementation of the
-	 * IValidatorContext. For an example our internal implementation of the loadModel use
-	 * method names for symbolicNames to load the model object to be validated. Users can
-	 * use their own model load mechanism.
-	 * @see <code>WorkbenchContext</code>
-	 * 
-	 * </p>
-	 * @plannedfor 1.0
-	 */
-	public Object loadModel(String symbolicName);
-
-	/**
-	 * <p>
-	 * Load the model identified by <code>symbolicName</code> and <code>parms</code>.
-	 * <code>symbolicName</code> must not be null or the empty string if the validator 
-	 * needs to be run in both Headless and UI. If <code>parms</code> is null then this
-	 * method behaves the same as
-	 * 
-	 * @link #loadModel(String).
-	 * 
-	 * This method differs from
-	 * @link #loadModel(String) because it takes parameters, from the IValidator, which 
-	 * 		 are available only at runtime. If you need to pass a live object to the IValidationContext, 
-	 * 		 this is the loadModel method to use.
-	 * </p>
-	 * @param symbolicName String identifier for model
-	 * @param parms 	   parms list of parameters that the model takes for invocation
-	 * 
-	 * [issue : CS - It's not at all clear how these parameters would get passed into a helper.  I'd suggest
-	 * providing getProperty() and setProperty() methods on the class to allow contextual information to be 
-	 * supplied and queried in a generic manner.]
-	 */
-	public Object loadModel(String symbolicName, Object[] parms);
-	
-	/**
-	 * @return a string array with the list of URI's that need to be validated in the
-	 * case of Incremental build
-	 */
-	
-	public String[] getURIs();
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidator.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidator.java
deleted file mode 100644
index 366df5f..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.provisional.core;
-
-import org.eclipse.wst.validation.internal.core.ValidationException;
-
-/**
- * This is the base interface for all Validators. A Validator is a class which verifies that objects
- * follow some rules. For example, in a MOF model which represents an EJB jar, the EJB specification
- * determines the rules. <br>
- * <br>
- * A validator can perform full validation or incremental validation. All validators must implement
- * full validation but incremental validation is optional. <br>
- * <br>
- * Each validator must not be tied to any particular workbench implementation. <br>
- * <br>
- * A validator's verification starts when the ValidatorLauncher singleton calls
- * <code>validate</code>.
- * 
- * [issue: LM - This interface will be implemented by clients. This should be considered a candidate for
- *  an abstract class. ]   
- */
-public interface IValidator{
-	/**
-	 * <p>
-	 * Perform any resource cleanup once validation is complete. If cleanup will take some time, the
-	 * IValidator should report subtask information to the user through the IReporter parameter. The
-	 * IReporter parameter will not be null.
-	 * </p>
-	 * @param reporter used for the interaction with the user
-	 * @plannedfor WTP 1.0
-	 * 
-	 * [issue : CS - Perhaps the IValidator should be required to provide a 'name' that can be used describe 
-	 * the running validation 'Job'.  Then the framework could automatically say something like 'XYZ validator : cleanup'.
-	 * Relying on the IValidator to provide subtask information seems error prone.]
-	 * [issue: LM - Is the cleanup method necessary? Can the framework put a requirement that client validators 'clean up'
-	 *  before returning from the validate method? ] 
-	 */
-	public void cleanup(IReporter reporter);
-
-	/**
-	 * This is the method which performs the validation on the objects. <br>
-	 * <br>
-	 * <code>helper</code> and <code>reporter</code> may not be null. <code>changedFiles</code>
-	 * may be null, if a full build is desired. <br>
-	 * <br>
-	 * @param helper 
-	 * 			loads an object. 
-	 * @param reporter
-	 * 			Is an instance of an IReporter interface, which is used for
-	 * interaction with the user.
-	 * @param changedFiles
-	 * 			Is an array of files which have been added, changed, or deleted
-	 * since the last validation. If <code>changedFiles</code> is null, or if it is an empty
-	 * array, then a full validation should be performed. Otherwise, validation on just the files
-	 * listed in the array should performed if the validator supports incremental validation.
-	 * 
-	 * [issue : CS - I'm curious to understand why the validator is not invoked directly on a file.  It seems it should be the
-	 * domain of another API to manage manage incremental file changes and triggering validations accordingly. 
-	 * Do we have a current use case in WTP where the validator does anything more validate a file from the changedFiles list?]
-	 */
-	public void validate(IValidationContext helper, IReporter reporter) throws ValidationException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorJob.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorJob.java
deleted file mode 100644
index 595151b..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorJob.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.provisional.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-
-/**
- * This is the Job interface for the validator. Validators implementing this interface are executed as
- * background jobs. 
- * Following is a  sequence of  call  <br/>
- * validator.getSchedulingRule(helper) <br/>
- * validator.validate(reporter)
- */
-
-public interface IValidatorJob extends IValidator{
-
-	public static IStatus OK_STATUS = new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null); //$NON-NLS-1$ //$NON-NLS-2$
-	
-
-
-	/**
-	 * This is the method which performs the validation on the objects. <br>
-	 * <br>
-	 * <code>reporter</code> may not be null. <code>changedFiles</code>
-	 * may be null, if a full build is desired. <br>
-	 * <br>
-     *
-	 * @param reporter
-	 *            Is an instance of an IReporter interface, which is used for interaction with the
-	 *            user.
-	 * @param helper will not be null,
-	 *		loads an object.
-	 */
-	public IStatus validateInJob(IValidationContext helper, IReporter reporter) throws ValidationException;
-
-	/**
-	 * Get the scheduling rule, which the framework applies to the Validator job, 
-	 * @param helper will not be null,
-	 *		loads an object.
-	 * @return
-	 */
-	public ISchedulingRule getSchedulingRule(IValidationContext helper);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/MessageLimitException.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/MessageLimitException.java
deleted file mode 100644
index 4a9c63e..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/MessageLimitException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.validation.internal.provisional.core;
-
-
-/**
- * This exception is thrown by
- * 
- * @see IReporter#addMessage(IValidator, IMessage) method if no more messages can be reported
- *      because the maximum number of messages has been reported.
- * [issue: LM - Going along with my comment on the addMessage method in IReporter I 
- *  think this class should be internal to the validation framework.
- *  I don't think there's a need for this class to be exposed to clients. If too many
- *  messages are added the framework should handle this without notifying the client
- *  validator. ]
- *  @deprecated This class is not longer used by the framework. The framework is
- *  not going to limit the number of messages displayed by a validator.
- */
-public class MessageLimitException extends RuntimeException {
-	private final static long serialVersionUID = -7034897190745766940L;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/xsds/referencialFileExtSchema.exsd b/plugins/org.eclipse.wst.validation/xsds/referencialFileExtSchema.exsd
deleted file mode 100644
index a30b719..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/referencialFileExtSchema.exsd
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="referencialFileValidator" name="Referencial File Validator"/>
-      </appInfo>
-      <documentation>
-         This extension point is used for referential file validation. This extension point should be extended if you have files that reference other files and would like the validation on referenced files to run when the validation on the referencing file is run. The Post Validator operation that is used by this extension point expects a flat list of files to run validation on referenced files.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="referencialFileValidator"/>
-         </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="referencialFileValidator">
-      <complexType>
-         <sequence>
-            <element ref="run"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="run">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </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>
-         
-      </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.validation/xsds/validationHelper.exsd b/plugins/org.eclipse.wst.validation/xsds/validationHelper.exsd
deleted file mode 100644
index d6aece6..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validationHelper.exsd
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="validationHelper" name="Validation Helper"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="validationHelper"/>
-         </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="validationHelper">
-      <complexType>
-         <attribute name="helperClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </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>
-         
-      </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.validation/xsds/validationSelectionHandler.exsd b/plugins/org.eclipse.wst.validation/xsds/validationSelectionHandler.exsd
deleted file mode 100644
index 9e20f4a..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validationSelectionHandler.exsd
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="validationSelectionHandler" name="Validation Selection Handler"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="validationSelectionHandler" 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>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="validationSelectionHandler">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="handlerClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="selectionType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </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>
-         
-      </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.validation/xsds/validatorExtSchema.exsd b/plugins/org.eclipse.wst.validation/xsds/validatorExtSchema.exsd
deleted file mode 100644
index 7850369..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validatorExtSchema.exsd
+++ /dev/null
@@ -1,297 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.validation">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.validation" id="validator" name="Validator"/>

-      </appInfo>

-      <documentation>

-         This extension point give the ability to create a new validator that can validate resources in a Java Project. The validator needs to registered for a given nature of the project for it to run on that project. The user can specifiy file filters to filter out files that need to be validated. The new validator registered by the project nature on the project can be run manually or incrementally if  Auto Build is turned on, during incremental builds the changed delta of files are only validated if those files are part of the validation filters specified.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="validator"/>

-         </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" use="required">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="validator">

-      <complexType>

-         <sequence>

-            <element ref="projectNature" minOccurs="1" maxOccurs="unbounded"/>

-            <element ref="filter" minOccurs="1" maxOccurs="unbounded"/>

-            <element ref="helper"/>

-            <element ref="dependentValidator" minOccurs="0" maxOccurs="1"/>

-            <element ref="run"/>

-            <element ref="markerId" minOccurs="0" maxOccurs="1"/>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  Optional migration tag

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Optional migration tag

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="projectNature">

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="include" type="boolean">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="filter">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="caseSensitive" type="boolean">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="helper">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="dependentValidator">

-      <complexType>

-         <attribute name="depValValue" type="boolean">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="run">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="incremental" type="boolean">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="enabled" type="boolean">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="fullBuild" type="boolean">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="async" type="boolean">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="markerId">

-      <annotation>

-         <documentation>

-            The markerId element is is used to get a custom problem marker for the custom validator implemented using this extension point

-

-This markerId element also needs a corresponding problemMarker extension to be defined bythis validator with the same Id as the makerIdValue for the validator to have its own marker type. Here is an example of the a problemMarker extension defined for a markerIdValue &quot;FooMarker&quot;

-

- &lt;extension

-         id=&quot;FooMarker&quot;

-         name=&quot;%EJB_VALIDATION_PROBLEMMARKER_NAME&quot;

-         point=&quot;org.eclipse.core.resources.markers&quot;&gt;

-      &lt;super

-            type=&quot;org.eclipse.wst.validation.problemmarker&quot;&gt;

-      &lt;/super&gt;

-      &lt;persistent

-            value=&quot;true&quot;&gt;

-      &lt;/persistent&gt;

-      &lt;attribute

-            name=&quot;owner&quot;&gt;

-      &lt;/attribute&gt;

-      &lt;attribute

-            name=&quot;validationSeverity&quot;&gt;

-      &lt;/attribute&gt;

-      &lt;attribute

-            name=&quot;targetObject&quot;&gt;

-      &lt;/attribute&gt;

-      &lt;attribute

-            name=&quot;groupName&quot;&gt;

-      &lt;/attribute&gt;

-      &lt;attribute

-            name=&quot;messageId&quot;&gt;

-      &lt;/attribute&gt;

-   &lt;/extension&gt;

-   

-   Without a problemMarker extension defined, the customer validator will use the base Validation Message problemMarker type.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="facet">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

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

-         

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