This commit was manufactured by cvs2svn to create tag 'R2_0_2'.
diff --git a/features/org.eclipse.jst.server_adapters.feature/feature.xml b/features/org.eclipse.jst.server_adapters.feature/feature.xml
index 7094c4d..64d29a3 100644
--- a/features/org.eclipse.jst.server_adapters.feature/feature.xml
+++ b/features/org.eclipse.jst.server_adapters.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_adapters.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.xml
index b099cbd..693f676 100644
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.xml
+++ b/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_adapters.feature.source"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.jst.server_adapters.sdk.feature/feature.xml b/features/org.eclipse.jst.server_adapters.sdk.feature/feature.xml
index c9abe28..050b8d4 100644
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/feature.xml
+++ b/features/org.eclipse.jst.server_adapters.sdk.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_adapters.sdk.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
@@ -28,5 +28,5 @@
    <includes
          id="org.eclipse.jst.server_adapters.feature.source"
          version="0.0.0"/>
- 
+
 </feature>
diff --git a/features/org.eclipse.jst.server_core.feature/feature.xml b/features/org.eclipse.jst.server_core.feature/feature.xml
index 04ca1e3..1e7193e 100644
--- a/features/org.eclipse.jst.server_core.feature/feature.xml
+++ b/features/org.eclipse.jst.server_core.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_core.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.xml
index 7c87481..40e0709 100644
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.xml
+++ b/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_core.feature.source"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.jst.server_sdk.feature/feature.xml b/features/org.eclipse.jst.server_sdk.feature/feature.xml
index 6ac04c2..416bd13 100644
--- a/features/org.eclipse.jst.server_sdk.feature/feature.xml
+++ b/features/org.eclipse.jst.server_sdk.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_sdk.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
@@ -28,5 +28,5 @@
    <includes
          id="org.eclipse.jst.server_ui.feature.source"
          version="0.0.0"/>
- 
+
 </feature>
diff --git a/features/org.eclipse.jst.server_tests.feature/feature.xml b/features/org.eclipse.jst.server_tests.feature/feature.xml
index c1ef51e..6393828 100644
--- a/features/org.eclipse.jst.server_tests.feature/feature.xml
+++ b/features/org.eclipse.jst.server_tests.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_tests.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.jst.server_ui.feature/feature.xml b/features/org.eclipse.jst.server_ui.feature/feature.xml
index d36cb12..3531444 100644
--- a/features/org.eclipse.jst.server_ui.feature/feature.xml
+++ b/features/org.eclipse.jst.server_ui.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_ui.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.xml
index 854dd55..d33c3dc 100644
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.xml
+++ b/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_ui.feature.source"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.jst.server_userdoc.feature/feature.xml b/features/org.eclipse.jst.server_userdoc.feature/feature.xml
index 3557ff0..c728f50 100644
--- a/features/org.eclipse.jst.server_userdoc.feature/feature.xml
+++ b/features/org.eclipse.jst.server_userdoc.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.server_userdoc.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_adapters.feature/feature.xml b/features/org.eclipse.wst.server_adapters.feature/feature.xml
index 08da934..f71fb72 100644
--- a/features/org.eclipse.wst.server_adapters.feature/feature.xml
+++ b/features/org.eclipse.wst.server_adapters.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_adapters.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.xml
index 165bf79..d0fe106 100644
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.xml
+++ b/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_adapters.feature.source"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_adapters.sdk.feature/feature.xml b/features/org.eclipse.wst.server_adapters.sdk.feature/feature.xml
index 5085f6b..5da52bb 100644
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/feature.xml
+++ b/features/org.eclipse.wst.server_adapters.sdk.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_adapters.sdk.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_core.feature.patch/.project b/features/org.eclipse.wst.server_core.feature.patch/.project
deleted file mode 100644
index b93c3fa..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_core.feature.patch</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.server_core.feature.patch/build.properties b/features/org.eclipse.wst.server_core.feature.patch/build.properties
deleted file mode 100644
index cd1f9c4..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = feature.xml,\
-               license.html,\
-               feature.properties,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
-src.includes = license.html,\
-               feature.xml,\
-               feature.properties,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
diff --git a/features/org.eclipse.wst.server_core.feature.patch/build.xml b/features/org.eclipse.wst.server_core.feature.patch/build.xml
deleted file mode 100644
index 1be1285..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/build.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.wst.server_core.feature.patch" default="build.update.jar" basedir=".">
-
-	<target name="init">
-		<property name="feature.temp.folder" value="${basedir}/feature.temp.folder"/>
-		<property name="feature.destination" value="${basedir}"/>
-	</target>
-
-	<target name="all.plugins" depends="init">
-		<ant antfile="build.xml" dir="../org.eclipse.wst.server.core" target="${target}">
-		</ant>
-	</target>
-	<target name="all.features" depends="init">
-	</target>
-	<target name="update.feature" depends="init">
-	</target>
-
-	<target name="all.children" depends="init,all.features,all.plugins,update.feature">
-	</target>
-
-	<target name="children" if="include.children">
-		<antcall target="all.children"/>
-	</target>
-
-	<target name="build.jars" depends="init" description="Build all the jars for the feature: org.eclipse.wst.server_core.feature.patch.">
-		<antcall target="all.children">
-			<param name="target" value="build.jars"/>
-		</antcall>
-	</target>
-
-	<target name="build.sources" depends="init">
-		<antcall target="all.children">
-			<param name="target" value="build.sources"/>
-		</antcall>
-	</target>
-
-	<target name="build.zips" depends="init">
-		<antcall target="all.children">
-			<param name="target" value="build.zips"/>
-		</antcall>
-	</target>
-
-	<target name="build.update.jar" depends="init" description="Build the feature jar of: org.eclipse.wst.server_core.feature.patch for an update site.">
-		<antcall target="all.children">
-			<param name="target" value="build.update.jar"/>
-		</antcall>
-		<property name="feature.base" value="${feature.temp.folder}"/>
-		<delete dir="${feature.temp.folder}"/>
-		<mkdir dir="${feature.temp.folder}"/>
-		<antcall target="gather.bin.parts" inheritAll="false">
-			<param name="nl" value="*"/>
-			<param name="arch" value="*"/>
-			<param name="os" value="*"/>
-			<param name="ws" value="*"/>
-			<param name="feature.base" value="${feature.temp.folder}"/>
-		</antcall>
-		<jar destfile="${feature.destination}/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442.jar" basedir="${feature.temp.folder}/features/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442"/>
-		<delete dir="${feature.temp.folder}"/>
-	</target>
-
-	<target name="gather.bin.parts" depends="init" if="feature.base">
-		<mkdir dir="${feature.base}/features/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442"/>
-		<antcall target="children">
-			<param name="target" value="gather.bin.parts"/>
-			<param name="destination.temp.folder" value="${feature.base}/plugins"/>
-		</antcall>
-		<copy todir="${feature.base}/features/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442" failonerror="true" overwrite="false">
-			<fileset dir="${basedir}" includes="feature.xml,license.html,feature.properties,epl-v10.html,eclipse_update_120.jpg"			/>
-		</copy>
-		<eclipse.idReplacer featureFilePath="${feature.base}/features/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442/feature.xml"  selfVersion="1.0.0.200705241442" featureIds="" pluginIds="org.eclipse.wst.server.core,1.0.107.200705241442,"/>
-		<antcall target="rootFiles${os}_${ws}_${arch}"/>
-	</target>
-	<target name="rootFiles*_*_*">
-	</target>
-	<target name="rootFilesgroup_group_group">
-		<antcall target="rootFiles*_*_*"/>
-	</target>
-
-	<target name="zip.distribution" depends="init" description="Create a zip containing all the plug-ins and features for the feature: org.eclipse.wst.server_core.feature.patch.">
-		<delete dir="${feature.temp.folder}"/>
-		<mkdir dir="${feature.temp.folder}"/>
-		<antcall target="gather.bin.parts">
-			<param name="nl" value="*"/>
-			<param name="arch" value="*"/>
-			<param name="include.children" value="true"/>
-			<param name="os" value="*"/>
-			<param name="ws" value="*"/>
-			<param name="feature.base" value="${feature.temp.folder}"/>
-		</antcall>
-		<zip destfile="${feature.destination}/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442.bin.dist.zip" basedir="${feature.temp.folder}" filesonly="false" whenempty="skip" update="false"/>
-		<delete dir="${feature.temp.folder}"/>
-	</target>
-
-	<target name="zip.sources" depends="init">
-		<delete dir="${feature.temp.folder}"/>
-		<mkdir dir="${feature.temp.folder}"/>
-		<antcall target="all.children">
-			<param name="include.children" value="true"/>
-			<param name="target" value="gather.sources"/>
-			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins/org.eclipse.wst.server_core.feature.patch.source_1.0.0.200705241442/src"/>
-		</antcall>
-		<zip destfile="${feature.destination}/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442.src.zip" basedir="${feature.temp.folder}" filesonly="true" whenempty="skip" update="false"/>
-		<delete dir="${feature.temp.folder}"/>
-	</target>
-
-	<target name="zip.logs" depends="init">
-		<delete dir="${feature.temp.folder}"/>
-		<mkdir dir="${feature.temp.folder}"/>
-		<antcall target="all.children" inheritAll="false">
-			<param name="include.children" value="true"/>
-			<param name="target" value="gather.logs"/>
-			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins"/>
-		</antcall>
-		<zip destfile="${feature.destination}/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442.log.zip" basedir="${feature.temp.folder}" filesonly="true" whenempty="skip" update="false"/>
-		<delete dir="${feature.temp.folder}"/>
-	</target>
-
-	<target name="clean" depends="init" description="Clean the feature: org.eclipse.wst.server_core.feature.patch of all the zips, jars and logs created.">
-		<delete file="${feature.destination}/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442.jar"/>
-		<delete file="${feature.destination}/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442.bin.dist.zip"/>
-		<delete file="${feature.destination}/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442.log.zip"/>
-		<delete file="${feature.destination}/org.eclipse.wst.server_core.feature.patch_1.0.0.200705241442.src.zip"/>
-		<delete dir="${feature.temp.folder}"/>
-		<antcall target="all.children">
-			<param name="target" value="clean"/>
-		</antcall>
-	</target>
-
-	<target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
-		<eclipse.convertPath fileSystemPath="D:/builds/Workspaces/WTP15maintenance/org.eclipse.wst.server_core.feature.patch/" property="resourcePath"/>
-		<eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
-		<antcall target="all.children">
-			<param name="target" value="refresh"/>
-		</antcall>
-	</target>
-	<target name="gather.sources">
-		<antcall target="children">
-			<param name="target" value="gather.sources"/>
-			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins/org.eclipse.wst.server_core.feature.patch.source_1.0.0.200705241442/src"/>
-		</antcall>
-	</target>
-
-	<target name="gather.logs" depends="init">
-		<mkdir dir="${feature.temp.folder}"/>
-		<antcall target="all.children" inheritAll="false">
-			<param name="target" value="gather.logs"/>
-			<param name="destination.temp.folder" value="${feature.temp.folder}/plugins"/>
-		</antcall>
-	</target>
-
-</project>
diff --git a/features/org.eclipse.wst.server_core.feature.patch/eclipse_update_120.jpg b/features/org.eclipse.wst.server_core.feature.patch/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_core.feature.patch/epl-v10.html b/features/org.eclipse.wst.server_core.feature.patch/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/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.server_core.feature.patch/feature.properties b/features/org.eclipse.wst.server_core.feature.patch/feature.properties
deleted file mode 100644
index 385a356..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/feature.properties
+++ /dev/null
@@ -1,150 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Server Core
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=\
-A patch for Server tools framework core. \n\
-This patch fixes a problem with performance when there is a large number of projects \n\
-in a workspace. \n\
-See bug 187187 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=187187)) \n
-
-
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-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.server_core.feature.patch/feature.xml b/features/org.eclipse.wst.server_core.feature.patch/feature.xml
deleted file mode 100644
index 3acc6eb..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/feature.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_core.feature.patch"
-      label="Patch Feature for Server Core"
-      version="1.0.0.qualifier"
-      provider-name="Eclipse.org">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.wst.server_core.feature" version="1.5.4.v200704150133-----1G955H5G5Ep" patch="true"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.server.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_core.feature.patch/license.html b/features/org.eclipse.wst.server_core.feature.patch/license.html
deleted file mode 100644
index 2347060..0000000
--- a/features/org.eclipse.wst.server_core.feature.patch/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.server_core.feature/feature.xml b/features/org.eclipse.wst.server_core.feature/feature.xml
index 2152385..4bc4b4f 100644
--- a/features/org.eclipse.wst.server_core.feature/feature.xml
+++ b/features/org.eclipse.wst.server_core.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_core.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.xml
index 71ba02a..f49461b 100644
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.xml
+++ b/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_core.feature.source"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_sdk.feature/feature.xml b/features/org.eclipse.wst.server_sdk.feature/feature.xml
index 3582c66..87b88bd 100644
--- a/features/org.eclipse.wst.server_sdk.feature/feature.xml
+++ b/features/org.eclipse.wst.server_sdk.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_sdk.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_tests.feature/feature.xml b/features/org.eclipse.wst.server_tests.feature/feature.xml
index 8a5d027..cfd2ebb 100644
--- a/features/org.eclipse.wst.server_tests.feature/feature.xml
+++ b/features/org.eclipse.wst.server_tests.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_tests.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_ui.feature/feature.xml b/features/org.eclipse.wst.server_ui.feature/feature.xml
index 9b9b29d..9f3aad2 100644
--- a/features/org.eclipse.wst.server_ui.feature/feature.xml
+++ b/features/org.eclipse.wst.server_ui.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_ui.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.xml
index 76ab25d..a5e6165 100644
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.xml
+++ b/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_ui.feature.source"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.server_userdoc.feature/feature.xml b/features/org.eclipse.wst.server_userdoc.feature/feature.xml
index 9191205..b683aab 100644
--- a/features/org.eclipse.wst.server_userdoc.feature/feature.xml
+++ b/features/org.eclipse.wst.server_userdoc.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.server_userdoc.feature"
       label="%featureName"
-      version="2.0.0.qualifier"
+      version="2.0.2.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/plugins/org.eclipse.jst.server.core/.classpath b/plugins/org.eclipse.jst.server.core/.classpath
index 304e861..ce73933 100644
--- a/plugins/org.eclipse.jst.server.core/.classpath
+++ b/plugins/org.eclipse.jst.server.core/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..267ae57 100644
--- a/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Fri Feb 23 21:15:39 EST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -24,7 +24,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=error
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
index 359ba60..8cb3b7a 100644
--- a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.core; singleton:=true
-Bundle-Version: 1.0.305.qualifier
+Bundle-Version: 1.0.205.qualifier
 Bundle-Activator: org.eclipse.jst.server.core.internal.JavaServerPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -19,4 +19,4 @@
  org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJavaRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJavaRuntimeWorkingCopy.java
deleted file mode 100644
index 7bc627c..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJavaRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core;
-
-import org.eclipse.jdt.launching.IVMInstall;
-/**
- * An interface for a server that contains a Java runtime.
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * @since 3.0
- */
-public interface IJavaRuntimeWorkingCopy extends IJavaRuntime {
-	/**
-	 * Set the VM install (installed JRE) that this runtime is using.
-	 * Use <code>null</code> to use the Eclipse default JRE.
-	 * 
-	 * @param vmInstall the VM install to use
-	 */
-	public void setVMInstall(IVMInstall vmInstall);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
index c7bdb38..4b9a5c6 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
@@ -59,13 +59,13 @@
 		IClasspathAttribute[] attributes;
 	}
 
-	private List<SourceAttachmentUpdate> sourceAttachments;
+	private List sourceAttachments;
 
 	private String extensionId;
 
-	private Map<String, IPath> runtimePathMap = new HashMap<String, IPath>();
+	private Map runtimePathMap = new HashMap();
 
-	private Map<String, IClasspathEntry[]> previousClasspath = new HashMap<String, IClasspathEntry[]>();
+	private Map previousClasspath = new HashMap();
 
 	public RuntimeClasspathProviderDelegate() {
 		// default constructor
@@ -149,7 +149,7 @@
 		int size2 = sourceAttachments.size();
 		for (int i = 0; i < size; i++) {
 			for (int j = 0; j < size2; j++) {
-				SourceAttachmentUpdate sau = sourceAttachments.get(j);
+				SourceAttachmentUpdate sau = (SourceAttachmentUpdate) sourceAttachments.get(j);
 				if (sau.runtimeId.equals(runtime.getId()) && sau.entry.equals(entries[i].getPath())) {
 					entries[i] = JavaCore.newLibraryEntry(entries[i].getPath(), sau.sourceAttachmentPath, sau.sourceAttachmentRootPath, new IAccessRule[0], sau.attributes, false);
 				}
@@ -160,7 +160,7 @@
 		if (!previousClasspath.containsKey(key))
 			previousClasspath.put(key, entries);
 		else {
-			IClasspathEntry[] previousEntries = previousClasspath.get(key);
+			IClasspathEntry[] previousEntries = (IClasspathEntry[]) previousClasspath.get(key);
 			
 			if ((previousEntries == null && entries != null) || (previousEntries != null && entries == null)
 					|| (previousEntries != null && entries != null && previousEntries.length != entries.length)) {
@@ -194,7 +194,7 @@
 	 */
 	public boolean hasRuntimeClasspathChanged(IRuntime runtime) {
 		try {
-			IPath path = runtimePathMap.get(runtime.getId());
+			IPath path = (IPath) runtimePathMap.get(runtime.getId());
 			return (path != null && !path.equals(runtime.getLocation()));
 		} catch (Exception e) {
 			// ignore
@@ -202,14 +202,14 @@
 		return false;
 	}
 
-	private static void addJarFiles(File dir, List<IClasspathEntry> list, boolean includeSubdirectories) {
+	private static void addJarFiles(File dir, List list, boolean includeSubdirectories) {
 		int depth = 0;
 		if (includeSubdirectories)
 			depth = 2;
 		addJarFiles(dir, list, depth);
 	}
 
-	private static void addJarFiles(File dir, List<IClasspathEntry> list, int depth) {
+	private static void addJarFiles(File dir, List list, int depth) {
 		if (dir == null)
 			throw new IllegalArgumentException();
 		
@@ -236,7 +236,7 @@
 	 * @param includeSubdirectories <code>true</code> to include subdirectories, and
 	 *    <code>false</code> otherwise
 	 */
-	protected static void addLibraryEntries(List<IClasspathEntry> list, File dir, boolean includeSubdirectories) {
+	protected static void addLibraryEntries(List list, File dir, boolean includeSubdirectories) {
 		if (dir == null)
 			throw new IllegalArgumentException();
 		addJarFiles(dir, list, includeSubdirectories);
@@ -255,7 +255,7 @@
 			return;
 		
 		// find the source attachments
-		sourceAttachments = new ArrayList<SourceAttachmentUpdate>();
+		sourceAttachments = new ArrayList();
 		
 		int size = entries.length;
 		for (int i = 0; i < size; i++) {
@@ -276,7 +276,7 @@
 	 * Load source attachment info.
 	 */
 	private void load() {
-		sourceAttachments = new ArrayList<SourceAttachmentUpdate>();
+		sourceAttachments = new ArrayList();
 		
 		String id = extensionId;
 		String filename = JavaServerPlugin.getInstance().getStateLocation().append(id + ".xml").toOSString();
@@ -318,7 +318,7 @@
 				}
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load source path info", e);
+			Trace.trace(Trace.WARNING, "Could not load source path info: " + e.getMessage());
 		}
 	}
 
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
index 862bb64..c8f5cf9 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -32,8 +32,8 @@
 		if (installPath == null)
 			return new IClasspathEntry[0];
 		
-		List<IClasspathEntry> list = new ArrayList<IClasspathEntry>();
+		List list = new ArrayList();
 		addLibraryEntries(list, installPath.toFile(), false);
-		return list.toArray(new IClasspathEntry[list.size()]);
+		return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
index 36c1965..0133c5c 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -10,10 +10,16 @@
  *******************************************************************************/
 package org.eclipse.jst.server.core.internal;
 
-import org.eclipse.jst.server.core.IJavaRuntimeWorkingCopy;
+import org.eclipse.jdt.launching.IVMInstall;
 /**
  * 
  */
-public interface IGenericRuntimeWorkingCopy extends IGenericRuntime, IJavaRuntimeWorkingCopy {
-	// no new methods
+public interface IGenericRuntimeWorkingCopy extends IGenericRuntime {
+	/**
+	 * Set the VM install (installed JRE) that this runtime is using.
+	 * Use <code>null</code> to use the Eclipse default JRE.
+	 * 
+	 * @param vmInstall the VM install to use
+	 */
+	public void setVMInstall(IVMInstall vmInstall);
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java
index 1689863..25d7de0 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -35,7 +35,7 @@
 	 * @return a possibly empty array of enterprise applications
 	 */
 	public static IModule[] getEnterpriseApplications(IJ2EEModule module, IProgressMonitor monitor) {
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		IModule[] modules = ServerUtil.getModules(EAR_MODULE);
 		if (modules != null) {
 			int size = modules.length;
@@ -69,7 +69,7 @@
 	 * @return a possibly empty array of enterprise applications
 	 */
 	public static IModule[] getEnterpriseApplications(IModule module, IProgressMonitor monitor) {
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		IModule[] modules = ServerUtil.getModules(EAR_MODULE);
 		if (modules != null) {
 			int size = modules.length;
@@ -103,7 +103,7 @@
 	 * @return a possibly empty array of web modules
 	 */
 	public static IModule[] getWebModules(IModule module, IProgressMonitor monitor) {
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		IModule[] modules = ServerUtil.getModules(WEB_MODULE);
 		if (modules != null) {
 			int size = modules.length;
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java
index 2df0dbc..4394b4d 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java
@@ -21,7 +21,6 @@
 import org.eclipse.jdt.launching.IVMInstall2;
 import org.eclipse.jdt.launching.JavaRuntime;
 import org.eclipse.jst.server.core.IJavaRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
 import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
 import org.eclipse.wst.server.core.IRuntime;
@@ -30,7 +29,7 @@
 public class JRERuntimeComponentProvider extends RuntimeComponentProviderDelegate {
 	public static final String CLASSPATH = "classpath";
 
-	private Map<String, VMInstallCache> vmCache = new HashMap<String, VMInstallCache>();
+	private Map vmCache = new HashMap();
 
 	class VMInstallCache {
 		// cached attributes
@@ -42,11 +41,11 @@
 		File location;
 	}
 
-	public List<IRuntimeComponent> getRuntimeComponents(IRuntime runtime) {
+	public List getRuntimeComponents(IRuntime runtime) {
 		// define JRE component
 		IJavaRuntime javaRuntime = (IJavaRuntime) runtime.loadAdapter(IJavaRuntime.class, null);
 		if (javaRuntime != null) {
-			VMInstallCache cache = vmCache.get(runtime.getId());
+			VMInstallCache cache = (VMInstallCache) vmCache.get(runtime.getId());
 			if (cache != null) {
 				if (cache.timestamp != ((Runtime) runtime).getTimestamp())
 					cache = null;
@@ -100,7 +99,7 @@
 			}
 			
 			if (rcv != null) {
-				Map<String, String> properties = new HashMap<String, String>(3);
+				Map properties = new HashMap(3);
 				String name = "-";
 				if (vmInstallName != null)
 					name = vmInstallName;
@@ -120,7 +119,7 @@
 				else
 					properties.put(CLASSPATH, JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
 				
-				List<IRuntimeComponent> list = new ArrayList<IRuntimeComponent>();
+				List list = new ArrayList();
 				list.add(RuntimeManager.createRuntimeComponent(rcv, properties));
 				return list;
 			}
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
index b603c8e..958de35 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
@@ -45,10 +45,10 @@
 	private static JavaServerPlugin singleton;
 
 	//	cached copy of all runtime classpath providers
-	private static List<RuntimeClasspathProviderWrapper> runtimeClasspathProviders;
+	private static List runtimeClasspathProviders;
 
 	// cached copy of all server profilers
-	private static List<ServerProfiler> serverProfilers;
+	private static List serverProfilers;
 	
 	// runtime listener
 	private static IRuntimeLifecycleListener runtimeListener;
@@ -299,7 +299,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(JavaServerPlugin.PLUGIN_ID, "runtimeClasspathProviders");
 		
 		int size = cf.length;
-		List<RuntimeClasspathProviderWrapper> list = new ArrayList<RuntimeClasspathProviderWrapper>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeClasspathProviderWrapper(cf[i]));
@@ -342,7 +342,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(JavaServerPlugin.PLUGIN_ID, "serverProfilers");
 		
 		int size = cf.length;
-		List<ServerProfiler> list = new ArrayList<ServerProfiler>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ServerProfiler(cf[i]));
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
index 6a09011..abf5bcb 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
@@ -96,7 +96,7 @@
 
 			public IStatus run(IProgressMonitor monitor) {
 				IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-				List<IJavaProject> list = new ArrayList<IJavaProject>();
+				List list = new ArrayList();
 				if (projects != null) {
 					int size = projects.length;
 					for (int i = 0; i < size; i++) {
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
index 39cd5ab..40f78b9 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
@@ -64,7 +64,7 @@
 
 	public String[] getRuntimeTypeIds() {
 		try {
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
@@ -130,13 +130,12 @@
 				delegate = (RuntimeClasspathProviderDelegate) element.createExecutableExtension("class");
 				delegate.initialize(getId());
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
 	}
 
-	private int count;
 	/*
 	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainerImpl(IProject, IRuntime)
 	 */
@@ -144,12 +143,9 @@
 		if (runtime == null)
 			return null;
 		try {
-			count++;
-			if (count % 500 == 0)
-				System.out.println(count);
 			return getDelegate().resolveClasspathContainerImpl(project, runtime);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 		return null;
 	}
@@ -163,7 +159,7 @@
 		try {
 			getDelegate().requestClasspathContainerUpdate(runtime, entries);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 	}
 
@@ -176,7 +172,7 @@
 		try {
 			return getDelegate().hasRuntimeClasspathChanged(runtime);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 		return false;
 	}
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
index 234c778..dc10d05 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
@@ -15,7 +15,6 @@
 import java.util.StringTokenizer;
 
 import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IRuntimeType;
 /**
@@ -49,7 +48,7 @@
 
 	public String[] getRuntimeTypeIds() {
 		try {
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
@@ -103,7 +102,7 @@
 			try {
 				delegate = (RuntimeComponentProviderDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
@@ -112,13 +111,13 @@
 	/*
 	 * @see RuntimeFacetComponentProviderDelegate#getRuntimeComponents(IRuntime)
 	 */
-	public List<IRuntimeComponent> getComponents(IRuntime runtime) {
+	public List getComponents(IRuntime runtime) {
 		if (runtime == null)
 			return null;
 		try {
 			return getDelegate().getRuntimeComponents(runtime);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 		return null;
 	}
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java
index 70b6393..e9f1ecc 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java
@@ -59,7 +59,7 @@
 			try {
 				delegate = (ServerProfilerDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
@@ -79,7 +79,7 @@
 			if (del != null)
 				del.process(launch, vmInstall, vmConfig, monitor);
 		} catch (Throwable t) {
-			Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
+			Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
 		}
 	}
 
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java
index 8e9f0f6..1a4cc61 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+
 /**
  * Helper class to route trace output.
  */
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java
index 02da518..3511097 100644
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java
+++ b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java
@@ -147,7 +147,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		List<Element> list = new ArrayList<Element>(size);
+		ArrayList list = new ArrayList(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -161,7 +161,7 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, list.get(x));
+			results[x] = new XMLMemento(factory, (Element)list.get(x));
 		}
 		return results;
 	}
@@ -244,10 +244,10 @@
 		return attr.getValue();
 	}
 	
-	public List<String> getNames() {
+	public List getNames() {
 		NamedNodeMap map = element.getAttributes();
 		int size = map.getLength();
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		for (int i = 0; i < size; i++) {
 			Node node = map.item(i);
 			String name = node.getNodeName();
diff --git a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore b/plugins/org.eclipse.jst.server.generic.modules/.cvsignore
deleted file mode 100644
index 42654c1..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-commonmodules.jar
-org.eclipse.jst.server.generic.modules_1.0.0.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.generic.modules/.project b/plugins/org.eclipse.jst.server.generic.modules/.project
deleted file mode 100644
index af14ba8..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.pde/.classpath b/plugins/org.eclipse.jst.server.pde/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.jst.server.pde/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.pde/.cvsignore b/plugins/org.eclipse.jst.server.pde/.cvsignore
deleted file mode 100644
index ddb0a2d..0000000
--- a/plugins/org.eclipse.jst.server.pde/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-.settings
diff --git a/plugins/org.eclipse.jst.server.pde/.project b/plugins/org.eclipse.jst.server.pde/.project
deleted file mode 100644
index 7a788cc..0000000
--- a/plugins/org.eclipse.jst.server.pde/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.pde</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.jst.server.pde/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.pde/META-INF/MANIFEST.MF
deleted file mode 100644
index 26945f9..0000000
--- a/plugins/org.eclipse.jst.server.pde/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Generic server PDE Template
-Bundle-SymbolicName: org.eclipse.jst.server.generic.pde; singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.jst.server.generic.pde.ServerPdePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.pde.ui,
- org.eclipse.pde.core
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.server.pde/about.html b/plugins/org.eclipse.jst.server.pde/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.pde/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.pde/build.properties b/plugins/org.eclipse.jst.server.pde/build.properties
deleted file mode 100644
index 1393183..0000000
--- a/plugins/org.eclipse.jst.server.pde/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               templates_3.0/,\
-               icons/,\
-               plugin.properties,\
-               about.html
-src.includes = src/
diff --git a/plugins/org.eclipse.jst.server.pde/build.xml b/plugins/org.eclipse.jst.server.pde/build.xml
deleted file mode 100644
index c17f101..0000000
--- a/plugins/org.eclipse.jst.server.pde/build.xml
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.jst.server.generic.pde" default="build.jars" basedir=".">
-
-	<property name="basews" value="${ws}"/>
-	<property name="baseos" value="${os}"/>
-	<property name="basearch" value="${arch}"/>
-	<property name="basenl" value="${nl}"/>
-
-	<!-- Compiler settings. -->
-	<property name="javacFailOnError" value="false"/>
-	<property name="javacDebugInfo" value="on"/>
-	<property name="javacVerbose" value="true"/>
-	<property name="javacSource" value="1.3"/>
-	<property name="javacTarget" value="1.2"/>
-	<property name="compilerArg" value=""/>
-	<path id="path_bootclasspath">
-		<fileset dir="${java.home}/lib">
-			<include name="*.jar"/>
-		</fileset>
-	</path>
-	<property name="bootclasspath" refid="path_bootclasspath"/>
-
-	<target name="init" depends="properties">
-		<condition property="pluginTemp" value="${buildTempFolder}/plugins">
-			<isset property="buildTempFolder"/>
-		</condition>
-		<property name="pluginTemp" value="${basedir}"/>
-		<condition property="build.result.folder" value="${pluginTemp}/org.eclipse.jst.server.generic.pde">
-			<isset property="buildTempFolder"/>
-		</condition>
-		<property name="build.result.folder" value="${basedir}"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-
-	</target>
-
-	<target name="build.update.jar" depends="init" description="Build the plug-in: org.eclipse.jst.server.generic.pde for an update site.">
-		<delete dir="${temp.folder}"/>
-		<mkdir dir="${temp.folder}"/>
-		<antcall target="build.jars"/>
-		<antcall target="gather.bin.parts">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<zip destfile="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.jar" basedir="${temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" filesonly="false" whenempty="skip" update="false"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="@dot" depends="init" unless="@dot" description="Create jar: org.eclipse.jst.server.generic.pde @dot.">
-		<delete dir="${temp.folder}/@dot.bin"/>
-		<mkdir dir="${temp.folder}/@dot.bin"/>
-		<!-- compile the source code -->
-		<javac destdir="${temp.folder}/@dot.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bootclasspath}" source="${javacSource}" target="${javacTarget}"		>
-			<compilerarg line="${compilerArg}"/>
-			<classpath>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.runtime_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.osgi_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.swt_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jface_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.commands_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.workbench_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/compatibility.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/@dot"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.expressions_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources.compatibility_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources.win32_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.runtime.compatibility_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.configurator_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ant.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.variables_3.1.0.jar"/>
-				<pathelement path="../org.eclipse.pde.ui/eclipse3/target-0.7/eclipse/plugins/org.eclipse.pde.ui_3.1.0.jar"/>
-				<pathelement path="../org.eclipse.pde.ui/org.eclipse.pde.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.ide_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.win32_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.views_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.core.win32_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.forms_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jface.text_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.text_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.editors_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.filebuffers_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.debug.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.debug.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.console_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.team.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.debug.ui_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/jdi.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/jdimodel.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/tools.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.launching_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.search_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.compare_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ltk.core.refactoring_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ltk.ui.refactoring_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.pde_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.pde.core_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.pde.build_3.1.0/pdebuild.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-antlr.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-bcel.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-bsf.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-log4j.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-oro.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-regexp.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-resolver.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-commons-logging.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-commons-net.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-icontract.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jai.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-javamail.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jdepend.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jmf.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jsch.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-junit.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-launcher.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-netrexx.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-nodeps.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-starteam.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-stylebook.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-swing.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-trax.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-vaj.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-weblogic.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-xalan1.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-xslp.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-antlr.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-bcel.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-bsf.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-log4j.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-oro.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-regexp.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-resolver.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-commons-logging.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-commons-net.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-icontract.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jai.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-javamail.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jdepend.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jmf.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jsch.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-junit.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-launcher.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-netrexx.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-nodeps.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-starteam.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-stylebook.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-swing.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-trax.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-vaj.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-weblogic.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-xalan1.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-xslp.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/@dot"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.junit_3.8.1/junit.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ant.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.externaltools_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.junit_3.1.0/junitsupport.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.junit.runtime_3.1.0/junitruntime.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.intro_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.cheatsheets_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help.base_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.lucene_1.4.3/lucene-1.4.3.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.lucene_1.4.3/parser.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help.appserver_3.1.0.jar"/>
-			</classpath>
-			<src path="src/"			/>
-			</javac>
-		<!-- Copy necessary resources -->
-		<copy todir="${temp.folder}/@dot.bin" failonerror="true" overwrite="false">
-			<fileset dir="src/" excludes="**/*.java, **/package.htm*,null"			/>
-		</copy>
-		<mkdir dir="${build.result.folder}"/>
-		<copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
-			<fileset dir="${temp.folder}/@dot.bin"			/>
-		</copy>
-		<delete dir="${temp.folder}/@dot.bin"/>
-	</target>
-
-	<target name="src.zip" depends="init" unless="src.zip">
-		<mkdir dir="${build.result.folder}"/>
-		<zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
-			<fileset dir="src/" includes="**/*.java"			/>
-		</zip>
-	</target>
-
-	<target name="build.jars" depends="init" description="Build all the jars for the plug-in: org.eclipse.jst.server.generic.pde.">
-		<available property="@dot" file="${build.result.folder}/@dot"/>
-		<antcall target="@dot"/>
-	</target>
-
-	<target name="build.sources" depends="init">
-		<available property="src.zip" file="${build.result.folder}/src.zip"/>
-		<antcall target="src.zip"/>
-	</target>
-
-	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/>
-		<copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="true" overwrite="false">
-			<fileset dir="${build.result.folder}/@dot" includes="**"			/>
-		</copy>
-		<copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="true" overwrite="false">
-			<fileset dir="${basedir}" includes="META-INF/,null,plugin.xml,templates_3.0/,icons/,plugin.properties,build.properties"			/>
-		</copy>
-	</target>
-
-	<target name="build.zips" depends="init">
-	</target>
-
-	<target name="gather.sources" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/>
-		<copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false"/>
-		<copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false">
-			<fileset dir="${basedir}" includes="src/"			/>
-		</copy>
-	</target>
-
-	<target name="gather.logs" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/>
-		<copy file="${temp.folder}/@dot.bin.log" todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false"/>
-	</target>
-
-	<target name="clean" depends="init" description="Clean the plug-in: org.eclipse.jst.server.generic.pde of all the zips, jars and logs created.">
-		<delete dir="${build.result.folder}/@dot"/>
-		<delete file="${build.result.folder}/src.zip"/>
-		<delete file="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.jar"/>
-		<delete file="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.zip"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
-		<eclipse.convertPath fileSystemPath="D:/_bge/workspaces/workspace/org.eclipse.jst.server.generic.pde" property="resourcePath"/>
-		<eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
-	</target>
-
-	<target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: org.eclipse.jst.server.generic.pde.">
-		<delete dir="${temp.folder}"/>
-		<mkdir dir="${temp.folder}"/>
-		<antcall target="build.jars"/>
-		<antcall target="build.sources"/>
-		<antcall target="gather.bin.parts">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<antcall target="gather.sources">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<delete>
-			<fileset dir="${temp.folder}" includes="**/*.bin.log"			/>
-		</delete>
-		<zip destfile="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-</project>
diff --git a/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif b/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif
deleted file mode 100644
index 1cfd11a..0000000
--- a/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.pde/plugin.properties b/plugins/org.eclipse.jst.server.pde/plugin.properties
deleted file mode 100644
index 4959a56..0000000
--- a/plugins/org.eclipse.jst.server.pde/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-pluginName= Generic server PDE Template
-providerName=Eclipse.org
-template.genericServer.name=Generic Server Plugin Wizard
-template.genericServer.description=\
-<p>This wizard creates a simple generic server plug-in. \
-The .serverdef file and the build.xml file for ANT based publishing are created. \
-Created files are the same files used for JBoss 3.2.3 in Generic Examples. \
-</p>\
-<p><b>Extension Used</b></p>\
-<li>org.eclipse.jst.server.generic.core.serverdefinition</li> \
-<li>org.eclipse.wst.server.core.runtimeTargetHandlers</li> \
-<li>org.eclipse.wst.server.ui.serverImages</li> \
-<li>org.eclipse.wst.server.ui.wizardFragments</li> \
-<li>org.eclipse.wst.server.core.serverTypes</li> \
-<li>org.eclipse.wst.server.core.runtimeTypes</li>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.pde/plugin.xml b/plugins/org.eclipse.jst.server.pde/plugin.xml
deleted file mode 100644
index bd18a48..0000000
--- a/plugins/org.eclipse.jst.server.pde/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension
-         point="org.eclipse.pde.ui.pluginContent">
-      <wizard
-            category="WTP"
-            class="org.eclipse.jst.server.generic.pde.internal.GenericServerPluginNewWizard"
-            icon="icons/obj16/wiz_new_server_plugin.gif"
-            id="org.eclipse.jst.server.generic.pde.genericServer"
-            java="true"
-            name="%template.genericServer.name"
-            rcp="false"
-            ui-content="true">
-         <description>
-            %template.genericServer.description
-         </description>
-            
-            </wizard>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java
deleted file mode 100644
index c1d8770..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.pde;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ServerPdePlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static ServerPdePlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public ServerPdePlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ServerPdePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.jst.server.generic.pde", path);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java
deleted file mode 100644
index 0cda4ac..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.pde.internal;
-
-
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-/**
- * New Generic server plug-in wizard. 
- * @author Gorkem Ercan
- *
- */
-public class GenericServerPluginNewWizard extends NewPluginTemplateWizard {
-
-	public ITemplateSection[] createTemplateSections(){
-		return new ITemplateSection[] {new GenericServerTemplate()};
-	}
-	
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(Messages.windowTitleWizard);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java
deleted file mode 100644
index 922ac38..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.pde.internal;
-
-import java.net.URL;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.server.generic.pde.ServerPdePlugin;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.wizards.templates.PluginReference;
-import org.eclipse.pde.ui.templates.OptionTemplateSection;
-import org.eclipse.pde.ui.templates.TemplateOption;
-/**
- * Simple generic server plug-in template
- * 
- * @author Gorkem Ercan
- *
- */
-public class GenericServerTemplate extends OptionTemplateSection {
-
-	private static final String KEY_SERVER_VERSION = "server_version"; //$NON-NLS-1$
-	private static final String KEY_SERVER_START_BEFORE_PUBLISH = "server_start_before_publish"; //$NON-NLS-1$
-	private static final String KEY_SERVER_LAUNCHTYPE = "server_launchtype"; //$NON-NLS-1$
-	private static final String KEY_SERVER_VENDOR = "server_vendor"; //$NON-NLS-1$
-	private static final String KEY_SERVER_DESCRIPTION = "server_description"; //$NON-NLS-1$
-	private static final String KEY_SERVER_NAME = "server_name"; //$NON-NLS-1$
-	private static final String[][] launchOpts = {{"java",Messages.labelJavaLaunchConfiguration},{"external",Messages.labelExternalLaunchConfiguration}}; //$NON-NLS-1$ //$NON-NLS-3$
-	
-	private TemplateOption fServerNameOption;
-	private TemplateOption fServerDescriptionOption;
-	private TemplateOption fServerVendorOption;
-	private TemplateOption fServerVersionOption;
-	private TemplateOption fLaunchTypeOption;
-	private TemplateOption fStartBeforPublishOption;
-	
-	public GenericServerTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-	
-	
-	private void createOptions(){
-	
-		fServerNameOption= addOption(KEY_SERVER_NAME,Messages.labelServerName,"your server's name",0); //$NON-NLS-2$
-		fServerDescriptionOption = addOption(KEY_SERVER_DESCRIPTION,"Description","User description of your server",0); //$NON-NLS-1$ //$NON-NLS-2$
-		fServerVendorOption= addOption(KEY_SERVER_VENDOR,Messages.labelServerVendor,"Server vendor' s name",0); //$NON-NLS-2$
-		fServerVersionOption= addOption(KEY_SERVER_VERSION,Messages.labelServerVesion,"0",0); //$NON-NLS-2$
-		fLaunchTypeOption= addOption(KEY_SERVER_LAUNCHTYPE,Messages.labelLaunchType,launchOpts,"java",0); //$NON-NLS-2$
-		fStartBeforPublishOption= addOption(KEY_SERVER_START_BEFORE_PUBLISH,Messages.labelStartBeforePublish,false,0);
-		
-		fServerNameOption.setRequired(true);
-		fServerDescriptionOption.setRequired(true);
-		fServerVendorOption.setRequired(true);
-		fServerVersionOption.setRequired(true);
-	}
-	
-	public String getSectionId() {
-		return "genericserver"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException{
-		IPluginBase plugin = model.getPluginBase();
-		IPluginModelFactory factory = model.getPluginFactory();		
-		addRuntimeType(plugin, factory);
-		addServerType(plugin, factory);
-		addWizardFragment(plugin, factory);
-		addServerImage(plugin, factory);
-		addRuntimeTargetHandler(plugin, factory);
-		addServerDefinition(plugin, factory);
-	}
-
-	private void addServerDefinition(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension definitionExtension = createExtension("org.eclipse.jst.server.generic.core.serverdefinition",true); //$NON-NLS-1$
-		IPluginElement serverDef = factory.createElement(definitionExtension);
-		serverDef.setName("serverdefinition"); //$NON-NLS-1$
-		serverDef.setAttribute("id",getRuntimeId()); //$NON-NLS-1$
-		serverDef.setAttribute("definitionfile","/servers/"+getStringOption(KEY_SERVER_NAME)+".serverdef"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		definitionExtension.add(serverDef);
-		if(!definitionExtension.isInTheModel())
-			plugin.add(definitionExtension);
-	}
-
-
-	private void addRuntimeTargetHandler(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension handlerExtension = createExtension("org.eclipse.wst.server.core.runtimeTargetHandlers",true); //$NON-NLS-1$
-		IPluginElement handler= factory.createElement(handlerExtension);
-		handler.setName("runtimeTargetHandler"); //$NON-NLS-1$
-		handler.setAttribute("id",getNamespace()+".runtimeTarget"); //$NON-NLS-1$ //$NON-NLS-2$
-		handler.setAttribute("runtimeTypeIds",getRuntimeId()); //$NON-NLS-1$
-		handler.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler"); //$NON-NLS-1$ //$NON-NLS-2$
-		handlerExtension.add(handler);
-		if(!handlerExtension.isInTheModel())
-			plugin.add(handlerExtension);
-	}
-
-
-	private void addServerImage(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension imageExtension = createExtension("org.eclipse.wst.server.ui.serverImages",true); //$NON-NLS-1$
-		IPluginElement serverImage = factory.createElement(imageExtension);
-		serverImage.setName("image"); //$NON-NLS-1$
-		serverImage.setAttribute("id",getNamespace()+".serverImage"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverImage.setAttribute("icon","icons/server.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverImage.setAttribute("typeIds",getServerId()); //$NON-NLS-1$
-		imageExtension.add(serverImage);
-		
-		IPluginElement runtimeImage = factory.createElement(imageExtension);
-		runtimeImage.setName("image"); //$NON-NLS-1$
-		runtimeImage.setAttribute("id",getNamespace()+".runtimeImage"); //$NON-NLS-1$ //$NON-NLS-2$
-		runtimeImage.setAttribute("icon","icons/server.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		runtimeImage.setAttribute("typeIds",getRuntimeId()); //$NON-NLS-1$
-		imageExtension.add(runtimeImage);
-		if(!imageExtension.isInTheModel())
-			plugin.add(imageExtension);
-	}
-
-
-	private void addWizardFragment(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension wizardExtension = createExtension("org.eclipse.wst.server.ui.wizardFragments",true); //$NON-NLS-1$
-		IPluginElement runtimeWiz = factory.createElement(wizardExtension);
-		runtimeWiz.setName("fragment"); //$NON-NLS-1$
-		runtimeWiz.setAttribute("id",getNamespace()+".runtimeWizard"); //$NON-NLS-1$ //$NON-NLS-2$
-		runtimeWiz.setAttribute("class","org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"); //$NON-NLS-1$ //$NON-NLS-2$
-		runtimeWiz.setAttribute("typeIds",getRuntimeId()); //$NON-NLS-1$
-		wizardExtension.add(runtimeWiz);
-		if(!wizardExtension.isInTheModel())
-			plugin.add(wizardExtension);
-		
-		IPluginElement serverWiz = factory.createElement(wizardExtension);
-		serverWiz.setName("fragment"); //$NON-NLS-1$
-		serverWiz.setAttribute("id",getNamespace()+".serverWizard"); //$NON-NLS-1$ //$NON-NLS-2$
-        serverWiz.setAttribute("class","org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment");    //$NON-NLS-1$ //$NON-NLS-2$
-		serverWiz.setAttribute("typeIds",getServerId()); //$NON-NLS-1$
-		wizardExtension.add(serverWiz);
-	}
-
-
-	private void addServerType(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension serverExtension =createExtension("org.eclipse.wst.server.core.serverTypes",true); //$NON-NLS-1$
-		IPluginElement serverType = factory.createElement(serverExtension);
-		serverType.setName("serverType"); //$NON-NLS-1$
-		serverType.setAttribute("runtime","true"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServer"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("id",getServerId()); //$NON-NLS-1$
-		serverType.setAttribute("initialState","stopped"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("supportsRemoteHosts","false"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("runtimeTypeId",getRuntimeId()); //$NON-NLS-1$
-		serverType.setAttribute("description",getStringOption(KEY_SERVER_DESCRIPTION)); //$NON-NLS-1$
-		serverType.setAttribute("launchConfigId",getSelectedConfigType()); //$NON-NLS-1$
-		serverType.setAttribute("behaviourClass",getSelectedBehaviourClass()); //$NON-NLS-1$
-		serverType.setAttribute("name",getStringOption(KEY_SERVER_NAME)); //$NON-NLS-1$
-		serverType.setAttribute("startTimeout","75000"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("stopTimeout","30000"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("hasConfiguration","false"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("launchModes","run,debug"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("startBeforePublish", Boolean.toString(getBooleanOption(KEY_SERVER_START_BEFORE_PUBLISH))); //$NON-NLS-1$
-		serverExtension.add(serverType);
-		if(!serverExtension.isInTheModel())
-			plugin.add(serverExtension);
-	}
-
-
-	private void addRuntimeType(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension extension =createExtension("org.eclipse.wst.server.core.runtimeTypes",true); //$NON-NLS-1$
-		IPluginElement runtimeType = factory.createElement(extension);
-		runtimeType.setName("runtimeType"); //$NON-NLS-1$
-		runtimeType.setAttribute("id",getRuntimeId()); //$NON-NLS-1$
-		runtimeType.setAttribute("name",getStringOption(KEY_SERVER_NAME)); //$NON-NLS-1$
-		runtimeType.setAttribute("description",getStringOption(KEY_SERVER_DESCRIPTION)); //$NON-NLS-1$
-		runtimeType.setAttribute("vendor",getStringOption(KEY_SERVER_VENDOR)); //$NON-NLS-1$
-		runtimeType.setAttribute("version",getStringOption(KEY_SERVER_VERSION)); //$NON-NLS-1$
-		runtimeType.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServerRuntime"); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		IPluginElement moduleType = factory.createElement(runtimeType);
-		moduleType.setName("moduleType"); //$NON-NLS-1$
-		moduleType.setAttribute("types","jst.web"); //$NON-NLS-1$ //$NON-NLS-2$
-        moduleType.setAttribute("versions","1.2, 1.3"); //$NON-NLS-1$ //$NON-NLS-2$
-        runtimeType.add(moduleType);
-        
-		extension.add(runtimeType);
-		if(!extension.isInTheModel())
-			plugin.add(extension);
-	}
-	
-	private String getRuntimeId(){
-		return getNamespace()+".runtime"; //$NON-NLS-1$
-	}
-	
-	private String getServerId(){
-		return getNamespace()+".server"; //$NON-NLS-1$
-	}
-	private String getNamespace()
-	{
-		return model.getPluginBase().getId();
-	}
-	private String getSelectedBehaviourClass() {
-		if(isExternalSelected())
-			return "org.eclipse.jst.server.generic.core.internal.ExternalServerBehaviour"; //$NON-NLS-1$
-		return "org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"; //$NON-NLS-1$
-	}
-
-	private boolean isExternalSelected(){
-		String selectedType = getStringOption(KEY_SERVER_LAUNCHTYPE);
-		return "external".equals(selectedType); //$NON-NLS-1$
-	}
-
-	private String getSelectedConfigType(){
-		if(isExternalSelected())
-			return "org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"; //$NON-NLS-1$
-		return "org.eclipse.jst.server.generic.core.launchConfigurationType"; //$NON-NLS-1$
-	}
-	
-	protected ResourceBundle getPluginResourceBundle(){
-		return null;
-	}
-	
-	public String[] getNewFiles(){
-		return new String[]{"icons/", "server/","buildfiles/"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	public String getUsedExtensionPoint(){
-		return null;
-	}
-	
-	public void validateOptions(TemplateOption changed){
-		if(changed.isRequired() && changed.isEmpty()){
-			flagMissingRequiredOption(changed);
-			return;
-		}
-		TemplateOption[] options = getOptions(0);
-		for (int i = 0; i < options.length; i++) {
-			if(options[i].isRequired() && options[i].isEmpty()){
-				flagMissingRequiredOption(options[i]);
-				return;
-			}
-		}
-		resetPageState();
-	}
-	
-	
-	
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0);
-		page.setTitle(Messages.pageTitle);
-		page.setDescription(Messages.pageDescription);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-	
-	
- 
-	protected URL getInstallURL() {
-		return ServerPdePlugin.getDefault().getBundle().getEntry("/"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		IPluginReference[] dep = new IPluginReference[4];
-		dep[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-		dep[1] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-		dep[2] = new PluginReference("org.eclipse.jst.server.generic.core", null, 0); //$NON-NLS-1$
-		dep[3] = new PluginReference("org.eclipse.jst.server.generic.ui", null, 0); //$NON-NLS-1$
-		return dep;
-	}
-
-	public Object getValue(String variable) {
-		return super.getValue(variable);
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java
deleted file mode 100644
index 2f357ea..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.pde.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.jst.server.generic.pde.internal.messages"; //$NON-NLS-1$
-
-	private Messages() {
-	}
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	public static String labelJavaLaunchConfiguration;
-
-	public static String labelExternalLaunchConfiguration;
-
-	public static String labelServerName;
-
-	public static String labelServerVendor;
-
-	public static String labelServerVesion;
-
-	public static String labelLaunchType;
-
-	public static String labelStartBeforePublish;
-
-	public static String pageTitle;
-
-	public static String pageDescription;
-
-	public static String windowTitleWizard;
-}
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties
deleted file mode 100644
index 5890ce9..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-labelJavaLaunchConfiguration=Java launch cofiguration
-labelExternalLaunchConfiguration=External launch configuration
-labelServerName=Server Name
-labelServerVendor=Server Vendor
-labelServerVesion=Server Version
-labelLaunchType=Launch type
-labelStartBeforePublish=Start Before publish
-pageTitle=Generic Server Plug-in
-pageDescription=Create a new Generic server plug-in
-windowTitleWizard=New Generic Server plug-in
diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml
deleted file mode 100644
index f720ca4..0000000
--- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<project name="deployextension"  default="deploy.j2ee.web"  basedir=".">
-	<target name="deploy.j2ee.web">
-		<jar destfile="${project.working.dir}/${module.name}.war"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-				<exclude name="**/*.war"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.war" todir="${server.publish.dir}"/>
-	</target>
-	
-	<target name="deploy.j2ee.ejb">
-		<jar destfile="${project.working.dir}/${module.name}.jar"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.jar" todir="${server.publish.dir}"/>
-	</target>
-	<target name="deploy.j2ee.ear">
-		<jar destfile="${project.working.dir}/${module.name}.ear"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.ear" todir="${server.publish.dir}"/>
-	</target>
-	
-	<target name="undeploy.j2ee.web">
-		<delete file="${server.publish.dir}/${module.name}.war"> </delete>
-	</target>
-	<target name="undeploy.j2ee.ejb">
-		<delete file="${server.publish.dir}/${module.name}.jar"> </delete>
-	</target>
-	<target name="undeploy.j2ee.ear">
-		<delete file="${server.publish.dir}/${module.name}.ear"> </delete>
-	</target>	
-	
-</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef
deleted file mode 100644
index c22872a..0000000
--- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:ServerRuntime
-	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
-	name="JBOSS 3.2.3" version="v3.2.3">
-<property id="serverRootDirectory"
-	label="%ApplicationServerDirectory"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/appservers/jboss-3.2.3" />
-<property id="serverAddress"
-	label="%serverAddress"
-	type="string"
-	context="server"
-	default="127.0.0.1" />
-<property id="port"
-	label="%serverPort"
-	type="string"
-	context="server"
-	default="8080" />
-<property id="serverConfig"
-	label="%jboss323serverConfig"
-	type="string"
-	context="server"
-	default="default" />
-<property id="classPath"
-	label="%serverclassPath"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/appservers/jboss-3.2.3" />
-
-	<port>
-		<no>$${port}</no>
-		<name>Http</name>
-		<protocol>http</protocol>
-	</port>
-
-	<module>
-		<type>j2ee.web</type>
-		<publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>j2ee.ejb</type>
-		<publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>j2ee.ear</type>
-		<publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-
-	<project>
-		<classpathReference>jboss.project</classpathReference>
-	</project>
-	
-	<start>
-		<mainClass>org.jboss.Main</mainClass>
-		<workingDirectory>$${serverRootDirectory}/bin</workingDirectory>
-		<programArguments>-c $${serverConfig}</programArguments>
-		<vmParameters></vmParameters>
-		<classpathReference>jboss</classpathReference>
-	</start>
-
-	<stop>
-		<mainClass>org.jboss.Shutdown</mainClass>
-		<workingDirectory>$${serverRootDirectory}/bin</workingDirectory>
-		<programArguments>-S</programArguments>
-		<vmParameters></vmParameters>
-		<classpathReference>jboss</classpathReference>
-	</stop>
-	<publisher id="org.eclipse.jst.server.generic.antpublisher">
-		<publisherdata>
-			<dataname>build.file</dataname>
-			<datavalue>/buildfiles/jboss323.xml</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.j2ee.web</dataname>
-			<datavalue>deploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.j2ee.ejb</dataname>
-			<datavalue>deploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.j2ee.web</dataname>
-			<datavalue>undeploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.j2ee.ejb</dataname>
-			<datavalue>undeploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.j2ee.ear</dataname>
-			<datavalue>deploy.j2ee.ear</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.j2ee.ear</dataname>
-			<datavalue>undeploy.j2ee.ear</datavalue>
-		</publisherdata>				
-	</publisher>
-
-	<classpath id="jboss" >
-		<archive path="$${classPath}/bin/run.jar" />
-		<archive path="$${classPath}/bin/shutdown.jar" />
-		<archive path="$${classPath}/client/jboss-j2ee.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/javax.servlet.jar" />
-		<archive path="$${classPath}/lib/jboss-boot.jar" />
-		<archive path="$${classPath}/lib/jboss-system.jar" />
-		<archive path="$${classPath}/lib/jboss-jmx.jar" />
-		<archive path="$${classPath}/lib/jboss-common.jar" />
-		<archive path="$${classPath}/lib/concurrent.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jboss.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jnpserver.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jpl-pattern.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jpl-util.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jboss-transaction.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/bcel.jar" />
-		<archive path="$${classPath}/lib/jdom.jar" />
-		<archive path="$${classPath}/lib/xercesImpl.jar" />
-		<archive path="$${classPath}/lib/xml-apis.jar" />
-		<archive path="$${classPath}/lib/gnu-regexp.jar" />
-		<archive path="$${classPath}/lib/getopt.jar" />
-	</classpath>
-
-	<classpath id="jboss.project" >
-		<archive path="$${classPath}/client/jboss-j2ee.jar" />
-		<archive path="$${classPath}/server/default/lib/javax.servlet.jar" />
-		<archive path="$${classPath}/server/default/lib/activation.jar" />
-		<archive path="$${classPath}/server/default/lib/mail.jar" />
-	</classpath>
-	<jndiConnection>
-		<providerUrl>jnp://$${serverAddress}:1099</providerUrl>
-		<initialContextFactory>org.jnp.interfaces.NamingContextFactory</initialContextFactory>
-		<jndiProperty>
-			<name></name>
-			<value></value>
-		</jndiProperty>
-	</jndiConnection>
-</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.classpath b/plugins/org.eclipse.jst.server.preview.adapter/.classpath
index 304e861..ce73933 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/.classpath
+++ b/plugins/org.eclipse.jst.server.preview.adapter/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..267ae57 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Fri Feb 23 21:15:39 EST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -24,7 +24,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=error
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF
index a4defbf..826e08c 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.preview.adapter;singleton:=true
-Bundle-Version: 1.0.100.qualifier
+Bundle-Version: 1.0.2.qualifier
 Bundle-Activator: org.eclipse.jst.server.preview.adapter.internal.PreviewPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -17,4 +17,4 @@
  org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.3.0)",
  org.eclipse.jdt.debug.ui;bundle-version="[3.2.100,4.0.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Trace.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Trace.java
index 29b7081..bf221ca 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Trace.java
+++ b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Trace.java
@@ -9,9 +9,6 @@
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
 package org.eclipse.jst.server.preview.adapter.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 /**
  * Helper class to route trace output.
  */
@@ -60,9 +57,6 @@
 	 * @param t Throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
-		if (level == SEVERE)
-			PreviewPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, s, t));
-		
 		if (!PreviewPlugin.getInstance().isDebugging())
 			return;
 		
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/XMLMemento.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/XMLMemento.java
index b7c043d..3e0a8e9 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/XMLMemento.java
+++ b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/XMLMemento.java
@@ -147,7 +147,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		List<Element> list = new ArrayList<Element>(size);
+		ArrayList list = new ArrayList(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -161,7 +161,7 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, list.get(x));
+			results[x] = new XMLMemento(factory, (Element)list.get(x));
 		}
 		return results;
 	}
@@ -244,10 +244,10 @@
 		return attr.getValue();
 	}
 	
-	public List<String> getNames() {
+	public List getNames() {
 		NamedNodeMap map = element.getAttributes();
 		int size = map.getLength();
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		for (int i = 0; i < size; i++) {
 			Node node = map.item(i);
 			String name = node.getNodeName();
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
index 4e6b510..12be701 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
+++ b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
@@ -36,6 +36,7 @@
 public class PreviewLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
 	private static final String[] REQUIRED_BUNDLE_IDS = new String[] {
 		"org.apache.commons.logging",
+		"org.apache.commons.el",
 		"javax.servlet",
 		"javax.servlet.jsp",
 		"org.apache.jasper",
@@ -67,8 +68,8 @@
 			jars[i] = path.toOSString();
 		}
 		
-		if (new File(jars[5] + "bin").exists())
-			jars[5] = jars[5] + "bin";
+		if (new File(jars[6] + "bin").exists())
+			jars[6] = jars[6] + "bin";
 		
 		IVMInstall vm = verifyVMInstall(configuration);
 		
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntime.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntime.java
index 04c0b24..8ec5445 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntime.java
+++ b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntime.java
@@ -17,7 +17,7 @@
 import org.eclipse.jdt.launching.IVMInstall;
 import org.eclipse.jdt.launching.IVMInstallType;
 import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IJavaRuntimeWorkingCopy;
+import org.eclipse.jst.server.core.IJavaRuntime;
 import org.eclipse.jst.server.preview.adapter.internal.Messages;
 import org.eclipse.jst.server.preview.adapter.internal.PreviewPlugin;
 import org.eclipse.wst.server.core.model.RuntimeDelegate;
@@ -25,7 +25,7 @@
 /**
  * J2EE preview runtime.
  */
-public class PreviewRuntime extends RuntimeDelegate implements IJavaRuntimeWorkingCopy {
+public class PreviewRuntime extends RuntimeDelegate implements IJavaRuntime {
 	public static final String ID = "org.eclipse.jst.server.preview.runtime";
 
 	protected static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id";
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntimeClasspathProvider.java
index b3ea20d..6adacad 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntimeClasspathProvider.java
+++ b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntimeClasspathProvider.java
@@ -35,7 +35,7 @@
 	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IProject, IRuntime)
 	 */
 	public IClasspathEntry[] resolveClasspathContainer(IProject project, IRuntime runtime) {
-		List<IClasspathEntry> list = new ArrayList<IClasspathEntry>();
+		List list = new ArrayList();
 		
 		int size = REQUIRED_BUNDLE_IDS.length;
 		for (int i = 0; i < size; i++) {
@@ -45,6 +45,6 @@
 				list.add(JavaCore.newLibraryEntry(path, null, null));
 		}
 		
-		return list.toArray(new IClasspathEntry[list.size()]);
+		return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServerBehaviour.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServerBehaviour.java
index 87d8ca9..c8349e1 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServerBehaviour.java
+++ b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServerBehaviour.java
@@ -110,13 +110,11 @@
 			String type = modules[i].getModuleType().getId();
 			if ("wst.web".equals(type)) {
 				IStaticWeb staticWeb = (IStaticWeb) modules[i].loadAdapter(IStaticWeb.class, null);
-				if (staticWeb != null)
-					mod.putString("context", staticWeb.getContextRoot());
+				mod.putString("context", staticWeb.getContextRoot());
 				mod.putString("type", "static");
 			} else if ("jst.web".equals(type)) {
 				IWebModule webModule = (IWebModule) modules[i].loadAdapter(IWebModule.class, null);
-				if (webModule != null)
-					mod.putString("context", webModule.getContextRoot());
+				mod.putString("context", webModule.getContextRoot());
 				mod.putString("type", "j2ee");
 			}
 			mod.putString("path", getModulePublishDirectory(modules[i]).toPortableString());
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewSourcePathComputerDelegate.java
index d346e90..b2b760d 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewSourcePathComputerDelegate.java
+++ b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewSourcePathComputerDelegate.java
@@ -37,13 +37,13 @@
 	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		List<IRuntimeClasspathEntry> classpaths = new ArrayList<IRuntimeClasspathEntry>();
+		List classpaths = new ArrayList();
 		classpaths.addAll(Arrays.asList(JavaRuntime.computeUnresolvedSourceLookupPath(configuration)));
-		List<ISourceContainer> sourcefolderList = new ArrayList<ISourceContainer>();
+		List sourcefolderList = new ArrayList();
 		
 		IServer server = ServerUtil.getServer(configuration);
 		if (server != null) {
-			List<IJavaProject> list = new ArrayList<IJavaProject>();
+			List list = new ArrayList();
 			IModule[] modules = server.getModules();
 			for (int i = 0; i < modules.length; i++) {
 				IProject project = modules[i].getProject();
diff --git a/plugins/org.eclipse.jst.server.preview/.cvsignore b/plugins/org.eclipse.jst.server.preview/.cvsignore
deleted file mode 100644
index c0cf45b..0000000
--- a/plugins/org.eclipse.jst.server.preview/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.core_3.0.0.jar
-sjavacore.jar
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.server.preview/.options b/plugins/org.eclipse.jst.server.preview/.options
deleted file mode 100644
index c0ef0b3..0000000
--- a/plugins/org.eclipse.jst.server.preview/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.core plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.core/debug=true
-
-# Turn on general debugging
-org.eclipse.jst.server.core/publishing=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview/.project b/plugins/org.eclipse.jst.server.preview/.project
deleted file mode 100644
index d1c3a80..0000000
--- a/plugins/org.eclipse.jst.server.preview/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.preview</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Nov 10 17:11:35 HST 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c6a69e9..0000000
--- a/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Tue Jan 16 16:59:15 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-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=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=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.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 584bdff..0000000
--- a/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Fri Nov 10 18:06:11 HST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates/>
diff --git a/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.jst.server.preview/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Sat Apr 22 18:36:14 EDT 2006
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
index d849cce..64e5479 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.tomcat.core; singleton:=true
-Bundle-Version: 1.1.101.qualifier
+Bundle-Version: 1.1.002.qualifier
 Bundle-Activator: org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java
index d10c027..865dad3 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * 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
@@ -18,6 +18,15 @@
  */
 public interface ITomcatRuntime extends IJavaRuntime {
 	/**
+	 * Returns <code>true</code> if this server is using the default JRE, and
+	 * <code>false</code> otherwise.
+	 * 
+	 * @return <code>true</code> if this server is using the default JRE, and
+	 *    <code>false</code> otherwise
+	 */
+	public boolean isUsingDefaultJRE();
+
+	/**
 	 * Returns the runtime classpath that is used by this runtime.
 	 * 
 	 * @return the runtime classpath
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java
index b5e9394..faac3d2 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * 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
@@ -10,10 +10,16 @@
  *******************************************************************************/
 package org.eclipse.jst.server.tomcat.core.internal;
 
-import org.eclipse.jst.server.core.IJavaRuntimeWorkingCopy;
+import org.eclipse.jdt.launching.IVMInstall;
 /**
  * 
  */
-public interface ITomcatRuntimeWorkingCopy extends ITomcatRuntime, IJavaRuntimeWorkingCopy {
-	// no new methods
+public interface ITomcatRuntimeWorkingCopy extends ITomcatRuntime {
+	/**
+	 * Set the VM install (installed JRE) that this runtime is using.
+	 * Use <code>null</code> to use the Eclipse default JRE.
+	 * 
+	 * @param vmInstall the VM install to use
+	 */
+	public void setVMInstall(IVMInstall vmInstall);
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
index efd1f25..61f70fe 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
@@ -145,9 +145,11 @@
 	 * @throws CoreException
 	 */
 	protected static void throwException(List status) throws CoreException {
+		if (status == null)
+			status = new ArrayList();
+		
 		if (status == null || status.size() == 0)
 			return;
-		
 		if (status.size() == 1) {
 			IStatus status2 = (IStatus) status.get(0);
 			throw new CoreException(status2);
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPublishModuleVisitor.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPublishModuleVisitor.java
index 9cb71db..3e5d360 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPublishModuleVisitor.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPublishModuleVisitor.java
@@ -72,6 +72,9 @@
      * Instantiate a new TomcatPublishModuleVisitor
      * 
      * @param catalinaBase catalina base path
+     * @param webModules list of
+     * <code>org.eclipse.jst.server.tomcat.core.internal.WebModule</code>
+     * configured for this server
      */
     TomcatPublishModuleVisitor(IPath catalinaBase, ServerInstance serverInstance, String sharedLoader) {
         this.baseDir = catalinaBase;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java
index 1c2745d..a4fb3bd 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java
@@ -227,7 +227,7 @@
 	 */
 	public boolean isServeModulesWithoutPublish() {
 		// If feature is supported, return current setting
-		if (versionHandler.supportsServeModulesWithoutPublish())
+		if (getTomcatVersionHandler().supportsServeModulesWithoutPublish())
 			return getAttribute(PROPERTY_SERVE_MODULES_WITHOUT_PUBLISH, false);
 		return false;
 	}
@@ -240,7 +240,7 @@
 	 */
 	public boolean isSaveSeparateContextFiles() {
 		// If feature is supported, return current setting
-		if (versionHandler.supportsSeparateContextFiles())
+		if (getTomcatVersionHandler().supportsSeparateContextFiles())
 			return getAttribute(PROPERTY_SAVE_SEPARATE_CONTEXT_FILES, false);
 		return false;
 	}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatVersionHelper.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatVersionHelper.java
index a1163d9..8b89dbb 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatVersionHelper.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatVersionHelper.java
@@ -862,7 +862,6 @@
 	 * 
 	 * @param baseDir directory where the Catalina instance is found
 	 * @param noPath true if path attribute should be removed from the context
-	 * @param serverStopped true if the server is stopped
 	 * @param monitor a progress monitor
 	 * @return result of operation
 	 */
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/wst/ModuleTraverser.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/wst/ModuleTraverser.java
index 87469de..fc3fb6e 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/wst/ModuleTraverser.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/wst/ModuleTraverser.java
@@ -167,7 +167,7 @@
 
                 if (PlatformURLModuleConnection.CLASSPATH.equals(
                 		refHandle.segment(ModuleURIUtil.ModuleURI.SUB_PROTOCOL_INDX))) {
-                    //IJavaProject jproj = JavaCore.create(proj);
+                    IJavaProject jproj = JavaCore.create(proj);
                     IPath refPath = getResolvedPathForArchiveComponent(refHandle);
                     // If an archive component, add to list
                     if (refPath != null) {
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF
index 0965090..6e7b028 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.tomcat.ui; singleton:=true
-Bundle-Version: 1.1.100.qualifier
+Bundle-Version: 1.1.000.qualifier
 Bundle-Activator: org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
index 385218d..b493beb 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
@@ -173,9 +173,11 @@
       adaptable="true"
       id="org.eclipse.jst.server.tomcat.ui.serveractions"
       objectClass="org.eclipse.wst.server.core.IServer">
-      <visibility>
-          <objectState name="serverType" value="org.eclipse.jst.server.tomcat.*"/>
-      </visibility>
+      <enablement>
+        <test forcePluginActivation="true"
+          property="org.eclipse.wst.server.ui.serverType"
+          value="org.eclipse.jst.server.tomcat.*" />
+      </enablement>
       <action 
         class="org.eclipse.jst.server.tomcat.ui.internal.actions.CleanWorkDirAction"
         enablesFor="1"
@@ -187,12 +189,16 @@
       adaptable="true"
       id="org.eclipse.jst.server.tomcat.ui.serveractions"
       objectClass="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
-      <visibility>
+      <enablement>
         <and>
-          <objectState name="serverType" value="org.eclipse.jst.server.tomcat.*"/>
-          <objectState name="moduleType" value="jst.web"/>
+          <test forcePluginActivation="true"
+            property="org.eclipse.wst.server.ui.moduleType"
+            value="jst.web"/>
+          <test forcePluginActivation="true"
+            property="org.eclipse.wst.server.ui.serverType"
+            value="org.eclipse.jst.server.tomcat.*"/>
         </and>
-      </visibility>
+      </enablement>
       <action
         class="org.eclipse.jst.server.tomcat.ui.internal.actions.CleanWorkDirAction"
         enablesFor="1"
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerLocationEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerLocationEditorSection.java
index b5d2787..3f051a2 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerLocationEditorSection.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerLocationEditorSection.java
@@ -390,8 +390,7 @@
 		// If not Tomcat 3.2, update description to mention catalina.base
 		if (runtime != null && runtime.getRuntimeType().getId().indexOf("32") < 0)
 			section.setDescription(Messages.serverEditorLocationsDescription2);
-		if (runtime != null)
-			installDirPath = runtime.getLocation();
+		installDirPath = runtime.getLocation();
 
 		// determine if editing of locations is allowed
 		allowRestrictedEditing = false;
diff --git a/plugins/org.eclipse.jst.server.ui/.classpath b/plugins/org.eclipse.jst.server.ui/.classpath
index 304e861..ce73933 100644
--- a/plugins/org.eclipse.jst.server.ui/.classpath
+++ b/plugins/org.eclipse.jst.server.ui/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..abb926c 100644
--- a/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Fri Feb 23 21:15:49 EST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -24,7 +24,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=error
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
index e688b6e..0a0e023 100644
--- a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.ui; singleton:=true
-Bundle-Version: 1.0.303.qualifier
+Bundle-Version: 1.0.203.qualifier
 Bundle-Activator: org.eclipse.jst.server.ui.internal.JavaServerUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -25,4 +25,4 @@
  org.eclipse.jface.text;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.jdt.debug.ui;bundle-version="[3.2.100,4.0.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
index 0a41604..9f2d0fe 100644
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
+++ b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
@@ -46,7 +46,7 @@
 	protected Text name;
 	protected Text installDir;
 	protected Combo combo;
-	protected List<IVMInstall> installedJREs;
+	protected List installedJREs;
 	protected String[] jreNames;
 
 	/**
@@ -149,7 +149,7 @@
 				int sel = combo.getSelectionIndex();
 				IVMInstall vmInstall = null;
 				if (sel > 0)
-					vmInstall = installedJREs.get(sel - 1);
+					vmInstall = (IVMInstall) installedJREs.get(sel - 1);
 				
 				runtime.setVMInstall(vmInstall);
 				validate();
@@ -184,7 +184,7 @@
 	
 	protected void updateJREs() {
 		// get all installed JVMs
-		installedJREs = new ArrayList<IVMInstall>();
+		installedJREs = new ArrayList();
 		IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
 		int size = vmInstallTypes.length;
 		for (int i = 0; i < size; i++) {
@@ -200,7 +200,7 @@
 		jreNames = new String[size+1];
 		jreNames[0] = Messages.runtimeTypeDefaultJRE;
 		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = installedJREs.get(i);
+			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
 			jreNames[i+1] = vmInstall.getName();
 		}
 	}
@@ -240,7 +240,7 @@
 			boolean found = false;
 			int size = installedJREs.size();
 			for (int i = 0; i < size; i++) {
-				IVMInstall vmInstall = installedJREs.get(i);
+				IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
 				if (vmInstall.equals(runtime.getVMInstall())) {
 					combo.select(i + 1);
 					found = true;
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java
index 929a3cd..9d12e5d 100644
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java
+++ b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -13,6 +13,7 @@
 import java.net.URL;
 import java.util.Map;
 import java.util.HashMap;
+import java.util.Iterator;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.resource.ImageRegistry;
@@ -25,7 +26,10 @@
 
 	// map of image descriptors since these
 	// will be lost by the image registry
-	private static Map<String, ImageDescriptor> imageDescriptors;
+	private static Map imageDescriptors;
+
+	// map of IElement images
+	private static Map elementImages;
 
 	// base urls for images
 	private static URL ICON_BASE_URL;
@@ -52,6 +56,22 @@
 	}
 
 	/**
+	 * Dispose of element images that were created.
+	 */
+	protected static void dispose() {
+		try {
+			Trace.trace(Trace.FINEST, "Disposing of element images");
+			Iterator iterator = elementImages.values().iterator();
+			while (iterator.hasNext()) {
+				Image image = (Image) iterator.next();
+				image.dispose();
+			}
+		} catch (Exception e) {
+			Trace.trace(Trace.WARNING, "Could not dispose of images");
+		}
+	}
+	
+	/**
 	 * Return the image with the given key.
 	 *
 	 * @param key java.lang.String
@@ -62,7 +82,7 @@
 			initializeImageRegistry();
 		return imageRegistry.get(key);
 	}
-
+	
 	/**
 	 * Return the image descriptor with the given key.
 	 *
@@ -72,7 +92,7 @@
 	public static ImageDescriptor getImageDescriptor(String key) {
 		if (imageRegistry == null)
 			initializeImageRegistry();
-		return imageDescriptors.get(key);
+		return (ImageDescriptor) imageDescriptors.get(key);
 	}
 
 	/**
@@ -80,7 +100,7 @@
 	 */
 	protected static void initializeImageRegistry() {
 		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap<String, ImageDescriptor>();
+		imageDescriptors = new HashMap();
 		
 		registerImage(IMG_WIZ_RUNTIME_TYPE, URL_WIZBAN + "new_runtime_wiz.png");
 		registerImage(IMG_WIZ_CACTUS_TEST, URL_WIZBAN + "new_test_wiz.png");
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java
index d326287..3caf856 100644
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java
+++ b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java
@@ -41,7 +41,7 @@
 public class ServerClasspathContainerPage extends WizardPage implements IClasspathContainerPage {
 	protected IClasspathEntry selection;
 
-	protected Map<IRuntime, IClasspathEntry> runtimeMap = new HashMap<IRuntime, IClasspathEntry>();
+	protected Map runtimeMap = new HashMap();
 
 	public ServerClasspathContainerPage() {
 		super("server.container");
@@ -115,7 +115,7 @@
 			public void selectionChanged(SelectionChangedEvent event) {
 				try {
 					IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-					selection = runtimeMap.get(sel.getFirstElement());
+					selection = (IClasspathEntry) runtimeMap.get(sel.getFirstElement());
 					setPageComplete(true);
 				} catch (Exception e) {
 					selection = null;
@@ -124,9 +124,6 @@
 			}
 		});
 		
-		if (tableViewer.getTable().getItemCount() != 0)
-			tableViewer.getTable().setFocus();
-		
 		setControl(comp);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java
index 0f54f82..2996a5f 100644
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java
+++ b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java
@@ -9,9 +9,6 @@
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
 package org.eclipse.jst.server.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 /**
  * Helper class to route trace output.
  */
@@ -46,12 +43,9 @@
 	 * @param t a throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
-		if (level == SEVERE)
-			JavaServerUIPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID, s, t));
-		
 		if (!JavaServerUIPlugin.getInstance().isDebugging())
 			return;
-		
+
 		System.out.println(JavaServerUIPlugin.PLUGIN_ID + " " + s);
 		if (t != null)
 			t.printStackTrace();
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
index 2bc9416..fa201df 100644
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
+++ b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
@@ -13,6 +13,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
@@ -94,11 +95,11 @@
 		String javaProjectName = launchable.getProjectName();
 		String container = "";
 		ILaunchConfigurationType configType = getJUnitLaunchConfigType();
-		List<ILaunchConfiguration> candidateConfigs = new ArrayList<ILaunchConfiguration>();
+		List candidateConfigs = Collections.EMPTY_LIST;
 		try {
 			ILaunchConfiguration[] configs = DebugPlugin.getDefault()
 					.getLaunchManager().getLaunchConfigurations(configType);
-			candidateConfigs = new ArrayList<ILaunchConfiguration>(configs.length);
+			candidateConfigs = new ArrayList(configs.length);
 			for (int i = 0; i < configs.length; i++) {
 				ILaunchConfiguration config = configs[i];
 				// we should probably extract the JUnit internal stuff and
@@ -125,7 +126,7 @@
 		if (candidateCount < 1)
 			return null;
 		else if (candidateCount == 1)
-			return candidateConfigs.get(0);
+			return (ILaunchConfiguration) candidateConfigs.get(0);
 		else {
 			// Prompt the user to choose a config. A null result means the user
 			// cancelled the dialog, in which case this method returns null,
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
index bf6e095..48b474f 100644
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
+++ b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
@@ -388,7 +388,7 @@
 
 		IJavaProject project = root.getJavaProject();
 
-		List<String> missingLibraries = new ArrayList<String>();
+		List missingLibraries = new ArrayList();
 		try {
 			for (int i = 0; i < CLASSES_TO_CHECK.length; i++) {
 				IType type = project.findType(CLASSES_TO_CHECK[i]);
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.classpath b/plugins/org.eclipse.wst.internet.monitor.core/.classpath
index acc46b4..bf4b258 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/.classpath
+++ b/plugins/org.eclipse.wst.internet.monitor.core/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="monitorcore/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..7fe8361 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Fri Feb 23 21:16:21 EST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -24,7 +24,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=error
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
index 72c7d18..4c73af6 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.internet.monitor.core; singleton:=true
-Bundle-Version: 1.0.303.qualifier
+Bundle-Version: 1.0.203.qualifier
 Bundle-Activator: org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -11,4 +11,4 @@
  org.eclipse.wst.internet.monitor.core.internal.provisional;x-friends:="org.eclipse.wst.internet.monitor.ui"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
index 5db6cf3..f1af138 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
@@ -44,7 +44,7 @@
 			out.shutdownOutput();
 			Trace.trace(Trace.FINEST, "Connection closed");
 		} catch (Exception ex) {
-			Trace.trace(Trace.WARNING, "Error closing connection " + this, ex);
+			Trace.trace(Trace.WARNING, "Error closing connection " + this + " " + ex.getMessage());
 		}
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
index aa18131..9f9093c 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *     IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.core.internal;
 
@@ -28,7 +27,6 @@
 	private static final String MEMENTO_REMOTE_PORT = "remote-port";
 	private static final String MEMENTO_TYPE_ID = "type-id";
 	private static final String MEMENTO_TIMEOUT = "timeout";
-	private static final String MEMENTO_AUTO_START = "auto-start";
 
 	private static final int ADD = 0;
 	private static final int CHANGE = 1;
@@ -39,9 +37,8 @@
 	protected int localPort = 80;
 	protected String protocolId;
 	protected int timeout;
-	protected boolean autoStart = false;
 
-	protected List<IRequestListener> requestListeners = new ArrayList<IRequestListener>(2);
+	protected List requestListeners = new ArrayList(2);
 
 	/**
 	 * Create a new monitor.
@@ -93,13 +90,6 @@
 	}
 
 	/** (non-Javadoc)
-	 * @see IMonitor#isAutoStart()
-	 */
-	public boolean isAutoStart() {
-		return autoStart;
-	}
-
-	/** (non-Javadoc)
 	 * @see IMonitor#isRunning()
 	 */
 	public boolean isRunning() {
@@ -138,7 +128,6 @@
 		localPort = monitor.getLocalPort();
 		protocolId = monitor.getProtocol();
 		timeout = monitor.getTimeout();
-		autoStart = monitor.isAutoStart();
 	}
 
 	protected void save(IMemento memento) {
@@ -148,7 +137,6 @@
 		memento.putString(MEMENTO_REMOTE_HOST, remoteHost);
 		memento.putInteger(MEMENTO_REMOTE_PORT, remotePort);
 		memento.putInteger(MEMENTO_TIMEOUT, timeout);
-		memento.putBoolean(MEMENTO_AUTO_START, autoStart);
 	}
 
 	protected void load(IMemento memento) {
@@ -164,9 +152,6 @@
 		temp = memento.getInteger(MEMENTO_TIMEOUT);
 		if (temp != null)
 			timeout = temp.intValue();
-		Boolean temp2 = memento.getBoolean(MEMENTO_AUTO_START);
-		if (temp != null)
-			autoStart = temp2.booleanValue();
 	}
 	
 	/**
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
index d246801..be96a1c 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *    IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  **********************************************************************/
 package org.eclipse.wst.internet.monitor.core.internal;
 
@@ -30,15 +29,15 @@
 	private static final int REMOVE = 2;
 
 	// monitors
-	protected List<IMonitor> monitors;
-	protected Map<IMonitor, AcceptThread> threads = new HashMap<IMonitor, AcceptThread>();
+	protected List monitors;
+	protected Map threads = new HashMap();
 	
-	protected List<IMonitorListener> monitorListeners = new ArrayList<IMonitorListener>();
+	protected List monitorListeners = new ArrayList();
 
 	private Preferences.IPropertyChangeListener pcl;
 	protected boolean ignorePreferenceChanges = false;
 	
-	protected Map<Request, List<ResendHTTPRequest>> resendMap = new HashMap<Request, List<ResendHTTPRequest>>();
+	protected Map resendMap = new HashMap();
 	
 	protected static MonitorManager instance;
 	
@@ -52,11 +51,9 @@
 	 * @return the instance
 	 */
 	public static MonitorManager getInstance() {
-		if (instance == null) {
+		if (instance == null)
 			instance = new MonitorManager();
-			instance.startMonitors();
-		}
-		
+	
 		return instance;
 	}
 	
@@ -95,8 +92,8 @@
 	 * 
 	 * @return the list of monitors
 	 */
-	public List<IMonitor> getMonitors() {
-		return new ArrayList<IMonitor>(monitors);
+	public List getMonitors() {
+		return new ArrayList(monitors);
 	}
 
 	protected synchronized void addMonitor(IMonitor monitor) {
@@ -137,7 +134,7 @@
 		if (!monitors.contains(monitor))
 			return;
 		
-		AcceptThread thread = threads.get(monitor);
+		AcceptThread thread = (AcceptThread) threads.get(monitor);
 		if (thread != null) {
 			thread.stopServer();
 			threads.remove(monitor);
@@ -205,7 +202,7 @@
 	protected synchronized void loadMonitors() {
 		Trace.trace(Trace.FINEST, "Loading monitors");
 		
-		monitors = new ArrayList<IMonitor>();
+		monitors = new ArrayList();
 		Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
 		String xmlString = prefs.getString("monitors");
 		if (xmlString != null && xmlString.length() > 0) {
@@ -223,7 +220,7 @@
 					}
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load monitors", e);
+				Trace.trace(Trace.WARNING, "Could not load monitors: " + e.getMessage());
 			}
 		}
 	}
@@ -272,15 +269,15 @@
 		if (request == null || resendReq == null)
 			return;
 		
-		List<ResendHTTPRequest> list = null;
+		List list = null;
 		try {
-			list = resendMap.get(request);
+			list = (List) resendMap.get(request);
 		} catch (Exception e) {
 			// ignore
 		}
 		
 		if (list == null) {
-			list = new ArrayList<ResendHTTPRequest>();
+			list = new ArrayList();
 			resendMap.put(request, list);
 		}
 		list.add(resendReq);
@@ -293,28 +290,10 @@
 	 * @return the array of resend requests based on this request
 	 */
 	public ResendHTTPRequest[] getResendRequests(Request request) {
-		List<ResendHTTPRequest> list = resendMap.get(request);
+		List list = (List) resendMap.get(request);
 		if (list != null)
-			return list.toArray(new ResendHTTPRequest[list.size()]);
-		
-		return new ResendHTTPRequest[0];
-	}
+			return (ResendHTTPRequest[]) list.toArray(new ResendHTTPRequest[list.size()]);
 
-	/**
-	 * Start all monitors that are set to auto-start.
-	 */
-	public synchronized void startMonitors() {
-		MonitorManager manager = MonitorManager.getInstance();
-		List monitorList = manager.getMonitors();
-		Iterator monitorIterator = monitorList.iterator();
-		while (monitorIterator.hasNext()) {
-			IMonitor monitor = (IMonitor) monitorIterator.next();
-			if (monitor.isAutoStart())
-				try {
-					monitor.start();
-				} catch (CoreException e) {
-					Trace.trace(Trace.SEVERE, "Failed to start monitor:" + monitor.toString(), e);
-				}
-		}
+		return new ResendHTTPRequest[0];
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
index b9878cc..8c805de 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
@@ -24,8 +24,8 @@
 
 	private static MonitorPlugin singleton;
 	
-	protected Map<String, ProtocolAdapter> protocolAdapters;
-	protected Map<String, IContentFilter> contentFilters;
+	protected Map protocolAdapters;
+	protected Map contentFilters;
 	protected boolean startupsLoaded;
 
 	/**
@@ -67,7 +67,7 @@
 	 *   is no protocol adapter with the given id
 	 */
 	public ProtocolAdapter getProtocolAdapter(String id) {
-		return protocolAdapters.get(id);
+		return (ProtocolAdapter) protocolAdapters.get(id);
 	}
 
 	/**
@@ -84,8 +84,8 @@
 	 * @return a possibly-empty array of protocol adapter instances
 	 */
 	public ProtocolAdapter[] getProtocolAdapters() {
-		List<ProtocolAdapter> list = new ArrayList<ProtocolAdapter>();
-		Iterator<ProtocolAdapter> iterator = protocolAdapters.values().iterator();
+		List list = new ArrayList();
+		Iterator iterator = protocolAdapters.values().iterator();
 		while (iterator.hasNext()) {
 			list.add(iterator.next());
 		}
@@ -100,8 +100,8 @@
 	 * @return an array of content filters
 	 */
 	public IContentFilter[] getContentFilters() {
-		List<IContentFilter> list = new ArrayList<IContentFilter>();
-		Iterator<IContentFilter> iterator = contentFilters.values().iterator();
+		List list = new ArrayList();
+		Iterator iterator = contentFilters.values().iterator();
 		while (iterator.hasNext()) {
 			list.add(iterator.next());
 		}
@@ -119,7 +119,7 @@
 	public IContentFilter findContentFilter(String id) {
 		if (id == null)
 			throw new IllegalArgumentException();
-		return contentFilters.get(id);
+		return (IContentFilter) contentFilters.get(id);
 	}
 
 	protected synchronized void loadProtocolAdapters() {
@@ -130,7 +130,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalProtocolAdapters");
 
 		int size = cf.length;
-		Map<String, ProtocolAdapter> map = new HashMap<String, ProtocolAdapter>(size);
+		Map map = new HashMap(size);
 		for (int i = 0; i < size; i++) {
 			String id = cf[i].getAttribute("id");
 			Trace.trace(Trace.CONFIG, "Loading adapter: " + id);
@@ -147,7 +147,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalContentFilters");
 
 		int size = cf.length;
-		Map<String, IContentFilter> map = new HashMap<String, IContentFilter>(size);
+		Map map = new HashMap(size);
 		for (int i = 0; i < size; i++) {
 			String id = cf[i].getAttribute("id");
 			Trace.trace(Trace.CONFIG, "Loading filter: " + id);
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
index 21527c7..519de72 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *     IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.core.internal;
 
@@ -87,13 +86,6 @@
 		timeout = timeout2;
 	}
 
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setAutoStart(boolean)
-	 */
-	public void setAutoStart(boolean startByDefault) {
-		autoStart = startByDefault;
-	}
-
 	/**
 	 * @see IMonitor#isWorkingCopy()
 	 */
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
index da0d417..860fb9e 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
@@ -21,7 +21,7 @@
  * 
  */
 public class TCPIPProtocolAdapter extends ProtocolAdapterDelegate {
-	protected Map<IMonitor, Connection> map = new HashMap<IMonitor, Connection>();
+	protected Map map = new HashMap();
 	
 	/**
 	 * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket)
@@ -40,7 +40,7 @@
 	 */
 	public void disconnect(IMonitor monitor) throws IOException {
 		try {
-			Connection conn = map.get(monitor);
+			Connection conn = (Connection) map.get(monitor);
 			conn.close();
 		} catch (Exception e) {
 			// ignore
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
index ebf3926..48b722a 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -9,9 +9,6 @@
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.core.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 /**
  * Helper class to route trace output.
  */
@@ -66,12 +63,9 @@
 	 * @param t a throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
-		if (level == SEVERE)
-			MonitorPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, s, t));
-		
 		if (!MonitorPlugin.getInstance().isDebugging())
 			return;
-		
+
 		System.out.println(MonitorPlugin.PLUGIN_ID + " " + System.currentTimeMillis() + " " + s);
 		if (t != null)
 			t.printStackTrace();
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
index e45d9c2..8a2305c 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
@@ -150,7 +150,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		List<Element> list = new ArrayList<Element>(size);
+		ArrayList list = new ArrayList(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -164,7 +164,7 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, list.get(x));
+			results[x] = new XMLMemento(factory, (Element)list.get(x));
 		}
 		return results;
 	}
@@ -238,10 +238,10 @@
 	/**
 	 * @see IMemento#getNames()
 	 */
-	public List<String> getNames() {
+	public List getNames() {
 		NamedNodeMap map = element.getAttributes();
 		int size = map.getLength();
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		for (int i = 0; i < size; i++) {
 			Node node = map.item(i);
 			String name = node.getNodeName();
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
index 694803c..f2e5561 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
@@ -28,7 +28,7 @@
 	protected int req = -1;
 	protected int resp = -1;
 
-	protected List<Request> requests = new ArrayList<Request>();
+	protected List requests = new ArrayList();
 
 	/**
 	 * HTTPConnection constructor comment.
@@ -101,7 +101,7 @@
 				requests.add(request);
 				return request;
 			}
-			return requests.get(i);
+			return (Request) requests.get(i);
 		}
 	}
 
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
index c69bb3f..931d70e 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
@@ -22,7 +22,7 @@
  * 
  */
 public class HTTPProtocolAdapter extends ProtocolAdapterDelegate {
-	protected Map<IMonitor, Connection> map = new HashMap<IMonitor, Connection>();
+	protected Map map = new HashMap();
 
 	/**
 	 * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket)
@@ -42,7 +42,7 @@
 	 */
 	public void disconnect(IMonitor monitor) throws IOException {
 		try {
-			Connection conn = map.get(monitor);
+			Connection conn = (Connection) map.get(monitor);
 			if (conn != null)
 				conn.close();
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
index a93a6b0..a0391e2 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
@@ -594,7 +594,7 @@
 			Trace.trace(Trace.PARSING, "Closing: " + this);
 			out.close();
 		} catch (Exception e) {
-			Trace.trace(Trace.PARSING, "Error closing connection " + this, e);
+			Trace.trace(Trace.PARSING, "Error closing connection " + this + " " + e.getMessage());
 		}
 	}
 
@@ -605,7 +605,7 @@
 				isWaiting = true;
 				wait();
 			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error in waitForResponse() " + this, e);
+				Trace.trace(Trace.PARSING, "Error in waitForResponse() " + this + " " + e.getMessage());
 			}
 			isWaiting = false;
 		}
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java
index 0fbb8f4..461a874 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *     IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.core.internal.provisional;
 
@@ -83,14 +82,6 @@
 	public int getTimeout();
 
 	/**
-	 * Returns whether this monitor starts by default.
-	 * 
-	 * @return <code>true</code> if the monitor should be started by default, or
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isAutoStart();
-
-	/**
 	 * Returns whether this monitor is currently running. Monitor working
 	 * copies will always return false (since they cannot be run).
 	 * 
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java
index 650f6ff..acef8c0 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *     IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.core.internal.provisional;
 
@@ -82,14 +81,6 @@
 	public void setTimeout(int timeout);
 
 	/**
-	 * Sets whether this monitor starts by default.
-	 * 
-	 * @param startByDefault run the monitor on plug-in startup
-	 * @see IMonitor#isAutoStart()
-	 */
-	public void setAutoStart(boolean startByDefault);
-
-	/**
 	 * Saves the changes made to this working copy.
 	 * For a brand new working copy (created by
 	 * {@link MonitorCore#createMonitor()}, and not yet saved), this method
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java
index e6cef70..626968f 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java
@@ -52,7 +52,7 @@
 	 * @return a possibly-empty array of monitor instances
 	 */
 	public static IMonitor[] getMonitors() {
-		List<IMonitor> list = getManager().getMonitors();
+		List list = getManager().getMonitors();
 		IMonitor[] m = new IMonitor[list.size()];
 		list.toArray(m);
 		return m;
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.classpath b/plugins/org.eclipse.wst.internet.monitor.ui/.classpath
index acf166f..01b6b92 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.classpath
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="monitorui/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..e4a0f3b 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Fri Feb 23 21:16:28 EST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -24,7 +24,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=error
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
index 2054b37..dc33863 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.internet.monitor.ui; singleton:=true
-Bundle-Version: 1.0.304.qualifier
+Bundle-Version: 1.0.204.qualifier
 Bundle-Activator: org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -15,4 +15,4 @@
  org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.wst.internet.monitor.core;bundle-version="[1.0.103,1.1.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
index c9c2abc..8cebb0b 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *    IBM Corporation - Initial API and implementation
- *    Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  **********************************************************************/
 package org.eclipse.wst.internet.monitor.ui.internal;
 
@@ -23,7 +22,6 @@
 	public static String remotePort;
 	public static String remoteGroup;
 	public static String connectionTimeout;
-	public static String autoStart;
 	public static String parseType;
 	public static String errorDialogTitle;
 	public static String preferenceDescription;
@@ -33,7 +31,6 @@
 	public static String columnRemote;
 	public static String columnType;
 	public static String columnLocal;
-	public static String columnAutoStart;
 	public static String add;
 	public static String edit;
 	public static String remove;
@@ -58,8 +55,6 @@
 	public static String actionClearToolTip;
 	public static String actionShowHeader;
 	public static String actionProperties;
-	public static String yes;
-	public static String no;
 
 	static {
 		NLS.initializeMessages(MonitorUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
index ad8ae13..16b4d73 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
+# 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
@@ -7,7 +7,6 @@
 # 
 # Contributors:
 #     IBM Corporation - initial API and implementation
-#     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
 ###############################################################################
 
 # --------------- TCP/IP Monitor view ---------------
@@ -51,7 +50,6 @@
 columnRemote=Host name
 columnType=Type
 columnStatus=Status
-columnAutoStart=Auto-start
 add=&Add...
 edit=&Edit...
 remove=&Remove
@@ -59,8 +57,6 @@
 stop=S&top
 started=Started
 stopped=Stopped
-yes=Yes
-no=No
 
 newMonitor=New Monitor
 editMonitor=Edit Monitor
@@ -70,7 +66,6 @@
 remoteHost=&Host name:
 remotePort=&Port:
 parseType=&Type:
-autoStart=&Start monitor automatically
 connectionTimeout=T&imeout (in milliseconds):
 
 preferenceDescription=Configure TCP/IP monitors on local and remote ports.
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java
index b4ba878..4642449 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *     IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.ui.internal;
 
@@ -31,7 +30,6 @@
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.internet.monitor.core.internal.IProtocolAdapter;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore;
 /**
@@ -86,21 +84,7 @@
 		else
 			shell.setText(Messages.newMonitor);
 	}
-
-	protected Button createCheckBox(Composite comp, String txt, boolean selected, final BooleanModifyListener listener) {
-		final Button button = new Button(comp, SWT.CHECK);
-		button.setText(txt);
-		button.setSelection(selected);
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_CENTER));
-		if (listener != null)
-			button.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent arg0) {
-					listener.valueChanged(button.getSelection());
-				}
-			});
-		return button;
-	}
-
+	
 	protected Label createLabel(Composite comp, String txt) {
 		Label label = new Label(comp, SWT.NONE);
 		label.setText(txt);
@@ -229,18 +213,15 @@
 		createLabel(group, Messages.connectionTimeout);
 		createSpinner(group, monitor.getTimeout(), new IntModifyListener() {
 			public void valueChanged(int i) {
-				monitor.setTimeout(i);
+				try {
+					monitor.setTimeout(i);
+				} catch (Exception e) {
+					// ignore
+				}
 				validateFields();
 			}
 		});
 		
-		createLabel(group, "");
-		createCheckBox(group, Messages.autoStart, monitor.isAutoStart(), new BooleanModifyListener() {
-			public void valueChanged(boolean b) {
-				monitor.setAutoStart(b);
-			}
-		});
-		
 		validateLabel = createLabel(composite, "");
 		validateLabel.setForeground(composite.getDisplay().getSystemColor(SWT.COLOR_RED));
 		
@@ -251,19 +232,12 @@
 	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
 	 */
 	protected void okPressed() {
-		IMonitor savedMonitor = null;
 		try {
-			savedMonitor = monitor.save();
+			monitor.save();
 		} catch (CoreException ce) {
 			ErrorDialog.openError(getShell(), Messages.errorDialogTitle, ce.getLocalizedMessage(), ce.getStatus());
 			return;
 		}
-		if (savedMonitor != null && savedMonitor.isAutoStart())
-			try {
-				savedMonitor.start();
-			} catch (CoreException ce) {
-				ErrorDialog.openError(getShell(), Messages.errorDialogTitle, ce.getLocalizedMessage(), ce.getStatus());
-			}
 		super.okPressed();
 	}
 
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java
index cb3a9f3..6729050 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *     IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.ui.internal;
 
@@ -57,7 +56,7 @@
 	protected Button start;
 	protected Button stop;
 	
-	protected List<Object> selection2;
+	protected List selection2;
 
 	/**
 	 * MonitorPreferencePage constructor comment.
@@ -133,7 +132,7 @@
 		
 		TableColumn httpColumn = new TableColumn(table, SWT.NONE);
 		httpColumn.setText(Messages.columnType);
-		colData = new ColumnWeightData(5, 50, true);
+		colData = new ColumnWeightData(6, 60, true);
 		tableLayout.addColumnData(colData);
 		
 		TableColumn localColumn = new TableColumn(table, SWT.NONE);
@@ -141,11 +140,6 @@
 		colData = new ColumnWeightData(6, 60, true);
 		tableLayout.addColumnData(colData);
 		
-		TableColumn startOnStartupColumn = new TableColumn(table, SWT.NONE);
-		startOnStartupColumn.setText(Messages.columnAutoStart);
-		colData = new ColumnWeightData(7, 70, true);
-		tableLayout.addColumnData(colData);
-		
 		table.setLayout(tableLayout);
 		
 		tableViewer = new TableViewer(table);
@@ -236,7 +230,7 @@
 					try {
 						monitor.start();
 					} catch (CoreException ce) {
-						MessageDialog.openError(getShell(), Messages.errorDialogTitle, ce.getStatus().getMessage());
+					MessageDialog.openError(getShell(), Messages.errorDialogTitle, ce.getStatus().getMessage());
 					} catch (Exception ce) {
 						MessageDialog.openError(getShell(), Messages.errorDialogTitle, ce.getMessage());
 					}
@@ -308,7 +302,7 @@
 	protected void setSelection(ISelection sel2) {
 		IStructuredSelection sel = (IStructuredSelection) sel2;
 		Iterator iterator = sel.iterator();
-		selection2 = new ArrayList<Object>();
+		selection2 = new ArrayList();
 		
 		while (iterator.hasNext()) {
 			Object obj = iterator.next();
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java
index b875325..430cbb0 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -7,7 +7,6 @@
  * 
  * Contributors:
  *     IBM Corporation - Initial API and implementation
- *     Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default 
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.ui.internal;
 
@@ -69,14 +68,10 @@
 			return monitor.getProtocol();
 		else if (columnIndex == 3)
 			return monitor.getLocalPort() + "";
-		else if (columnIndex == 4) {
-			if (monitor.isAutoStart())
-				return Messages.yes;
-			return Messages.no;
-		} else
+		else
 			return "X";
 	}
-
+	
 	protected String notNull(String s) {
 		if (s == null)
 			return "";
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
index 975af1b..35499f4 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
@@ -34,7 +34,7 @@
 
 	private static MonitorUIPlugin singleton;
 
-	protected Map<String, ImageDescriptor> imageDescriptors = new HashMap<String, ImageDescriptor>();
+	protected Map imageDescriptors = new HashMap();
 
 	private static final String lineSeparator = System.getProperty("line.separator");
 
@@ -64,7 +64,7 @@
 	private static final String SHOW_VIEW_ON_ACTIVITY = "show-view";
 	private static final String SHOW_HEADER = "show-header";
 
-	protected List<Request> requests = new ArrayList<Request>();
+	protected List requests = new ArrayList();
 
 	protected IMonitorListener monitorListener = new IMonitorListener() {
 		public void monitorAdded(IMonitor monitor) {
@@ -153,7 +153,7 @@
 	public static ImageDescriptor getImageDescriptor(String key) {
 		try {
 			getInstance().getImageRegistry();
-			return getInstance().imageDescriptors.get(key);
+			return (ImageDescriptor) getInstance().imageDescriptors.get(key);
 		} catch (Exception e) {
 			return null;
 		}
@@ -316,7 +316,7 @@
 	/**
 	 * Returns a list of the current requests.
 	 *
-	 * @return an array of requests
+	 * @return java.util.List
 	 */
 	public Request[] getRequests() {
 		Request[] r = new Request[requests.size()];
@@ -325,6 +325,6 @@
 	}
 	
 	public void clearRequests() {
-		requests = new ArrayList<Request>();
+		requests = new ArrayList();
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
index 587ac3b..88d916c 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -9,11 +9,6 @@
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin;
-
 /**
  * Helper class to route trace output.
  */
@@ -48,12 +43,9 @@
 	 * @param t a throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
-		if (level == SEVERE)
-			MonitorPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, s, t));
-		
 		if (!MonitorUIPlugin.getInstance().isDebugging())
 			return;
-		
+
 		System.out.println(MonitorUIPlugin.PLUGIN_ID + " " + s);
 		if (t != null)
 			t.printStackTrace();
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java
index 40b610d..f350196 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java
@@ -69,7 +69,7 @@
 	public Object[] getChildren(Object element) {
 		if (element instanceof Integer) {
 			Integer in = (Integer) element;
-			List<Request> list = new ArrayList<Request>();
+			List list = new ArrayList();
 			Request[] requests = MonitorUIPlugin.getInstance().getRequests();
 			if (requests != null) {
 				int size = requests.length;
@@ -84,7 +84,7 @@
 		} else if (element instanceof Request) {
 			Request req = (Request) element;
 			ResendHTTPRequest[] rr = MonitorManager.getInstance().getResendRequests(req);
-			List<Request> list = new ArrayList<Request>();
+			List list = new ArrayList();
 			if (rr != null) {
 				int size = rr.length;
 				for (int i = 0; i < size; i++) {
@@ -103,7 +103,7 @@
 	 */
 	public Object[] getElements(Object element) {
 		if (ROOT.equals(element)) {
-			List<Integer> list = new ArrayList<Integer>();
+			List list = new ArrayList();
 			Request[] requests = MonitorUIPlugin.getInstance().getRequests();
 			if (requests != null) {
 				int size = requests.length;
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java
index 4e8327f..054ce3b 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java
@@ -49,7 +49,7 @@
 		try {
 			return (ContentViewer) element.createExecutableExtension("class");
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not create viewer" + toString(), e);
+			Trace.trace(Trace.SEVERE, "Could not create viewer" + toString() + ": " + e.getMessage());
 			return null;
 		}
 	}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
index f7c8578..49f5bf2 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
@@ -44,14 +44,14 @@
 	protected Composite reqComp;
 	protected Composite respComp;
 
-	protected List<Viewer> viewers;
+	protected List viewers;
 
 	protected Request request;
 
 	protected SashForm reqSash;
 	protected SashForm respSash;
 
-	protected List<IContentFilter> filters = new ArrayList<IContentFilter>();
+	protected List filters = new ArrayList();
 
 	public ViewerManager(Composite reqParent, Composite respParent) {
 		reqSash = new SashForm(reqParent, SWT.VERTICAL);
@@ -122,7 +122,7 @@
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorUIPlugin.PLUGIN_ID, "viewers");
 		int size = cf.length;
-		viewers = new ArrayList<Viewer>(size);
+		viewers = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			viewers.add(new Viewer(cf[i]));
 		}
@@ -229,7 +229,7 @@
 	 */
 	public List getRequestViewers() {
 		Iterator iterator = viewers.iterator();
-		List<Viewer> temp = new ArrayList<Viewer>();
+		List temp = new ArrayList();
 		while (iterator.hasNext()) {
 			Viewer viewer = (Viewer) iterator.next();
 			if (viewer.isRequestViewer())
@@ -243,7 +243,7 @@
 	 */
 	public List getResponseViewers() {
 		Iterator iterator = viewers.iterator();
-		List<Viewer> temp = new ArrayList<Viewer>();
+		List temp = new ArrayList();
 		while (iterator.hasNext()) {
 			Viewer viewer = (Viewer) iterator.next();
 			if (viewer.isResponseViewer())
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
index 8a2d6a0..bac5fff 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * Copyright (c) 2003, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.wst.server.core/.classpath b/plugins/org.eclipse.wst.server.core/.classpath
index 921daf3..a6eb998 100644
--- a/plugins/org.eclipse.wst.server.core/.classpath
+++ b/plugins/org.eclipse.wst.server.core/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="servercore/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..4c45934 100644
--- a/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Fri Feb 23 21:11:52 EST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
index 05b2a0c..df21875 100644
--- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.core; singleton:=true
-Bundle-Version: 1.0.304.qualifier
+Bundle-Version: 1.0.206.qualifier
 Bundle-Activator: org.eclipse.wst.server.core.internal.ServerPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -19,4 +19,4 @@
  org.eclipse.update.core;bundle-version="[3.2.0,4.0.0)";resolution:=optional,
  org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,2.0.0)";resolution:=optional
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
index 07a98ce..346cf34 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
@@ -132,8 +132,8 @@
 	 * not set and must be explicitly set by the client.
 	 * </p>
 	 * 
-	 * @param id the id to assign to the runtime instance; the default name is
-	 *    used if id is <code>null</code> or an empty string
+	 * @param id the id to assign to the runtime instance; a generated
+	 *    id is used if id is <code>null</code> or an empty string
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
 	 * @return a new runtime working copy with the given id
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
index a7cea9e..bb7ddf8 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
@@ -663,7 +663,7 @@
 	 * an exception will be thrown.
 	 * </p>
 	 * <p>
-	 * [issue: Since this method is asynchronous, is there
+	 * [issue: Since this method is ascynchronous, is there
 	 * any need for the progress monitor?]
 	 * </p>
 	 * <p>
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
index e4046d8..30a2d6e 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
@@ -173,8 +173,8 @@
 	 * delegate's setDefaults() method.
 	 * </p>
 	 * 
-	 * @param id the id to assign to the server instance; the default name is
-	 *    used if id is <code>null</code> or an empty string
+	 * @param id the id to assign to the server instance; a generated
+	 *    id is used if id is <code>null</code> or an empty string
 	 * @param file the file in the workspace where the server instance
 	 *    is to be serialized, or <code>null</code> if the information is
 	 *    instead to be persisted with the workspace but not with any
@@ -210,8 +210,8 @@
 	 * Consider combining the method with the other.]
 	 * </p>
 	 * 
-	 * @param id the id to assign to the server instance; the default name is
-	 *    used if id is <code>null</code> or an empty string
+	 * @param id the id to assign to the server instance; a generated
+	 *    id is used if id is <code>null</code> or an empty string
 	 * @param file the file in the workspace where the server instance
 	 *    is to be serialized, or <code>null</code> if the information is
 	 *    instead to be persisted with the workspace but not with any
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
index 9342870..b2812a4 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
@@ -34,10 +34,10 @@
 	private static final String EXTENSION_RUNTIME_TYPE = "runtimeTypes";
 
 	//	cached copy of all runtime types
-	private static List<IRuntimeType> runtimeTypes;
+	private static List runtimeTypes;
 
 	//	cached copy of all server and configuration types
-	private static List<IServerType> serverTypes;
+	private static List serverTypes;
 
 	private static IRegistryChangeListener registryListener;
 
@@ -190,7 +190,7 @@
 		
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE);
-		List<IRuntimeType> list = new ArrayList<IRuntimeType>(cf.length);
+		List list = new ArrayList(cf.length);
 		addRuntimeTypes(cf, list);
 		addRegistryListener();
 		runtimeTypes = list;
@@ -201,7 +201,7 @@
 	/**
 	 * Load the runtime types.
 	 */
-	private static synchronized void addRuntimeTypes(IConfigurationElement[] cf, List<IRuntimeType> list) {
+	private static synchronized void addRuntimeTypes(IConfigurationElement[] cf, List list) {
 		for (int i = 0; i < cf.length; i++) {
 			try {
 				list.add(new RuntimeType(cf[i]));
@@ -223,7 +223,7 @@
 		
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_TYPE);
-		List<IServerType> list = new ArrayList<IServerType>(cf.length);
+		List list = new ArrayList(cf.length);
 		addServerTypes(cf, list);
 		addRegistryListener();
 		serverTypes = list;
@@ -234,7 +234,7 @@
 	/**
 	 * Load the server types.
 	 */
-	private static synchronized void addServerTypes(IConfigurationElement[] cf, List<IServerType> list) {
+	private static synchronized void addServerTypes(IConfigurationElement[] cf, List list) {
 		for (int i = 0; i < cf.length; i++) {
 			try {
 				list.add(new ServerType(cf[i]));
@@ -385,7 +385,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List<IServerType> list = new ArrayList<IServerType>(serverTypes);
+		List list = new ArrayList(serverTypes);
 		if (delta.getKind() == IExtensionDelta.ADDED) {
 			addServerTypes(cf, list);
 		} else {
@@ -419,7 +419,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List<IRuntimeType> list = new ArrayList<IRuntimeType>(runtimeTypes);
+		List list = new ArrayList(runtimeTypes);
 		if (delta.getKind() == IExtensionDelta.ADDED) {
 			addRuntimeTypes(cf, list);
 		} else {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
index 7ca480b..6f364dd 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
@@ -88,7 +88,7 @@
 			throw new IllegalArgumentException();
 		
 		// use a set for better contains() performance
-		Set<IModule> set = new HashSet<IModule>();
+		Set set = new HashSet();
 		
 		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
 		if (factories != null) {
@@ -151,7 +151,7 @@
 	 * @return a possibly empty array of modules
 	 */
 	public static IModule[] getModules(IModuleType[] moduleTypes) {
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		
 		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
 		if (factories != null) {
@@ -186,7 +186,7 @@
 	 * @return a possibly empty array of modules
 	 */
 	public static IModule[] getModules(String type) {
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		
 		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
 		if (factories != null) {
@@ -338,13 +338,13 @@
 				throw new IllegalArgumentException("Cannot add null entries");
 		}
 		
-		List<IModule> addParentModules = new ArrayList<IModule>();
+		List addParentModules = new ArrayList();
 		for (int i = 0; i < size; i++) {
 			boolean found = false;
 			try {
 				IModule[] parents = server.getRootModules(add[i], monitor);
 				if (parents != null && parents.length > 0) {				
-					IModule parent = parents[0];
+					Object parent = parents[0];
 					found = true;
 					if (!addParentModules.contains(parent))
 						addParentModules.add(parent);
@@ -363,13 +363,13 @@
 				throw new IllegalArgumentException("Cannot remove null entries");
 		}
 		
-		List<IModule> removeParentModules = new ArrayList<IModule>();
+		List removeParentModules = new ArrayList();
 		for (int i = 0; i < size; i++) {
 			boolean found = false;
 			try {
 				IModule[] parents = server.getRootModules(remove[i], monitor);
 				if (parents != null && parents.length > 0) {				
-					IModule parent = parents[0];
+					Object parent = parents[0];
 					found = true;
 					if (!removeParentModules.contains(parent))
 						removeParentModules.add(parent);
@@ -400,7 +400,7 @@
 		
 		String name = NLS.bind(Messages.defaultRuntimeName, typeName);
 		int i = 2;
-		while (ServerPlugin.isNameInUse(runtime.getOriginal(), name)) {
+		while (isNameInUse(runtime.getOriginal(), name)) {
 			name = NLS.bind(Messages.defaultRuntimeName2, new String[] {typeName, i + ""});
 			i++;
 		}
@@ -430,7 +430,7 @@
 		
 		String name = NLS.bind(Messages.defaultServerName, new String[] {typeName, host});
 		int i = 2;
-		while (ServerPlugin.isNameInUse(server.getOriginal(), name)) {
+		while (isNameInUse(server.getOriginal(), name)) {
 			name = NLS.bind(Messages.defaultServerName2, new String[] {typeName, host, i + ""});
 			i++;
 		}
@@ -510,6 +510,47 @@
 	}
 
 	/**
+	 * Returns true if a server or runtime exists with the given name.
+	 *
+	 * @param name a name
+	 * @return <code>true</code> if the name is in use, and <code>false</code>
+	 *    otherwise
+	 */
+	private static boolean isNameInUse(Object element, String name) {
+		if (name == null)
+			return true;
+	
+		List list = new ArrayList();
+		
+		addAll(list, ServerCore.getRuntimes());
+		addAll(list, ServerCore.getServers());
+		
+		if (element != null && list.contains(element))
+			list.remove(element);
+		
+		Iterator iterator = list.iterator();
+		while (iterator.hasNext()) {
+			Object obj = iterator.next();
+			if (obj instanceof IServerAttributes && name.equalsIgnoreCase(((IServerAttributes)obj).getName()))
+				return true;
+			if (obj instanceof IRuntime && name.equalsIgnoreCase(((IRuntime)obj).getName()))
+				return true;
+		}
+
+		return false;
+	}
+	
+	private static void addAll(List list, Object[] obj) {
+		if (obj == null)
+			return;
+		
+		int size = obj.length;
+		for (int i = 0; i < size; i++) {
+			list.add(obj[i]);
+		}
+	}
+	
+	/**
 	 * Returns true if an element exists with the given name.
 	 *
 	 * @param project a project
@@ -538,7 +579,7 @@
 	 * @return a possibly-empty array of runtime instances {@link IRuntime}
 	 */
 	public static IRuntime[] getRuntimes(String type, String version) {
-		List<IRuntime> list = new ArrayList<IRuntime>();
+		List list = new ArrayList();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
@@ -564,7 +605,7 @@
 	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
 	 */
 	public static IRuntimeType[] getRuntimeTypes(String type, String version) {
-		List<IRuntimeType> list = new ArrayList<IRuntimeType>();
+		List list = new ArrayList();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		if (runtimeTypes != null) {
 			int size = runtimeTypes.length;
@@ -591,7 +632,7 @@
 	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
 	 */
 	public static IRuntimeType[] getRuntimeTypes(String type, String version, String runtimeTypeId) {
-		List<IRuntimeType> list = new ArrayList<IRuntimeType>();
+		List list = new ArrayList();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		if (runtimeTypes != null) {
 			int size = runtimeTypes.length;
@@ -628,7 +669,7 @@
 		// do it the slow way - go through all servers and
 		// see if this deployable is not configured in it
 		// but could be added
-		List<IServer> list = new ArrayList<IServer>();
+		List list = new ArrayList();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
@@ -684,7 +725,7 @@
 
 		// do it the slow way - go through all servers and
 		// see if this module is configured in it
-		List<IServer> list = new ArrayList<IServer>();
+		List list = new ArrayList();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
index 984aa18..816dbb4 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * 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
@@ -17,7 +17,7 @@
  * tasks in a common workflow.
  * <p>
  * The task model contains information about the overall task flow and allows
- * tasks to store and retrieve data. Its usage allows multiple tasks to be
+ * tasks to store and retreive data. Its usage allows mutliple tasks to be
  * chained together and share data from the output of one task to the input
  * of another.
  * </p>
@@ -58,13 +58,13 @@
 	 */
 	public static final String TASK_LAUNCH_MODE = "launch-mode";
 	
-	private Map<String, Object> map = new HashMap<String, Object>();
+	private Map map = new HashMap();
 
 	/**
 	 * Returns the object in the task model with the given id.
 	 * <p>
 	 * The id can be any of the predefined ids within TaskModel, or
-	 * any other key to retrieve task-specific data.
+	 * any other key to retreive task-specific data.
 	 * </p>
 	 * 
 	 * @param id an id for the object
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
index 8995211..7d4363c 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
@@ -30,14 +30,13 @@
 	protected static final String PROP_PRIVATE = "private";
 	protected static final String PROP_NAME = "name";
 	protected static final String PROP_ID = "id";
-	protected static final String PROP_ID_SET = "id-set";
 	protected static final String PROP_TIMESTAMP = "timestamp";
 
-	protected Map<String, Object> map = new HashMap<String, Object>();
-
+	protected Map map = new HashMap();
+	
 	// file loaded from, or null if it is saved in metadata
 	protected IFile file;
-
+	
 	/**
 	 * Create a new object.
 	 * 
@@ -55,10 +54,8 @@
 	 */
 	public Base(IFile file, String id) {
 		this.file = file;
-		if (id != null && id.length() > 0) {
-			map.put(PROP_ID, id);
-			map.put(PROP_ID_SET, Boolean.toString(true));
-		}
+		//this.map = map;
+		map.put(PROP_ID, id);
 	}
 
 	/**
@@ -139,15 +136,13 @@
 		}
 		return defaultValue;
 	}
-
-	@SuppressWarnings("unchecked")
-	public List<String> getAttribute(String attributeName, List<String> defaultValue) {
+	
+	public List getAttribute(String attributeName, List defaultValue) {
 		try {
 			Object obj = map.get(attributeName);
 			if (obj == null)
 				return defaultValue;
-			List<String> obj2 = (List<String>) obj;
-			List<String> list = obj2;
+			List list = (List) obj;
 			if (list != null)
 				return list;
 		} catch (Exception e) {
@@ -277,7 +272,7 @@
 	protected abstract void saveState(IMemento memento);
 
 	protected void load(IMemento memento) {
-		map = new HashMap<String, Object>();
+		map = new HashMap();
 		
 		Iterator iterator = memento.getNames().iterator();
 		while (iterator.hasNext()) {
@@ -304,7 +299,7 @@
 	
 	protected void loadMap(IMemento memento) {
 		String key = memento.getString("key");
-		Map<String, String> vMap = new HashMap<String, String>();
+		Map vMap = new HashMap();
 		List keys = memento.getNames();
 		Iterator iterator = keys.iterator();
 		while(iterator.hasNext()) {
@@ -318,7 +313,7 @@
 	
 	protected void loadList(IMemento memento) {
 		String key = memento.getString("key");
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		int i = 0;
 		String key2 = memento.getString("value" + (i++));
 		while (key2 != null) {
@@ -372,7 +367,7 @@
 			IMemento memento = XMLMemento.loadMemento(in);
 			load(memento);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load from file", e);
+			Trace.trace(Trace.SEVERE, "Could not load from file" + e.getMessage(), e);
 			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorLoading, getFile().toString()), e));
 		} finally {
 			try {
@@ -397,7 +392,7 @@
 			IMemento memento = XMLMemento.loadMemento(in);
 			load(memento);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load from path", e);
+			Trace.trace(Trace.SEVERE, "Could not load from path: " + e.getMessage(), e);
 			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorLoading, path.toString()), e));
 		} finally {
 			try {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
index 20cc5c2..8a70dbd 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
@@ -84,7 +84,7 @@
 			try {
 				delegate = (ClientDelegate) element.createExecutableExtension("class");
 			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), e);
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage());
 			}
 		}
 		return delegate;
@@ -101,7 +101,7 @@
 		try {
 			return getDelegate().supports(server, launchable, launchMode);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 			return false;
 		}
 	}
@@ -113,7 +113,7 @@
 		try {
 			return getDelegate().launch(server, launchable, launchMode, launch);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 		return null;
 	}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java
index 0b37574..ddc2dab 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java
@@ -32,8 +32,6 @@
  */
 public class InstallableRuntime implements IInstallableRuntime {
 	private IConfigurationElement element;
-	
-	private static Object LOCK = new Object();
 
 	public InstallableRuntime(IConfigurationElement element) {
 		super();
@@ -120,11 +118,7 @@
 		ISite site = InstallableRuntime.getSite(fromSite, monitor);
 		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
 		for (int i = 0; i < featureRefs.length; i++) {
-			String ver = featureRefs[i].getVersionedIdentifier().toString();
-			int ind = ver.indexOf("_");
-			if (ind >= 0)
-				ver = ver.substring(ind+1);
-			if (featureId.equals(featureRefs[i].getVersionedIdentifier().getIdentifier()) && featureVersion.equals(ver)) {
+			if (featureId.equals(featureRefs[i].getVersionedIdentifier().getIdentifier()) && featureVersion.equals(featureRefs[i].getVersionedIdentifier().getVersion().toString())) {
 				IFeature feature = featureRefs[i].getFeature(monitor);
 				IURLEntry license = feature.getLicense();
 				if (license != null)
@@ -180,20 +174,6 @@
 		return null;
 	}
 
-	public static ISite getSite(URL fromSiteURL, IProgressMonitor monitor) throws IOException {
-		try {
-			synchronized (LOCK) {
-				return SiteManager.getSite(fromSiteURL, monitor);
-			}
-		} catch (CoreException e) {
-			Trace.trace(Trace.WARNING, "Could not parse site", e);
-			throw new IOException(e.getMessage());
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not parse site", e);
-			throw new IOException(e.getMessage());
-		}
-	}
-
 	protected static String getMirror(String fromSite, ISite site, int mirror) {
 		if (site != null) {
 			String mirrorSite = getMirror(site, mirror);
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java
index fd93a7f..5a9e169 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java
@@ -134,11 +134,7 @@
 		ISite site = InstallableRuntime.getSite(fromSite, monitor);
 		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
 		for (int i = 0; i < featureRefs.length; i++) {
-			String ver = featureRefs[i].getVersionedIdentifier().toString();
-			int ind = ver.indexOf("_");
-			if (ind >= 0)
-				ver = ver.substring(ind+1);
-			if (featureId.equals(featureRefs[i].getVersionedIdentifier().getIdentifier()) && featureVersion.equals(ver)) {
+			if (featureId.equals(featureRefs[i].getVersionedIdentifier().getIdentifier()) && featureVersion.equals(featureRefs[i].getVersionedIdentifier().getVersion().toString())) {
 				IFeature feature = featureRefs[i].getFeature(monitor);
 				IURLEntry license = feature.getLicense();
 				if (license != null)
@@ -170,11 +166,7 @@
 			ISiteFeatureReference[] features = site.getFeatureReferences();
 			for (int i = 0; i < features.length; i++) {
 				if (features[i].getVersionedIdentifier().getIdentifier().equals(featureId)) {
-					String ver = features[i].getVersionedIdentifier().toString();
-					int ind = ver.indexOf("_");
-					if (ind >= 0)
-						ver = ver.substring(ind+1);
-					Version nextCand = new Version(ver);
+					Version nextCand = new Version(features[i].getVersionedIdentifier().getVersion().toString());
 					if (nextCand.compareTo(latestVersion) >= 0) {
 						latestVersion = nextCand;
 						last = features[i];
@@ -241,11 +233,7 @@
 			ISiteFeatureReference[] features = site.getFeatureReferences();
 			for (int i = 0; i < features.length; i++) {
 				if (features[i].getVersionedIdentifier().getIdentifier().equals(featureId)) {
-					String ver = features[i].getVersionedIdentifier().toString();
-					int ind = ver.indexOf("_");
-					if (ind >= 0)
-						ver = ver.substring(ind+1);
-					Version nextCand = new Version(ver);
+					Version nextCand = new Version(features[i].getVersionedIdentifier().getVersion().toString());
 					if (nextCand.compareTo(latestVersion) > 0) {
 						latestVersion = nextCand;
 					}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java
index 7595c77..0cb0392 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java
@@ -47,7 +47,7 @@
 			try {
 				delegate = (LaunchableAdapterDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
@@ -62,7 +62,7 @@
 		} catch (CoreException ce) {
 			throw ce;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 			return null;
 		}
 	}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
index 0070891..b36e495 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java
@@ -49,7 +49,6 @@
 	public static String publishedModule;
 	public static String errorStartTimeout;
 	public static String errorStartFailed;
-	public static String errorRestartFailed;
 	public static String errorModuleRestartFailed;
 	public static String errorInstallingServer;
 	public static String errorInstallingServerFeature;
@@ -60,7 +59,6 @@
 	public static String errorStopAlreadyStopped;
 	public static String moduleTypeUnknown;
 	public static String jobStartingServer;
-	public static String jobStoppingServer;
 	public static String jobRestartingServer;
 	public static String jobUpdateServer;
 	public static String jobInstallingRuntime;
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
index fd944f3..cd1eea4 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties
@@ -27,7 +27,6 @@
 publishedModule={0} published successfully
 
 jobStartingServer=Starting server - {0}
-jobStoppingServer=Stopping server - {0}
 jobRestartingServer=Restarting server - {0}
 jobUpdateServer=Updating status for {0}...
 jobInstallingRuntime=Installing server runtime
@@ -47,7 +46,6 @@
 errorDuplicateRuntimeName=Name is already in use.
 errorStartTimeout=Timeout waiting for {0} to start. Server did not start after {1}s. 
 errorStartFailed=Server {0} failed to start.
-errorRestartFailed=Server {0} failed to restart.
 errorCannotAddModule=The server does not support version {1} of the {0} specification.
 errorInstallingServer=Error occurred installing server: {0}
 errorInstallingServerFeature=Could not download and install update feature.
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java
index de322b5..a828e49 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java
@@ -160,7 +160,7 @@
 			try {
 				delegate = (ModuleArtifactAdapterDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
index 0e07791..59ce708 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
@@ -27,7 +27,7 @@
 public class ModuleFactory implements IOrdered {
 	private IConfigurationElement element;
 	public ModuleFactoryDelegate delegate;
-	private List<IModuleType> moduleTypes;
+	private List moduleTypes;
 
 	/**
 	 * ModuleFactory constructor comment.
@@ -95,7 +95,7 @@
 				InternalInitializer.initializeModuleFactoryDelegate(delegate, this, monitor);
 				Trace.trace(Trace.PERFORMANCE, "ModuleFactory.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getId());
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
@@ -177,7 +177,7 @@
 			return modules;
 		
 		getModuleTypes();
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		
 		int size = modules.length;
 		for (int i = 0; i < size; i++) {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java
index ac0279a..a628f47 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java
@@ -25,7 +25,7 @@
 	private static final String MODULE_DATA_FILE = "modules.xml";
 
 	protected static ModuleProperties instance;
-	protected Map<String, String> modules;
+	protected Map modules;
 
 	/**
 	 * ModuleProperties constructor.
@@ -53,7 +53,7 @@
 	private void load() {
 		Trace.trace(Trace.FINEST, "Loading module info");
 		String filename = ServerPlugin.getInstance().getStateLocation().append(MODULE_DATA_FILE).toOSString();
-		modules = new HashMap<String, String>();
+		modules = new HashMap();
 		if (!(new File(filename).exists()))
 			return;
 		
@@ -69,7 +69,7 @@
 				modules.put(moduleId, serverId);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load servers", e);
+			Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage());
 		}
 	}
 
@@ -82,7 +82,7 @@
 			Iterator iterator = modules.keySet().iterator();
 			while (iterator.hasNext()) {
 				String moduleId = (String) iterator.next();
-				String serverId = modules.get(moduleId);
+				String serverId = (String) modules.get(moduleId);
 				
 				IMemento child = memento.createChild("module");
 				child.putString("moduleId", moduleId);
@@ -102,7 +102,7 @@
 		if (module == null)
 			throw new IllegalArgumentException();
 		
-		String serverId = modules.get(module.getId());
+		String serverId = (String) modules.get(module.getId());
 		if (serverId == null || serverId.length() == 0)
 			return null;
 		
@@ -120,7 +120,7 @@
 		if (server != null)
 			newServerId = server.getId();
 		
-		String serverId = modules.get(module.getId());
+		String serverId = (String) modules.get(module.getId());
 		if (serverId == null && newServerId == null)
 			return;
 		if (serverId != null && serverId.equals(newServerId))
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
index ee0f17d..c0a00b2 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
@@ -120,7 +120,7 @@
 			
 			resources = loadResource(memento, new Path(""));
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load module publish info information", e);
+			Trace.trace(Trace.WARNING, "Could not load module publish info information: " + e.getMessage());
 		}
 	}
 
@@ -131,7 +131,7 @@
 		if (memento == null)
 			return EMPTY_MODULE_RESOURCE;
 		
-		List<IModuleResource> list = new ArrayList<IModuleResource>(10);
+		List list = new ArrayList(10);
 		
 		// load files
 		IMemento[] children = memento.getChildren(FILE);
@@ -210,9 +210,9 @@
 			out.writeUTF(moduleId);
 			byte b = 0;
 			if (name != null)
-				b &= 1;
+				b |= 1;
 			if (moduleType != null)
-				b &= 2;
+				b |= 2;
 			out.writeByte(b);
 			
 			if (name != null)
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java
index 5e5b48d..72ded94 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java
@@ -26,9 +26,9 @@
 	protected String version;
 
 	//	cached copy of all module kinds
-	private static List<ModuleKind> moduleKinds;
+	private static List moduleKinds;
 
-	private static List<ModuleType> moduleTypes;
+	private static List moduleTypes;
 
 	public ModuleType(String id, String version) {
 		super();
@@ -61,7 +61,7 @@
 	 */
 	public synchronized static ModuleType getModuleType(String id, String version) {
 		if (moduleTypes == null)
-			moduleTypes = new ArrayList<ModuleType>();
+			moduleTypes = new ArrayList();
 		
 		// look for an existing one first
 		Iterator iterator = moduleTypes.iterator();
@@ -116,7 +116,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleTypes");
 
 		int size = cf.length;
-		moduleKinds = new ArrayList<ModuleKind>(size);
+		moduleKinds = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				ModuleKind moduleType = new ModuleKind(cf[i]);
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java
index af7df70..839d7dc 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java
@@ -74,7 +74,7 @@
 			else
 				serverProject = false;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load preferences", e);
+			Trace.trace(Trace.SEVERE, "Could not load preferences: " + e.getMessage());
 		} finally {
 			try {
 				if (in != null)
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java
index 6136394..f489a33 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java
@@ -25,10 +25,10 @@
 	protected static final String PUBLISH_DIR = "publish";
 
 	// map of server ids to Strings of filename containing publish data
-	protected Map<String, String> serverIdToPath;
+	protected Map serverIdToPath;
 
 	// map of loaded serverIds to publish info
-	protected Map<String, ServerPublishInfo> serverIdToPublishInfo;
+	protected Map serverIdToPublishInfo;
 
 	/**
 	 * PublishInfo constructor comment.
@@ -36,8 +36,8 @@
 	private PublishInfo() {
 		super();
 	
-		serverIdToPath = new HashMap<String, String>();
-		serverIdToPublishInfo = new HashMap<String, ServerPublishInfo>();
+		serverIdToPath = new HashMap();
+		serverIdToPublishInfo = new HashMap();
 		load();
 	}
 
@@ -66,10 +66,10 @@
 		String serverId = server.getId();
 		if (serverIdToPath.containsKey(serverId)) {
 			if (serverIdToPublishInfo.containsKey(serverId))
-				return serverIdToPublishInfo.get(serverId);
+				return (ServerPublishInfo) serverIdToPublishInfo.get(serverId);
 			
 			// force .dat extension
-			String partialPath = serverIdToPath.get(serverId);
+			String partialPath = (String) serverIdToPath.get(serverId);
 			partialPath = partialPath.substring(0, partialPath.length() - 3) + "dat";
 			IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append(partialPath);
 			ServerPublishInfo spi = new ServerPublishInfo(path);
@@ -116,7 +116,7 @@
 			return;
 		
 		String serverId = server.getId();
-		String path2 = serverIdToPath.get(serverId);
+		String path2 = (String) serverIdToPath.get(serverId);
 		synchronized (PUBLISH_DIR) {
 			serverIdToPath.remove(serverId);
 			serverIdToPublishInfo.remove(serverId);
@@ -143,7 +143,7 @@
 			
 			IMemento[] serverChild = memento.getChildren("server");
 			int size = serverChild.length;
-			serverIdToPath = new HashMap<String, String>(size + 2);
+			serverIdToPath = new HashMap(size + 2);
 			
 			for (int i = 0; i < size; i++) {
 				String id = serverChild[i].getString("id");
@@ -151,7 +151,7 @@
 				serverIdToPath.put(id, partialPath);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load global publish info", e);
+			Trace.trace(Trace.WARNING, "Could not load global publish info: " + e.getMessage());
 		}
 	}
 
@@ -167,7 +167,7 @@
 			Iterator iterator = serverIdToPath.keySet().iterator();
 			while (iterator.hasNext()) {
 				String serverId = (String) iterator.next();
-				String partialPath = serverIdToPath.get(serverId);
+				String partialPath = (String) serverIdToPath.get(serverId);
 				
 				IMemento server = memento.createChild("server");
 				server.putString("id", serverId);
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java
index b8ede5c..519f06e 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java
@@ -68,7 +68,7 @@
 				delegate = (PublishTaskDelegate) element.createExecutableExtension("class");
 				Trace.trace(Trace.PERFORMANCE, "PublishTask.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getId());
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
@@ -84,7 +84,7 @@
 			if (po != null)
 				return po;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 		return new PublishOperation[0];
 	}
@@ -99,7 +99,7 @@
 			if (po != null)
 				return po;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 		return new PublishOperation[0];
 	}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
index c71bd68..d593854 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
@@ -40,15 +40,15 @@
 	private static ResourceManager instance;
 
 	// currently active runtimes and servers
-	protected List<IRuntime> runtimes;
-	protected List<IServer> servers;
+	protected List runtimes;
+	protected List servers;
 
 	// lifecycle listeners
-	protected transient List<IRuntimeLifecycleListener> runtimeListeners;
-	protected transient List<IServerLifecycleListener> serverListeners;
+	protected List runtimeListeners = new ArrayList(3);
+	protected List serverListeners = new ArrayList(3);
 
 	// cache for disposing servers & runtimes
-	protected List<String> activeBundles;
+	protected List activeBundles;
 
 	// resource change listeners
 	private IResourceChangeListener resourceChangeListener;
@@ -61,7 +61,7 @@
 	private static boolean initialized;
 	private static boolean initializing;
 	
-	protected static List<String> serverProjects = new ArrayList<String>();
+	protected static List serverProjects = new ArrayList();
 
 	/**
 	 * Server resource change listener.
@@ -217,8 +217,8 @@
 			e.printStackTrace();
 		}*/
 		
-		servers = new ArrayList<IServer>();
-		activeBundles = new ArrayList<String>();
+		servers = new ArrayList();
+		activeBundles = new ArrayList();
 		
 		loadRuntimesList();
 		loadServersList();
@@ -250,8 +250,12 @@
 		if (projects != null) {
 			int size = projects.length;
 			for (int i = 0; i < size; i++) {
-				if (ServerPlugin.getProjectProperties(projects[i]).isServerProject())
+				if (ServerPlugin.getProjectProperties(projects[i]).isServerProject()) {
+					String projectName = projects[i].getName();
+					if (!serverProjects.contains(projectName))
+						serverProjects.add(projectName);
 					loadFromProject(projects[i]);
+				}
 			}
 		}
 		
@@ -372,42 +376,44 @@
 	 * 
 	 */
 	public void addRuntimeLifecycleListener(IRuntimeLifecycleListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
-	
-		if (runtimeListeners == null)
-			runtimeListeners = new ArrayList<IRuntimeLifecycleListener>(3);
-		runtimeListeners.add(listener);
+		Trace.trace(Trace.LISTENERS, "Adding runtime lifecycle listener " + listener + " to " + this);
+		
+		synchronized (runtimeListeners) {
+			runtimeListeners.add(listener);
+		}
 	}
 	
 	/*
 	 *
 	 */
 	public void removeRuntimeLifecycleListener(IRuntimeLifecycleListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing server resource listener " + listener + " from " + this);
-	
-		if (runtimeListeners != null)
+		Trace.trace(Trace.LISTENERS, "Removing runtime lifecycle listener " + listener + " from " + this);
+		
+		synchronized (runtimeListeners) {
 			runtimeListeners.remove(listener);
+		}
 	}
 	
 	/*
 	 * 
 	 */
 	public void addServerLifecycleListener(IServerLifecycleListener listener) {
-		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
-	
-		if (serverListeners == null)
-			serverListeners = new ArrayList<IServerLifecycleListener>(3);
-		serverListeners.add(listener);
+		Trace.trace(Trace.LISTENERS, "Adding server lifecycle listener " + listener + " to " + this);
+		
+		synchronized (serverListeners) {
+			serverListeners.add(listener);
+		}
 	}
 	
 	/*
 	 *
 	 */
 	public void removeServerLifecycleListener(IServerLifecycleListener listener) {
-		Trace.trace(Trace.LISTENERS, "Removing server resource listener " + listener + " from " + this);
-	
-		if (serverListeners != null)
+		Trace.trace(Trace.LISTENERS, "Removing server lifecycle listener " + listener + " from " + this);
+		
+		synchronized (serverListeners) {
 			serverListeners.remove(listener);
+		}
 	}
 	
 	/**
@@ -456,24 +462,26 @@
 	private void fireRuntimeEvent(final IRuntime runtime, byte b) {
 		Trace.trace(Trace.LISTENERS, "->- Firing runtime event: " + runtime.getName() + " ->-");
 		
-		if (runtimeListeners == null || runtimeListeners.isEmpty())
+		if (runtimeListeners.isEmpty())
 			return;
-	
-		int size = runtimeListeners.size();
-		IRuntimeLifecycleListener[] srl = new IRuntimeLifecycleListener[size];
-		runtimeListeners.toArray(srl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing runtime event to " + srl[i]);
-			try {
-				if (b == EVENT_ADDED)
-					srl[i].runtimeAdded(runtime);
-				else if (b == EVENT_CHANGED)
-					srl[i].runtimeChanged(runtime);
-				else
-					srl[i].runtimeRemoved(runtime);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing runtime event to " + srl[i], e);
+		
+		synchronized (runtimeListeners) {
+			int size = runtimeListeners.size();
+			IRuntimeLifecycleListener[] srl = new IRuntimeLifecycleListener[size];
+			runtimeListeners.toArray(srl);
+		
+			for (int i = 0; i < size; i++) {
+				Trace.trace(Trace.LISTENERS, "  Firing runtime event to " + srl[i]);
+				try {
+					if (b == EVENT_ADDED)
+						srl[i].runtimeAdded(runtime);
+					else if (b == EVENT_CHANGED)
+						srl[i].runtimeChanged(runtime);
+					else
+						srl[i].runtimeRemoved(runtime);
+				} catch (Exception e) {
+					Trace.trace(Trace.SEVERE, "  Error firing runtime event to " + srl[i], e);
+				}
 			}
 		}
 		Trace.trace(Trace.LISTENERS, "-<- Done firing runtime event -<-");
@@ -485,24 +493,26 @@
 	private void fireServerEvent(final IServer server, byte b) {
 		Trace.trace(Trace.LISTENERS, "->- Firing server event: " + server.getName() + " ->-");
 		
-		if (serverListeners == null || serverListeners.isEmpty())
+		if (serverListeners.isEmpty())
 			return;
-	
-		int size = serverListeners.size();
-		IServerLifecycleListener[] srl = new IServerLifecycleListener[size];
-		serverListeners.toArray(srl);
-	
-		for (int i = 0; i < size; i++) {
-			Trace.trace(Trace.LISTENERS, "  Firing server event to " + srl[i]);
-			try {
-				if (b == EVENT_ADDED)
-					srl[i].serverAdded(server);
-				else if (b == EVENT_CHANGED)
-					srl[i].serverChanged(server);
-				else
-					srl[i].serverRemoved(server);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "  Error firing server event to " + srl[i], e);
+		
+		synchronized (serverListeners) {
+			int size = serverListeners.size();
+			IServerLifecycleListener[] srl = new IServerLifecycleListener[size];
+			serverListeners.toArray(srl);
+		
+			for (int i = 0; i < size; i++) {
+				Trace.trace(Trace.LISTENERS, "  Firing server event to " + srl[i]);
+				try {
+					if (b == EVENT_ADDED)
+						srl[i].serverAdded(server);
+					else if (b == EVENT_CHANGED)
+						srl[i].serverChanged(server);
+					else
+						srl[i].serverRemoved(server);
+				} catch (Exception e) {
+					Trace.trace(Trace.SEVERE, "  Error firing server event to " + srl[i], e);
+				}
 			}
 		}
 		Trace.trace(Trace.LISTENERS, "-<- Done firing server event -<-");
@@ -541,8 +551,10 @@
 			while (iterator.hasNext()) {
 				Server server = (Server) iterator.next();
 				
-				IMemento child = memento.createChild("server");
-				server.save(child);
+				if (server.getFile() == null) {
+					IMemento child = memento.createChild("server");
+					server.save(child);
+				}
 			}
 			
 			memento.saveToFile(filename);
@@ -556,7 +568,7 @@
 		Preferences prefs = ServerPlugin.getInstance().getPluginPreferences();
 		String xmlString = prefs.getString("runtimes");
 		
-		runtimes = new ArrayList<IRuntime>();
+		runtimes = new ArrayList();
 		if (xmlString != null && xmlString.length() > 0) {
 			try {
 				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
@@ -571,7 +583,7 @@
 					runtimes.add(runtime);
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load runtimes", e);
+				Trace.trace(Trace.WARNING, "Could not load runtimes: " + e.getMessage());
 			}
 		}
 	}
@@ -592,7 +604,7 @@
 				servers.add(server);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load servers", e);
+			Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage());
 		}
 		
 		if (ServerPreferences.getInstance().isSyncOnStartup()) {
@@ -666,7 +678,7 @@
 		if (!initialized)
 			init();
 		
-		List<IRuntime> list = new ArrayList<IRuntime>(runtimes);
+		List list = new ArrayList(runtimes);
 		
 		IRuntime[] r = new IRuntime[list.size()];
 		list.toArray(r);
@@ -829,7 +841,7 @@
 				IServer server = loadServer(file, ProgressUtil.getSubMonitorFor(monitor, 1000));
 				if (server != null) {
 					if (getServer(server.getId()) == null)
-						registerServer(server);
+						addServer(server);
 					monitor.done();
 					return true;
 				}
@@ -928,7 +940,7 @@
 				((Server) server).loadFromFile(monitor);
 				fireServerEvent(server, EVENT_CHANGED);
 			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file, e);
+				Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file + ": " + e.getMessage());
 				deregisterServer(server);
 			}
 		} else
@@ -950,7 +962,7 @@
 		
 		IServer server = findServer(file);
 		if (server != null) {
-			deregisterServer(server);
+			removeServer(server);
 			return true;
 		}
 		
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java
index f1aaac4..7f0066c 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java
@@ -13,6 +13,7 @@
 import org.eclipse.core.runtime.*;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServer.IOperationListener;
 import org.eclipse.wst.server.core.internal.ServerSchedulingRule;
 /**
  * A job for restarting a server.
@@ -32,20 +33,29 @@
 	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	protected IStatus run(IProgressMonitor monitor) {
-		final IStatus[] status = new IStatus[1];
-		getServer().restart(launchMode, new IServer.IOperationListener() {
+		IOperationListener listener2 = new IOperationListener() {
 			public void done(IStatus result) {
-				status[0] = result;
+				isRestartCompleted = true;
+				resultStatus = result;
 			}
-		});
+		};
+		getServer().restart(launchMode, listener2);
 		
-		while (status[0] == null & !monitor.isCanceled()) {
+		// block util the restart is completed
+		while (!isRestartCompleted) {
+			if (monitor.isCanceled())
+				return Status.CANCEL_STATUS;
+			
 			try {
-				Thread.sleep(200);
-			} catch (Exception e) {
-				// ignore
+				Thread.sleep(250);
+			} catch (InterruptedException e) {
+				// Do nothing.
 			}
 		}
-		return status[0];
+		
+		if (resultStatus != null)
+			return resultStatus;
+		
+		return Status.OK_STATUS;
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java
index 95cda3f..0f83e78 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java
@@ -61,7 +61,7 @@
 			try {
 				delegate = (RuntimeLocatorDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
@@ -79,7 +79,7 @@
 				}
 			}, monitor);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 	}
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
index d1d1def..c74f28b 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
@@ -22,7 +22,7 @@
  */
 public class RuntimeType implements IRuntimeType {
 	private IConfigurationElement element;
-	private List<IModuleType> moduleTypes;
+	private List moduleTypes;
 
 	public RuntimeType(IConfigurationElement element) {
 		super();
@@ -143,7 +143,6 @@
 			return null;
 		
 		RuntimeWorkingCopy rwc = new RuntimeWorkingCopy(null, id, this);
-		ServerUtil.setRuntimeDefaultName(rwc);
 		rwc.setDefaults(monitor);
 		return rwc;
 	}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java
index f93051a..2968f2d 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java
@@ -29,6 +29,7 @@
  * 
  */
 public class RuntimeWorkingCopy extends Runtime implements IRuntimeWorkingCopy {
+	protected String PROP_ID_SET = "id-set";
 	protected Runtime runtime;
 	protected WorkingCopyHelper wch;
 	
@@ -45,10 +46,10 @@
 		
 		runtimeType = runtime.getRuntimeType();
 		
-		map = new HashMap<String, Object>(runtime.map);
+		map = new HashMap(runtime.map);
 		wch = new WorkingCopyHelper(this);
 	}
-
+	
 	/**
 	 * Create a new runtime working copy for a new runtime.
 	 * 
@@ -60,6 +61,14 @@
 		super(file, id, runtimeType);
 		wch = new WorkingCopyHelper(this);
 		wch.setDirty(true);
+		
+		if (id == null || id.length() == 0) {
+			id = ServerPlugin.generateId();
+			map.put(PROP_ID, id);
+		} else
+			setAttribute(PROP_ID_SET, true);
+		
+		// throw CoreException if the id already exists
 	}
 
 	/**
@@ -83,12 +92,12 @@
 	public void setAttribute(String attributeName, boolean value) {
 		wch.setAttribute(attributeName, value);
 	}
-
+	
 	public void setAttribute(String attributeName, String value) {
 		wch.setAttribute(attributeName, value);
 	}
 
-	public void setAttribute(String attributeName, List<String> value) {
+	public void setAttribute(String attributeName, List value) {
 		wch.setAttribute(attributeName, value);
 	}
 
@@ -109,7 +118,7 @@
 	public void setTestEnvironment(boolean b) {
 		setAttribute(PROP_TEST_ENVIRONMENT, b);
 	}
-
+	
 	/**
 	 * @see IRuntimeWorkingCopy#setStub(boolean)
 	 */
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
index f121f08..a6619de 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
@@ -36,7 +36,7 @@
 	 */
 	public static final String ATTR_SERVER_ID = "server-id";
 
-	protected static final List<String> EMPTY_LIST = new ArrayList<String>(0);
+	protected static final List EMPTY_LIST = new ArrayList(0);
 
 	/**
 	 * File extension (value "server") for serialized representation of
@@ -76,10 +76,10 @@
 	protected IFolder configuration;
 
 	// the list of modules that are to be published to the server
-	protected List<IModule> modules;
+	protected List modules;
 
 	// the list of external modules
-	protected List<IModule> externalModules;
+	protected List externalModules;
 
 	// transient fields
 	protected transient String mode = ILaunchManager.RUN_MODE;
@@ -87,12 +87,12 @@
 	protected transient int serverSyncState;
 	protected transient boolean serverRestartNeeded;
 
-	protected transient Map<String, Integer> moduleState = new HashMap<String, Integer>();
-	protected transient Map<String, Integer> modulePublishState = new HashMap<String, Integer>();
-	protected transient Map<String, Boolean> moduleRestartState = new HashMap<String, Boolean>();
+	protected transient Map moduleState = new HashMap();
+	protected transient Map modulePublishState = new HashMap();
+	protected transient Map moduleRestartState = new HashMap();
 
 	protected transient IStatus serverStatus;
-	protected transient Map<String, IStatus> moduleStatus = new HashMap<String, IStatus>();
+	protected transient Map moduleStatus = new HashMap();
 
 	protected transient ServerPublishInfo publishInfo;
 	protected transient AutoPublishThread autoPublishThread;
@@ -103,7 +103,7 @@
 	};*/
 
 	// publish listeners
-	protected transient List<IPublishListener> publishListeners;
+	protected transient List publishListeners;
 
 	// Server listeners
 	protected transient ServerNotificationManager notificationManager;
@@ -164,7 +164,7 @@
 
 		protected IStatus run(IProgressMonitor monitor) {
 			final boolean[] changed = new boolean[1];
-			final List<IModule[]> modules2 = new ArrayList<IModule[]>();
+			final List modules2 = new ArrayList();
 			
 			IModuleVisitor visitor = new IModuleVisitor() {
 				public boolean visit(IModule[] module2) {
@@ -249,7 +249,7 @@
 
 	protected void deleteFromFile() throws CoreException {
 		super.deleteFromFile();
-		ResourceManager.getInstance().deregisterServer(this);
+		ResourceManager.getInstance().removeServer(this);
 	}
 
 	protected void deleteFromMetadata() {
@@ -258,7 +258,7 @@
 
 	protected void saveToFile(IProgressMonitor monitor) throws CoreException {
 		super.saveToFile(monitor);
-		ResourceManager.getInstance().registerServer(this);
+		ResourceManager.getInstance().addServer(this);
 	}
 
 	protected void saveToMetadata(IProgressMonitor monitor) {
@@ -307,7 +307,7 @@
 		if (behaviourDelegate != null || serverType == null)
 			return behaviourDelegate;
 		
-		synchronized (this) {
+		synchronized (moduleState) {
 			if (behaviourDelegate == null) {
 				try {
 					long time = System.currentTimeMillis();
@@ -354,7 +354,7 @@
     * 
     * @return a list of publish operation ids
     */
-	public List<String> getDisabledPreferredPublishOperationIds() {
+	public List getDisabledPreferredPublishOperationIds() {
 		return getAttribute(PROP_DISABLED_PERFERRED_TASKS, EMPTY_LIST);		
 	}
 
@@ -364,7 +364,7 @@
     * 
     * @return a list of publish operation ids
     */
-	public List<String> getEnabledOptionalPublishOperationIds() {
+	public List getEnabledOptionalPublishOperationIds() {
 		return getAttribute(PROP_ENABLED_OPTIONAL_TASKS, EMPTY_LIST);
 	}
 
@@ -538,12 +538,12 @@
 			return;
 		
 		Boolean b = new Boolean(r);
-		moduleRestartState.put(getKey(module), b);
+		moduleState.put(getKey(module), b);
 		fireModuleRestartChangeEvent(module);
 	}
 
 	public void setExternalModules(IModule[] modules) {
-		externalModules = new ArrayList<IModule>();
+		externalModules = new ArrayList();
 		if (modules != null) {
 			int size = modules.length;
 			for (int i = 0; i < size; i++)
@@ -551,7 +551,7 @@
 		}
 	}
 
-	protected List<IModule> getExternalModules() {
+	protected List getExternalModules() {
 		return externalModules;
  	}
 
@@ -658,7 +658,7 @@
 		Trace.trace(Trace.LISTENERS, "Adding publish listener " + listener + " to " + this);
 
 		if (publishListeners == null)
-			publishListeners = new ArrayList<IPublishListener>();
+			publishListeners = new ArrayList();
 		publishListeners.add(listener);
 	}
 
@@ -886,7 +886,7 @@
 			getServerPublishInfo().startCaching();
 			IStatus status = getBehaviourDelegate(monitor).publish(kind, monitor);
 			
-			final List<IModule[]> modules2 = new ArrayList<IModule[]>();
+			final List modules2 = new ArrayList();
 			visit(new IModuleVisitor() {
 				public boolean visit(IModule[] module) {
 					if (getModulePublishState(module) == IServer.PUBLISH_STATE_NONE)
@@ -919,7 +919,7 @@
 	 * @return a possibly empty array of IOptionalTasks
 	 */
 	public PublishOperation[] getTasks(int kind, List moduleList, List kindList) {
-		List<PublishOperation> tasks = new ArrayList<PublishOperation>();
+		List tasks = new ArrayList();
 		
 		String serverTypeId = getServerType().getId();
 		
@@ -963,11 +963,11 @@
 		
 		Collections.sort(tasks, PUBLISH_OPERATION_COMPARTOR);
 		
-		return tasks.toArray(new PublishOperation[tasks.size()]);
+		return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]);
 	}
 
 	/**
-	 * Returns all publish tasks that have been targeted to this server type.
+	 * Returns all publish tasks that have been targetted to this server type.
 	 * The tasks will not be initialized with a task model. 
 	 * 
 	 * @param moduleList a list of modules
@@ -978,7 +978,7 @@
 		if (serverTypeId == null)
 			return new PublishOperation[0];
 		
-		List<PublishOperation> tasks = new ArrayList<PublishOperation>();
+		List tasks = new ArrayList();
 		
 		IPublishTask[] publishTasks = ServerPlugin.getPublishTasks();
 		if (publishTasks != null) {
@@ -994,7 +994,7 @@
 		
 		Collections.sort(tasks, PUBLISH_OPERATION_COMPARTOR);
 		
-		return tasks.toArray(new PublishOperation[tasks.size()]);
+		return (PublishOperation[])tasks.toArray(new PublishOperation[tasks.size()]);
 	}
 
 	public String getPublishOperationId(PublishOperation op) {
@@ -1007,8 +1007,8 @@
 	 * 
 	 * @return a list of IModule[]
 	 */
-	public List<IModule[]> getAllModules() {
-		final List<IModule[]> moduleList = new ArrayList<IModule[]>();
+	public List getAllModules() {
+		final List moduleList = new ArrayList();
 		
 		IModuleVisitor visitor = new IModuleVisitor() {
 			public boolean visit(IModule[] module) {
@@ -1449,12 +1449,8 @@
 		
 		try {
 			getBehaviourDelegate(null).stop(force);
-		} catch (RuntimeException e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate stop() " + toString(), e);
-			throw e;
 		} catch (Throwable t) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate stop() " + toString(), t);
-			throw new RuntimeException(t);
 		}
 	}
 
@@ -1462,10 +1458,8 @@
 	 * @see IServer#start(String, IOperationListener)
 	 */
 	public void start(String mode2, IOperationListener listener2) {
-		if (getServerType() == null) {
-			listener2.done(Status.OK_STATUS);
+		if (getServerType() == null)
 			return;
-		}
 		
 		Trace.trace(Trace.FINEST, "synchronousStart 1");
 		final Object mutex = new Object();
@@ -1791,33 +1785,30 @@
 							t.start();
 						}
 					}
+					
 				}
 			});
-			
+	
 			// stop the server
 			stop(false);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error restarting server", e);
-			listener.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null));
+			listener.done(null);
 		}
 	}
-
+	
 	/*
 	 * @see IServer#stop(boolean, IOperationListener)
 	 */
 	public void stop(boolean force, IOperationListener listener2) {
-		if (getServerType() == null) {
-			listener2.done(Status.OK_STATUS);
+		if (getServerType() == null)
 			return;
-		}
 		
-		if (getServerState() == IServer.STATE_STOPPED) {
-			listener2.done(Status.OK_STATUS);
+		if (getServerState() == IServer.STATE_STOPPED)
 			return;
-		}
 		
 		final Object mutex = new Object();
-		
+	
 		// add listener to the server
 		IServerListener listener = new IServerListener() {
 			public void serverChanged(ServerEvent event) {
@@ -1868,16 +1859,10 @@
 			thread.setDaemon(true);
 			thread.start();
 		}
-		
+	
 		// stop the server
-		try {
-			stop(force);
-		} catch (RuntimeException e) {
-			removeServerListener(listener);
-			listener2.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorRestartFailed, getName()), null));
-			return;
-		}
-		
+		stop(force);
+	
 		// wait for it! wait for it!
 		synchronized (mutex) {
 			try {
@@ -1889,11 +1874,15 @@
 		}
 		removeServerListener(listener);
 		
-		if (timer.timeout) {
-			listener2.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorRestartFailed, getName()), null));
-			return;
-		}
+		/*
+		//can't throw exceptions
+		if (timer.timeout)
+			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));
+		else
+			timer.alreadyDone = true;
 		
+		if (getServerState() == IServer.STATE_STOPPED)
+			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));*/
 		listener2.done(Status.OK_STATUS);
 	}
 
@@ -2112,7 +2101,7 @@
 	}
 
 	protected void setInternal(ServerWorkingCopy wc) {
-		map = new HashMap<String, Object>(wc.map);
+		map = new HashMap(wc.map);
 		configuration = wc.configuration;
 		runtime = wc.runtime;
 		serverSyncState = wc.serverSyncState;
@@ -2189,7 +2178,7 @@
 			return getDelegate(monitor).canModifyModules(add, remove);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate canModifyModules() " + toString(), e);
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, e.getMessage(), e);
+			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, e.getMessage(), null);
 		}
 	}
 
@@ -2199,11 +2188,11 @@
 	public IModule[] getModules() {
 		if (modules == null) {
 			// convert from attribute
-			List<String> list = getAttribute(MODULE_LIST, (List<String>) null);
+			List list = getAttribute(MODULE_LIST, (List) null);
 			if (list == null)
-				list = new ArrayList<String>(1);
+				list = new ArrayList(1);
 			
-			modules = new ArrayList<IModule>(list.size() + 1);
+			modules = new ArrayList(list.size() + 1);
 			Iterator iterator = list.iterator();
 			while (iterator.hasNext()) {
 				String moduleId = (String) iterator.next();
@@ -2258,7 +2247,7 @@
 		if (module == null || module.length == 0)
 			throw new IllegalArgumentException("Module cannot be null or empty");
 		try {
-			Integer in = moduleState.get(getKey(module));
+			Integer in = (Integer) moduleState.get(getKey(module));
 			if (in != null)
 				return in.intValue();
 		} catch (Exception e) {
@@ -2274,7 +2263,7 @@
 		if (module == null || module.length == 0)
 			throw new IllegalArgumentException("Module cannot be null or empty");
 		try {
-			Integer in = modulePublishState.get(getKey(module));
+			Integer in = (Integer) modulePublishState.get(getKey(module));
 			if (in != null)
 				return in.intValue();
 		} catch (Exception e) {
@@ -2316,7 +2305,7 @@
 		try {
 			return getDelegate(monitor).getRootModules(module);
 		} catch (CoreException se) {
-			//Trace.trace(Trace.FINER, "CoreException calling delegate getParentModules() " + toString(), se);
+			//Trace.trace(Trace.FINER, "CoreException calling delegate getParentModules() " + toString() + ": " + se.getMessage());
 			throw se;
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate getParentModules() " + toString(), e);
@@ -2360,7 +2349,7 @@
 		if (module == null || module.length == 0)
 			throw new IllegalArgumentException("Module cannot be null or empty");
 		try {
-			Boolean b = moduleRestartState.get(getKey(module));
+			Boolean b = (Boolean) moduleRestartState.get(getKey(module));
 			if (b != null)
 				return b.booleanValue();
 		} catch (Exception e) {
@@ -2499,7 +2488,7 @@
 		if (module == null || module.length == 0)
 			throw new IllegalArgumentException("Module cannot be null or empty");
 		try {
-			return moduleStatus.get(getKey(module));
+			return (IStatus) moduleStatus.get(getKey(module));
 		} catch (Exception e) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
index 9860997..23a009a 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
@@ -66,7 +66,7 @@
 			try {
 				delegate = (ServerMonitorDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
@@ -88,7 +88,7 @@
 		} catch (CoreException ce) {
 			throw ce;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 			return -1;
 		}
 	}
@@ -103,7 +103,7 @@
 		try {
 			getDelegate().stopMonitoring(server, port);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
 	}
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
index 0016b0e..996b78e 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
@@ -25,7 +25,7 @@
 	
 	protected static ServerMonitorManager instance;
 
-	protected List<MonitoredPort> ports = new ArrayList<MonitoredPort>(); 
+	protected List ports = new ArrayList(); 
 	protected ServerMonitor monitor;
 	
 	class MonitoredPort implements IMonitoredServerPort {
@@ -212,7 +212,7 @@
 	 * @return a possibly empty array of monitored server ports
 	 */
 	public IMonitoredServerPort[] getMonitoredPorts(IServer server) {
-		List<IMonitoredServerPort> list = new ArrayList<IMonitoredServerPort>();
+		List list = new ArrayList();
 		Iterator iterator = ports.iterator();
 		while (iterator.hasNext()) {
 			MonitoredPort mp = (MonitoredPort) iterator.next();
@@ -220,7 +220,9 @@
 				list.add(mp);
 		}
 		
-		return list.toArray(new IMonitoredServerPort[list.size()]);
+		IMonitoredServerPort[] msp = new IMonitoredServerPort[list.size()];
+		list.toArray(msp);
+		return msp;
 	}
 
 	/**
@@ -363,7 +365,7 @@
 				}
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load monitor info", e);
+			Trace.trace(Trace.WARNING, "Could not load monitor info: " + e.getMessage());
 		}
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
index f83fd64..5ff2b1f 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
@@ -20,7 +20,7 @@
  * Notification manager for server.
  */
 public class ServerNotificationManager {
-	private List<ListenerEntry> listenerList = new ArrayList<ListenerEntry>();
+	private List listenerList = new ArrayList();
 
 	/**
 	 * For masking event on all changes.
@@ -91,7 +91,7 @@
 		ListenerEntry[] listeners;
 		synchronized (listenerList) {
 			size = listenerList.size();
-			listeners = listenerList.toArray(new ListenerEntry[size]);
+			listeners = (ListenerEntry[]) listenerList.toArray(new ListenerEntry[size]);
 		}
 		for (int i = 0; i < size; i++) {
 			ListenerEntry curEntry = listeners[i];
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java
index c3494ac..85a6f72 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java
@@ -19,10 +19,7 @@
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IServerAttributes;
 import org.eclipse.wst.server.core.ServerCore;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
@@ -40,34 +37,34 @@
 	protected static int num = 0;
 
 	// cached copy of all launchable adapters
-	private static List<ILaunchableAdapter> launchableAdapters;
+	private static List launchableAdapters;
 
 	// cached copy of all launchable clients
-	private static List<IClient> clients;
+	private static List clients;
 
 	// cached copy of all module factories
-	private static List<ModuleFactory> moduleFactories;
+	private static List moduleFactories;
 
 	// singleton instance of this class
 	private static ServerPlugin singleton;
 
 	// cached copy of all publish tasks
-	private static List<IPublishTask> publishTasks;
+	private static List publishTasks;
 
 	//	cached copy of all server monitors
-	private static List<IServerMonitor> monitors;
+	private static List monitors;
 
 	//	cached copy of all runtime locators
-	private static List<IRuntimeLocator> runtimeLocators;
+	private static List runtimeLocators;
 
 	// cached copy of all module artifact adapters
-	private static List<ModuleArtifactAdapter> moduleArtifactAdapters;
+	private static List moduleArtifactAdapters;
 
 	//	cached copy of all installable servers
-	private static List<IInstallableServer> installableServers;
+	private static List installableServers;
 
 	//	cached copy of all installable runtimes
-	private static List<IInstallableRuntime> installableRuntimes;
+	private static List installableRuntimes;
 
 	// registry listener
 	private static IRegistryChangeListener registryListener;
@@ -85,7 +82,7 @@
 	}
 
 	// temp directories - String key to TempDir
-	protected Map<String, TempDir> tempDirHash;
+	protected Map tempDirHash;
 
 	/**
 	 * server core plugin id
@@ -135,7 +132,7 @@
 		// first, look through hash of current directories
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		try {
-			TempDir dir = tempDirHash.get(key);
+			TempDir dir = (TempDir) tempDirHash.get(key);
 			if (dir != null) {
 				dir.age = 0;
 				return statePath.append(dir.path);
@@ -175,7 +172,7 @@
 		
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		try {
-			TempDir dir = tempDirHash.get(key);
+			TempDir dir = (TempDir) tempDirHash.get(key);
 			if (dir != null) {
 				tempDirHash.remove(key);
 				saveTempDirInfo();
@@ -194,7 +191,7 @@
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		String filename = statePath.append(TEMP_DATA_FILE).toOSString();
 		
-		tempDirHash = new HashMap<String, TempDir>();
+		tempDirHash = new HashMap();
 		try {
 			IMemento memento = XMLMemento.loadMemento(filename);
 			
@@ -211,7 +208,7 @@
 				tempDirHash.put(key, d);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load temporary directory information", e);
+			Trace.trace(Trace.WARNING, "Could not load temporary directory information: " + e.getMessage());
 		}
 	}
 
@@ -238,7 +235,7 @@
 			Iterator iterator = tempDirHash.keySet().iterator();
 			while (iterator.hasNext()) {
 				String key = (String) iterator.next();
-				TempDir d = tempDirHash.get(key);
+				TempDir d = (TempDir) tempDirHash.get(key);
 	
 				if (d.age < 5) {
 					IMemento child = memento.createChild("temp-directory");
@@ -325,48 +322,6 @@
 		context.removeBundleListener(bundleListener);
 	}
 
-	private static void addAll(List<Object> list, Object[] obj) {
-		if (obj == null)
-			return;
-		
-		int size = obj.length;
-		for (int i = 0; i < size; i++) {
-			list.add(obj[i]);
-		}
-	}
-
-	/**
-	 * Returns true if a server or runtime exists with the given name.
-	 *
-	 * @param element an object
-	 * @param name a name
-	 * @return <code>true</code> if the name is in use, and <code>false</code>
-	 *    otherwise
-	 */
-	public static boolean isNameInUse(Object element, String name) {
-		if (name == null)
-			return true;
-		
-		List<Object> list = new ArrayList<Object>();
-		
-		addAll(list, ServerCore.getRuntimes());
-		addAll(list, ServerCore.getServers());
-		
-		if (element != null && list.contains(element))
-			list.remove(element);
-		
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServerAttributes && name.equalsIgnoreCase(((IServerAttributes)obj).getName()))
-				return true;
-			if (obj instanceof IRuntime && name.equalsIgnoreCase(((IRuntime)obj).getName()))
-				return true;
-		}
-	
-		return false;
-	}
-
 	/**
 	 * Utility method to tokenize a string into an array.
 	 * 
@@ -378,7 +333,7 @@
 		if (str == null)
 			return new String[0];
 		
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		
 		StringTokenizer st = new StringTokenizer(str, delim);
 		while (st.hasMoreTokens()) {
@@ -392,8 +347,8 @@
 		return s;
 	}
 
-	protected static List<org.eclipse.wst.server.core.IModuleType> getModuleTypes(IConfigurationElement[] elements) {
-		List<IModuleType> list = new ArrayList<IModuleType>();
+	protected static List getModuleTypes(IConfigurationElement[] elements) {
+		List list = new ArrayList();
 		if (elements == null)
 			return list;
 		
@@ -411,6 +366,15 @@
 		return list;
 	}
 
+	public static String generateId() {
+		String s = df.format(new Date()).toString() + num++;
+		s = s.replace(' ', '_');
+		s = s.replace(':', '_');
+		s = s.replace('/', '_');
+		s = s.replace('\\', '_');
+		return s;
+	}
+
 	/**
 	 * Returns true if ids contains id.
 	 * 
@@ -514,7 +478,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "launchableAdapters");
 
 		int size = cf.length;
-		List<ILaunchableAdapter> list = new ArrayList<ILaunchableAdapter>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new LaunchableAdapter(cf[i]));
@@ -538,7 +502,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "clients");
 		
 		int size = cf.length;
-		List<IClient> list = new ArrayList<IClient>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new Client(cf[i]));
@@ -592,7 +556,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "publishTasks");
 		
 		int size = cf.length;
-		List<IPublishTask> list = new ArrayList<IPublishTask>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new PublishTask(cf[i]));
@@ -712,7 +676,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleFactories");
 		
 		int size = cf.length;
-		List<ModuleFactory> list = new ArrayList<ModuleFactory>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ModuleFactory(cf[i]));
@@ -725,8 +689,8 @@
 		size = list.size();
 		for (int i = 0; i < size - 1; i++) {
 			for (int j = i + 1; j < size; j++) {
-				ModuleFactory a = list.get(i);
-				ModuleFactory b = list.get(j);
+				ModuleFactory a = (ModuleFactory) list.get(i);
+				ModuleFactory b = (ModuleFactory) list.get(j);
 				if (a.getOrder() > b.getOrder()) {
 					list.set(i, b);
 					list.set(j, a);
@@ -765,7 +729,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "internalServerMonitors");
 
 		int size = cf.length;
-		List<IServerMonitor> list = new ArrayList<IServerMonitor>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ServerMonitor(cf[i]));
@@ -806,7 +770,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "runtimeLocators");
 
 		int size = cf.length;
-		List<IRuntimeLocator> list = new ArrayList<IRuntimeLocator>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeLocator(cf[i]));
@@ -845,7 +809,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleArtifactAdapters");
 
 		int size = cf.length;
-		List<ModuleArtifactAdapter> list = new ArrayList<ModuleArtifactAdapter>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ModuleArtifactAdapter(cf[i]));
@@ -859,8 +823,8 @@
 		size = list.size();
 		for (int i = 0; i < size-1; i++) {
 			for (int j = i+1; j < size; j++) {
-				ModuleArtifactAdapter a = list.get(i);
-				ModuleArtifactAdapter b = list.get(j);
+				ModuleArtifactAdapter a = (ModuleArtifactAdapter) list.get(i);
+				ModuleArtifactAdapter b = (ModuleArtifactAdapter) list.get(j);
 				if (a.getPriority() < b.getPriority()) {
 					list.set(i, b);
 					list.set(j, a);
@@ -953,7 +917,7 @@
 		if (installableServers == null)
 			loadInstallableServers();
 		
-		List<IInstallableServer> availableServers = new ArrayList<IInstallableServer>();
+		List availableServers = new ArrayList();
 		Iterator iterator = installableServers.iterator();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		int size = runtimeTypes.length;
@@ -1031,7 +995,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableServers");
 		
 		int size = cf.length;
-		List<IInstallableServer> list = new ArrayList<IInstallableServer>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new InstallableServer(cf[i]));
@@ -1057,7 +1021,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableRuntimes");
 		
 		int size = cf.length;
-		List<IInstallableRuntime> list = new ArrayList<IInstallableRuntime>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new InstallableRuntime(cf[i]));
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
index b796700..c650032 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
@@ -43,7 +43,7 @@
 	protected IPath path;
 
 	// map of module ids to ModulePublishInfo
-	protected Map<String, ModulePublishInfo> modulePublishInfo;
+	protected Map modulePublishInfo;
 
 	/**
 	 * ServerPublishInfo constructor comment.
@@ -52,7 +52,7 @@
 		super();
 		
 		this.path = path;
-		modulePublishInfo = new HashMap<String, ModulePublishInfo>();
+		modulePublishInfo = new HashMap();
 		load();
 	}
 
@@ -82,7 +82,7 @@
 		if (moduleId == null || moduleId.length() == 0)
 			return new IModule[0];
 		
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		StringTokenizer st = new StringTokenizer(moduleId, "#");
 		while (st.hasMoreTokens()) {
 			String mid = st.nextToken();
@@ -131,7 +131,7 @@
 	 */
 	public void removeDeletedModulePublishInfo(Server server, List moduleList) {
 		int size = moduleList.size();
-		List<String> removed = new ArrayList<String>();
+		List removed = new ArrayList();
 		
 		Iterator iterator = modulePublishInfo.keySet().iterator();
 		while (iterator.hasNext()) {
@@ -147,7 +147,7 @@
 			
 			if (server != null) {
 				try {
-					Integer in = server.modulePublishState.get(key);
+					Integer in = (Integer) server.modulePublishState.get(key);
 					if (in != null && in.intValue() != IServer.PUBLISH_STATE_NONE)
 						found = true;
 				} catch (Exception e) {
@@ -174,7 +174,7 @@
 		
 		// check if it now exists
 		if (modulePublishInfo.containsKey(key))
-			return modulePublishInfo.get(key);
+			return (ModulePublishInfo) modulePublishInfo.get(key);
 		
 		// have to create a new one
 		IModule mod = module[module.length - 1];
@@ -183,22 +183,22 @@
 		return mpi;
 	}
 
-	public void addRemovedModules(List<IModule[]> moduleList, List<Integer> kindList) {
+	public void addRemovedModules(List moduleList, List kindList) {
 		int size = moduleList.size();
-		List<ModulePublishInfo> removed = new ArrayList<ModulePublishInfo>();
+		List removed = new ArrayList();
 		Iterator iterator = modulePublishInfo.keySet().iterator();
 		while (iterator.hasNext()) {
 			String key = (String) iterator.next();
 		
 			boolean found = false;
 			for (int i = 0; i < size; i++) {
-				IModule[] module = moduleList.get(i);
+				IModule[] module = (IModule[]) moduleList.get(i);
 				String key2 = getKey(module);
 				if (key != null && key.equals(key2))
 					found = true;
 			}
 			if (!found) {
-				ModulePublishInfo mpi = modulePublishInfo.get(key);
+				ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(key);
 				removed.add(mpi);
 			}
 		}
@@ -220,7 +220,7 @@
 						if (i == depth - 1)
 							module2[i] = mpi.getDeletedModule();
 						else {
-							ModulePublishInfo mpi2 = modulePublishInfo.get(s);
+							ModulePublishInfo mpi2 = (ModulePublishInfo) modulePublishInfo.get(s);
 							if (mpi2 != null)
 								module2[i] = mpi2.getDeletedModule();
 						}
@@ -242,7 +242,7 @@
 	 */
 	private String[] getModuleIds(String moduleId) {
 		StringTokenizer st = new StringTokenizer(moduleId, "#");
-		List<String> list = new ArrayList<String>(2);
+		List list = new ArrayList(2);
 		while (st.hasMoreTokens()) {
 			list.add(st.nextToken());
 		}
@@ -277,7 +277,7 @@
 					return;
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load publish information", e);
+				Trace.trace(Trace.WARNING, "Could not load publish information: " + e.getMessage());
 			}
 		}
 		
@@ -299,7 +299,7 @@
 					modulePublishInfo.put(getKey(mpi.getModuleId()), mpi);
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load publish information", e);
+				Trace.trace(Trace.WARNING, "Could not load publish information: " + e.getMessage());
 			}
 		}
 	}
@@ -323,7 +323,7 @@
 			Iterator iterator = modulePublishInfo.keySet().iterator();
 			while (iterator.hasNext()) {
 				String controlRef = (String) iterator.next();
-				ModulePublishInfo mpi = modulePublishInfo.get(controlRef);
+				ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(controlRef);
 				mpi.save(out);
 			}
 		} catch (Exception e) {
@@ -371,17 +371,17 @@
 		if (original == null || current == null)
 			return new IModuleResourceDelta[0];
 		
-		List<ModuleResourceDelta> list = new ArrayList<ModuleResourceDelta>();
+		List list = new ArrayList();
 		int size = original.length;
 		int size2 = current.length;
 		
-		Map<IModuleResource, IModuleResource> originalMap = new HashMap<IModuleResource, IModuleResource>(size);
+		Map originalMap = new HashMap(size);
 		for (int i = 0; i < size; i++)
 			originalMap.put(original[i], original[i]);
 		
 		// added and changed resources
 		for (int i = 0; i < size2; i++) {
-			IModuleResource old = originalMap.remove(current[i]);
+			IModuleResource old = (IModuleResource) originalMap.remove(current[i]);
 			if (old == null) {
 				ModuleResourceDelta delta = new ModuleResourceDelta(current[i], IModuleResourceDelta.ADDED);
 				if (current[i] instanceof IModuleFolder) {
@@ -423,7 +423,7 @@
 			}
 		}
 		
-		return list.toArray(new IModuleResourceDelta[list.size()]);
+		return (IModuleResourceDelta[]) list.toArray(new IModuleResourceDelta[list.size()]);
 	}
 
 	protected boolean hasDelta(IModule[] module) {
@@ -441,13 +441,13 @@
 		int size = original.length;
 		int size2 = current.length;
 		
-		Map<IModuleResource, IModuleResource> originalMap = new HashMap<IModuleResource, IModuleResource>(size);
+		Map originalMap = new HashMap(size);
 		for (int i = 0; i < size; i++)
 			originalMap.put(original[i], original[i]);
 		
 		// added and changed resources
 		for (int i = 0; i < size2; i++) {
-			IModuleResource old = originalMap.remove(current[i]);
+			IModuleResource old = (IModuleResource) originalMap.remove(current[i]);
 			if (old == null)
 				return true;
 			
@@ -477,7 +477,7 @@
 		if (resources == null)
 			return new IModuleResourceDelta[0];
 		
-		List<ModuleResourceDelta> list = new ArrayList<ModuleResourceDelta>();
+		List list = new ArrayList();
 		
 		// look for duplicates
 		int size = resources.length;
@@ -490,7 +490,9 @@
 			list.add(mrd);
 		}
 		
-		return list.toArray(new IModuleResourceDelta[list.size()]);
+		IModuleResourceDelta[] delta = new IModuleResourceDelta[list.size()];
+		list.toArray(delta);
+		return delta;
 	}
 
 	/**
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
index ad98cc1..9273cae 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
@@ -187,10 +187,11 @@
 		if (element == null)
 			return null;
 		
+		if (id == null || id.length() == 0)
+			id = ServerPlugin.generateId();
 		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
 		if (hasRuntime())
 			swc.setRuntime(runtime);
-		ServerUtil.setServerDefaultName(swc);
 		swc.setDefaults(monitor);
 		
 		if (hasServerConfiguration() && runtime != null && runtime.getLocation() != null && !runtime.getLocation().isEmpty())
@@ -214,7 +215,7 @@
 	 * of the given runtime type
 	 */
 	protected static IRuntime[] getRuntimes(IRuntimeType runtimeType) {
-		List<IRuntime> list = new ArrayList<IRuntime>();
+		List list = new ArrayList();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
@@ -233,6 +234,9 @@
 		if (element == null)
 			return null;
 		
+		if (id == null || id.length() == 0)
+			id = ServerPlugin.generateId();
+		
 		IRuntime runtime = null;
 		if (hasRuntime()) {
 			// look for existing runtime
@@ -243,7 +247,7 @@
 			else {
 				// create runtime
 				try {
-					IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(id, monitor);
+					IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(id + "-runtime", monitor);
 					ServerUtil.setRuntimeDefaultName(runtimeWC);
 					runtime = runtimeWC;
 				} catch (Exception e) {
@@ -251,11 +255,11 @@
 				}
 			}
 		}
-		
+
 		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
+		ServerUtil.setServerDefaultName(swc);
 		if (runtime != null)
 			swc.setRuntime(runtime);
-		ServerUtil.setServerDefaultName(swc);
 		
 		swc.setDefaults(monitor);
 		if (swc.getServerType().hasServerConfiguration())
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
index adf8fe4..ddd906e 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
@@ -34,23 +34,24 @@
 public class ServerWorkingCopy extends Server implements IServerWorkingCopy {
 	protected Server server;
 	protected WorkingCopyHelper wch;
-
+	
 	protected ServerDelegate workingCopyDelegate;
-
+	
 	// working copy
 	public ServerWorkingCopy(Server server) {
 		super(server.getFile());
 		this.server = server;
 		
-		map = new HashMap<String, Object>(server.map);
+		map = new HashMap(server.map);
 		wch = new WorkingCopyHelper(this);
 		
 		resolve();
 	}
-
+	
 	// creation
 	public ServerWorkingCopy(String id, IFile file, IRuntime runtime, IServerType serverType) {
 		super(id, file, runtime, serverType);
+		//server = this;
 		wch = new WorkingCopyHelper(this);
 		wch.setDirty(true);
 		serverState = ((ServerType)serverType).getInitialState();
@@ -184,7 +185,7 @@
 		wch.setAttribute(attributeName, value);
 	}
 
-	public void setAttribute(String attributeName, List<String> value) {
+	public void setAttribute(String attributeName, List value) {
 		wch.setAttribute(attributeName, value);
 	}
 
@@ -197,9 +198,6 @@
 	 */
 	public void setName(String name) {
 		setAttribute(PROP_NAME, name);
-		boolean set = getAttribute(PROP_ID_SET, false);
-		if (runtime == null && !set)
-			setAttribute(PROP_ID, name);
 	}
 
 	public void setReadOnly(boolean b) {
@@ -247,9 +245,9 @@
 	 * @return true if change is made. 
 	 */
 	public boolean disablePreferredPublishOperations(PublishOperation op) {
-		List<String> list = getAttribute(PROP_DISABLED_PERFERRED_TASKS, (List<String>)null);
+		List list = getAttribute(PROP_DISABLED_PERFERRED_TASKS, (List)null);
 		if (list == null)
-			list = new ArrayList<String>();
+			list = new ArrayList();
 		
 		String opId = getPublishOperationId(op);
 		if (list.contains(opId))
@@ -266,9 +264,9 @@
 	 * @return true if change is made. 
 	 */
 	public boolean enableOptionalPublishOperations(PublishOperation op) {
-		List<String> list = getAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List<String>)null);
+		List list = getAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List)null);
 		if (list == null)
-			list = new ArrayList<String>();
+			list = new ArrayList();
 		
 		String opId = getPublishOperationId(op);
 		if (list.contains(opId))
@@ -282,14 +280,14 @@
 	 * Reset all preferred operations to default
 	 */
 	public void resetPreferredPublishOperations() {
-		setAttribute(PROP_DISABLED_PERFERRED_TASKS, (List<String>)null);
+		setAttribute(PROP_DISABLED_PERFERRED_TASKS, (List)null);
 	}
 
 	/**
 	 * Reset all optional operations to default
 	 */
 	public void resetOptionalPublishOperations() {
-		setAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List<String>)null);
+		setAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List)null);
 	}
 
 	/**
@@ -532,7 +530,7 @@
 			}
 			
 			// convert to attribute
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			Iterator iterator = modules.iterator();
 			while (iterator.hasNext()) {
 				IModule module = (IModule) iterator.next();
@@ -729,7 +727,7 @@
 		super.setExternalModules(modules);
 	}
 
-	public List<IModule> getExternalModules() {
+	public List getExternalModules() {
 		if (server != null)
 			return server.getExternalModules();
 		return super.getExternalModules();
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java
index 022ee27..ee7cfeb 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -30,20 +30,11 @@
 	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	protected IStatus run(IProgressMonitor monitor) {
-		final IStatus[] status = new IStatus[1];
-		getServer().start(launchMode, new IServer.IOperationListener() {
-			public void done(IStatus result) {
-				status[0] = result;
-			}
-		});
-		
-		while (status[0] == null & !monitor.isCanceled()) {
-			try {
-				Thread.sleep(200);
-			} catch (Exception e) {
-				// ignore
-			}
+		try {
+			getServer().synchronousStart(launchMode, monitor);
+		} catch (CoreException ce) {
+			return ce.getStatus();
 		}
-		return status[0];
+		return Status.OK_STATUS;
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StopServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StopServerJob.java
index 1493518..e6653f6 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StopServerJob.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StopServerJob.java
@@ -11,15 +11,17 @@
 package org.eclipse.wst.server.core.internal;
 
 import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.internal.ServerSchedulingRule;
 /**
  * A job for stopping the server.
+ * 
+ * Note: This is a backport for bug 200715. It is not API compatible with the
+ * WTP 3.0 version due to missing translated strings.
  */
 public class StopServerJob extends ChainedJob {
-	public StopServerJob(IServer server) {
-		super(NLS.bind(Messages.jobStoppingServer, server.getName()), server);
+	public StopServerJob(IServer server, String name) {
+		super(name, server);
 		setRule(new ServerSchedulingRule(server));
 	}
 
@@ -43,4 +45,4 @@
 		}
 		return status[0];
 	}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java
index 63a3887..2498ccd 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java
@@ -36,9 +36,12 @@
 	private static final String[] levelNames = new String[] {
 		"CONFIG   ", "INFO     ", "WARNING  ", "SEVERE   ", "FINER    ", "FINEST   ",
 		"RESOURCES", "EXTENSION", "LISTENERS", "TARGET   ", "PERF     ", "PUBLISH  "};
+	private static final String spacer = "                                   ";
 
 	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
 
+	protected static int pluginLength = -1;
+
 	/**
 	 * Trace constructor comment.
 	 */
@@ -64,16 +67,31 @@
 	 * @param t a throwable
 	 */
 	public static void trace(int level, String s, Throwable t) {
-		if (s == null)
+		trace(ServerPlugin.PLUGIN_ID, level, s, t);
+	}
+
+	/**
+	 * Trace the given message and exception.
+	 *
+	 * @param level a trace level
+	 * @param s a message
+	 * @param t a throwable
+	 */
+	private static void trace(String pluginId, int level, String s, Throwable t) {
+		if (pluginId == null || s == null)
 			return;
 		
 		if (level == SEVERE)
-			ServerPlugin.log(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, s, t));
+			ServerPlugin.log(new Status(IStatus.ERROR, pluginId, s, t));
 		
 		if (!ServerPlugin.getInstance().isDebugging())
 			return;
 		
-		StringBuffer sb = new StringBuffer(ServerPlugin.PLUGIN_ID);
+		StringBuffer sb = new StringBuffer(pluginId);
+		if (pluginId.length() > pluginLength)
+			pluginLength = pluginId.length();
+		else if (pluginId.length() < pluginLength)
+			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
 		sb.append(" ");
 		sb.append(levelNames[level]);
 		sb.append(" ");
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
index 81a50ae..e165a4f 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
@@ -29,7 +29,7 @@
 	protected boolean isDirty;
 
 	// property change listeners
-	private transient List<PropertyChangeListener> propertyListeners;
+	private transient List propertyListeners;
 
 	public WorkingCopyHelper(Base base) {
 		this.base = base;
@@ -68,8 +68,8 @@
 		firePropertyChangeEvent(attributeName, current, value);
 	}
 
-	public void setAttribute(String attributeName, List<String> value) {
-		List current = base.getAttribute(attributeName, (List<String>)null);
+	public void setAttribute(String attributeName, List value) {
+		List current = base.getAttribute(attributeName, (List)null);
 		if (base.isAttributeSet(attributeName) && current != null && current.equals(value))
 			return;
 		
@@ -125,7 +125,7 @@
 	 */
 	public void addPropertyChangeListener(PropertyChangeListener listener) {
 		if (propertyListeners == null)
-			propertyListeners = new ArrayList<PropertyChangeListener>(2);
+			propertyListeners = new ArrayList(2);
 		propertyListeners.add(listener);
 	}
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
index e9d822a..102922c 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
@@ -146,7 +146,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		List<Element> list = new ArrayList<Element>(size);
+		ArrayList list = new ArrayList(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -160,7 +160,7 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, list.get(x));
+			results[x] = new XMLMemento(factory, (Element)list.get(x));
 		}
 		return results;
 	}
@@ -242,11 +242,11 @@
 			return null; 
 		return attr.getValue();
 	}
-
-	public List<String> getNames() {
+	
+	public List getNames() {
 		NamedNodeMap map = element.getAttributes();
 		int size = map.getLength();
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		for (int i = 0; i < size; i++) {
 			Node node = map.item(i);
 			String name = node.getNodeName();
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java
index ef408c7..04efa42 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/FacetMappingUtil.java
@@ -15,7 +15,6 @@
 import java.util.List;
 
 import org.eclipse.core.runtime.*;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.internal.ServerPlugin;
 import org.eclipse.wst.server.core.internal.Trace;
@@ -24,10 +23,10 @@
  */
 public class FacetMappingUtil extends Plugin {
 	//	cached copy of all runtime component providers
-	private static List<RuntimeComponentProviderWrapper> runtimeComponentProviders;
+	private static List runtimeComponentProviders;
 
 	//	cached copy of all runtime facet mappings
-	private static List<RuntimeFacetMapping> runtimeFacetMappings;
+	private static List runtimeFacetMappings;
 
 	/**
 	 * Returns an array of all known runtime facet mapping instances.
@@ -55,18 +54,18 @@
 	 * @param runtime a runtime
 	 * @param components the existing list of components
 	 */
-	public static void addFacetRuntimeComponents(IRuntime runtime, List<IRuntimeComponent> components) {
+	public static void addFacetRuntimeComponents(IRuntime runtime, List components) {
 		if (runtime == null || runtime.getRuntimeType() == null)
 			throw new IllegalArgumentException();
 		
 		if (runtimeComponentProviders == null)
 			loadRuntimeComponentProviders();
 		
-		Iterator<RuntimeComponentProviderWrapper> iterator = runtimeComponentProviders.iterator();
+		Iterator iterator = runtimeComponentProviders.iterator();
 		while (iterator.hasNext()) {
-			RuntimeComponentProviderWrapper runtimeComponentProvider = iterator.next();
+			RuntimeComponentProviderWrapper runtimeComponentProvider = (RuntimeComponentProviderWrapper) iterator.next();
 			if (runtimeComponentProvider.supportsRuntimeType(runtime.getRuntimeType())) {
-				List<IRuntimeComponent> list = runtimeComponentProvider.getComponents(runtime);
+				List list = runtimeComponentProvider.getComponents(runtime);
 				if (list != null)
 					components.addAll(list);
 			}
@@ -85,7 +84,7 @@
 		
 		// load new wst extension point
 		int size = cf.length;
-		List<RuntimeComponentProviderWrapper> list = new ArrayList<RuntimeComponentProviderWrapper>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeComponentProviderWrapper(cf[i]));
@@ -123,7 +122,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor("org.eclipse.jst.server.core.runtimeFacetMappings");
 		
 		int size = cf.length;
-		List<RuntimeFacetMapping> list = new ArrayList<RuntimeFacetMapping>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeFacetMapping(cf[i]));
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
index 36e290c..3fcc01c 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeBridge.java
@@ -20,7 +20,6 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeBridge;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
 import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
 import org.eclipse.wst.server.core.IRuntime;
@@ -31,22 +30,22 @@
  * 
  */
 public class RuntimeBridge implements IRuntimeBridge {
-	protected static Map<String, List<IRuntimeComponentVersion>> mappings = new HashMap<String, List<IRuntimeComponentVersion>>();
+	protected static Map mappings = new HashMap();
 
 	static {
 		initialize();
 	}
 
 	private static void addMapping(String id, String id2, String version) {
-		List<IRuntimeComponentVersion> list = null;
+		ArrayList list = null;
 		try {
-			list = mappings.get(id);
+			list = (ArrayList) mappings.get(id);
 		} catch (Exception e) {
 			// ignore
 		}
 		
 		if (list == null)
-			list = new ArrayList<IRuntimeComponentVersion>(2);
+			list = new ArrayList(2);
 		
 		try {
 			list.add(RuntimeManager.getRuntimeComponentType(id2).getVersion(version));
@@ -84,9 +83,9 @@
 		addMapping("org.eclipse.jst.server.generic.runtime.websphere.6", "org.eclipse.jst.server.generic.runtime.websphere", "6.0");
 	}
 
-	public Set<String> getExportedRuntimeNames() throws CoreException {
+	public Set getExportedRuntimeNames() throws CoreException {
 		IRuntime[] runtimes = ServerCore.getRuntimes();
-		Set<String> result = new HashSet<String>(runtimes.length);
+		Set result = new HashSet(runtimes.length);
 		
 		for (int i = 0; i < runtimes.length; i++) {
 			IRuntime runtime = runtimes[i];
@@ -108,8 +107,6 @@
 		for (int i = 0; i < size; i++) {
 			if (runtimes[i].getId().equals(name))
 				return new Stub(runtimes[i]);
-			if (runtimes[i].getName().equals(name))
-				return new Stub(runtimes[i]);
 		}
 		return null;
 	}
@@ -121,13 +118,13 @@
 			this.runtime = runtime;
 		}
 
-		public List<IRuntimeComponent> getRuntimeComponents() {
-			List<IRuntimeComponent> components = new ArrayList<IRuntimeComponent>(2);
+		public List getRuntimeComponents() {
+			List components = new ArrayList(2);
 			if (runtime == null)
 				return components;
 			
 			// define server runtime component
-			Map<String, String> properties = new HashMap<String, String>(5);
+			Map properties = new HashMap(5);
 			if (runtime.getLocation() != null)
 				properties.put("location", runtime.getLocation().toPortableString());
 			else
@@ -154,8 +151,8 @@
 			return components;
 		}
 
-		public Map<String, String> getProperties() {
-			final Map<String, String> props = new HashMap<String, String>();
+		public Map getProperties() {
+		    final Map props = new HashMap();
 			if (runtime != null) {
 				props.put("id", runtime.getId());
 				props.put("localized-name", runtime.getName());
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java
index 556450d..4402270 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeComponentProviderWrapper.java
@@ -15,7 +15,6 @@
 import java.util.StringTokenizer;
 
 import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IRuntimeType;
 import org.eclipse.wst.server.core.internal.Trace;
@@ -50,7 +49,7 @@
 
 	public String[] getRuntimeTypeIds() {
 		try {
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
@@ -104,7 +103,7 @@
 			try {
 				delegate = (RuntimeFacetComponentProviderDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
 			}
 		}
 		return delegate;
@@ -113,7 +112,7 @@
 	/*
 	 * @see RuntimeFacetComponentProviderDelegate#getRuntimeComponents(IRuntime)
 	 */
-	public List<IRuntimeComponent> getComponents(IRuntime runtime) {
+	public List getComponents(IRuntime runtime) {
 		if (runtime == null)
 			return null;
 		try {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java
index f943c3f..3a969ec 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/facets/RuntimeFacetComponentProviderDelegate.java
@@ -12,7 +12,6 @@
 
 import java.util.List;
 
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
 import org.eclipse.wst.server.core.IRuntime;
 /**
  * A runtime component provider can provide additional runtime components for a facet runtime.
@@ -43,5 +42,5 @@
 	 * @param runtime a server runtime
 	 * @return a list of runtimes, or an empty list or null if there are no additional components
 	 */
-	public abstract List<IRuntimeComponent> getRuntimeComponents(IRuntime runtime);
+	public abstract List getRuntimeComponents(IRuntime runtime);
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
index aefb80d..f34e8d5 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
@@ -162,7 +162,7 @@
 	public IModule[] getModules(IProject project) {
 		IModule[] modules = getModules();
 		if (project != null && modules != null) {
-			List<IModule> list = new ArrayList<IModule>(modules.length);
+			List list = new ArrayList(modules.length);
 			int size = modules.length;
 			for (int i = 0; i < size; i++) {
 				if (project.equals(modules[i].getProject()))
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
index a276268..3cac8f5 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
@@ -206,7 +206,7 @@
 	 * @return the attribute value
 	 * @see #setAttribute(String, List)
 	 */
-	protected final List getAttribute(String id, List<String> defaultValue) {
+	protected final List getAttribute(String id, List defaultValue) {
 		return runtime.getAttribute(id, defaultValue);
 	}
 
@@ -293,7 +293,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, List)
 	 */
-	protected final void setAttribute(String id, List<String> value) {
+	protected final void setAttribute(String id, List value) {
 		runtimeWC.setAttribute(id, value);
 	}
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
index abaced7..5b54685 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
@@ -425,7 +425,7 @@
 	 * the server.
 	 * </p>
 	 * <p>
-	 * [issue: Since this method is asynchronous, is there
+	 * [issue: Since this method is ascynchronous, is there
 	 * any need for the progress monitor?]
 	 * </p>
 	 * 
@@ -451,7 +451,7 @@
 	 * the server.
 	 * </p>
 	 * <p>
-	 * [issue: Since this method is asynchronous, is there
+	 * [issue: Since this method is ascynchronous, is there
 	 * any need for the progress monitor?]
 	 * </p>
 	 * 
@@ -477,7 +477,7 @@
 	 * the server.
 	 * </p>
 	 * <p>
-	 * [issue: Since this method is asynchronous, is there
+	 * [issue: Since this method is ascynchronous, is there
 	 * any need for the progress monitor?]
 	 * </p>
 	 * 
@@ -601,8 +601,8 @@
 		if (getServer().getServerType().hasRuntime() && getServer().getRuntime() == null)
 			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoRuntime, null);
 		
-		final List<IModule[]> moduleList = getAllModules();
-		final List<Integer> deltaKindList = new ArrayList<Integer>();
+		final List moduleList = getAllModules();
+		final List deltaKindList = new ArrayList();
 		
 		Iterator iterator = moduleList.iterator();
 		while (iterator.hasNext()) {
@@ -784,7 +784,7 @@
 	 * @param moduleList a list of modules
 	 * @param kindList a list of publish kinds
 	 */
-	protected void addRemovedModules(List<IModule[]> moduleList, List<Integer> kindList) {
+	protected void addRemovedModules(List moduleList, List kindList) {
 		server.getServerPublishInfo().addRemovedModules(moduleList, kindList);
 	}
 
@@ -857,7 +857,7 @@
 	 * 
 	 * @return a list of IModule[]s
 	 */
-	protected final List<IModule[]> getAllModules() {
+	protected final List getAllModules() {
 		return server.getAllModules();
 	}
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
index c011f21..47141cb 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
@@ -153,7 +153,7 @@
 	 * @return the attribute value
 	 * @see #setAttribute(String, List)
 	 */
-	protected final List getAttribute(String id, List<String> defaultValue) {
+	protected final List getAttribute(String id, List defaultValue) {
 		return server.getAttribute(id, defaultValue);
 	}
 
@@ -309,7 +309,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, List)
 	 */
-	protected final void setAttribute(String id, List<String> value) {
+	protected final void setAttribute(String id, List value) {
 		serverWC.setAttribute(id, value);
 	}
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
index 3d3697b..2739275 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
@@ -158,7 +158,7 @@
 		IResource[] resources = container.members();
 		if (resources != null) {
 			int size = resources.length;
-			List<IModuleResource> list = new ArrayList<IModuleResource>(size);
+			List list = new ArrayList(size);
 			for (int i = 0; i < size; i++) {
 				IResource resource = resources[i];
 				if (resource != null && resource.exists()) {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
index f1e1ba6..7295a89 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
@@ -27,7 +27,8 @@
  * @since 1.0
  */
 public abstract class ProjectModuleFactoryDelegate extends ModuleFactoryDelegate {
-	private Map<IProject, IModule[]> modules = new HashMap<IProject, IModule[]>();
+	// map of IProject to IModule[]
+	private Map modules = new HashMap();
 
 	/**
 	 * Construct a new ProjectModuleFactoryDelegate.
@@ -48,7 +49,7 @@
 		
 		IModule[] m = null;
 		try {
-			m = modules.get(project);
+			m = (IModule[]) modules.get(project);
 			if (m != null)
 				return m;
 		} catch (Exception e) {
@@ -116,7 +117,7 @@
 	public final IModule[] getModules() {
 		cacheModules();
 		
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		Iterator iter = modules.values().iterator();
 		while (iter.hasNext()) {
 			IModule[] m = (IModule[]) iter.next();
@@ -206,7 +207,8 @@
 	 * @since 2.0
 	 */
 	protected void clearCache(IProject project) {
-		modules = new HashMap<IProject, IModule[]>();
+		//modules.put(project, null);
+		modules = new HashMap();
 	}
 
 	/**
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishUtil.java
index 16a0927..df3da3b 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishUtil.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishUtil.java
@@ -130,7 +130,7 @@
 		if (!dir.exists() || !dir.isDirectory())
 			return new IStatus[] { new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorNotADirectory, dir.getAbsolutePath()), null) };
 		
-		List<IStatus> status = new ArrayList<IStatus>(2);
+		List status = new ArrayList(2);
 		
 		try {
 			File[] files = dir.listFiles();
@@ -185,7 +185,7 @@
 		
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		
-		List<IStatus> status = new ArrayList<IStatus>(2);
+		List status = new ArrayList(2);
 		File toDir = path.toFile();
 		int fromSize = resources.length;
 		String[] fromFileNames = new String[fromSize];
@@ -338,7 +338,7 @@
 		
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		
-		List<IStatus> status = new ArrayList<IStatus>(2);
+		List status = new ArrayList(2);
 		int size2 = delta.length;
 		for (int i = 0; i < size2; i++) {
 			IStatus[] stat = publishDelta(delta[i], path, monitor);
@@ -360,7 +360,7 @@
 	 * @return a possibly-empty array of error and warning status
 	 */
 	public static IStatus[] publishDelta(IModuleResourceDelta delta, IPath path, IProgressMonitor monitor) {
-		List<IStatus> status = new ArrayList<IStatus>(2);
+		List status = new ArrayList(2);
 		
 		IModuleResource resource = delta.getModuleResource();
 		int kind2 = delta.getKind();
@@ -457,7 +457,7 @@
 		
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		
-		List<IStatus> status = new ArrayList<IStatus>(2);
+		List status = new ArrayList(2);
 		int size = resources.length;
 		for (int i = 0; i < size; i++) {
 			IStatus[] stat = copy(resources[i], path, monitor);
@@ -472,7 +472,7 @@
 	private static IStatus[] copy(IModuleResource resource, IPath path, IProgressMonitor monitor) {
 		String name = resource.getName();
 		Trace.trace(Trace.PUBLISHING, "Copying: " + name + " to " + path.toString());
-		List<IStatus> status = new ArrayList<IStatus>(2);
+		List status = new ArrayList(2);
 		if (resource instanceof IModuleFolder) {
 			IModuleFolder folder = (IModuleFolder) resource;
 			IStatus[] stat = publishFull(folder.members(), path, monitor);
@@ -744,7 +744,7 @@
 		return false;
 	}
 
-	private static void addArrayToList(List<IStatus> list, IStatus[] a) {
+	private static void addArrayToList(List list, IStatus[] a) {
 		if (list == null || a == null || a.length == 0)
 			return;
 		
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
index e63f21e..631a041 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
@@ -15,14 +15,11 @@
 import java.net.NetworkInterface;
 import java.net.ServerSocket;
 import java.net.SocketException;
-import java.net.UnknownHostException;
+import java.util.ArrayList;
 import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Iterator;
-import java.util.Map;
+import java.util.List;
 import java.util.Random;
-import java.util.Set;
 
 import org.eclipse.wst.server.core.internal.Trace;
 /**
@@ -37,78 +34,9 @@
 
 	protected static final Object lock = new Object();
 
-	private static Set<String> localHostCache;
-	private static Set<String> notLocalHostCache = new HashSet<String>();
-	private static Map<String, CacheThread> threadMap = new HashMap<String, CacheThread>();
+	private static List localHostCache;
 
-	private static Set<InetAddress> addressCache;
-
-	static class CacheThread extends Thread {
-		private Set<InetAddress> currentAddresses;
-		private Set<String> addressList;
-		private String host;
-		private Set<String> nonAddressList;
-		private Map threadMap2;
-
-		public CacheThread(String host, Set<InetAddress> currentAddresses, Set<String> addressList, Set<String> nonAddressList, Map threadMap2) {
-			super("Caching localhost information");
-			this.host = host;
-			this.currentAddresses = currentAddresses;
-			this.addressList = addressList;
-			this.nonAddressList = nonAddressList;
-			this.threadMap2 = threadMap2;
-		}
-
-		public void run() {
-			if (currentAddresses != null) {
-				Iterator iter2 = currentAddresses.iterator();
-				while (iter2.hasNext()) {
-					InetAddress addr = (InetAddress) iter2.next();
-					String hostname = addr.getHostName();
-					String hostname2 = addr.getCanonicalHostName();
-					synchronized (lock) {
-						if (hostname != null && !addressList.contains(hostname))
-							addressList.add(hostname);
-						if (hostname2 != null && !addressList.contains(hostname2))
-							addressList.add(hostname2);
-					}
-				}
-			}
-			
-			try {
-				InetAddress[] addrs = InetAddress.getAllByName(host);
-				int length = addrs.length;
-				synchronized (lock) {
-					for (int j = 0; j < length; j++) {
-						InetAddress addr = addrs[0];
-						String hostname = addr.getHostName();
-						String hostname2 = addr.getCanonicalHostName();
-						synchronized (lock) {
-							if (addr.isLoopbackAddress()) {
-								if (hostname != null && !addressList.contains(hostname))
-									addressList.add(hostname);
-								if (hostname2 != null && !addressList.contains(hostname2))
-									addressList.add(hostname2);
-							} else {
-								if (hostname != null && !nonAddressList.contains(hostname))
-									nonAddressList.add(hostname);
-								if (hostname2 != null && !nonAddressList.contains(hostname2))
-									nonAddressList.add(hostname2);
-							}
-						}
-					}
-				}
-			} catch (UnknownHostException e) {
-				synchronized (lock) {
-					if (host != null && !nonAddressList.contains(host))
-						nonAddressList.add(host);
-				}
-			}
-			synchronized (lock) {
-				threadMap2.remove(host);
-			}
-		}
-	}
+	private static List addressCache;
 
 	/**
 	 * Static utility class - cannot create an instance.
@@ -122,7 +50,7 @@
 	 * 
 	 * @param low lowest possible port number
 	 * @param high highest possible port number
-	 * @return an unused port number, or <code>-1</code> if no used ports could be found
+	 * @return an usused port number, or <code>-1</code> if no used ports could be found
 	 */
 	public static int findUnusedPort(int low, int high) {
 		if (high < low)
@@ -228,109 +156,75 @@
 	 * @return <code>true</code> if the given host is localhost, and
 	 *    <code>false</code> otherwise
 	 */
-	public static boolean isLocalhost(final String host) {
-		if (host == null || host.equals(""))
+	public static boolean isLocalhost(String host) {
+		if (host == null)
 			return false;
 		
 		if ("localhost".equals(host) || "127.0.0.1".equals(host))
 			return true;
 		
-		// check simple cases
-		try {
-			InetAddress localHostaddr = InetAddress.getLocalHost();
-			if (localHostaddr.getHostName().equals(host)
-					|| host.equals(localHostaddr.getCanonicalHostName())
-					|| localHostaddr.getHostAddress().equals(host))
-				return true;
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Localhost caching failure", e);
-		}
-		
-		// check for current thread and wait if necessary
-		boolean currentThread = false;
-		try {
-			Thread t = null;
-			synchronized (lock) {
-				t = threadMap.get(host);
-			}
-			if (t != null && t.isAlive()) {
-				currentThread = true;
-				t.join(30);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Localhost caching failure", e);
-		}
-		
-		// check if cache is still ok
-		boolean refreshedCache = false;
+		// check if cache is ok
 		try {
 			// get network interfaces
-			final Set<InetAddress> currentAddresses = new HashSet<InetAddress>();
+			final List currentAddresses = new ArrayList();
 			currentAddresses.add(InetAddress.getLocalHost());
 			Enumeration nis = NetworkInterface.getNetworkInterfaces();
 			while (nis.hasMoreElements()) {
 				NetworkInterface inter = (NetworkInterface) nis.nextElement();
-				Enumeration<InetAddress> ias = inter.getInetAddresses();
+				Enumeration ias = inter.getInetAddresses();
 				while (ias.hasMoreElements())
 					currentAddresses.add(ias.nextElement());
 			}
 			
 			// check if cache is empty or old and refill it if necessary
 			if (addressCache == null || !addressCache.containsAll(currentAddresses) || !currentAddresses.containsAll(addressCache)) {
-				CacheThread cacheThread = null;
-				refreshedCache = true;
-				
-				synchronized (lock) {
-					addressCache = currentAddresses;
-					notLocalHostCache = new HashSet<String>();
-					localHostCache = new HashSet<String>(currentAddresses.size() * 3);
-					
-					Iterator iter = currentAddresses.iterator();
-					while (iter.hasNext()) {
-						InetAddress addr = (InetAddress) iter.next();
-						String a = addr.getHostAddress();
-						if (a != null && !localHostCache.contains(a))
-							localHostCache.add(a);
-					}
-					
-					cacheThread = new CacheThread(host, currentAddresses, localHostCache, notLocalHostCache, threadMap);
-					threadMap.put(host, cacheThread);
-					cacheThread.setDaemon(true);
-					cacheThread.setPriority(Thread.NORM_PRIORITY - 1);
-					cacheThread.start();
+				addressCache = currentAddresses;
+				final List addressList = new ArrayList(currentAddresses.size() * 3);
+				Iterator iter = currentAddresses.iterator();
+				while (iter.hasNext()) {
+					InetAddress addr = (InetAddress) iter.next();
+					String a = addr.getHostAddress();
+					if (a != null && !addressList.contains(a))
+						addressList.add(a);
 				}
-				cacheThread.join(200);
+				synchronized (lock) {
+					localHostCache = addressList;
+				}
+				
+				Thread cacheThread = new Thread("Caching localhost information") {
+					public void run() {
+						Iterator iter2 = currentAddresses.iterator();
+						while (iter2.hasNext()) {
+							InetAddress addr = (InetAddress) iter2.next();
+							String hostname = addr.getHostName();
+							String hostname2 = addr.getCanonicalHostName();
+							synchronized (lock) {
+								if (hostname != null && !addressList.contains(hostname))
+									addressList.add(hostname);
+								if (hostname2 != null && !addressList.contains(hostname2))
+									addressList.add(hostname2);
+							}
+						}
+					}
+				};
+				cacheThread.setDaemon(true);
+				cacheThread.setPriority(Thread.NORM_PRIORITY - 1);
+				cacheThread.start();
+				cacheThread.join(250);
 			}
 		} catch (Exception e) {
+			// ignore
 			Trace.trace(Trace.WARNING, "Localhost caching failure", e);
 		}
 		
-		synchronized (lock) {
-			if (localHostCache.contains(host))
-				return true;
-			if (notLocalHostCache.contains(host))
-				return false;
-		}
+		if (localHostCache == null)
+			return false;
 		
-		// if the cache hasn't been cleared, maybe we still need to lookup the host  
-		if (!refreshedCache && !currentThread) {
-			try {
-				CacheThread cacheThread = null;
-				synchronized (lock) {
-					cacheThread = new CacheThread(host, null, localHostCache, notLocalHostCache, threadMap);
-					threadMap.put(host, cacheThread);
-					cacheThread.setDaemon(true);
-					cacheThread.setPriority(Thread.NORM_PRIORITY - 1);
-					cacheThread.start();
-				}
-				cacheThread.join(75);
-				
-				synchronized (lock) {
-					if (localHostCache.contains(host))
-						return true;
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not find localhost", e);
+		synchronized (lock) {
+			Iterator iterator = localHostCache.iterator();
+			while (iterator.hasNext()) {
+				if (host.equals(iterator.next()))
+					return true;
 			}
 		}
 		
diff --git a/plugins/org.eclipse.wst.server.http.core/.classpath b/plugins/org.eclipse.wst.server.http.core/.classpath
index 196d49a..52165ec 100644
--- a/plugins/org.eclipse.wst.server.http.core/.classpath
+++ b/plugins/org.eclipse.wst.server.http.core/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..403949d 100644
--- a/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Wed Apr 04 18:12:13 EDT 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF
index 7d27816..5f06d1e 100644
--- a/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.http.core;singleton:=true
-Bundle-Version: 1.0.100.qualifier
+Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.eclipse.wst.server.http.core.internal.HttpCorePlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -13,4 +13,4 @@
  org.eclipse.core.commands;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.wst.server.core;bundle-version="[1.0.204,2.0.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServer.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServer.java
index 373c98c..9b820cc 100644
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServer.java
+++ b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServer.java
@@ -98,18 +98,6 @@
 	// }
 
 	/**
-	 * Processes the host to return IPv6 addresses in square brackets, e.g.
-	 * "[4ffe:ff2f:101:21:230:6eff:fe04:d9fe]". If the host is just a host name
-	 * or IPv4 address, then it is returned as is.
-	 * 
-	 * @param host the host, an IP address or host name
-	 */
-	protected static String getURLHost(String host) {
-		// use ":" to determine if this is an IPv6 address 
-		return (host != null && host.indexOf(":") >= 0) ? "[" + host + "]" : host;
-	}
-
-	/**
 	 * Return the root URL of this module.
 	 * 
 	 * @param module a module
@@ -117,10 +105,10 @@
 	 */
 	public URL getModuleRootURL(IModule module) {
 		try {
-			String base = "http://" + getURLHost(getServer().getHost());
+			String base = "http://" + getServer().getHost();
 			
 			if (base.equals(""))
-				base = "http://" + getURLHost(getServer().getHost());
+				base = "http://" + getServer().getHost();
 			
 			int port = getPort();
 			URL url = null;
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Trace.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Trace.java
index 5977cd0..dab0b8b 100644
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Trace.java
+++ b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Trace.java
@@ -13,8 +13,6 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 /**
  * Helper class to route trace output.
  */
@@ -28,9 +26,13 @@
 	private static final String[] levelNames = new String[] { "CONFIG   ", "WARNING  ",
 		"SEVERE   ", "FINER    ", "FINEST   " };
 
+	private static final String spacer = "                                   ";
+
 	private static final SimpleDateFormat sdf = new SimpleDateFormat(
 			"dd/MM/yy HH:mm.ss.SSS");
 
+	protected static int pluginLength = -1;
+
 	/**
 	 * Trace constructor comment.
 	 */
@@ -56,16 +58,35 @@
 	 * @param t a throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
-		if (s == null)
-			return;
-		
-		if (level == SEVERE)
-			HttpCorePlugin.getInstance().getLog().log(new Status(IStatus.ERROR, HttpCorePlugin.PLUGIN_ID, s, t));
-		
 		if (!HttpCorePlugin.getInstance().isDebugging())
 			return;
 
-		StringBuffer sb = new StringBuffer(HttpCorePlugin.PLUGIN_ID);
+		/*
+		 * System.out.println(ApachePlugin.PLUGIN_ID + " " + s); if (t != null)
+		 * t.printStackTrace();
+		 */
+		trace(HttpCorePlugin.PLUGIN_ID, level, s, t);
+	}
+
+	/**
+	 * Trace the given message and exception.
+	 * 
+	 * @param level a trace level
+	 * @param s a message
+	 * @param t a throwable
+	 */
+	private static void trace(String pluginId, int level, String s, Throwable t) {
+		if (pluginId == null || s == null)
+			return;
+
+		if (!HttpCorePlugin.getInstance().isDebugging())
+			return;
+
+		StringBuffer sb = new StringBuffer(pluginId);
+		if (pluginId.length() > pluginLength)
+			pluginLength = pluginId.length();
+		else if (pluginId.length() < pluginLength)
+			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
 		sb.append(" ");
 		sb.append(levelNames[level]);
 		sb.append(" ");
diff --git a/plugins/org.eclipse.wst.server.http.ui/.classpath b/plugins/org.eclipse.wst.server.http.ui/.classpath
index 196d49a..52165ec 100644
--- a/plugins/org.eclipse.wst.server.http.ui/.classpath
+++ b/plugins/org.eclipse.wst.server.http.ui/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..a92c4fc 100644
--- a/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Thu Mar 08 13:02:41 PST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -27,7 +27,7 @@
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
 org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
 org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
@@ -35,7 +35,7 @@
 org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
 org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
 org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
 org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
 org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
@@ -52,7 +52,7 @@
 org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF
index be73a3d..420806e 100644
--- a/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.http.ui;singleton:=true
-Bundle-Version: 1.0.100.qualifier
+Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.eclipse.wst.server.http.ui.internal.HttpUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -13,4 +13,4 @@
  org.eclipse.wst.server.http.core;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.wst.common.project.facet.ui;bundle-version="[1.2.0,2.0.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerComposite.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerComposite.java
index ef7e127..0c55c64 100644
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerComposite.java
+++ b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerComposite.java
@@ -64,8 +64,7 @@
 			server = (HttpServer) newServer.loadAdapter(HttpServer.class, null);
 		}
 		
-		if (!isDisposed())
-			init();
+		init();
 		validate();
 	}
 
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpUIPlugin.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpUIPlugin.java
index 373bfe5..0d9a794 100644
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpUIPlugin.java
+++ b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpUIPlugin.java
@@ -26,7 +26,7 @@
 	// The plug-in ID
 	public static final String PLUGIN_ID = "org.eclipse.wst.server.http.ui";
 
-	private Map<String, ImageDescriptor> imageDescriptors = new HashMap<String, ImageDescriptor>();
+	private Map imageDescriptors = new HashMap();
 
 	// base url for icons
 	private static URL ICON_BASE_URL;
@@ -78,7 +78,7 @@
 	public static ImageDescriptor getImageDescriptor(String key) {
 		try {
 			getInstance().getImageRegistry();
-			return getInstance().imageDescriptors.get(key);
+			return (ImageDescriptor) getInstance().imageDescriptors.get(key);
 		} catch (Exception e) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Trace.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Trace.java
index 512c326..d0a557c 100644
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Trace.java
+++ b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Trace.java
@@ -9,9 +9,6 @@
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
 package org.eclipse.wst.server.http.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 /**
  * Helper class to route trace output.
  */
@@ -47,9 +44,6 @@
 	 * @param t a throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
-		if (level == SEVERE)
-			HttpUIPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, HttpUIPlugin.PLUGIN_ID, s, t));
-		
 		if (!HttpUIPlugin.getInstance().isDebugging())
 			return;
 
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/.classpath b/plugins/org.eclipse.wst.server.preview.adapter/.classpath
index 196d49a..52165ec 100644
--- a/plugins/org.eclipse.wst.server.preview.adapter/.classpath
+++ b/plugins/org.eclipse.wst.server.preview.adapter/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..403949d 100644
--- a/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Wed Apr 04 18:12:13 EDT 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.preview.adapter/META-INF/MANIFEST.MF
index 703239a..62c6d46 100644
--- a/plugins/org.eclipse.wst.server.preview.adapter/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.preview.adapter/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.preview.adapter;singleton:=true
-Bundle-Version: 1.0.100.qualifier
+Bundle-Version: 1.0.1.qualifier
 Bundle-Activator: org.eclipse.wst.server.preview.adapter.internal.core.PreviewPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -11,4 +11,4 @@
  org.eclipse.debug.ui;bundle-version="[3.3.0,4.0.0)",
  org.eclipse.wst.common.project.facet.ui;bundle-version="[1.2.0,2.0.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
index 78eb867..2af4f29 100644
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
+++ b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
@@ -79,7 +79,7 @@
 			cp.append(path.toOSString());
 		}
 		
-		List<String> cmds = new ArrayList<String>();
+		List cmds = new ArrayList();
 		
 		// jre
 		File java = getJavaExecutable();
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Trace.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Trace.java
index c1b1f53..30e71db 100644
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Trace.java
+++ b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Trace.java
@@ -13,8 +13,6 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 /**
  * Helper class to route trace output.
  */
@@ -24,11 +22,16 @@
 	public static byte SEVERE = 2;
 	public static byte FINEST = 3;
 	public static byte FINER = 4;
-
+	
 	private static final String[] levelNames = new String[] { "CONFIG   ", "WARNING  ",
 		"SEVERE   ", "FINER    ", "FINEST   " };
 
-	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
+	private static final String spacer = "                                   ";
+
+	private static final SimpleDateFormat sdf = new SimpleDateFormat(
+			"dd/MM/yy HH:mm.ss.SSS");
+
+	protected static int pluginLength = -1;
 
 	/**
 	 * Trace constructor comment.
@@ -55,16 +58,35 @@
 	 * @param t a throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
-		if (s == null)
-			return;
-		
-		if (level == SEVERE)
-			PreviewPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, s, t));
-		
 		if (!PreviewPlugin.getInstance().isDebugging())
 			return;
-		
-		StringBuffer sb = new StringBuffer(PreviewPlugin.PLUGIN_ID);
+
+		/*
+		 * System.out.println(ApachePlugin.PLUGIN_ID + " " + s); if (t != null)
+		 * t.printStackTrace();
+		 */
+		trace(PreviewPlugin.PLUGIN_ID, level, s, t);
+	}
+
+	/**
+	 * Trace the given message and exception.
+	 * 
+	 * @param level a trace level
+	 * @param s a message
+	 * @param t a throwable
+	 */
+	private static void trace(String pluginId, int level, String s, Throwable t) {
+		if (pluginId == null || s == null)
+			return;
+
+		if (!PreviewPlugin.getInstance().isDebugging())
+			return;
+
+		StringBuffer sb = new StringBuffer(pluginId);
+		if (pluginId.length() > pluginLength)
+			pluginLength = pluginId.length();
+		else if (pluginId.length() < pluginLength)
+			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
 		sb.append(" ");
 		sb.append(levelNames[level]);
 		sb.append(" ");
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/XMLMemento.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/XMLMemento.java
index 7ba1c3c..8a18d7b 100644
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/XMLMemento.java
+++ b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/XMLMemento.java
@@ -147,7 +147,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		List<Element> list = new ArrayList<Element>(size);
+		ArrayList list = new ArrayList(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -161,7 +161,7 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, list.get(x));
+			results[x] = new XMLMemento(factory, (Element)list.get(x));
 		}
 		return results;
 	}
@@ -244,10 +244,10 @@
 		return attr.getValue();
 	}
 	
-	public List<String> getNames() {
+	public List getNames() {
 		NamedNodeMap map = element.getAttributes();
 		int size = map.getLength();
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		for (int i = 0; i < size; i++) {
 			Node node = map.item(i);
 			String name = node.getNodeName();
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java
index 9a4d508..d56961e 100644
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java
+++ b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java
@@ -14,7 +14,7 @@
 
 import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
 /**
- * A debug tab group for launching the preview server. 
+ * A debug tab group for launching Tomcat. 
  */
 public class PreviewLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
 	/*
@@ -24,7 +24,9 @@
 		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[2];
 		tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.wst.server.preview" });
 		tabs[0].setLaunchConfigurationDialog(dialog);
-		/*tabs[2] = new EnvironmentTab();
+		/*tabs[1] = new SourceLookupTab();
+		tabs[1].setLaunchConfigurationDialog(dialog);
+		tabs[2] = new EnvironmentTab();
 		tabs[2].setLaunchConfigurationDialog(dialog);*/
 		tabs[1] = new CommonTab();
 		tabs[1].setLaunchConfigurationDialog(dialog);
diff --git a/plugins/org.eclipse.wst.server.preview/.classpath b/plugins/org.eclipse.wst.server.preview/.classpath
index 304e861..ce73933 100644
--- a/plugins/org.eclipse.wst.server.preview/.classpath
+++ b/plugins/org.eclipse.wst.server.preview/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..c6a69e9 100644
--- a/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Tue Jan 16 16:59:15 EST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -24,7 +24,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=error
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.3
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.ui.prefs
index b91a054..584bdff 100644
--- a/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
-#Thu Aug 16 17:00:15 EDT 2007
+#Fri Nov 10 18:06:11 HST 2006
 eclipse.preferences.version=1
+internal.default.compliance=user
 org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates/>
diff --git a/plugins/org.eclipse.wst.server.preview/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.preview/META-INF/MANIFEST.MF
index e0f61a5..9aa19df 100644
--- a/plugins/org.eclipse.wst.server.preview/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.preview/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.preview; singleton:=true
-Bundle-Version: 1.0.100.qualifier
+Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.eclipse.wst.server.preview.internal.PreviewServerPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -11,4 +11,4 @@
  org.mortbay.jetty;bundle-version="[5.1.11,6.0.0)",
  org.apache.commons.logging;bundle-version="[1.0.4,2.0.0)"
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Module.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Module.java
index d1764a4..7828b9f 100644
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Module.java
+++ b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Module.java
@@ -69,7 +69,7 @@
 			
 			IMemento[] servlets2 = memento.getChildren("servlet");
 			int size = servlets.length;
-			List<Servlet> list = new ArrayList<Servlet>(size);
+			List list = new ArrayList(size);
 			for (int i = 0; i < size; i++) {
 				Servlet s = new Servlet();
 				IMemento m = servlets2[i].getChild("servlet-name");
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/ServerConfig.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/ServerConfig.java
index f0da938..b1745c1 100644
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/ServerConfig.java
+++ b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/ServerConfig.java
@@ -37,7 +37,7 @@
 				
 				IMemento[] modules2 = memento.getChildren("module");
 				int size = modules2.length;
-				List<Module> list = new ArrayList<Module>(size);
+				List list = new ArrayList(size);
 				for (int i = 0; i < size; i++) {
 					String name = modules2[i].getString("name");
 					boolean isStatic = "static".equals(modules2[i].getString("type"));
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/XMLMemento.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/XMLMemento.java
index 9a6eecf..a6b4bfb 100644
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/XMLMemento.java
+++ b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/XMLMemento.java
@@ -147,7 +147,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		List<Element> list = new ArrayList<Element>(size);
+		ArrayList list = new ArrayList(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -161,7 +161,7 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, list.get(x));
+			results[x] = new XMLMemento(factory, (Element)list.get(x));
 		}
 		return results;
 	}
@@ -244,10 +244,10 @@
 		return attr.getValue();
 	}
 	
-	public List<String> getNames() {
+	public List getNames() {
 		NamedNodeMap map = element.getAttributes();
 		int size = map.getLength();
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		for (int i = 0; i < size; i++) {
 			Node node = map.item(i);
 			String name = node.getNodeName();
diff --git a/plugins/org.eclipse.wst.server.ui/.classpath b/plugins/org.eclipse.wst.server.ui/.classpath
index 859bd32..8bcabf4 100644
--- a/plugins/org.eclipse.wst.server.ui/.classpath
+++ b/plugins/org.eclipse.wst.server.ui/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="serverui/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.core.prefs
index 5f239aa..e026b11 100644
--- a/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 24 09:14:21 EDT 2007
+#Fri Feb 23 21:14:09 EST 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=error
@@ -8,10 +8,10 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.4
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -24,7 +24,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=error
@@ -69,6 +69,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
index 6873050..3f7d0dd 100644
--- a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.ui; singleton:=true
-Bundle-Version: 1.0.305.qualifier
+Bundle-Version: 1.0.206.qualifier
 Bundle-Activator: org.eclipse.wst.server.ui.internal.ServerUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -38,4 +38,4 @@
  org.eclipse.update.core;resolution:=optional;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.wst.common.project.facet.ui;resolution:=optional;bundle-version="[1.1.0,2.0.0)"
 Eclipse-LazyStart: true; exceptions="org.eclipse.wst.server.ui.internal.webbrowser"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.properties b/plugins/org.eclipse.wst.server.ui/plugin.properties
index 740dde7..00d1db6 100644
--- a/plugins/org.eclipse.wst.server.ui/plugin.properties
+++ b/plugins/org.eclipse.wst.server.ui/plugin.properties
@@ -46,7 +46,7 @@
 preferenceServerKeywords=servers runtime environment build installed publishing deploy assembly launching running debugging profiling
 
 propertiesServer=Server
-propertiesServerInfo=General
+propertiesServerInfo=Info
 propertiesMonitor=Monitoring
 
 # --------------- Editor ---------------
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.xml b/plugins/org.eclipse.wst.server.ui/plugin.xml
index f6b81f2..f21fb07 100644
--- a/plugins/org.eclipse.wst.server.ui/plugin.xml
+++ b/plugins/org.eclipse.wst.server.ui/plugin.xml
@@ -259,11 +259,7 @@
       class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory"
       adaptableType="org.eclipse.wst.server.core.IServer">
       <adapter type="org.eclipse.ui.IActionFilter"/>
-    </factory>
-    <factory
-      class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory"
-      adaptableType="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
-      <adapter type="org.eclipse.ui.IActionFilter"/>
+      <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
     </factory>
   </extension>
 
diff --git a/plugins/org.eclipse.wst.server.ui/serverAdapterSites.xml b/plugins/org.eclipse.wst.server.ui/serverAdapterSites.xml
index d5c7ca0..836672e 100644
--- a/plugins/org.eclipse.wst.server.ui/serverAdapterSites.xml
+++ b/plugins/org.eclipse.wst.server.ui/serverAdapterSites.xml
@@ -6,5 +6,4 @@
     <site url="https://dev2devclub.bea.com/updates/eclipse-3.3/wls-plugins/"/>
     <site url="https://ajax.dev.java.net/eclipse"/>
     <site url="https://www.sdn.sap.com/downloads/updates/netweaver/nwds/sapnwserver/"/>
-    <site url="http://www.webtide.com/eclipse"/>
 </extensions>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
index 86e3ba1..d38c217 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
@@ -53,7 +53,7 @@
 	private IServer server;
 
 	// list of servers that are in combo
-	private List<IServer> servers;
+	private List servers;
 
 	private ILaunchConfigurationWorkingCopy wc;
 
@@ -122,7 +122,7 @@
 		
 		// initialize
 		IServer[] servers2 = ServerCore.getServers();
-		servers = new ArrayList<IServer>();
+		servers = new ArrayList();
 		if (servers2 != null) {
 			int size = servers2.length;
 			for (int i = 0; i < size; i++) {
@@ -171,7 +171,7 @@
 		if (servers.isEmpty())
 			server = null;
 		else
-			server = servers.get(serverCombo.getSelectionIndex());
+			server = (IServer) servers.get(serverCombo.getSelectionIndex());
 		IRuntime runtime = null;
 		if (server != null) {
 			runtime = server.getRuntime();
@@ -214,7 +214,7 @@
 		}
 		
 		if (servers != null) {
-			server = servers.get(serverCombo.getSelectionIndex());
+			server = (IServer) servers.get(serverCombo.getSelectionIndex());
 			if (server != null)
 				((Server) server).setupLaunchConfiguration(configuration, null);
 		}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
index b41ba8e..9423e9c 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
@@ -39,8 +39,8 @@
 	public static final int PROP_ERROR = 5;
 
 	private String errorMessage = null;
-	private Map<String, List<ServerEditorSection>> sectionToInsertionId = null;
-	private List<ServerEditorSection> sections = null;
+	private Map sectionToInsertionId = null;
+	private List sections = null;
 	private ServerResourceCommandManager commandManager;
 	private FormToolkit toolkit;
 
@@ -140,7 +140,7 @@
 	 */
 	public IStatus[] getSaveStatus() {
 		Iterator iterator = getSections().iterator();
-		List<IStatus> list = new ArrayList<IStatus>();
+		List list = new ArrayList();
 		while (iterator.hasNext()) {
 			ServerEditorSection section = (ServerEditorSection) iterator.next();
 			IStatus[] status = section.getSaveStatus();
@@ -159,8 +159,8 @@
 
 	private List getSections() {
 		if (sections == null) {
-			sections = new ArrayList<ServerEditorSection>();
-			sectionToInsertionId = new HashMap<String, List<ServerEditorSection>>();
+			sections = new ArrayList();
+			sectionToInsertionId = new HashMap();
 			ServerEditor serverEditor = commandManager.getServerEditor();
 			Iterator iterator = ServerEditorCore.getServerEditorPageSectionFactories().iterator();
 			while (iterator.hasNext()) {
@@ -178,14 +178,14 @@
 						if (section != null) {
 							section.setServerEditorPart(this);
 							sections.add(section);
-							List<ServerEditorSection> list = null;
+							List list = null;
 							try {
-								list = sectionToInsertionId.get(insertionId);
+								list = (List) sectionToInsertionId.get(insertionId);
 							} catch (Exception e) {
 								// ignore
 							}
 							if (list == null)
-								list = new ArrayList<ServerEditorSection>();
+								list = new ArrayList();
 							list.add(section);
 							sectionToInsertionId.put(insertionId, list);
 						}
@@ -201,11 +201,11 @@
 			return null;
 		
 		getSections();
-		List<ServerEditorSection> list = new ArrayList<ServerEditorSection>();
+		List list = new ArrayList();
 		try {
-			List<ServerEditorSection> sections2 = sectionToInsertionId.get(insertionId);
+			List sections2 = (List) sectionToInsertionId.get(insertionId);
 			if (sections2 != null) {
-				Iterator<ServerEditorSection> iterator = sections2.iterator();
+				Iterator iterator = sections2.iterator();
 				while (iterator.hasNext()) {
 					list.add(iterator.next());
 				}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java
index 64fd0aa..7855525 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java
@@ -26,8 +26,6 @@
 	public static final String NEW_SERVER_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swns0000";
 	public static final String NEW_SERVER_TYPE = ServerUIPlugin.PLUGIN_ID + ".swns0006";
 	
-	public static final String SERVER_PROPERTY_PAGE = ServerUIPlugin.PLUGIN_ID + ".svcp0004";
-	
 	public static final String NEW_RUNTIME_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swnr0000";
 
 	public static final String LAUNCH_CONFIGURATION_SERVER_COMBO = ServerUIPlugin.PLUGIN_ID + ".swsl0000";
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java
index eabbe90..023af1d 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java
@@ -30,7 +30,7 @@
  * 
  */
 public class DefaultMonitorDelegate extends ServerMonitorDelegate {
-	protected Map<ServerPort, IMonitor> monitors = new HashMap<ServerPort, IMonitor>();
+	protected Map monitors = new HashMap();
 	protected IMonitorListener listener;
 
 	private void addListener() {
@@ -74,7 +74,7 @@
 	 */
 	public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException {
 		try {
-			IMonitor monitor = monitors.get(port);
+			IMonitor monitor = (IMonitor) monitors.get(port);
 			int mport = -1;
 			if (monitor == null) {
 				mport = monitorPort;
@@ -106,7 +106,7 @@
 	 */
 	public void stopMonitoring(IServer server, ServerPort port) {
 		try {
-			IMonitor monitor = monitors.get(port);
+			IMonitor monitor = (IMonitor) monitors.get(port);
 			if (monitor != null)
 				monitor.stop();
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java
index 2a39f65..0ff2d2b 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java
@@ -24,14 +24,14 @@
  * 
  */
 public class DefaultServerLabelDecorator implements ILabelDecorator {
-	protected Map<Object, Image> map = new HashMap<Object, Image>();
+	protected Map map = new HashMap();
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
 	 */
 	public Image decorateImage(Image image, Object element) {
 		try {
-			Image img = map.get(element);
+			Image img = (Image) map.get(element);
 			if (img != null)
 				return img;
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
index 84e873f..9f257d4 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
@@ -49,7 +49,7 @@
 	protected IServer[] servers;
 	protected IFolder[] configs;
 
-	protected List<IServer> runningServersList;
+	protected List runningServersList;
 	protected boolean runningServerCanStop;
 
 	protected Button checkDeleteConfigs;
@@ -73,7 +73,7 @@
 		this.servers = servers;
 		this.configs = configs;
 		
-		runningServersList = new ArrayList<IServer>();
+		runningServersList = new ArrayList();
 		for (int i = 0 ; i < servers.length ; ++i) {
 			if (servers[i].getServerState() != IServer.STATE_STOPPED)
 				runningServersList.add(servers[i]);
@@ -196,13 +196,13 @@
 	 */
 	protected void prepareForDeletion(boolean deleteRunning, boolean stopRunning) {
 		// converts servers & configs to list to facilitate removal
-		List<IServer> serversList = new LinkedList<IServer>(Arrays.asList(servers));
-		List<IFolder> configsList = new LinkedList<IFolder>(Arrays.asList(configs));
+		List serversList = new LinkedList(Arrays.asList(servers));
+		List configsList = new LinkedList(Arrays.asList(configs));
 		if (!deleteRunning) {
 			// don't delete servers or configurations
 			int size = runningServersList.size();
 			for (int i = 0; i < size; i++) {
-				IServer server = runningServersList.get(i);
+				IServer server = (IServer) runningServersList.get(i);
 				serversList.remove(server);
 				if (server.getServerConfiguration() != null)
 					configsList.remove(server.getServerConfiguration());
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java
index 0a88846..591d2f7 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java
@@ -34,7 +34,7 @@
 
 	// map of image descriptors since these
 	// will be lost by the image registry
-	private static Map<String, ImageDescriptor> imageDescriptors;
+	private static Map imageDescriptors;
 
 	// base urls for images
 	private static URL ICON_BASE_URL;
@@ -187,7 +187,7 @@
 	public static ImageDescriptor getImageDescriptor(String key) {
 		if (imageRegistry == null)
 			initializeImageRegistry();
-		ImageDescriptor id = imageDescriptors.get(key);
+		ImageDescriptor id = (ImageDescriptor) imageDescriptors.get(key);
 		if (id != null)
 			return id;
 		
@@ -199,7 +199,7 @@
 	 */
 	protected static void initializeImageRegistry() {
 		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap<String, ImageDescriptor>();
+		imageDescriptors = new HashMap();
 
 		// wizard banners
 		registerImage(IMG_WIZBAN_NEW_SERVER, URL_WIZBAN + "new_server_wiz.png");
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
index ff88432..8e0866a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
@@ -31,6 +31,7 @@
 	public static String deleteServerDialogRunningServerStop;
 	public static String deleteServerTask;
 	public static String errorCouldNotCreateServerProjectStatus;
+	public static String dialogStoppingServer;
 	public static String savingTask;
 	public static String editorSaveErrorDialog;
 	public static String editorSaveErrorMessage;
@@ -126,12 +127,10 @@
 	public static String actionNewServer;
 	public static String actionDebugToolTip;
 	public static String actionDebug;
-	public static String actionDebugRestart;
 	public static String actionStartToolTip;
 	public static String actionStart;
 	public static String actionProfileToolTip;
 	public static String actionProfile;
-	public static String actionProfileRestart;
 	public static String actionRestartToolTip;
 	public static String actionRestart;
 	public static String actionPublishToolTip;
@@ -265,7 +264,6 @@
 	public static String editorPromptIrreversible;
 	public static String editorRenameFiles;
 	public static String errorEditorCantSave;
-	public static String errorDuplicateName;
 	public static String editorReadOnly;
 	public static String editorWritable;
 	public static String editorResourceModifiedTitle;
@@ -320,7 +318,6 @@
 	public static String wizNewInstallableServerConfirm;
 	public static String wizNewInstallableServerJob;
 	public static String wizNewInstallableServerRestart;
-	public static String wizNewInstallableServerSiteError;
 	public static String installableServerCompTree;
 	public static String installableServerLink;
 	public static String installableServerLocal;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties
index 5098971..73de2ac 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties
@@ -52,7 +52,7 @@
 wizNewRuntimeWizardTitle=New Server Runtime
 wizNewRuntimeTitle=New Server Runtime
 wizNewRuntimeDescription=Define a new installed server runtime environment
-wizNewRuntimeCreateServer=&Create a new local server
+wizNewRuntimeCreateServer=Also &create new local server
 wizEditRuntimeWizardTitle=Edit Server Runtime
 
 # New Server Adapter Wizard
@@ -62,7 +62,6 @@
 wizNewInstallableServerConfirm=Support for {0} will now be downloaded and installed. You will be prompted to restart once the installation is complete.
 wizNewInstallableServerJob=Installing {0}
 wizNewInstallableServerRestart=Installation complete. The new server will not be available until after the workbench is restarted. Do you want to restart now?
-wizNewInstallableServerSiteError=Could not connect to {0}
 
 # License wizard
 wizLicenseTitle=Feature License
@@ -99,13 +98,13 @@
 viewNoModules=Nothing deployed
 
 # Actions
-actionDelete=De&lete
-actionRemove=Remo&ve
-actionOpen=Op&en
-actionMonitor=Monitorin&g
+actionDelete=Delete
+actionRemove=Remove
+actionOpen=Open
+actionMonitor=Monitoring
 actionMonitorPort=Monitor port {0} ({1})
-actionProperties=&Properties
-actionNew=Ne&w
+actionProperties=Properties
+actionNew=New
 actionNewServer=Server
 
 # --- Servers view ---
@@ -117,32 +116,30 @@
 viewState=State
 
 # Actions
-actionStart=&Start
+actionStart=Start
 actionStartToolTip=Start the server
-actionDebug=&Debug
-actionDebugRestart=Restart in Debug
+actionDebug=Debug
 actionDebugToolTip=Start the server in debug mode
-actionProfile=Pro&file
-actionProfileRestart=Restart in Profile
+actionProfile=Profile
 actionProfileToolTip=Start the server in profiling mode
-actionStop=S&top
+actionStop=Stop
 actionStopToolTip=Stop the server
-actionRestart=&Restart
+actionRestart=Restart
 actionRestartToolTip=Restart the server
-actionPublish=P&ublish
+actionPublish=Publish
 actionPublishToolTip=Publish to the server
-actionPublishClean=&Clean...
+actionPublishClean=Clean...
 actionPublishCleanToolTip=Clean projects on the server
-actionModifyModules=Add and Remove &Projects...
+actionModifyModules=Add and Remove Projects...
 actionModifyModulesToolTip=Add and remove projects
-actionRestartModule=&Restart
-actionStartModule=&Start
-actionStopModule=S&top
-actionUpdateStatus=&Initialize Server Status
+actionRestartModule=Restart
+actionStartModule=Start
+actionStopModule=Stop
+actionUpdateStatus=Initialize Server Status
 actionSwitchServerLocation=Switch Location
 switchServerLocation=Location:
 switchServerLocationMetadata=[workspace metadata]
-actionRename=Re&name
+actionRename=Rename
 
 # Status column text
 viewStatusStarted=Started
@@ -296,6 +293,7 @@
 
 # General dialogs
 defaultDialogTitle=Server
+dialogStoppingServer=Stopping server {0}.
 dialogRemember=&Remember my decision
 
 # restart warning dialog
@@ -393,10 +391,9 @@
 errorVersionLevel=The server does not support version {1} of the {0} specification.
 errorMissingConfiguration=The server configuration is missing or invalid
 errorRootModule=Could not find a valid parent module to add to the server.
-errorDuplicateName=The name is already in use.
 
 # Info messages
-infoNoRuntimesFound=No new server runtimes were found.
+infoNoRuntimesFound=No server runtimes were found.
 
 # Default server creation names
 # {0} will be replaced by a number if the given name is already being used
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator2.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator2.java
deleted file mode 100644
index ced7bff..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator2.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-import org.eclipse.wst.server.ui.internal.viewers.BaseLabelProvider;
-
-public class ModuleLabelDecorator2 extends BaseLabelProvider implements ILightweightLabelDecorator {
-	public ModuleLabelDecorator2() {
-		super(false);
-	}
-
-	public void decorate(Object element, IDecoration decoration) {
-		try {
-			IModule module = null;
-			System.out.println("decorate2");
-			
-			if (element instanceof IServer) {
-				decoration.addSuffix(" *");
-				return;
-			}
-			
-			if (element instanceof IModule) {
-				module = (IModule) element;
-			} else if (element instanceof ModuleServer) {
-				IModule[] modules = ((ModuleServer) element).module;
-				module = modules[modules.length - 1];
-			}
-			if (module == null)
-				return;
-			
-			IProject project = module.getProject();
-			if (project == null)
-				return;
-			
-			String text = module.getName();
-			
-			if (!project.getName().equals(text))
-				decoration.addSuffix(" (" + project.getName() + ")");
-				//text = NLS.bind(Messages.moduleDecoratorProject, new String[] {text, project.getName()});
-			//return PlatformUI.getWorkbench().getDecoratorManager().decorateText(text, project);
-		} catch (Exception e) {
-			return;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java
index e815b37..899e901 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java
@@ -176,8 +176,8 @@
 	/**
 	 * Returns a list of all servers that this module is configured on.
 	 *
-	 * @param module a module
-	 * @return an array of servers
+	 * @param module org.eclipse.wst.server.core.IModule
+	 * @return java.util.List
 	 */
 	protected static IServer[] getServersBySupportedModule(IModule module) {
 		if (module == null)
@@ -185,7 +185,7 @@
 		
 		// do it the slow way - go through all servers and
 		// see if this module is configured in it
-		List<IServer> list = new ArrayList<IServer>();
+		List list = new ArrayList();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
@@ -197,7 +197,9 @@
 			}
 		}
 		
-		return list.toArray(new IServer[list.size()]);
+		IServer[] allServers = new IServer[list.size()];
+		list.toArray(allServers);
+		return allServers;
 	}
 
 	protected void performDefaults() {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
index 3226aa5..829d76e 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
@@ -188,7 +188,7 @@
 					final IProgressMonitor monitor = dialog.getProgressMonitor();
 					final IRuntimeLocator[] locators = ServerPlugin.getRuntimeLocators();
 					monitor.beginTask(Messages.dialogRuntimeSearchProgress, 100 * locators.length + 10);
-					final List<IRuntimeWorkingCopy> list = new ArrayList<IRuntimeWorkingCopy>();
+					final List list = new ArrayList();
 					
 					final IRuntimeLocator.IRuntimeSearchListener listener = new IRuntimeLocator.IRuntimeSearchListener() {
 						public void runtimeFound(final IRuntimeWorkingCopy runtime) {
@@ -229,7 +229,7 @@
 						monitor.worked(5);
 						// remove duplicates from list (based on location)
 						Trace.trace(Trace.FINER, "Removing duplicates");
-						List<IRuntime> good = new ArrayList<IRuntime>();
+						List good = new ArrayList();
 						Iterator iterator2 = list.iterator();
 						while (iterator2.hasNext()) {
 							boolean dup = false;
@@ -279,7 +279,7 @@
 
 		// check for use
 		IServer[] servers = ServerCore.getServers();
-		List<IServer> list = new ArrayList<IServer>();
+		List list = new ArrayList();
 		if (servers != null) {
 			int size = servers.length;
 			for (int i = 0; i < size; i++) {
@@ -331,7 +331,7 @@
 		if (runtimeWorkingCopy == null) {
 			title = Messages.wizNewRuntimeWizardTitle;
 			fragment = new WizardFragment() {
-				protected void createChildFragments(List<WizardFragment> list) {
+				protected void createChildFragments(List list) {
 					list.add(new NewRuntimeWizardFragment());
 					list.add(WizardTaskUtil.SaveRuntimeFragment);
 				}
@@ -345,7 +345,7 @@
 			}
 			taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy);
 			fragment = new WizardFragment() {
-				protected void createChildFragments(List<WizardFragment> list) {
+				protected void createChildFragments(List list) {
 					list.add(fragment2);
 					list.add(WizardTaskUtil.SaveRuntimeFragment);
 				}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java
index e055b0a..4e23331 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java
@@ -11,7 +11,10 @@
 package org.eclipse.wst.server.ui.internal;
 
 import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.IActionFilter;
+import org.eclipse.ui.model.IWorkbenchAdapter;
+import org.eclipse.wst.server.core.IServer;
 /**
  * Adapter factory to adapt servers to IActionFilter.
  */
@@ -21,6 +24,26 @@
 			return ServerPropertyTester.checkProperty(target, name, value);
 		}
 	};
+	
+	IWorkbenchAdapter workbenchAdapter = new IWorkbenchAdapter() {
+		public Object[] getChildren(Object o) {
+			return null;
+		}
+
+		public ImageDescriptor getImageDescriptor(Object object) {
+			return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER);
+		}
+
+		public String getLabel(Object o) {
+			if (o instanceof IServer)
+				return ((IServer) o).getName();
+			return null;
+		}
+
+		public Object getParent(Object o) {
+			return null;
+		}
+	};
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
@@ -28,7 +51,10 @@
 	public Object getAdapter(Object adaptableObject, Class adapterType) {
 		if (adapterType == IActionFilter.class)
 			return actionFilter;
-			
+		
+		if (adapterType == IWorkbenchAdapter.class)
+			return workbenchAdapter;
+		
 		return null;
 	}
 
@@ -36,6 +62,6 @@
 	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
 	 */
 	public Class[] getAdapterList() {
-		return new Class[] { IActionFilter.class };
+		return new Class[] { IActionFilter.class, IWorkbenchAdapter.class };
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java
index ddd2236..853e8a3 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java
@@ -35,7 +35,7 @@
  */
 public class ServerLabelProvider implements ILabelProvider, IColorProvider {
 	private ILabelDecorator decorator;
-	protected transient List<ILabelProviderListener> listeners;
+	protected transient List listeners;
 	protected ILabelProviderListener providerListener;
 
 	public ServerLabelProvider() {
@@ -53,7 +53,7 @@
 			throw new IllegalArgumentException("Listener cannot be null");
 		
 		if (listeners == null)
-			listeners = new ArrayList<ILabelProviderListener>();
+			listeners = new ArrayList();
 		listeners.add(listener);
 	}
 
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyPage.java
index f19bfdc..d700a9c 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyPage.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyPage.java
@@ -22,9 +22,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
 import org.eclipse.wst.server.core.IRuntimeType;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerType;
@@ -63,9 +61,6 @@
 			composite.setLayout(layout);
 			composite.setLayoutData(new GridData(GridData.FILL_BOTH));
 			
-			IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-			whs.setHelp(composite, ContextIds.SERVER_PROPERTY_PAGE);			
-			
 			// name
 			Label label = new Label(composite, SWT.NONE);
 			label.setText(Messages.propServerInfoName);
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
index 31bdc99..4f6916c 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
@@ -78,7 +78,7 @@
 	protected Map imageDescriptors = new HashMap();
 
 	// cached copy of all runtime wizards
-	private static Map<String, WizardFragmentData> wizardFragments;
+	private static Map wizardFragments;
 
 	// cached initial selection provider
 	private static InitialSelectionProvider selectionProvider;
@@ -128,7 +128,7 @@
 		}
 	}
 
-	protected static List<IServer> terminationWatches = new ArrayList<IServer>();
+	protected static List terminationWatches = new ArrayList();
 
 	protected IServerLifecycleListener serverLifecycleListener = new IServerLifecycleListener() {
 		public void serverAdded(IServer server) {
@@ -374,7 +374,7 @@
 	 * of the given runtime type
 	 */
 	public static IRuntime[] getRuntimes(IRuntimeType runtimeType) {
-		List<IRuntime> list = new ArrayList<IRuntime>();
+		List list = new ArrayList();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
@@ -533,7 +533,7 @@
 	 */
 	public static boolean showNewRuntimeWizard(Shell shell, final String type, final String version, final String runtimeTypeId) {
 		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
+			protected void createChildFragments(List list) {
 				list.add(new NewRuntimeWizardFragment(type, version, runtimeTypeId));
 				list.add(WizardTaskUtil.SaveRuntimeFragment);
 			}
@@ -562,7 +562,7 @@
 				taskModel.putObject(TaskModel.TASK_RUNTIME, runtime);
 				
 				WizardFragment fragment = new WizardFragment() {
-					protected void createChildFragments(List<WizardFragment> list) {
+					protected void createChildFragments(List list) {
 						list.add(getWizardFragment(runtimeTypeId));
 						list.add(WizardTaskUtil.SaveRuntimeFragment);
 					}
@@ -590,7 +590,7 @@
 	 */
 	public static boolean showNewServerWizard(Shell shell, final String typeId, final String versionId, final String serverTypeId) {
 		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
+			protected void createChildFragments(List list) {
 				list.add(new NewServerWizardFragment(new ModuleType(typeId, versionId), serverTypeId));
 				
 				list.add(WizardTaskUtil.TempSaveRuntimeFragment);
@@ -628,7 +628,7 @@
 		while (iterator.hasNext()) {
 			String key = (String) iterator.next();
 			if (typeId.equals(key)) {
-				WizardFragmentData data = wizardFragments.get(key);
+				WizardFragmentData data = (WizardFragmentData) wizardFragments.get(key);
 				return getWizardFragment(data);
 			}
 		}
@@ -645,7 +645,7 @@
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, EXTENSION_WIZARD_FRAGMENTS);
 		
-		Map<String, WizardFragmentData> map = new HashMap<String, WizardFragmentData>(cf.length);
+		Map map = new HashMap(cf.length);
 		loadWizardFragments(cf, map);
 		addRegistryListener();
 		wizardFragments = map;
@@ -656,7 +656,7 @@
 	/**
 	 * Load wizard fragments.
 	 */
-	private static synchronized void loadWizardFragments(IConfigurationElement[] cf, Map<String, WizardFragmentData> map) {
+	private static synchronized void loadWizardFragments(IConfigurationElement[] cf, Map map) {
 		for (int i = 0; i < cf.length; i++) {
 			try {
 				String id = cf[i].getAttribute("typeIds");
@@ -757,7 +757,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		Map<String, WizardFragmentData> map = new HashMap<String, WizardFragmentData>(wizardFragments);
+		Map map = new HashMap(wizardFragments);
 		if (delta.getKind() == IExtensionDelta.ADDED) {
 			loadWizardFragments(cf, map);
 		} else {
@@ -789,7 +789,7 @@
 		if (str == null)
 			return new String[0];
 		
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		
 		StringTokenizer st = new StringTokenizer(str, delim);
 		while (st.hasMoreTokens()) {
@@ -816,7 +816,7 @@
 		if (server == null || launchable == null)
 			return new IClient[0];
 		
-		ArrayList<IClient> list = new ArrayList<IClient>(5);
+		ArrayList list = new ArrayList(5);
 		IClient[] clients = ServerPlugin.getClients();
 		if (clients != null) {
 			int size = clients.length;
@@ -881,7 +881,7 @@
 		if (obj == null)
 			return obj;
 		
-		List<Object> list = new ArrayList<Object>();
+		List list = new ArrayList();
 		int size = obj.length;
 		for (int i = 0; i < size; i++) {
 			if (obj[i] instanceof IModule) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java
index 7d70967..c14bd85 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java
@@ -310,10 +310,10 @@
 	 * 
 	 * @return the hostnames
 	 */
-	public List<String> getHostnames() {
+	public List getHostnames() {
 		String s = preferences.getString(PREF_HOST_NAMES);
 		StringTokenizer st = new StringTokenizer(s, "|*|");
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		while (st.hasMoreTokens()) {
 			list.add(st.nextToken());
 		}
@@ -329,7 +329,7 @@
 		if ("localhost".equals(hostname))
 			return;
 		
-		List<String> list = getHostnames();
+		List list = getHostnames();
 		
 		// remove duplicates
 		if (list.contains(hostname))
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java
index 8912f4b..2fb5020 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java
@@ -12,9 +12,6 @@
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 /**
  * Helper class to route trace output.
  */
@@ -27,9 +24,12 @@
 	public static final byte FINER = 5;
 	public static final byte PERFORMANCE = 6;
 	public static final byte EXTENSION_POINT = 7;
-
+	
+	protected static int pluginLength = -1;
+	
 	private static final String[] levelNames = new String[] {
 		"CONFIG ", "INFO   ", "WARNING", "SEVERE ", "FINER  ", "FINEST ", "PERF   ", "EXTENSION"};
+	private static final String spacer = "                                   ";
 
 	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
 
@@ -49,7 +49,7 @@
 	public static void trace(byte level, String s) {
 		trace(level, s, null);
 	}
-
+	
 	/**
 	 * Trace the given message and exception.
 	 *
@@ -58,13 +58,15 @@
 	 * @param t a throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
-		if (level == SEVERE)
-			ServerUIPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, s, t));
-		
 		if (!ServerUIPlugin.getInstance().isDebugging())
 			return;
-		
-		StringBuffer sb = new StringBuffer(ServerUIPlugin.PLUGIN_ID);
+
+		String pluginId = ServerUIPlugin.PLUGIN_ID;
+		StringBuffer sb = new StringBuffer(pluginId);
+		if (pluginId.length() > pluginLength)
+			pluginLength = pluginId.length();
+		else if (pluginId.length() < pluginLength)
+			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
 		sb.append(" ");
 		sb.append(levelNames[level]);
 		sb.append(" ");
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java
index b54d332..518823f 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java
@@ -25,7 +25,7 @@
  * 
  */
 public abstract class AbstractServerActionDelegate implements IActionDelegate {
-	protected List<IServer> servers;
+	protected List servers;
 
 	/**
 	 * Return true if this server can currently be acted on.
@@ -62,7 +62,7 @@
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
 	public void selectionChanged(IAction action, ISelection selection) {
-		servers = new ArrayList<IServer>();
+		servers = new ArrayList();
 		if (selection.isEmpty() || !(selection instanceof StructuredSelection)) {
 			action.setEnabled(false);
 			return;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java
index 40fa7c1..0835966 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java
@@ -67,12 +67,12 @@
 		IStructuredSelection select = (IStructuredSelection) selection;
 		Iterator iterator = select.iterator();
 		
-		List<IServer> list = new ArrayList<IServer>();
+		List list = new ArrayList();
 		
 		while (iterator.hasNext()) {
 			Object obj = iterator.next();
 			if (obj instanceof IServer)
-				list.add((IServer)obj);
+				list.add(obj);
 			else {
 				action.setEnabled(false);
 				return;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
index ff66bd9..f939732 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
@@ -57,7 +57,7 @@
 
 	protected static Object globalSelection;
 
-	protected static Map<String, Boolean> globalLaunchMode;
+	protected static Map globalLaunchMode;
 	protected String launchMode = ILaunchManager.RUN_MODE;
 
 	protected boolean tasksAndClientShown;
@@ -444,6 +444,14 @@
 	}
 
 	protected void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy config, IServer server, ModuleArtifactDelegate moduleArtifact, ILaunchableAdapter launchableAdapter, IClient client) {
+		String launchName = NLS.bind(Messages.runOnServerLaunchConfigName, moduleArtifact.getName());
+		launchName = getValidLaunchConfigurationName(launchName);
+		if (!launchName.equals(config.getName())) {
+			ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
+			launchName = launchManager.generateUniqueLaunchConfigurationNameFrom(launchName);
+			config.rename(launchName);
+		}
+		
 		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_SERVER_ID, server.getId());
 		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_MODULE_ARTIFACT, moduleArtifact.serialize());
 		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_MODULE_ARTIFACT_CLASS, moduleArtifact.getClass().getName());
@@ -656,7 +664,7 @@
 
 	protected boolean isEnabled() {
 		try {
-			Boolean b = globalLaunchMode.get(getLaunchMode());
+			Boolean b = (Boolean) globalLaunchMode.get(getLaunchMode());
 			return b.booleanValue();
 		} catch (Exception e) {
 			// ignore
@@ -713,7 +721,7 @@
 			if (selection != null)	
 				Trace.trace(Trace.FINEST, "Selection type: " + selection.getClass().getName());
 			globalSelection = selection;
-			globalLaunchMode = new HashMap<String, Boolean>();
+			globalLaunchMode = new HashMap();
 			if (!ServerPlugin.hasModuleArtifact(globalSelection)) {
 				action.setEnabled(false);
 				return;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java
index 7815826..e6ebdcd 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java
@@ -17,6 +17,7 @@
 
 import org.eclipse.core.runtime.*;
 import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.ui.IMemento;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.Trace;
 /**
@@ -32,17 +33,17 @@
 	public static final String DISABLED_FILE = "disabled-sounds.xml";
 
 	// Categories - map of String id to String names
-	private Map<String, String> categories;
+	private Map categories;
 
 	// Sounds - map of String id to Sound
-	private Map<String, Sound> sounds;
+	private Map sounds;
 
 	// specific sounds or categories that have been disabled, by id
-	private List<String> disabledSounds;
-	private List<String> disabledCategories;
+	private List disabledSounds;
+	private List disabledCategories;
 
 	// SoundMap - map of String id to an IPath
-	private Map<String, IPath> userSoundMap;
+	private Map userSoundMap;
 
 	/**
 	 * AudioCore constructor comment.
@@ -63,7 +64,7 @@
 	 *
 	 * @return java.util.Map
 	 */
-	protected Map<String, String> getCategories() {
+	protected Map getCategories() {
 		return categories;
 	}
 
@@ -190,7 +191,7 @@
 	 */
 	protected Sound getSound(String id) {
 		try {
-			return sounds.get(id);
+			return (Sound) sounds.get(id);
 		} catch (Exception e) {
 			return null;
 		}
@@ -201,7 +202,7 @@
 	 *
 	 * @return java.util.Map
 	 */
-	protected Map<String, Sound> getSounds() {
+	protected Map getSounds() {
 		return sounds;
 	}
 
@@ -210,7 +211,7 @@
 	 *
 	 * @return java.util.Map
 	 */
-	protected Map<String, IPath> getUserSoundMap() {
+	protected Map getUserSoundMap() {
 		if (userSoundMap == null)
 			loadSoundMap();
 		return userSoundMap;
@@ -227,7 +228,7 @@
 			if (userSoundMap == null)
 				loadSoundMap();
 	
-			IPath path = userSoundMap.get(id);
+			IPath path = (IPath) userSoundMap.get(id);
 			if (path != null)
 				return path;
 		} catch (Exception e) {
@@ -302,8 +303,8 @@
 		String filename = ServerUIPlugin.getInstance().getStateLocation().append(DISABLED_FILE).toOSString();
 	
 		FileInputStream in = null;
-		disabledCategories = new ArrayList<String>();
-		disabledSounds = new ArrayList<String>();
+		disabledCategories = new ArrayList();
+		disabledSounds = new ArrayList();
 		try {
 			in = new FileInputStream(filename);
 			IMemento memento = XMLMemento.loadMemento(in);
@@ -359,8 +360,8 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "audio");
 	
 		int size = cf.length;
-		categories = new HashMap<String, String>();
-		sounds = new HashMap<String, Sound>();
+		categories = new HashMap();
+		sounds = new HashMap();
 	
 		for (int i = 0; i < size; i++) {
 			try {
@@ -396,7 +397,7 @@
 		String filename = ServerUIPlugin.getInstance().getStateLocation().append(SOUNDS_FILE).toOSString();
 	
 		InputStream in = null;
-		userSoundMap = new HashMap<String, IPath>();
+		userSoundMap = new HashMap();
 		try {
 			in = new FileInputStream(filename);
 			IMemento memento = XMLMemento.loadMemento(in);
@@ -443,7 +444,7 @@
 			return;
 	
 		try {
-			Sound sound = sounds.get(id);
+			Sound sound = (Sound) sounds.get(id);
 			String category = sound.getCategory();
 			if (category != null && categories.containsKey(category)) {
 				if (!isCategoryEnabled(category))
@@ -569,7 +570,7 @@
 				IMemento child = memento.createChild("map");
 				String id = (String) iterator.next();
 				child.putString("id", id);
-				IPath path = userSoundMap.get(id);
+				IPath path = (IPath) userSoundMap.get(id);
 				child.putString("path", path.toString());
 			}
 	
@@ -675,7 +676,7 @@
 	 *
 	 * @param map the sound map
 	 */
-	protected void setUserSoundMap(Map<String, IPath> map) {
+	protected void setUserSoundMap(Map map) {
 		if (map != null) {
 			userSoundMap = map;
 			saveSoundMap();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java
index 2ba30f8..4f75ee9 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java
@@ -40,7 +40,7 @@
 	protected Button enableButton;
 	protected Spinner volume;
 
-	protected Map<String, IPath> userSoundMap;
+	protected Map userSoundMap;
 
 	protected CategoryTableViewer viewer;
 	
@@ -305,13 +305,13 @@
 	protected void setCheckState(CheckboxTableViewer viewer) {
 		AudioCore core = AudioCore.getInstance();
 		
-		Map<String, String> categories = core.getCategories();
+		Map categories = core.getCategories();
 		
 		// first, find all the categories and sort
-		List<String> cats = new ArrayList<String>();
+		List cats = new ArrayList();
 		Iterator iterator = categories.keySet().iterator();
 		while (iterator.hasNext())
-			cats.add((String)iterator.next());
+			cats.add(iterator.next());
 		
 		// list them, ignoring empty ones
 		iterator = categories.keySet().iterator();
@@ -350,7 +350,7 @@
 	 */
 	protected URL getSoundURL(String id) {
 		try {
-			IPath path = userSoundMap.get(id);
+			IPath path = (IPath) userSoundMap.get(id);
 			if (path != null)
 				return path.toFile().toURL();
 		} catch (Exception e) {
@@ -367,7 +367,7 @@
 	 */
 	protected IPath getUserSoundPath(String id) {
 		try {
-			IPath path = userSoundMap.get(id);
+			IPath path = (IPath) userSoundMap.get(id);
 			if (path != null)
 				return path;
 		} catch (Exception e) {
@@ -394,13 +394,13 @@
 	 */
 	protected void loadUserMapInfo() {
 		// create a copy of the user sound map
-		Map<String, IPath> map = AudioCore.getInstance().getUserSoundMap();
-		userSoundMap = new HashMap<String, IPath>(map.size());
-		
+		Map map = AudioCore.getInstance().getUserSoundMap();
+		userSoundMap = new HashMap(map.size());
+	
 		Iterator iterator = map.keySet().iterator();
 		while (iterator.hasNext()) {
 			String id = (String) iterator.next();
-			IPath path = map.get(id);
+			IPath path = (IPath) map.get(id);
 			userSoundMap.put(id, path);
 		}
 	}
@@ -414,7 +414,7 @@
 		enableButton.setSelection(core.getDefaultSoundsEnabled());
 		volume.setSelection(core.getDefaultVolume());
 	
-		userSoundMap = new HashMap<String, IPath>();
+		userSoundMap = new HashMap();
 		viewer.refresh();
 	
 		super.performDefaults();
@@ -448,7 +448,7 @@
 	protected void saveUserMapInfo() {
 		// create a copy of the user sound map
 		Map map = AudioCore.getInstance().getUserSoundMap();
-		userSoundMap = new HashMap<String, IPath>(map.size());
+		userSoundMap = new HashMap(map.size());
 	
 		Iterator iterator = map.keySet().iterator();
 		while (iterator.hasNext()) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java
index 8575aee..2d2c34f 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java
@@ -46,23 +46,23 @@
 	public Object[] getElements(Object inputElement) {
 		AudioCore core = AudioCore.getInstance();
 	
-		Map<String, String> categories = core.getCategories();
-		Map<String, Sound> sounds = core.getSounds();
+		Map categories = core.getCategories();
+		Map sounds = core.getSounds();
 	
-		List<Object> list = new ArrayList<Object>(sounds.size());
+		List list = new ArrayList(sounds.size());
 	
 		// first, find all the categories and sort
-		List<String> cats = new ArrayList<String>();
+		List cats = new ArrayList();
 		Iterator iterator = categories.keySet().iterator();
 		while (iterator.hasNext())
-			cats.add((String) iterator.next());
+			cats.add(iterator.next());
 		sortCategories(cats);
-		
+	
 		// list them, ignoring empty ones
 		iterator = categories.keySet().iterator();
 		while (iterator.hasNext()) {
 			String id = (String) iterator.next();
-			List<Sound> l = getSoundsByCategory(id);
+			List l = getSoundsByCategory(id);
 			if (!l.isEmpty()) {
 				list.add(id);
 				sortSounds(l);
@@ -74,7 +74,7 @@
 		}
 	
 		// finally, list the "misc" sounds
-		List<Sound> l = getSoundsByCategory(null);
+		List l = getSoundsByCategory(null);
 		if (!l.isEmpty()) {
 			list.add(MISC_CATEGORY);
 			sortSounds(l);
@@ -95,17 +95,17 @@
 	 * @return java.util.List
 	 * @param category java.lang.String
 	 */
-	protected static List<Sound> getSoundsByCategory(String category) {
+	protected static List getSoundsByCategory(String category) {
 		AudioCore core = AudioCore.getInstance();
 	
-		Map<String, Sound> sounds = core.getSounds();
-		Map<String, String> categories = core.getCategories();
-		List<Sound> list = new ArrayList<Sound>();
+		Map sounds = core.getSounds();
+		Map categories = core.getCategories();
+		List list = new ArrayList();
 	
 		Iterator iterator = sounds.keySet().iterator();
 		while (iterator.hasNext()) {
 			String id = (String) iterator.next();
-			Sound sound = sounds.get(id);
+			Sound sound = (Sound) sounds.get(id);
 			if (category != null && category.equals(sound.getCategory()))
 				list.add(sound);
 			else if (category == null && (sound.getCategory() == null || !categories.containsKey(sound.getCategory())))
@@ -139,19 +139,19 @@
 	 *
 	 * @param list java.util.List
 	 */
-	protected void sortCategories(List<String> list) {
+	protected void sortCategories(List list) {
 		int size = list.size();
 		if (size < 2)
 			return;
-		
-		Map<String, String> categories = AudioCore.getInstance().getCategories();
-		
+	
+		Map categories = AudioCore.getInstance().getCategories();
+	
 		for (int i = 0; i < size - 1; i++) {
 			for (int j = i+1; j < size; j++) {
-				String a = list.get(i);
-				String aa = categories.get(a);
-				String b = list.get(j);
-				String bb = categories.get(b);
+				String a = (String) list.get(i);
+				String aa = (String) categories.get(a);
+				String b = (String) list.get(j);
+				String bb = (String) categories.get(b);
 				if (aa.compareTo(bb) > 0) {
 					list.set(i, b);
 					list.set(j, a);
@@ -165,15 +165,15 @@
 	 *
 	 * @param sounds java.util.List
 	 */
-	protected void sortSounds(List<Sound> sounds) {
+	protected void sortSounds(List sounds) {
 		int size = sounds.size();
 		if (size < 2)
 			return;
 	
 		for (int i = 0; i < size - 1; i++) {
 			for (int j = i+1; j < size; j++) {
-				Sound a = sounds.get(i);
-				Sound b = sounds.get(j);
+				Sound a = (Sound) sounds.get(i);
+				Sound b = (Sound) sounds.get(j);
 				if (a.getName().compareTo(b.getName()) > 0) {
 					sounds.set(i, b);
 					sounds.set(j, a);
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/IMemento.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/IMemento.java
deleted file mode 100644
index 6f149f5..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/IMemento.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.audio;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
-	/**
-	 * Creates a new child of this memento with the given type.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @return a new child memento
-	 * @see #getChild
-	 * @see #getChildren
-	 */
-	public IMemento createChild(String type);
-
-	/**
-	 * Returns the first child with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the first child with the given type
-	 */
-	public IMemento getChild(String type);
-	
-	/**
-	 * Returns all children with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the list of children with the given type
-	 */
-	public IMemento[] getChildren(String type);
-
-	/**
-	 * Returns the string value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not an integer
-	 */
-	public String getString(String key);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java
index 0cc8edc..de3c1de 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java
@@ -18,6 +18,8 @@
 import javax.xml.transform.*;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.ui.IMemento;
 /**
  * A Memento is a class independent container for persistence
  * info.  It is a reflection of 3 storage requirements.
@@ -32,15 +34,9 @@
  * ObjectOutputStream, DataOutputStream, or Hashtable.  However 
  * all of these approaches fail to meet the second requirement.
  *
- * Memento supports binary persistence with a version ID.
+ * Memento supports binary persistance with a version ID.
  */
 public final class XMLMemento implements IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 */
-	private static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
 	private Document factory;
 	private Element element;
 
@@ -62,7 +58,17 @@
 		element.appendChild(child);
 		return new XMLMemento(factory, child);
 	}
-
+	
+	/*
+	 * @see IMemento
+	 */
+	public IMemento createChild(String type, String id) {
+		Element child = factory.createElement(type);
+		child.setAttribute(TAG_ID, id);
+		element.appendChild(child);
+		return new XMLMemento(factory, child);
+	}
+	
 	/**
 	 * Create a Document from a Reader and answer a root memento for reading 
 	 * a document.
@@ -137,7 +143,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		List<Element> list = new ArrayList<Element>(size);
+		ArrayList list = new ArrayList(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -151,18 +157,48 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, list.get(x));
+			results[x] = new XMLMemento(factory, (Element)list.get(x));
 		}
 		return results;
 	}
-
+	
+	/*
+	 * @see IMemento
+	 */
+	public Float getFloat(String key) {
+		Attr attr = element.getAttributeNode(key);
+		if (attr == null)
+			return null; 
+		String strValue = attr.getValue();
+		try {
+			return new Float(strValue);
+		} catch (NumberFormatException e) {
+			return null;
+		}
+	}
+	
 	/*
 	 * @see IMemento
 	 */
 	public String getID() {
 		return element.getAttribute(TAG_ID);
 	}
-
+	
+	/*
+	 * @see IMemento
+	 */
+	public Integer getInteger(String key) {
+		Attr attr = element.getAttributeNode(key);
+		if (attr == null)
+			return null; 
+		String strValue = attr.getValue();
+		try {
+			return new Integer(strValue);
+		} catch (NumberFormatException e) {
+			return null;
+		}
+	}
+	
 	/*
 	 * @see IMemento
 	 */
@@ -199,7 +235,51 @@
 		}
 		return null;
 	}
-
+	
+	/*
+	 * @see IMemento
+	 */
+	private void putElement(Element element2) {
+		NamedNodeMap nodeMap = element2.getAttributes();
+		int size = nodeMap.getLength();
+		for (int i = 0; i < size; i++){
+			Attr attr = (Attr)nodeMap.item(i);
+			putString(attr.getName(),attr.getValue());
+		}
+					
+		NodeList nodes = element2.getChildNodes();
+		size = nodes.getLength();
+		for (int i = 0; i < size; i ++) {
+			Node node = nodes.item(i);
+			if (node instanceof Element) {
+				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
+				child.putElement((Element)node);
+			}
+		}
+	}
+	
+	/*
+	 * @see IMemento
+	 */
+	public void putFloat(String key, float f) {
+		element.setAttribute(key, String.valueOf(f));
+	}
+	
+	/*
+	 * @see IMemento
+	 */
+	public void putInteger(String key, int n) {
+		element.setAttribute(key, String.valueOf(n));
+	}
+	
+	/*
+	 * @see IMemento
+	 */
+	public void putMemento(IMemento memento) {
+		XMLMemento xmlMemento = (XMLMemento) memento;
+		putElement(xmlMemento.element);
+	}
+	
 	/*
 	 * @see IMemento
 	 */
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
index 5bab46f..2f8bd4c 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
@@ -45,13 +45,13 @@
 	}
 
 	// commands in the undo history
-	protected List<ServerResourceCommand> undoList = new ArrayList<ServerResourceCommand>();
+	protected List undoList = new ArrayList();
 
 	// size of the undo stack on last save
 	protected int undoSaveIndex = 0;
 
 	// commands in the redo history
-	protected List<ServerResourceCommand> redoList = new ArrayList<ServerResourceCommand>();
+	protected List redoList = new ArrayList();
 
 	class CommandManagerInfo {
 		// number of open editors on this resource
@@ -71,15 +71,15 @@
 		IServerWorkingCopy wc;
 		
 		// files and timestamps
-		Map<IFile, Long> fileMap;
+		Map fileMap;
 		
 		int timestamp;
 	}
 
-	protected Map<String, CommandManagerInfo> commandManagers = new HashMap<String, CommandManagerInfo>();
+	protected Map commandManagers = new HashMap();
 
 	// property change listeners
-	protected List<PropertyChangeListener> propertyListeners;
+	protected List propertyListeners;
 	public static final String PROP_DIRTY = "dirtyState";
 	public static final String PROP_UNDO = "undoAction";
 	public static final String PROP_REDO = "redoAction";
@@ -100,7 +100,7 @@
 	 */
 	public void addPropertyChangeListener(PropertyChangeListener listener) {
 		if (propertyListeners == null)
-			propertyListeners = new ArrayList<PropertyChangeListener>();
+			propertyListeners = new ArrayList();
 		propertyListeners.add(listener);
 	}
 
@@ -147,7 +147,7 @@
 	public void getCommandManager(String id) {
 		Trace.trace(Trace.FINEST, "Getting command manager for " + id);
 		try {
-			CommandManagerInfo info = commandManagers.get(id);
+			CommandManagerInfo info = (CommandManagerInfo) commandManagers.get(id);
 			if (info != null) {
 				info.count ++;
 				return;
@@ -183,7 +183,7 @@
 	public void releaseCommandManager(String id) {
 		Trace.trace(Trace.FINEST, "Releasing command manager for " + id);
 		try {
-			CommandManagerInfo info = commandManagers.get(id);
+			CommandManagerInfo info = (CommandManagerInfo) commandManagers.get(id);
 			if (info != null) {
 				info.count --;
 				if (info.count == 0) {
@@ -228,7 +228,7 @@
 	 */
 	protected CommandManagerInfo getExistingCommandManagerInfo(String id) {
 		try {
-			return commandManagers.get(id);
+			return (CommandManagerInfo) commandManagers.get(id);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Could not find existing command manager info");
 		}
@@ -343,7 +343,7 @@
 		int i = 0;
 		boolean modified = false;
 		while (i < undoList.size()) {
-			ServerResourceCommand src = undoList.get(i);
+			ServerResourceCommand src = (ServerResourceCommand) undoList.get(i);
 			if (src.id.equals(id)) {
 				modified = true;
 				undoList.remove(i);
@@ -361,7 +361,7 @@
 		int i = 0;
 		boolean modified = false;
 		while (i < redoList.size()) {
-			ServerResourceCommand src = redoList.get(i);
+			ServerResourceCommand src = (ServerResourceCommand) redoList.get(i);
 			if (src.id.equals(id)) {
 				redoList.remove(i);
 				modified = true;
@@ -409,7 +409,7 @@
 	public IUndoableOperation getUndoCommand(String a) {
 		int size = undoList.size();
 		for (int i = size - 1; i >= 0; i--) {
-			ServerResourceCommand src = undoList.get(i);
+			ServerResourceCommand src = (ServerResourceCommand) undoList.get(i);
 			if (src.id == a)
 				return src.command;
 		}
@@ -425,7 +425,7 @@
 	public IUndoableOperation getRedoCommand(String a) {
 		int size = redoList.size();
 		for (int i = size - 1; i >= 0; i--) {
-			ServerResourceCommand src = redoList.get(i);
+			ServerResourceCommand src = (ServerResourceCommand) redoList.get(i);
 			if (src.id == a)
 				return src.command;
 		}
@@ -581,7 +581,7 @@
 	 */
 	public static IFile[] getReadOnlyFiles(IServerAttributes server) {
 		try {
-			List<IFile> list = new ArrayList<IFile>();
+			List list = new ArrayList();
 			IFile file = ((Server)server).getFile();
 			
 			if (file != null)
@@ -611,7 +611,7 @@
 	}
 
 	protected IFile[] getReadOnlyFiles(String id) {
-		List<IFile> list = new ArrayList<IFile>();
+		List list = new ArrayList();
 		IFile[] files = getServerResourceFiles(id);
 		int size = files.length;
 		for (int i = 0; i < size; i++) {
@@ -634,7 +634,7 @@
 		if (info == null)
 			return;
 		
-		info.fileMap = new HashMap<IFile, Long>();
+		info.fileMap = new HashMap();
 		IFile[] files = getServerResourceFiles(id);
 		if (files != null) {
 			int size = files.length;
@@ -675,7 +675,7 @@
 			count++;
 			File f = files[i].getLocation().toFile();
 			try {
-				Long time = info.fileMap.get(files[i]);
+				Long time = (Long) info.fileMap.get(files[i]);
 				if (time.longValue() != f.lastModified())
 					return true;
 			} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java
index 5c78670..5046715 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java
@@ -52,7 +52,6 @@
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
 import org.eclipse.wst.server.core.*;
 import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
 import org.eclipse.wst.server.core.internal.ServerType;
 import org.eclipse.wst.server.core.util.SocketUtil;
 import org.eclipse.wst.server.ui.editor.*;
@@ -646,7 +645,7 @@
 		taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy);
 
 		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
+			protected void createChildFragments(List list) {
 				list.add(fragment2);
 				list.add(WizardTaskUtil.SaveRuntimeFragment);
 			}
@@ -663,7 +662,7 @@
 		runtimes = ServerUIPlugin.getRuntimes(runtimeType);
 		
 		if (SocketUtil.isLocalhost(server.getHost()) && runtimes != null) {
-			List<IRuntime> runtimes2 = new ArrayList<IRuntime>();
+			List runtimes2 = new ArrayList();
 			int size = runtimes.length;
 			for (int i = 0; i < size; i++) {
 				IRuntime runtime2 = runtimes[i];
@@ -783,13 +782,6 @@
 	}
 
 	protected void validate() {
-		if (server != null && serverName != null) {
-			if (ServerPlugin.isNameInUse(server, serverName.getText().trim())) {
-				setErrorMessage(Messages.errorDuplicateName);
-				return;
-			}
-		}
-		
 		if (server != null && server.getServerType() != null && server.getServerType().hasServerConfiguration()) {
 			IFolder folder = getServer().getServerConfiguration();
 			if (folder == null || !folder.exists()) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
index 6de2df5..d7b134e 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
@@ -118,7 +118,7 @@
 
 	protected IAction[] editorActions;
 
-	protected java.util.List<IEditorPart> serverPages;
+	protected java.util.List serverPages;
 
 	// on focus change flag
 	protected boolean resourceDeleted;
@@ -136,7 +136,7 @@
 	// used for disabling resource change check when saving through editor
 	protected boolean isSaving = false;
 
-	protected Map<IEditorPart, IServerEditorPartFactory> pageToFactory = new HashMap<IEditorPart, IServerEditorPartFactory>();
+	protected Map pageToFactory = new HashMap();
 
 	/**
 	 * ServerEditor constructor comment.
@@ -179,7 +179,7 @@
 	}
 
 	protected void createActions() {
-		List<IAction> actionList = new ArrayList<IAction>();
+		List actionList = new ArrayList();
 		
 		// add server actions
 		if (server != null && server.getServerType() != null) {
@@ -198,7 +198,7 @@
 
 	public IServerEditorPartFactory getPageFactory(ServerEditorPart part) {
 		try {
-			return pageToFactory.get(part);
+			return (IServerEditorPartFactory) pageToFactory.get(part);
 		} catch (Exception e) {
 			// ignore
 		}
@@ -214,7 +214,7 @@
 	protected void createPages() {
 		try {
 			int index = 0;
-			serverPages = new ArrayList<IEditorPart>();
+			serverPages = new ArrayList();
 			
 			// add editor pages
 			int pageCount = 0;
@@ -312,41 +312,33 @@
 		isSaving = true;
 		
 		// check pages for errors first
-		java.util.List<String> errors = new ArrayList<String>();
+		java.util.List errors = new ArrayList();
 		Iterator iterator = serverPages.iterator();
 		int count = 0;
-		int maxSeverity = -1;
 		while (iterator.hasNext()) {
 			IEditorPart part = (IEditorPart) iterator.next();
 			if (part instanceof ServerEditorPart) {
 				IStatus[] status2 = ((ServerEditorPart) part).getSaveStatus();
 				if (status2 != null) {
 					int size = status2.length;
-					for (int i = 0; i < size; i++) {
+					for (int i = 0; i < size; i++)
 						errors.add("[" + getPageText(count) + "] " + status2[i].getMessage());
-						maxSeverity = Math.max(maxSeverity, status2[i].getSeverity());
-					}
 				}
 			}
 			count ++;
 		}
-		if (!errors.isEmpty() && maxSeverity > IStatus.OK) {
+		if (!errors.isEmpty()) {
 			StringBuffer sb = new StringBuffer();
 			sb.append(Messages.errorEditorCantSave + "\n");
 			iterator = errors.iterator();
 			while (iterator.hasNext())
 				sb.append("\t" + ((String) iterator.next()) + "\n");
-			
-			if (maxSeverity == IStatus.ERROR) {
-				MessageDialog.openError(getEditorSite().getShell(), getPartName(), sb.toString());
-				monitor.setCanceled(true);
-				// reset the isSaving flag
-				isSaving = false;
-				return;
-			} else if (maxSeverity == IStatus.WARNING)
-				MessageDialog.openWarning(getEditorSite().getShell(), getPartName(), sb.toString());
-			else // if (maxSeverity == IStatus.INFO)
-				MessageDialog.openInformation(getEditorSite().getShell(), getPartName(), sb.toString());
+
+			EclipseUtil.openError(getEditorSite().getShell(), sb.toString());
+			monitor.setCanceled(true);
+			// reset the isSaving flag
+			isSaving = false;
+			return;
 		}
 		
 		try {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java
index c921d77..b40e649 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java
@@ -86,7 +86,7 @@
 	 */
 	public String[] getTypeIds() {
 		try {
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java
index bea6386..be70c84 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java
@@ -24,8 +24,8 @@
  */
 public class ServerEditorCore {
 	// cached copy of all editor factories and actions
-	private static List<ServerEditorPartFactory> editorPageFactories;
-	private static List<ServerEditorPageSectionFactory> editorPageSectionFactories;
+	private static List editorPageFactories;
+	private static List editorPageSectionFactories;
 	private static List editorActionFactories;
 
 	/**
@@ -33,7 +33,7 @@
 	 *
 	 * @return java.util.List
 	 */
-	public static List<ServerEditorPartFactory> getServerEditorPageFactories() {
+	public static List getServerEditorPageFactories() {
 		if (editorPageFactories == null)
 			loadEditorPageFactories();
 		return editorPageFactories;
@@ -57,7 +57,7 @@
 		Trace.trace(Trace.CONFIG, "->- Loading .editorPages extension point ->-");
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_EDITOR_PAGES);
-		List<ServerEditorPartFactory> list = new ArrayList<ServerEditorPartFactory>(cf.length);
+		List list = new ArrayList(cf.length);
 		loadEditorPageFactories(cf, list);
 		editorPageFactories = list;
 		ServerUIPlugin.addRegistryListener();
@@ -67,7 +67,7 @@
 	/**
 	 * Load the editor page factory extension point.
 	 */
-	private static void loadEditorPageFactories(IConfigurationElement[] cf, List<ServerEditorPartFactory> list) {
+	private static void loadEditorPageFactories(IConfigurationElement[] cf, List list) {
 		int size = cf.length;
 		for (int i = 0; i < size; i++) {
 			try {
@@ -88,7 +88,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List<ServerEditorPartFactory> list = new ArrayList<ServerEditorPartFactory>(editorPageFactories);
+		List list = new ArrayList(editorPageFactories);
 		if (delta.getKind() == IExtensionDelta.ADDED)
 			loadEditorPageFactories(cf, list);
 		else {
@@ -115,7 +115,7 @@
 		Trace.trace(Trace.CONFIG, "->- Loading .editorPageSections extension point ->-");
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_EDITOR_PAGE_SECTIONS);
-		List<ServerEditorPageSectionFactory> list = new ArrayList<ServerEditorPageSectionFactory>(cf.length);
+		List list = new ArrayList(cf.length);
 		loadEditorPageSectionFactories(cf, list);
 		editorPageSectionFactories = list;
 		ServerUIPlugin.addRegistryListener();
@@ -125,7 +125,7 @@
 	/**
 	 * Load the editor page section factory extension point.
 	 */
-	private static void loadEditorPageSectionFactories(IConfigurationElement[] cf, List<ServerEditorPageSectionFactory> list) {
+	private static void loadEditorPageSectionFactories(IConfigurationElement[] cf, List list) {
 		int size = cf.length;
 		for (int i = 0; i < size; i++) {
 			try {
@@ -146,7 +146,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List<ServerEditorPageSectionFactory> list = new ArrayList<ServerEditorPageSectionFactory>(editorPageSectionFactories);
+		List list = new ArrayList(editorPageSectionFactories);
 		if (delta.getKind() == IExtensionDelta.ADDED)
 			loadEditorPageSectionFactories(cf, list);
 		else {
@@ -186,7 +186,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "editorActions");
 
 		int size = cf.length;
-		List<ServerEditorActionFactory> list = new ArrayList<ServerEditorActionFactory>(size);
+		List list = new ArrayList(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ServerEditorActionFactory(cf[i]));
@@ -220,7 +220,7 @@
 				IOrdered a = (IOrdered) list.get(i);
 				IOrdered b = (IOrdered) list.get(j);
 				if (a.getOrder() > b.getOrder()) {
-					IOrdered temp = a;
+					Object temp = a;
 					list.set(i, b);
 					list.set(j, temp);
 				}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java
index fe9dd8e..208a291 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java
@@ -67,11 +67,11 @@
 			return -1;
 		}
 	}
-
+	
 	/**
 	 * Returns the insertion id of this factory.
 	 *
-	 * @return the insertion id
+	 * @return java.lang.String
 	 */
 	public String getInsertionId() {
 		return element.getAttribute("insertionId");
@@ -81,11 +81,11 @@
 	 * Return the ids of the server resource factories (specified
 	 * using Java-import style) that this page may support.
 	 * 
-	 * @return an array of type ids
+	 * @return java.lang.String[]
 	 */
 	protected String[] getTypeIds() {
 		try {
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java
index 680cc22..77c9117 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java
@@ -65,7 +65,7 @@
 	protected String[] getInsertionIds() {
 		try {
 			String insertionIds = element.getAttribute("insertionIds");
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			if (insertionIds != null && insertionIds.length() > 0) {
 				StringTokenizer st = new StringTokenizer(insertionIds, ",");
 				while (st.hasMoreTokens()) {
@@ -123,11 +123,11 @@
 	 * Return the ids of the server and server configuration type ids (specified
 	 * using Java-import style) that this page may support.
 	 * 
-	 * @return an array of type ids
+	 * @return java.lang.String[]
 	 */
 	protected String[] getTypeIds() {
 		try {
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionSite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionSite.java
index 05ce0dd..10e7482 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionSite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionSite.java
@@ -10,18 +10,13 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.extension;
 
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.StringTokenizer;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
 import org.eclipse.update.core.ICategory;
 import org.eclipse.update.core.IFeature;
 import org.eclipse.update.core.ISite;
@@ -29,7 +24,6 @@
 import org.eclipse.wst.server.core.internal.IMemento;
 import org.eclipse.wst.server.core.internal.InstallableRuntime;
 import org.eclipse.wst.server.ui.internal.ProgressUtil;
-import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 /**
  * 
  */
@@ -45,7 +39,7 @@
 		return memento.getString("url");
 	}
 
-	private List<IFeature> featureList;
+	private List featureList;
 
 	protected static boolean hasCategory(ISiteFeatureReference ref, String category) {
 		ICategory[] cat = ref.getCategories();
@@ -77,31 +71,20 @@
 		return false;
 	}
 
-	public synchronized List<IFeature> getFeatures(String category, IProgressMonitor monitor) throws CoreException {
+	public synchronized List getFeatures(String category, IProgressMonitor monitor) throws CoreException {
 		if (featureList != null)
 			return featureList;
 		
 		String fromSite = getUrl();
 		
-		List<IFeature> list = new ArrayList<IFeature>();
+		List list = new ArrayList();
 		if (fromSite == null)
 			return list;
 		
-		URL fromSiteURL = null;
-		try {
-			fromSiteURL = new URL(fromSite);
-		} catch (MalformedURLException e) {
-			return list;
-		}
-		
 		monitor.beginTask("Searching " + fromSite, 100);
-		ISite site = null;
-		try {
-			site = InstallableRuntime.getSite(fromSiteURL, ProgressUtil.getSubMonitorFor(monitor, 5));
-		} catch (IOException e) {
-			String host = fromSiteURL.getHost();
-			throw new CoreException(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, host, e));
-		}
+		ISite site = InstallableRuntime.getSite(fromSite, ProgressUtil.getSubMonitorFor(monitor, 5));
+		if (site == null)
+			return list;
 		// java.net.UnknownHostException
 		
 		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionUtility.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionUtility.java
index 4a2fa05..1e08df1 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionUtility.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionUtility.java
@@ -28,6 +28,7 @@
 import org.eclipse.update.configuration.ILocalSite;
 import org.eclipse.update.core.IFeature;
 import org.eclipse.update.core.IFeatureReference;
+import org.eclipse.update.core.ISite;
 import org.eclipse.update.core.IURLEntry;
 import org.eclipse.update.core.IVerificationListener;
 import org.eclipse.update.core.IVerificationResult;
@@ -43,7 +44,6 @@
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.Trace;
 import org.eclipse.wst.server.ui.internal.wizard.ExtensionWizard;
-import org.osgi.framework.Version;
 
 public class ExtensionUtility {
 	public static boolean launchExtensionWizard(Shell shell, String title, String message) {
@@ -69,7 +69,7 @@
 			IMemento memento = XMLMemento.loadMemento(in);
 			IMemento children[] = memento.getChildren("site");
 			int size = children.length;
-			List<ExtensionSite> list = new ArrayList<ExtensionSite>(size);
+			List list = new ArrayList(size);
 			for (int i = 0; i < size; i++) {
 				ExtensionSite item = new ExtensionSite(children[i]);
 				list.add(item);
@@ -102,52 +102,11 @@
 		}
 	}
 
-	/**
-	 * Return true if the new feature is already installed, or a newer one is.
-	 * 
-	 * @param existing
-	 * @param newFeature
-	 * @return true if the new feature is already installed, or a newer one is.
-	 */
-	protected static boolean alreadyExists(List existing, IFeature newFeature) {
+	public static void addFeature(List list, List existing, IFeature newFeature, FeatureListener listener) {
 		if (existing.contains(newFeature))
-			return true;
-		
-		VersionedIdentifier newVi = newFeature.getVersionedIdentifier();
-		String ver = newVi.toString();
-		int ind = ver.indexOf("_");
-		if (ind >= 0)
-			ver = ver.substring(ind+1);
-		Version newV = new Version(ver);
-		
-		Iterator iterator = existing.iterator();
-		while (iterator.hasNext()) {
-			IFeature feature = (IFeature) iterator.next();
-			VersionedIdentifier vi = feature.getVersionedIdentifier(); 
-			if (vi.getIdentifier().equals(newVi.getIdentifier())) {
-				ver = vi.toString();
-				ind = ver.indexOf("_");
-				if (ind >= 0)
-					ver = ver.substring(ind+1);
-				Version nextCand = new Version(ver);
-				if (nextCand.compareTo(newV) >= 0)
-					return true;
-			}
-		}
-		
-		return false;
-	}
-
-	public static void addFeature(List<IFeature> list, List<IFeature> existing, IFeature newFeature, FeatureListener listener) {
-		if (alreadyExists(existing, newFeature))
 			return;
 		
 		VersionedIdentifier newVi = newFeature.getVersionedIdentifier();
-		String ver = newVi.toString();
-		int ind = ver.indexOf("_");
-		if (ind >= 0)
-			ver = ver.substring(ind+1);
-		Version newV = new Version(ver);
 		IFeature remove = null;
 		
 		Iterator iterator = list.iterator();
@@ -155,12 +114,8 @@
 			IFeature feature = (IFeature) iterator.next();
 			VersionedIdentifier vi = feature.getVersionedIdentifier(); 
 			if (vi.getIdentifier().equals(newVi.getIdentifier())) {
-				ver = vi.toString();
-				ind = ver.indexOf("_");
-				if (ind >= 0)
-					ver = ver.substring(ind+1);
-				Version nextCand = new Version(ver);
-				if (nextCand.compareTo(newV) < 0) {
+				//Version nextCand = new Version(features[i].getVersionedIdentifier().getVersion().toString());
+				if (newVi.getVersion().isGreaterOrEqualTo(vi.getVersion())) {
 					remove = feature;
 				} else // new feature is older
 					return;
@@ -173,9 +128,15 @@
 		
 		list.add(newFeature);
 		listener.featureFound(newFeature);
+		
+		try {
+			Thread.sleep(800);
+		} catch (Exception s) {
+			//
+		}
 	}
 
-	public static void addFeatures(List<IFeature> list, List<IFeature> existing, List newFeatures, FeatureListener listener) {
+	public static void addFeatures(List list, List existing, List newFeatures, FeatureListener listener) {
 		Iterator iterator = newFeatures.iterator();
 		while (iterator.hasNext()) {
 			addFeature(list, existing, (IFeature) iterator.next(), listener);
@@ -185,15 +146,15 @@
 	public interface FeatureListener {
 		public void featureFound(IFeature feature);
 		public void featureRemoved(IFeature feature);
-		public void siteFailure(String host);
+		public void siteFailure(ISite site, CoreException ce);
 	}
 
-	protected static List<IFeature> getExistingFeatures(IProgressMonitor monitor) throws CoreException {
+	protected static List getExistingFeatures(IProgressMonitor monitor) throws CoreException {
 		monitor.beginTask(Messages.installableServerLocal, 100);
 		ILocalSite site = SiteManager.getLocalSite();
 		IConfiguredSite[] sites = site.getCurrentConfiguration().getConfiguredSites();
 		int size = sites.length;
-		List<IFeature> list = new ArrayList<IFeature>(200);
+		List list = new ArrayList(200);
 		for (int i = 0; i < size; i++) {
 			IFeatureReference[] refs = sites[i].getFeatureReferences();
 			int size2 = refs.length;
@@ -208,57 +169,31 @@
 		return list;
 	}
 
-	public static IFeature[] getAllFeatures(final String id, final FeatureListener listener, IProgressMonitor monitor) throws CoreException {
+	public static IFeature[] getAllFeatures(String id, FeatureListener listener, IProgressMonitor monitor) throws CoreException {
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		monitor.beginTask("", 1100);
 		
 		monitor.subTask(Messages.installableServerLocal);
-		final List<IFeature> existing = getExistingFeatures(ProgressUtil.getSubMonitorFor(monitor, 100));
+		List existing = getExistingFeatures(ProgressUtil.getSubMonitorFor(monitor, 100));
 		
-		final ExtensionSite[] items = ExtensionUtility.getExtensionItems();
+		ExtensionSite[] items = ExtensionUtility.getExtensionItems();
 		IInstallableServer[] servers = ServerPlugin.getInstallableServers();
-		final int x = 1000 / (items.length + servers.length);
+		int x = 1000 / (items.length + servers.length);
 		
 		monitor.worked(50);
-		final List<IFeature> list = new ArrayList<IFeature>();
+		List list = new ArrayList();
 		int size = items.length;
 		
-		Thread[] threads = new Thread[size];
 		for (int i = 0; i < size; i++) {
 			try {
 				if (monitor.isCanceled())
 					return null;
 				
 				monitor.subTask(NLS.bind(Messages.installableServerSearching, items[i].getUrl()));
-				final int ii = i;
-				final IProgressMonitor monitor2 = monitor;
-				threads[i] = new Thread("Extension Checker") {
-					public void run() {
-						try {
-							List<IFeature> list2 = items[ii].getFeatures(id, ProgressUtil.getSubMonitorFor(monitor2, x));
-							addFeatures(list, existing, list2, listener);
-						} catch (CoreException ce) {
-							listener.siteFailure(ce.getLocalizedMessage());
-							Trace.trace(Trace.WARNING, "Error downloading server adapter info", ce);
-						}
-					}
-				};
-				threads[i].setDaemon(true);
-				threads[i].start();
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Error downloading server adapter info 2", e);
-			}
-		}
-		
-		for (int i = 0; i < size; i++) {
-			try {
-				if (monitor.isCanceled())
-					return null;
-				
-				if (threads[i].isAlive())
-					threads[i].join();
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Error downloading server adapter info 3", e);
+				List list2 = items[i].getFeatures(id, ProgressUtil.getSubMonitorFor(monitor, x));
+				addFeatures(list, existing, list2, listener);
+			} catch (CoreException ce) {
+				ce.printStackTrace();
 			}
 		}
 		
@@ -309,8 +244,7 @@
 			};
 			SiteManager.getLocalSite().getCurrentConfiguration().getConfiguredSites()[0].install(feature, verificationListener, monitor);
 		} catch (CoreException ce) {
-			Trace.trace(Trace.WARNING, "Error installing server adapter", ce);
-			throw ce;
+			ce.printStackTrace();
 		}
 		
 		try {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java
index c67d101..e497d37 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java
@@ -55,7 +55,7 @@
 		
 		this.servers = servers;
 		
-		List<IFolder> list = new ArrayList<IFolder>();
+		List list = new ArrayList();
 		
 		int size = servers.length;
 		for (int i = 0; i < size; i++) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java
index 9c4d390..3bea1e8 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java
@@ -56,8 +56,8 @@
 		
 		// check if there are any modules first
 		// get currently deployed modules
-		List<IModule> deployed = new ArrayList<IModule>();
-		List<IModule> modules = new ArrayList<IModule>();
+		List deployed = new ArrayList();
+		List modules = new ArrayList();
 		IModule[] currentModules = server.getModules();
 		if (currentModules != null) {
 			int size = currentModules.length;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RenameAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RenameAction.java
index c5322d5..b6dc612 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RenameAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RenameAction.java
@@ -11,7 +11,6 @@
 package org.eclipse.wst.server.ui.internal.view.servers;
 
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
@@ -32,7 +31,6 @@
 
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
 import org.eclipse.wst.server.ui.internal.Messages;
 /**
  * Action to rename a server.
@@ -257,17 +255,20 @@
 			public void run() {
 				try {
 					if (!newName.equals(editedServer.getName())) {
-						if (ServerPlugin.isNameInUse(editedServer, newName)) {
-							MessageDialog.openError(shell, Messages.defaultDialogTitle, Messages.errorDuplicateName);
-						} else {
-							try {
-								IServerWorkingCopy wc = editedServer.createWorkingCopy();
-								wc.setName(newName);
-								wc.save(false, null);
-							} catch (CoreException ce) {
-								// ignore for now
-							}
+						try {
+							IServerWorkingCopy wc = editedServer.createWorkingCopy();
+							wc.setName(newName);
+							wc.save(false, null);
+						} catch (CoreException ce) {
+							// ignore for now
 						}
+						/*IStatus status = server.workspace.validateName(newName,
+								inlinedResource.getType());
+						if (!status.isOK()) {
+							MessageDialog.openError(shell, Messages.defaultDialogTitle, message);
+						} else {
+							// set name
+						}*/
 					}
 					editedServer = null;
 					// Dispose the text widget regardless
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
index 11d59ed..8a7ed26 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
@@ -11,10 +11,8 @@
 package org.eclipse.wst.server.ui.internal.view.servers;
 
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Set;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.IStatus;
@@ -53,8 +51,8 @@
 	protected static Object deletedElement = null;
 
 	// servers that are currently publishing and starting
-	protected static Set<String> publishing = new HashSet<String>(4);
-	protected static Set<String> starting = new HashSet<String>(4);
+	protected static List publishing = new ArrayList();
+	protected static List starting = new ArrayList();
 
 	protected ServerTableLabelProvider labelProvider;
 	//protected ISelectionListener dsListener;
@@ -66,7 +64,7 @@
 
 	public class ServerContentProvider implements IStructuredContentProvider, ITreeContentProvider {
 		public Object[] getElements(Object element) {
-			List<IServer> list = new ArrayList<IServer>();
+			List list = new ArrayList();
 			IServer[] servers = ServerCore.getServers();
 			if (servers != null) {
 				int size = servers.length;
@@ -204,7 +202,7 @@
 				}
 			}
 		};
-		Display.getDefault().syncExec(new Runnable() {
+		Display.getDefault().asyncExec(new Runnable() {
 			public void run() {
 				display.timerExec(SLEEP, animator[0]);
 			}
@@ -377,7 +375,7 @@
 		if (obj == null)
 			return obj;
 		
-		List<Object> list = new ArrayList<Object>();
+		List list = new ArrayList();
 		int size = obj.length;
 		for (int i = 0; i < size; i++) {
 			if (obj[i] instanceof IModule) {
@@ -389,7 +387,7 @@
 			} else if (obj[i] instanceof IProject) {
 				IProject proj = (IProject) obj[i];
 
-				List<Object> list2 = new ArrayList<Object>();
+				List list2 = new ArrayList();
 				getTreeChildren(list2, view.treeTable);
 				
 				Iterator iterator = list2.iterator();
@@ -409,7 +407,7 @@
 		return o;
 	}
 
-	private void getTreeChildren(List<Object> list, Widget widget) {
+	private void getTreeChildren(List list, Widget widget) {
 		Item[] items = getChildren(widget);
 		for (int i = 0; i < items.length; i++) {
 			Item item = items[i];
@@ -504,7 +502,7 @@
 			}
 		}
 	}
-
+	
 	protected void refreshServer(final IServer server) {
 		Display.getDefault().asyncExec(new Runnable() {
 			public void run() {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
index fb80041..3cf96e7 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
@@ -275,8 +275,7 @@
 		actions[2] = new StartAction(shell, provider, ILaunchManager.PROFILE_MODE);
 		
 		// create the stop action
-		//actions[3] = new StopAction(shell, provider);
-		actions[3] = new StartAction(shell, provider, ILaunchManager.DEBUG_MODE);
+		actions[3] = new StopAction(shell, provider);
 		
 		// create the publish actions
 		actions[4] = new PublishAction(shell, provider);
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java
index 41459cf..2358387 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java
@@ -67,61 +67,23 @@
 	 * @param sel the IStructuredSelection from the view
 	 */
 	private void updateText(IStructuredSelection sel){
-		if (this.launchMode == ILaunchManager.RUN_MODE) {
-			if (sel.isEmpty()) {
-				setText(Messages.actionStart);
-				return;
-			}
-			Iterator iterator = sel.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				if (obj instanceof IServer) {
-					IServer server = (IServer) obj;
-					if (server.getServerState() == IServer.STATE_STARTED ||
-						 server.getServerState() == IServer.STATE_STARTING){
-						setText(Messages.actionRestart);		
-					}
-					else
-						setText(Messages.actionStart);
+		if (sel.isEmpty()) {
+			setText(Messages.actionStart);
+			return;
+		}
+		Iterator iterator = sel.iterator();
+		while (iterator.hasNext()) {
+			Object obj = iterator.next();
+			if (obj instanceof IServer) {
+				IServer server = (IServer) obj;
+				if (server.getServerState() == IServer.STATE_STARTED ||
+					 server.getServerState() == IServer.STATE_STARTING){
+					setText(Messages.actionRestart);		
 				}
-			}	
-		} else if (this.launchMode == ILaunchManager.DEBUG_MODE) {
-			if (sel.isEmpty()) {
-				setText(Messages.actionDebug);
-				return;
+				else
+					setText(Messages.actionStart);
 			}
-			Iterator iterator = sel.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				if (obj instanceof IServer) {
-					IServer server = (IServer) obj;
-					if (server.getServerState() == IServer.STATE_STARTED ||
-						 server.getServerState() == IServer.STATE_STARTING){
-						setText(Messages.actionDebugRestart);		
-					}
-					else
-						setText(Messages.actionDebug);
-				}
-			}
-		} else if (this.launchMode == ILaunchManager.PROFILE_MODE) {
-			if (sel.isEmpty()) {
-				setText(Messages.actionProfile);
-				return;
-			}
-			Iterator iterator = sel.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				if (obj instanceof IServer) {
-					IServer server = (IServer) obj;
-					if (server.getServerState() == IServer.STATE_STARTED ||
-						 server.getServerState() == IServer.STATE_STARTING){
-						setText(Messages.actionProfileRestart);		
-					}
-					else
-						setText(Messages.actionProfile);
-				}
-			}
-		}		
+		}
 	}
 	
 	/**
@@ -187,6 +149,9 @@
 
 	public void selectionChanged(IStructuredSelection sel) {
 		super.selectionChanged(sel);
-		updateText(sel);		
+		if (this.launchMode == ILaunchManager.RUN_MODE) {
+			updateText(sel);
+		}
 	}
+	
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
index 0fbf4ec..9174b90 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
@@ -17,6 +17,7 @@
 import org.eclipse.wst.server.ui.internal.ImageResource;
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.widgets.Shell;
 /**
  * Stop (terminate) a server.
@@ -38,7 +39,7 @@
 	/**
 	 * Return true if this server can currently be acted on.
 	 * @return boolean
-	 * @param server a server
+	 * @param server org.eclipse.wst.server.core.IServer
 	 */
 	public boolean accept(IServer server) {
 		if (server.getServerType() == null)
@@ -48,12 +49,13 @@
 
 	/**
 	 * Perform action on this server.
-	 * @param server a server
+	 * @param server org.eclipse.wst.server.core.IServer
 	 */
 	public void perform(final IServer server) {
 		ServerUIPlugin.addTerminationWatch(shell, server, ServerUIPlugin.STOP);
 		
-		StopServerJob stopJob = new StopServerJob(server);
+		String name = NLS.bind(Messages.dialogStoppingServer, server.getName());
+		StopServerJob stopJob = new StopServerJob(server, name);
 		stopJob.schedule();
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java
index 6a54bdd..8c2d759 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java
@@ -28,12 +28,12 @@
 
 	public class TreeElement {
 		String text;
-		List<Object> contents;
+		List contents;
 	}
 
 	protected Object[] elements;
-	protected Map<Object, TreeElement> elementToParentMap = new HashMap<Object, TreeElement>(2);
-	protected Map<String, TreeElement> textMap = new HashMap<String, TreeElement>(2);
+	protected Map elementToParentMap = new HashMap(2);
+	protected Map textMap = new HashMap(2);
 
 	/**
 	 * AbstractTreeContentProvider constructor comment.
@@ -52,13 +52,13 @@
 
 	protected void clean() {
 		elements = null;
-		elementToParentMap = new HashMap<Object, TreeElement>(2);
-		textMap = new HashMap<String, TreeElement>(2);
+		elementToParentMap = new HashMap(2);
+		textMap = new HashMap(2);
 		
 		initialSelection = null;
 	}
 
-	protected TreeElement getOrCreate(List<TreeElement> list, String text) {
+	protected TreeElement getOrCreate(List list, String text) {
 		try {
 			Object obj = textMap.get(text);
 			if (obj != null)
@@ -69,13 +69,13 @@
 		
 		TreeElement element = new TreeElement();
 		element.text = text;
-		element.contents = new ArrayList<Object>();
+		element.contents = new ArrayList();
 		textMap.put(text, element);
 		list.add(element);
 		return element;
 	}
 	
-	protected TreeElement getOrCreate(List<TreeElement> list, String id, String text) {
+	protected TreeElement getOrCreate(List list, String id, String text) {
 		try {
 			Object obj = textMap.get(id);
 			if (obj != null)
@@ -86,7 +86,7 @@
 		
 		TreeElement element = new TreeElement();
 		element.text = text;
-		element.contents = new ArrayList<Object>();
+		element.contents = new ArrayList();
 		textMap.put(id, element);
 		list.add(element);
 		return element;
@@ -94,7 +94,7 @@
 
 	protected TreeElement getByText(String text) {
 		try {
-			return textMap.get(text);
+			return (TreeElement) textMap.get(text);
 		} catch (Exception e) {
 			return null;
 		}
@@ -102,7 +102,7 @@
 	
 	protected TreeElement getParentImpl(Object obj) {
 		try {
-			return elementToParentMap.get(obj);
+			return (TreeElement) elementToParentMap.get(obj);
 		} catch (Exception e) {
 			return null;
 		}
@@ -167,7 +167,7 @@
 	}
 
 	private Object[] getAllObjects() {
-		List<Object> list = new ArrayList<Object>();
+		List list = new ArrayList();
 		Object[] obj = getElements(null);
 		if (obj != null) {
 			int size = obj.length;
@@ -180,7 +180,7 @@
 		return list.toArray();
 	}
 
-	private void getAllChildren(List<Object> list, Object element) {
+	private void getAllChildren(List list, Object element) {
 		Object[] obj = getChildren(element);
 		if (obj != null) {
 			int size = obj.length;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java
index 4ca1b31..ac35837 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java
@@ -25,7 +25,7 @@
  */
 public abstract class BaseLabelProvider implements ILabelProvider {
 	protected ILabelDecorator decorator;
-	private transient List<ILabelProviderListener> listeners;
+	private transient List listeners;
 	private ILabelProviderListener providerListener;
 
 	/**
@@ -73,7 +73,7 @@
 			throw new IllegalArgumentException("Listener cannot be null");
 		
 		if (listeners == null)
-			listeners = new ArrayList<ILabelProviderListener>();
+			listeners = new ArrayList();
 		listeners.add(listener);
 	}
 
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java
index 1e49c34..d383f8b 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java
@@ -33,7 +33,7 @@
 		}
 
 		public static Version parseVersion(String version) {
-			List<String> list = new ArrayList<String>();
+			List list = new ArrayList();
 			StringTokenizer st = new StringTokenizer(version, SEPARATORS, false);
 			while (st.hasMoreTokens())
 				list.add(st.nextToken());
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionComposite.java
index f5a622c..23c5bca 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionComposite.java
@@ -12,7 +12,6 @@
 
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -22,7 +21,6 @@
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.viewers.*;
-import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
@@ -43,6 +41,7 @@
 import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.update.core.IFeature;
+import org.eclipse.update.core.ISite;
 import org.eclipse.wst.server.ui.internal.ImageResource;
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.Trace;
@@ -60,7 +59,7 @@
 
 	protected Font font;
 
-	protected HashMap<String, Image> images;
+	protected HashMap images;
 
 	protected String progress;
 	protected int totalWork;
@@ -102,8 +101,7 @@
 		//data.heightHint = 250;
 		data.widthHint = 350;
 		table.setLayoutData(data);
-		//table.setLinesVisible(true);
-		table.setHeaderVisible(false);
+		table.setLinesVisible(true);
 		tableViewer = new TableViewer(table);
 		table.addDisposeListener(new DisposeListener() {
 			public void widgetDisposed(DisposeEvent e) {
@@ -119,11 +117,10 @@
 		TableColumn col2 = new TableColumn(table, SWT.NONE);
 		col2.setText("null");
 		*/
-		tableLayout.addColumnData(new ColumnWeightData(10, 250, false));
+		tableLayout.addColumnData(new ColumnWeightData(30, 250, false));
 		final TableColumn col = new TableColumn(table, SWT.NONE);
 		col.setText("null");
-		/*col.setWidth(300);
-		col.addListener(SWT.Selection, new Listener() {
+		/*col.addListener(SWT.Selection, new Listener() {
 			public void handleEvent(Event event) {
 				col.pack();
 			}
@@ -133,33 +130,21 @@
 		//TableColumn col2 = new TableColumn(table, SWT.NONE);
 		//col2.setText("null2");
 		
+		table.setHeaderVisible(false);
+		//table.setLinesVisible(false);
+		
 		final int TEXT_MARGIN = 3;
 		table.addListener(SWT.MeasureItem, new Listener() {
 			public void handleEvent(Event event) {
-				//System.out.println(event.width);
-				/*TableItem item = (TableItem) event.item;
-				Object obj = item.getData();
-				//System.out.println("measure " + obj);
-				if (obj instanceof CoreException) {
-					event.gc.setFont(font);
-					Point size = event.gc.textExtent("A");
-					event.gc.setFont(null);
-					//event.height = Math.max(event.height, TEXT_MARGIN * 2 + size.y);
-					event.height = TEXT_MARGIN * 2 + size.y;
-					System.out.println(event.height);
-					return;
-				}*/
 				event.gc.setFont(font);
 				Point size = event.gc.textExtent("A");
 				int h = TEXT_MARGIN * 3 + size.y;
-				size = event.gc.textExtent("A");
 				event.gc.setFont(null);
+				size = event.gc.textExtent("A");
 				h += size.y;
 				h = Math.max(h, 40 + TEXT_MARGIN * 2);
-				//event.width = 400;
+				event.width = 400;
 				event.height = Math.max(event.height, h);
-				//System.out.println(event.height);
-				//event.width = 300;
 			}
 		});
 		table.addListener(SWT.EraseItem, new Listener() {
@@ -204,22 +189,6 @@
 					}
 					
 					return;
-				} else if (obj instanceof List) {
-					List<String> list = (List<String>) obj;
-					
-					int size = list.size();
-					String[] hosts = new String[size];
-					list.toArray(hosts);
-					
-					StringBuffer sb = new StringBuffer();
-					for (int i = 0; i < size; i++) {
-						if (i > 0)
-							sb.append(", ");
-						sb.append(hosts[i]);
-					}
-					String s = NLS.bind(Messages.wizNewInstallableServerSiteError, sb.toString());
-					gc.drawText(s, event.x + TEXT_MARGIN, event.y + TEXT_MARGIN, true);
-					return;
 				}
 				IFeature ei = (IFeature) obj;
 				if (ei == null)
@@ -239,11 +208,7 @@
 				String provider = "" + ei.getProvider();
 				//String provider = "" + ei.getImage();
 				//String provider = "" + ExtensionUtility.getDescription(ei);
-				String ver = ei.getVersionedIdentifier().toString();
-				int ind = ver.indexOf("_");
-				if (ind >= 0)
-					ver = ver.substring(ind+1);
-				String version = "v" + ver;
+				String version = "v" + ei.getVersionedIdentifier().getVersion().toString();
 				
 				Image image = getImage(ei.getImage());
 				if (image == null)
@@ -263,16 +228,12 @@
 				gc.drawText(provider, event.x + iw, event.y + yOffset, true);
 				
 				size = event.gc.textExtent(version);
-				gc.drawText(version, event.x + width - TEXT_MARGIN * 3 - size.x, event.y + yOffset, true);
+				gc.drawText(version, event.x + width - TEXT_MARGIN * 2 - size.x, event.y + yOffset, true);
 			}
 		});
 		
 		tableViewer.setSorter(new ViewerSorter() {
 			public int compare(Viewer viewer, Object e1, Object e2) {
-				if ((e1 instanceof IFeature) && !(e2 instanceof IFeature))
-					return -1;
-				if (!(e1 instanceof IFeature) && (e2 instanceof IFeature))
-					return 1;
 				try {
 					IFeature f1 = (IFeature) e1;
 					IFeature f2 = (IFeature) e2;
@@ -345,7 +306,7 @@
 			return null;
 		
 		try {
-			Image image = images.get(url.toString());
+			Image image = (Image) images.get(url.toString());
 			if (image != null)
 				return image;
 		} catch (Exception e) {
@@ -355,7 +316,7 @@
 			ImageDescriptor id = ImageDescriptor.createFromURL(url);
 			Image image = id.createImage();
 			if (images == null)
-				images = new HashMap<String, Image>();
+				images = new HashMap();
 			images.put(url.toString(), image);
 			return image;
 		} catch (Exception e) {
@@ -385,16 +346,14 @@
 	}
 
 	protected void deferInitialization() {
-		final List<Object> list = Collections.synchronizedList(new ArrayList<Object>());
-		list.add(Messages.viewInitializing);
-		
-		tableViewer.setContentProvider(new ExtensionContentProvider(list));
+		Object[] obj = new Object[] { Messages.viewInitializing };
+		tableViewer.setContentProvider(new ExtensionContentProvider(obj));
 		tableViewer.setLabelProvider(new ExtensionTableLabelProvider());
 		tableViewer.setInput(AbstractTreeContentProvider.ROOT);
 		
-		final Thread t = new Thread("Deferred Initialization") {
+		final Thread t = new Thread() {
 			public void run() {
-				deferredInitialize(list, new IProgressMonitor() {
+				deferredInitialize(new IProgressMonitor() {
 					public void beginTask(String name, int totalWork2) {
 						totalWork = totalWork2;
 						progress = name;
@@ -434,14 +393,19 @@
 		t.start();
 		
 		final Display display = getDisplay();
-		final int SLEEP = 100;
+		final int SLEEP = 200;
 		final Runnable[] animator = new Runnable[1];
 		animator[0] = new Runnable() {
 			public void run() {
 				if (t.isAlive()) {
 					count++;
-					if (!table.isDisposed())
-						tableViewer.refresh(AbstractTreeContentProvider.ROOT);
+					try {
+						Object[] rootElements = ((IStructuredContentProvider)tableViewer.getContentProvider()).getElements(null);
+						//tableViewer.update(Messages.viewInitializing, null);
+						tableViewer.update(rootElements, null);
+					} catch (Exception e) {
+						// ignore
+					}
 					display.timerExec(SLEEP, animator[0]);
 				}
 			}
@@ -449,42 +413,48 @@
 		display.timerExec(SLEEP, animator[0]);
 	}
 
-	public void deferredInitialize(final List<Object> list, IProgressMonitor monitor) {
-		final List<String> failedSites = new ArrayList<String>();
+	public void deferredInitialize(IProgressMonitor monitor) {
+		final List list = new ArrayList();
 		ExtensionUtility.FeatureListener listener2 = new ExtensionUtility.FeatureListener() {
 			public void featureFound(IFeature feature) {
 				list.add(feature);
+				int size = list.size();
+				final Object[] obj = new Object[size+1];
+				list.toArray(obj);
 				if (progress != null)
-					list.set(0, progress);
+					obj[size] = progress;
+				else
+					obj[size] = Messages.viewInitializing;
+				Display.getDefault().asyncExec(new Runnable() {
+					public void run() {
+						if (!table.isDisposed())
+							tableViewer.setContentProvider(new ExtensionContentProvider(obj));
+					}
+				});
 			}
 
 			public void featureRemoved(IFeature feature) {
 				list.remove(feature);
 			}
 
-			public void siteFailure(String host) {
-				synchronized (failedSites) {
-					if (!list.contains(failedSites))
-						list.add(failedSites);
-					failedSites.add(host);
-				}
+			public void siteFailure(ISite site, CoreException ce) {
+				// 
 			}
 		};
 		
 		String id = "org.eclipse.wst.server.core.serverAdapter";
 		try {
-			ExtensionUtility.getAllFeatures(id, listener2, monitor);
+			final IFeature[] ef = ExtensionUtility.getAllFeatures(id, listener2, monitor);
+			
+			Display.getDefault().asyncExec(new Runnable() {
+				public void run() {
+					if (!table.isDisposed())
+						tableViewer.setContentProvider(new ExtensionContentProvider(ef));
+				}
+			});
 		} catch (CoreException ce) {
-			Trace.trace(Trace.WARNING, "Error downloading server adapter info", ce);
+			ce.printStackTrace();
 		}
-		
-		list.remove(0);
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if (!table.isDisposed())
-					tableViewer.refresh(AbstractTreeContentProvider.ROOT);
-			}
-		});
 	}
 
 	protected Object getSelection(ISelection sel2) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionContentProvider.java
index a94cfeb..ad8161c 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionContentProvider.java
@@ -10,19 +10,17 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
-import java.util.List;
-
 import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.Viewer;
 /**
  * Extension content provider.
  */
 public class ExtensionContentProvider implements IStructuredContentProvider {
-	protected List list;
+	protected Object[] items;
 
-	public ExtensionContentProvider(List list) {
+	public ExtensionContentProvider(Object[] items) {
 		super();
-		this.list = list;
+		this.items = items;
 	}
 
 	public void dispose() {
@@ -30,7 +28,7 @@
 	}
 
 	public Object[] getElements(Object inputElement) {
-		return list.toArray();
+		return items;
 	}
 
 	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionTableLabelProvider.java
index 75ce1da..068db46 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionTableLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionTableLabelProvider.java
@@ -10,8 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
-import java.util.List;
-
 import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.update.core.IFeature;
@@ -40,6 +38,9 @@
 	 * @see ITableLabelProvider#getColumnImage(Object, int)
 	 */
 	public Image getColumnImage(Object element, int columnIndex) {
+		//if (columnIndex == 0)
+		//	return ImageResource.getImage(ImageResource.IMG_WIZBAN_NEW_SERVER);
+		
 		return null;
 	}
 
@@ -47,13 +48,15 @@
 	 * @see ITableLabelProvider#getColumnText(Object, int)
 	 */
 	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof List)
-			return "Some update sites failed";
-		
-		if (element instanceof String)
+		if (element instanceof String) {
 			return ((String) element) + Math.random();
-		
+		}
 		IFeature item = (IFeature) element;
-		return item.getLabel() + "\n" + item.getProvider();
+		if (columnIndex == 0) {
+		//	return "";
+		//} else if (columnIndex == 1) {
+			return item.getLabel() + "\n" + item.getProvider();
+		}
+		return "";
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java
index c878634..ab7f09e 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java
@@ -41,7 +41,7 @@
 	 * @see IStructuredContentProvider#getElements(Object)
 	 */
 	public Object[] getElements(Object inputElement) {
-		List<IRuntime> list = new ArrayList<IRuntime>();
+		List list = new ArrayList();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java
index b35adfa..e86c71d 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java
@@ -30,7 +30,7 @@
 
 	public void fillTree() {
 		clean();
-		List<TreeElement> list = new ArrayList<TreeElement>();
+		List list = new ArrayList();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java
index 33754f2..803203c 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java
@@ -15,6 +15,7 @@
 import org.eclipse.swt.widgets.Shell;
 
 import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.internal.ServerPlugin;
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.extension.ExtensionUtility;
@@ -109,7 +110,9 @@
 	}
 
 	protected String getDetailsLabel() {
-		return Messages.installableServerLink;
+		if (ServerPlugin.getInstallableServers().length > 0)
+			return Messages.installableServerLink;
+		return null;
 	}
 
 	private void closeWizard(Composite comp) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
index e169f84..59f4e46 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
@@ -45,7 +45,7 @@
 
 	public void fillTree() {
 		clean();
-		List<TreeElement> list = new ArrayList<TreeElement>();
+		List list = new ArrayList();
 		IRuntimeType[] runtimeTypes = ServerUtil.getRuntimeTypes(type, version, runtimeTypeId);
 		if (runtimeTypes != null) {
 			int size = runtimeTypes.length;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java
index 758a16a..961a4ff 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java
@@ -49,7 +49,7 @@
 	
 	protected void fillTree() {
 		clean();
-		List<TreeElement> list = new ArrayList<TreeElement>();
+		List list = new ArrayList();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java
index 6c17709..b7a26fd 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java
@@ -22,6 +22,7 @@
 
 import org.eclipse.wst.server.core.IModuleType;
 import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.internal.ServerPlugin;
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.extension.ExtensionUtility;
@@ -137,7 +138,9 @@
 	}
 
 	protected String getDetailsLabel() {
-		return Messages.installableServerLink;
+		if (ServerPlugin.getInstallableServers().length > 0)
+			return Messages.installableServerLink;
+		return null;
 	}
 
 	private void closeWizard(Composite comp) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
index 86cf3e4..ae47d9a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
@@ -45,7 +45,7 @@
 	public void fillTree() {
 		clean();
 
-		List<TreeElement> list = new ArrayList<TreeElement>();
+		List list = new ArrayList();
 		IServerType[] serverTypes = ServerCore.getServerTypes();
 		if (serverTypes != null) {
 			int size = serverTypes.length;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/Version.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/Version.java
index 681fa77..58e4bb9 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/Version.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/Version.java
@@ -21,7 +21,7 @@
 
 	public Version(String s) {
 		StringTokenizer st = new StringTokenizer(s, SEPARATOR);
-		List<String> list = new ArrayList<String>();
+		List list = new ArrayList();
 		
 		while (st.hasMoreTokens()) {
 			String str = st.nextToken();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ExtensionWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ExtensionWizard.java
index c404e8d..b62301e 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ExtensionWizard.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ExtensionWizard.java
@@ -43,7 +43,7 @@
 	 */
 	public ExtensionWizard(String title, String message) {
 		super(title, new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
+			protected void createChildFragments(List list) {
 				list.add(new ExtensionWizardFragment());
 				list.add(new LicenseWizardFragment());
 				list.add(new WizardFragment() {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java
index 5785294..6a7c456 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java
@@ -25,7 +25,7 @@
  */
 public class ModifyModulesWizard extends TaskWizard {
 	static class ModifyModulesWizard2 extends WizardFragment {
-		protected void createChildFragments(List<WizardFragment> list) {
+		protected void createChildFragments(List list) {
 			list.add(new ModifyModulesWizardFragment());
 			list.add(WizardTaskUtil.SaveServerFragment);
 			
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java
index 54a7877..7e5da64 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java
@@ -27,7 +27,7 @@
 	 */
 	public NewRuntimeWizard() {
 		super(Messages.wizNewRuntimeWizardTitle, new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
+			protected void createChildFragments(List list) {
 				list.add(new NewRuntimeWizardFragment());
 				list.add(WizardTaskUtil.SaveRuntimeFragment);
 			}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java
index 304dd7c..b588f64 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java
@@ -35,7 +35,7 @@
 
 	public NewServerWizard(final String[] ids, final String[] values) {
 		super(Messages.wizNewServerWizardTitle, new WizardFragment() {
-			protected void createChildFragments(List<WizardFragment> list) {
+			protected void createChildFragments(List list) {
 				list.add(new NewServerWizardFragment());
 				
 				list.add(WizardTaskUtil.TempSaveRuntimeFragment);
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java
index 150d730..218512e 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java
@@ -43,9 +43,9 @@
 	private static final byte FINISH = 2;
 	private static final byte CANCEL = 3;
 
-	private List<IWizardPage> pages;
+	private List pages;
 	private boolean addingPages;
-	private Map<WizardFragment, TaskWizardPage> fragmentData = new HashMap<WizardFragment, TaskWizardPage>();
+	private Map fragmentData = new HashMap();
 	protected TaskModel taskModel;
 	
 	private IWizardContainer container = null;
@@ -295,8 +295,8 @@
 		currentFragment.enter();
 	}
 	
-	private List<WizardFragment> getAllWizardFragments() {
-		List<WizardFragment> list = new ArrayList<WizardFragment>();
+	private List getAllWizardFragments() {
+		List list = new ArrayList();
 		list.add(rootFragment);
 		addSubWizardFragments(rootFragment, list);
 		
@@ -309,7 +309,7 @@
 		return list;
 	}
 
-	private void addSubWizardFragments(WizardFragment fragment, List<WizardFragment> list) {
+	private void addSubWizardFragments(WizardFragment fragment, List list) {
 		Iterator iterator = fragment.getChildFragments().iterator();
 		while (iterator.hasNext()) {
 			WizardFragment child = (WizardFragment) iterator.next();
@@ -327,10 +327,10 @@
 		
 		try {
 			addingPages = true;
-			pages = new ArrayList<IWizardPage>();
-			Iterator<WizardFragment> iterator = getAllWizardFragments().iterator();
+			pages = new ArrayList();
+			Iterator iterator = getAllWizardFragments().iterator();
 			while (iterator.hasNext()) {
-				WizardFragment fragment = iterator.next();
+				WizardFragment fragment = (WizardFragment) iterator.next();
 				TaskWizardPage page = getFragmentData(fragment);
 				if (fragment.hasComposite()) {
 					if (page != null)
@@ -360,7 +360,7 @@
 
 	private TaskWizardPage getFragmentData(WizardFragment fragment) {
 		try {
-			TaskWizardPage page = fragmentData.get(fragment);
+			TaskWizardPage page = (TaskWizardPage) fragmentData.get(fragment);
 			if (page != null)
 				return page;
 		} catch (Exception e) {
@@ -380,7 +380,7 @@
 	public boolean canFinish() {
 		// Default implementation is to check if all pages are complete.
 		for (int i= 0; i < pages.size(); i++) {
-			if (!(pages.get(i)).isPageComplete())
+			if (!((IWizardPage)pages.get(i)).isPageComplete())
 				return false;
 		}
 		return true;
@@ -392,7 +392,7 @@
 	public void createPageControls(Composite pageContainer) {
 		// the default behavior is to create all the pages controls
 		for (int i = 0; i < pages.size(); i++){
-			IWizardPage page = pages.get(i);
+			IWizardPage page = (IWizardPage) pages.get(i);
 			page.createControl(pageContainer);
 		}
 	}
@@ -402,8 +402,8 @@
 	 */
 	public void dispose() {
 		// notify pages
-		for (int i = 0; i < pages.size(); i++) {
-			pages.get(i).dispose();
+		for (int i = 0; i < pages.size(); i++){
+			((IWizardPage)pages.get(i)).dispose();
 		}
 
 		// dispose of image
@@ -443,7 +443,7 @@
 			// last page or page not found
 			return null;
 		
-		return pages.get(index + 1);
+		return (IWizardPage)pages.get(index + 1);
 	}
 
 	/* (non-Javadoc)
@@ -451,7 +451,7 @@
 	 */
 	public IWizardPage getPage(String name) {
 		for (int i= 0; i < pages.size(); i++) {
-			IWizardPage page = pages.get(i);
+			IWizardPage page = (IWizardPage)pages.get(i);
 			String pageName = page.getName();
 			if (pageName.equals(name))
 				return page;
@@ -470,7 +470,7 @@
 	 * @see org.eclipse.jface.wizard.IWizard#getPages()
 	 */
 	public IWizardPage[] getPages() {
-		return pages.toArray(new IWizardPage[pages.size()]);
+		return (IWizardPage[])pages.toArray(new IWizardPage[pages.size()]);
 	}
 
 	/* (non-Javadoc)
@@ -481,7 +481,7 @@
 		if (index == 0 || index == -1)
 			// first page or page not found
 			return null;
-		return pages.get(index - 1);
+		return (IWizardPage)pages.get(index - 1);
 	}
 
 	/* (non-Javadoc)
@@ -491,7 +491,7 @@
 		if (pages.size() == 0)
 			return null;
 		
-		return pages.get(0);
+		return (IWizardPage) pages.get(0);
 	}
 
 	/* (non-Javadoc)
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java
index a473ed2..ae1281c 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java
@@ -188,7 +188,7 @@
 		taskModel.putObject(TaskModel.TASK_SERVER, workingCopy.save(false, monitor));
 	}
 
-	public static void modifyModules(List<IModule> add, List<IModule> remove, TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
+	public static void modifyModules(List add, List remove, TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
 		if ((add == null || add.isEmpty()) && (remove == null || remove.isEmpty()))
 			return;
 		
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java
index ee3390e..ee31c1b 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java
@@ -82,7 +82,7 @@
 				return;
 			}
 			
-			final List<IModule[]> moduleList = new ArrayList<IModule[]>();
+			final List moduleList = new ArrayList();
 			if (server != null) {
 				((Server) server).visit(new IModuleVisitor() {
 					public boolean visit(IModule[] module2) {
@@ -96,7 +96,7 @@
 			IModule parent = null;
 			try {
 				IModule[] parents = server.getRootModules(module, null);
-				List<IModule> list = new ArrayList<IModule>();
+				List list = new ArrayList();
 				
 				if (parents != null && parents.length > 0) {
 					parent = parents[0];
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java
index cbfcefa..7b33c34 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java
@@ -38,7 +38,7 @@
 	// filter by partial runtime type id
 	protected String runtimeTypeId;
 
-	protected Map<String, WizardFragment> fragmentMap = new HashMap<String, WizardFragment>();
+	protected Map fragmentMap = new HashMap();
 
 	public NewRuntimeWizardFragment() {
 		// do nothing
@@ -62,12 +62,12 @@
 	}
 
 	public List getChildFragments() {
-		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
+		List listImpl = new ArrayList();
 		createChildFragments(listImpl);
 		return listImpl;
 	}
 
-	protected void createChildFragments(List<WizardFragment> list) {
+	protected void createChildFragments(List list) {
 		if (getTaskModel() == null)
 			return;
 		
@@ -111,7 +111,7 @@
 
 	protected WizardFragment getWizardFragment(String typeId) {
 		try {
-			WizardFragment fragment = fragmentMap.get(typeId);
+			WizardFragment fragment = (WizardFragment) fragmentMap.get(typeId);
 			if (fragment != null)
 				return fragment;
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java
index 504f450..60b9400 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java
@@ -37,7 +37,8 @@
 	protected IModuleType moduleType;
 	protected String serverTypeId;
 
-	protected Map<String, WizardFragment> fragmentMap = new HashMap<String, WizardFragment>();
+	protected Map fragmentMap = new HashMap();
+	protected Map configMap = new HashMap();
 	protected IPath runtimeLocation = null;
 
 	public NewServerWizardFragment() {
@@ -78,7 +79,7 @@
 
 	protected WizardFragment getWizardFragment(String typeId) {
 		try {
-			WizardFragment fragment = fragmentMap.get(typeId);
+			WizardFragment fragment = (WizardFragment) fragmentMap.get(typeId);
 			if (fragment != null)
 				return fragment;
 		} catch (Exception e) {
@@ -92,12 +93,12 @@
 	}
 
 	public List getChildFragments() {
-		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
+		List listImpl = new ArrayList();
 		createChildFragments(listImpl);
 		return listImpl;
 	}
 
-	protected void createChildFragments(List<WizardFragment> list) {
+	protected void createChildFragments(List list) {
 		if (getTaskModel() == null)
 			return;
 		
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/OptionalClientWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/OptionalClientWizardFragment.java
index 1be60ea..4f71c8a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/OptionalClientWizardFragment.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/OptionalClientWizardFragment.java
@@ -35,7 +35,7 @@
 		this.moduleArtifact = moduleArtifact;
 	}
 
-	protected void createChildFragments(List<WizardFragment> list) {
+	protected void createChildFragments(List list) {
 		if (clients != null && clients.length > 1)
 			list.add(new SelectClientWizardFragment());
 	}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/RunOnServerWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/RunOnServerWizardFragment.java
index b2fcf7a..d766839 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/RunOnServerWizardFragment.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/RunOnServerWizardFragment.java
@@ -51,7 +51,7 @@
 		this.moduleArtifact = moduleArtifact;
 	}
 
-	protected void createChildFragments(List<WizardFragment> list) {
+	protected void createChildFragments(List list) {
 		if (server == null) {
 			list.add(new NewServerWizardFragment(module));
 			
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
index 77de084..07eed43 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
@@ -40,10 +40,10 @@
 				return false;
 			
 			if (selectedTaskMap.containsKey(id))
-				return (selectedTaskMap.get(id)).booleanValue();
+				return ((Boolean) selectedTaskMap.get(id)).booleanValue();
 			
 			if (selectedTaskMap.containsKey(DEFAULT + id))
-				return (selectedTaskMap.get(DEFAULT + id)).booleanValue();
+				return ((Boolean) selectedTaskMap.get(DEFAULT + id)).booleanValue();
 
 			return false;
 		}
@@ -53,7 +53,7 @@
 		}
 
 		public boolean getDefaultSelected() {
-			return (selectedTaskMap.get(DEFAULT + id)).booleanValue();
+			return ((Boolean) selectedTaskMap.get(DEFAULT + id)).booleanValue();
 		}
 
 		public void setSelected(boolean sel) {
@@ -107,13 +107,13 @@
 	protected boolean hasOptionalTasks;
 	protected boolean hasPreferredTasks;
 
-	protected Map<String, Boolean> selectedTaskMap = new HashMap<String, Boolean>();
+	protected Map selectedTaskMap = new HashMap();
 
 	public TasksWizardFragment() {
 		// do nothing
 	}
 
-	protected void createChildFragments(List<WizardFragment> list) {
+	protected void createChildFragments(List list) {
 		if (tasks == null || tasks.isEmpty())
 			return;
 		
@@ -152,7 +152,7 @@
 		List modules = (List) getTaskModel().getObject(TaskModel.TASK_MODULES);
 		
 		if (server != null && modules == null) {
-			final List<IModule[]> moduleList = new ArrayList<IModule[]>();
+			final List moduleList = new ArrayList();
 			((Server) server).visit(new IModuleVisitor() {
 				public boolean visit(IModule[] module2) {
 					moduleList.add(module2);
@@ -166,7 +166,7 @@
 		if (server != null && modules != null) {
 			hasOptionalTasks = false;
 			hasPreferredTasks = false;
-			List<TaskInfo> taskList = new ArrayList<TaskInfo>(5);
+			List taskList = new ArrayList(5);
 			createTasks(taskList, server, modules);
 			
 			if (tasks == null || !tasks.equals(taskList)) {
@@ -181,12 +181,12 @@
 		}
 	}
 
-	protected void createTasks(List<TaskInfo> taskList, IServerAttributes server, List modules) {
+	protected void createTasks(List taskList, IServerAttributes server, List modules) {
 		if (server == null)
 			return;
 		
-		List<String> enabledTasks = ((Server)server).getEnabledOptionalPublishOperationIds();
-		List<String> disabledTasks = ((Server)server).getDisabledPreferredPublishOperationIds();
+		List enabledTasks = ((Server)server).getEnabledOptionalPublishOperationIds();
+		List disabledTasks = ((Server)server).getDisabledPreferredPublishOperationIds();
 		PublishOperation[] tasks2 = ((Server)server).getAllTasks(modules);
 		for (int j = 0; j < tasks2.length; j++) {
 			int kind = tasks2[j].getKind();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java
index 964650e..408d9ba 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java
@@ -73,7 +73,7 @@
 		label.setText(Messages.hostname);
 		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 		
-		List<String> hosts = ServerUIPlugin.getPreferences().getHostnames();
+		List hosts = ServerUIPlugin.getPreferences().getHostnames();
 		String[] s = new String[hosts.size()];
 		hosts.toArray(s);
 		
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
index 64f53c2..a33d5cc 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
@@ -60,6 +60,8 @@
  * A wizard page used to add and remove modules.
  */
 public class ModifyModulesComposite extends Composite {
+	public static final String TASK_REFRESH_MODULES = "refresh-modules";
+
 	private static final String ROOT = "root";
 	protected static Color color;
 	protected static Font font;
@@ -69,18 +71,19 @@
 	protected IServerAttributes server;
 	protected IRuntime runtime;
 	protected boolean runtimeDirty;
+	protected Object refreshModules;
 
-	protected Map<ChildModuleMapKey, IModule[]> childModuleMap = new HashMap<ChildModuleMapKey, IModule[]>();
-	protected Map<IModule, IModule[]> parentModuleMap = new HashMap<IModule, IModule[]>();
+	protected Map childModuleMap = new HashMap();
+	protected Map parentModuleMap = new HashMap();
 
 	// original modules on the server
-	protected List<IModule> originalModules = new ArrayList<IModule>();
+	protected List originalModules = new ArrayList();
 
 	// modules available to be added to the server
-	protected List<IModule> modules = new ArrayList<IModule>();
+	protected List modules = new ArrayList();
 
 	// current modules on the server
-	protected List<IModule> deployed = new ArrayList<IModule>();
+	protected List deployed = new ArrayList();
 
 	protected TreeViewer availableTreeViewer;
 	protected TreeViewer deployedTreeViewer;
@@ -98,7 +101,7 @@
 	// must be kept on the server
 	protected IModule[] requiredModules;
 
-	protected Map<IModule, IStatus> errorMap;
+	protected Map errorMap;
 
 	abstract class TreeContentProvider implements ITreeContentProvider {
 		public void dispose() {
@@ -112,9 +115,9 @@
 		public Object[] getChildren(Object parentElement) {
 			ModuleServer ms = (ModuleServer) parentElement;
 			IModule[] parent = ms.module;
-			IModule[] children = childModuleMap.get(new ChildModuleMapKey(parent));
+			IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(parent));
 			
-			List<ModuleServer> list = new ArrayList<ModuleServer>();
+			List list = new ArrayList();
 			if (children != null) {
 				int size = children.length;
 				for (int i = 0; i < size; i++) {
@@ -135,7 +138,7 @@
 		public Object getParent(Object element) {
 			ModuleServer ms = (ModuleServer) element;
 			IModule[] child = ms.module;
-			IModule[] modules2 = parentModuleMap.get(child);
+			IModule[] modules2 = (IModule[]) parentModuleMap.get(child);
 			if (modules2 == null)
 				return null;
 			return new ModuleServer(null, modules2);
@@ -144,14 +147,14 @@
 		public boolean hasChildren(Object element) {
 			ModuleServer ms = (ModuleServer) element;
 			IModule[] parent = ms.module;
-			IModule[] children = childModuleMap.get(new ChildModuleMapKey(parent));
+			IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(parent));
 			return (children != null && children.length > 0);
 		}
 	}
 
 	class AvailableContentProvider extends TreeContentProvider {
 		public Object[] getElements(Object inputElement) {
-			List<ModuleServer> list = new ArrayList<ModuleServer>();
+			List list = new ArrayList();
 			Iterator iterator = modules.iterator();
 			while (iterator.hasNext()) {
 				IModule module = (IModule) iterator.next();
@@ -163,7 +166,7 @@
 
 	class DeployedContentProvider extends TreeContentProvider {
 		public Object[] getElements(Object inputElement) {
-			List<ModuleServer> list = new ArrayList<ModuleServer>();
+			List list = new ArrayList();
 			Iterator iterator = deployed.iterator();
 			while (iterator.hasNext()) {
 				IModule module = (IModule) iterator.next();
@@ -243,11 +246,11 @@
 		if (isVisible())
 			return;
 		
-		// see bug 185875
-		if (server == this.server) {
+		// see bug 185875, 205869
+		if (refreshModules == taskModel.getObject(TASK_REFRESH_MODULES) && server == this.server) {
 			if (server == null)
 				return;
-			if (runtime == this.runtime) {
+			if (runtime == server.getRuntime()) {
 				if (runtime == null)
 					return;
 				if (runtime instanceof IRuntimeWorkingCopy) {
@@ -259,6 +262,7 @@
 			}
 		}
 		
+		refreshModules = taskModel.getObject(TASK_REFRESH_MODULES);
 		this.server = server;
 		if (server == null)
 			runtime = null;
@@ -273,11 +277,11 @@
 			}
 		}
 		
-		originalModules = new ArrayList<IModule>();
-		deployed = new ArrayList<IModule>();
-		modules = new ArrayList<IModule>();
+		originalModules = new ArrayList();
+		deployed = new ArrayList();
+		modules = new ArrayList();
 		
-		childModuleMap = new HashMap<ChildModuleMapKey, IModule[]>();
+		childModuleMap = new HashMap();
 		
 		if (server == null)
 			return;
@@ -294,7 +298,7 @@
 		
 		// add new module
 		requiredModules = null;
-		errorMap = new HashMap<IModule, IStatus>();
+		errorMap = new HashMap();
 		if (requiredModule != null) {
 			try {
 				IModule[] parents = server.getRootModules(requiredModule, null);
@@ -368,16 +372,16 @@
 		
 		// get children recursively one level
 		// put child elements into a different list to avoid concurrent modifications
-		Iterator<ChildModuleMapKey> iterator2 = childModuleMap.keySet().iterator();
-		List<ChildModuleMapKey> list = new ArrayList<ChildModuleMapKey>();
-		while (iterator2.hasNext()) {
-			list.add(iterator2.next());
+		iterator = childModuleMap.keySet().iterator();
+		List list = new ArrayList();
+		while (iterator.hasNext()) {
+			list.add(iterator.next());
 		}
 		
 		iterator = list.iterator();
 		while (iterator.hasNext()) {
 			ChildModuleMapKey key = (ChildModuleMapKey) iterator.next();
-			IModule[] children0 = childModuleMap.get(key);
+			IModule[] children0 = (IModule[]) childModuleMap.get(key);
 			if (children0 != null) {
 				int size = children0.length;
 				for (int i = 0; i < size; i++) {
@@ -710,7 +714,7 @@
 				IModule module = getModule(ms[i]);
 				if (module != null) {
 					try {
-						IStatus status = errorMap.get(module);
+						IStatus status = (IStatus) errorMap.get(module);
 						if (modules.contains(module) && status != null) {
 							if (status.getSeverity() == IStatus.ERROR) {
 								enabled = false;
@@ -776,7 +780,7 @@
 				}
 			}
 			
-			List<IModule> list = new ArrayList<IModule>();
+			List list = new ArrayList();
 			list.addAll(deployed);
 			list.remove(keep);
 			
@@ -791,9 +795,9 @@
 
 	protected void moveAll(IModule[] mods, boolean add2) {
 		int size = mods.length;
-		List<IModule> list = new ArrayList<IModule>();
+		List list = new ArrayList();
 		for (int i = 0; i < size; i++) {
-			IStatus status = errorMap.get(mods[i]);
+			IStatus status = (IStatus) errorMap.get(mods[i]);
 			
 			if (status == null && !list.contains(mods[i]))
 				list.add(mods[i]);
@@ -830,8 +834,8 @@
 		wizard.update();
 	}
 
-	public List<IModule> getModulesToRemove() {
-		List<IModule> list = new ArrayList<IModule>();
+	public List getModulesToRemove() {
+		List list = new ArrayList();
 		Iterator iterator = originalModules.iterator();
 		while (iterator.hasNext()) {
 			IModule module = (IModule) iterator.next();
@@ -841,8 +845,8 @@
 		return list;
 	}
 
-	public List<IModule> getModulesToAdd() {
-		List<IModule> list = new ArrayList<IModule>();
+	public List getModulesToAdd() {
+		List list = new ArrayList();
 		Iterator iterator = deployed.iterator();
 		while (iterator.hasNext()) {
 			IModule module = (IModule) iterator.next();
@@ -852,7 +856,7 @@
 		return list;
 	}
 	
-	private void addChildMap(List<IModule[]> map, IModule[] parents, IModule[] children) {
+	private void addChildMap(List map, IModule[] parents, IModule[] children) {
 		if (children == null)
 			return;
 		
@@ -866,21 +870,21 @@
 			modules2[size2] = module;
 			map.add(modules2);
 			
-			IModule[] children2 = childModuleMap.get(new ChildModuleMapKey(module));
+			IModule[] children2 = (IModule[]) childModuleMap.get(new ChildModuleMapKey(module));
 			if (children2 != null)
 				addChildMap(map, modules2, children2);
 		}
 	}
 
 	public List getModuleMap() {
-		final List<IModule[]> map = new ArrayList<IModule[]>();
+		final List map = new ArrayList();
 	
 		Iterator iterator = deployed.iterator();
 		while (iterator.hasNext()) {
 			IModule module = (IModule) iterator.next();
 			IModule[] moduleTree = new IModule[] { module };
 			map.add(moduleTree);
-			IModule[] children = childModuleMap.get(new ChildModuleMapKey(module));
+			IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(module));
 			if (children != null)
 				addChildMap(map, moduleTree, children);
 		}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
index 5c5162a..a289efc 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
@@ -15,6 +15,7 @@
 import java.util.List;
 
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jface.operation.IRunnableWithProgress;
@@ -71,6 +72,7 @@
 	protected String host;
 
 	protected IModuleType moduleType;
+	protected IModule module;
 	protected String serverTypeId;
 	protected boolean includeIncompatible;
 
@@ -84,16 +86,18 @@
 	 * @param parent a parent composite
 	 * @param wizard a wizard handle
 	 * @param moduleType a module type
+	 * @param module an optional module
 	 * @param serverTypeId a server type id, or null
 	 * @param includeIncompatible true to include incompatible servers that support similar module types
 	 * @param listener a server selection listener
 	 */
-	public NewManualServerComposite(Composite parent, IWizardHandle2 wizard, IModuleType moduleType, String serverTypeId, boolean includeIncompatible, ServerSelectionListener listener) {
+	public NewManualServerComposite(Composite parent, IWizardHandle2 wizard, IModuleType moduleType, IModule module, String serverTypeId, boolean includeIncompatible, ServerSelectionListener listener) {
 		super(parent, SWT.NONE);
 		this.wizard = wizard;
 		this.listener = listener;
 		
 		this.moduleType = moduleType;
+		this.module = module;
 		this.serverTypeId = serverTypeId;
 		this.includeIncompatible = includeIncompatible;
 		
@@ -102,6 +106,21 @@
 	}
 
 	/**
+	 * @deprecated Old internal constructor left to ensure no chance of incompatibility. You must remove any usage
+	 *    before moving to WTP 3.0.
+	 * 
+	 * @param parent
+	 * @param wizard
+	 * @param moduleType
+	 * @param serverTypeId
+	 * @param includeIncompatible
+	 * @param listener
+	 */
+	public NewManualServerComposite(Composite parent, IWizardHandle2 wizard, IModuleType moduleType, String serverTypeId, boolean includeIncompatible, ServerSelectionListener listener) {
+		this(parent, wizard, moduleType, null, serverTypeId, includeIncompatible, listener);
+	}
+
+	/**
 	 * Returns this page's initial visual components.
 	 */
 	protected void createControl() {
@@ -265,7 +284,7 @@
 		newRuntime = null;
 		
 		if (server != null && runtimes != null) {
-			List<IRuntime> runtimes2 = new ArrayList<IRuntime>();
+			List runtimes2 = new ArrayList();
 			int size = runtimes.length;
 			for (int i = 0; i < size; i++) {
 				IRuntime runtime2 = runtimes[i];
@@ -381,7 +400,20 @@
 		} else {
 			wizard.setMessage(null, IMessageProvider.NONE);
 			loadServerImpl(serverType);
+			if (server != null && module != null) {
+				IStatus status = NewServerComposite.isSupportedModule(server, module);
+				if (status != null) {
+					if (status.getSeverity() == IStatus.ERROR)
+						wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
+					else if (status.getSeverity() == IStatus.WARNING)
+						wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
+					else if (status.getSeverity() == IStatus.INFO)
+						wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
+					server = null;
+				}
+			}
 		}
+		
 		updateRuntimeCombo(serverType);
 		listener.serverSelected(server);
 		wizard.update();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java
index 321dd92..f23c483 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java
@@ -48,8 +48,8 @@
 	protected IRuntimeWorkingCopy runtime;
 
 	// cache of created runtimes and servers
-	protected Map<IRuntimeType, IRuntimeWorkingCopy> cache = new HashMap<IRuntimeType, IRuntimeWorkingCopy>();
-	protected Map<IRuntime, IServerWorkingCopy> serverCache = new HashMap<IRuntime, IServerWorkingCopy>();
+	protected Map cache = new HashMap();
+	protected Map serverCache = new HashMap();
 
 	protected TaskModel taskModel;
 	protected IWizardHandle wizard;
@@ -113,7 +113,7 @@
 		else {
 			try {
 				runtime = null;
-				runtime = cache.get(runtimeType);
+				runtime = (IRuntimeWorkingCopy) cache.get(runtimeType);
 			} catch (Exception e) {
 				// ignore
 			}
@@ -149,7 +149,7 @@
 	}
 
 	protected static IServerType getCompatibleServerType(IRuntimeType runtimeType) {
-		List<IServerType> list = new ArrayList<IServerType>();
+		List list = new ArrayList();
 		IServerType[] serverTypes = ServerCore.getServerTypes();
 		int size = serverTypes.length;
 		for (int i = 0; i < size; i++) {
@@ -158,7 +158,7 @@
 				list.add(serverTypes[i]);
 		}
 		if (list.size() == 1)
-			return list.get(0);
+			return (IServerType) list.get(0);
 		return null;
 	}
 
@@ -169,7 +169,7 @@
 		if (serverType == null || runtime == null || !serverType.hasRuntime())
 			return null;
 		
-		IServerWorkingCopy server = serverCache.get(runtime);
+		IServerWorkingCopy server = (IServerWorkingCopy) serverCache.get(runtime);
 		if (server != null)
 			return server;
 		
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java
index 542ecb7..6490742 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jface.operation.IRunnableWithProgress;
@@ -213,7 +214,7 @@
 		createAutoComposite(stack);
 		createManualComposite(stack);
 	
-		if (existingComp != null) {
+		if (existingComp != null && existing != null) {
 			if (isExistingServer()) {
 				mode = MODE_EXISTING;
 				stackLayout.topControl = existingComp;
@@ -334,63 +335,16 @@
 				
 				// check for compatibility
 				if (server != null && module != null) {
-					IServerType serverType = server.getServerType();
-					IModuleType mt = module.getModuleType();
-					if (!ServerUtil.isSupportedModule(serverType.getRuntimeType().getModuleTypes(), mt)) {
-						String type = mt.getName();
-						wizard.setMessage(NLS.bind(Messages.errorVersionLevel, new Object[] { type, mt.getVersion() }), IMessageProvider.ERROR);
+					IStatus status = isSupportedModule(server, module);
+					if (status != null) {
+						if (status.getSeverity() == IStatus.ERROR)
+							wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
+						else if (status.getSeverity() == IStatus.WARNING)
+							wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
+						else if (status.getSeverity() == IStatus.INFO)
+							wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
 						server = null;
 					}
-					
-					if (wizard.getMessage() == null) {
-						IModule[] rootModules = null;
-						try {
-							rootModules = server.getRootModules(module, null);
-						} catch (CoreException ce) {
-							IStatus status = ce.getStatus();
-							if (status != null) {
-								if (status.getSeverity() == IStatus.ERROR)
-									wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-								else if (status.getSeverity() == IStatus.WARNING)
-									wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-								else if (status.getSeverity() == IStatus.INFO)
-									wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
-								server = null;
-							}
-						} catch (Exception e) {
-							Trace.trace(Trace.WARNING, "Could not find root module", e);
-						}
-						if (rootModules != null) {
-							if (rootModules.length == 0) {
-								wizard.setMessage(Messages.errorRootModule, IMessageProvider.ERROR);
-								server = null;
-							} else {
-								int size = rootModules.length;
-								IStatus status = null;
-								boolean found = false;
-								for (int i = 0; i < size; i++) {
-									try {
-										status = server.canModifyModules(new IModule[] {rootModules[i]}, null, null);
-										if (status != null && status.isOK())
-											found = true;
-									} catch (Exception e) {
-										Trace.trace(Trace.WARNING, "Could not find root module", e);
-									}
-								}
-								if (!found && status != null) {
-									if (status != null) {
-										if (status.getSeverity() == IStatus.ERROR)
-											wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-										else if (status.getSeverity() == IStatus.WARNING)
-											wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-										else if (status.getSeverity() == IStatus.INFO)
-											wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
-										server = null;
-									}
-								}
-							}
-						}
-					}
 				}
 				
 				if (existingWC != null) {
@@ -409,7 +363,55 @@
 		data.heightHint = 150;
 		existingComp.setLayoutData(data);
 	}
-	
+
+	/**
+	 * Returns the status of whether the given module could be added to the server.
+	 * 
+	 * @param server a server
+	 * @param module a module
+	 * @return an IStatus representing the error or warning, or null if there are no problems
+	 */
+	protected static IStatus isSupportedModule(IServerAttributes server, IModule module) {
+		if (server != null && module != null) {
+			IServerType serverType = server.getServerType();
+			IModuleType mt = module.getModuleType();
+			if (!ServerUtil.isSupportedModule(serverType.getRuntimeType().getModuleTypes(), mt)) {
+				String type = mt.getName();
+				return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, NLS.bind(Messages.errorVersionLevel, new Object[] { type, mt.getVersion() }));
+			}
+			
+			IModule[] rootModules = null;
+			try {
+				rootModules = server.getRootModules(module, null);
+			} catch (CoreException ce) {
+				return ce.getStatus();
+			} catch (Exception e) {
+				Trace.trace(Trace.WARNING, "Could not find root module", e);
+			}
+			if (rootModules != null) {
+				if (rootModules.length == 0)
+					return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, Messages.errorRootModule);
+				
+				int size = rootModules.length;
+				IStatus status = null;
+				boolean found = false;
+				for (int i = 0; i < size; i++) {
+					try {
+						if (server != null)
+							status = server.canModifyModules(new IModule[] {rootModules[i]}, null, null);
+						if (status != null && status.isOK())
+							found = true;
+					} catch (Exception e) {
+						Trace.trace(Trace.WARNING, "Could not find root module", e);
+					}
+				}
+				if (!found && status != null)
+					return status;
+			}
+		}
+		return null;
+	}
+
 	protected boolean isExistingServer() {
 		if (module == null || launchMode == null)
 			return false;
@@ -457,7 +459,7 @@
 			public void setMessage(String newMessage, int newType) {
 				wizard.setMessage(newMessage, newType);
 			}
-		}, mt, serverTypeId, includeIncompatible, new NewManualServerComposite.ServerSelectionListener() {
+		}, mt, module, serverTypeId, includeIncompatible, new NewManualServerComposite.ServerSelectionListener() {
 			public void serverSelected(IServerAttributes server) {
 				updateTaskModel();
 			}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ServerCreationCache.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ServerCreationCache.java
index c328a46..cfcb3a5 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ServerCreationCache.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ServerCreationCache.java
@@ -23,14 +23,14 @@
  * A helper class used to cache the creation of servers.
  */
 public class ServerCreationCache {
-	protected Map<String, IServerWorkingCopy> cache;
+	protected Map cache;
 
 	/**
 	 * ServerCreationCache constructor comment.
 	 */
 	public ServerCreationCache() {
 		super();
-		cache = new HashMap<String, IServerWorkingCopy>();
+		cache = new HashMap();
 	}
 
 	/**
@@ -72,7 +72,7 @@
 	 */
 	public IServerWorkingCopy getCachedServer(IServerType type, boolean isLocalhost) {
 		try {
-			IServerWorkingCopy server = cache.get(getKey(type, isLocalhost));
+			IServerWorkingCopy server = (IServerWorkingCopy) cache.get(getKey(type, isLocalhost));
 			if (server != null)
 				return server;
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java
index 4c51759..7bcf2d6 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java
@@ -42,7 +42,7 @@
 public abstract class WizardFragment {
 	private TaskModel taskModel;
 	private boolean isComplete = true;
-	private List<WizardFragment> listImpl;
+	private List listImpl;
 
 	/**
 	 * Returns <code>true</code> if this fragment has an associated UI,
@@ -161,7 +161,7 @@
 	 */
 	public List getChildFragments() {
 		if (listImpl == null) {
-			listImpl = new ArrayList<WizardFragment>();
+			listImpl = new ArrayList();
 			createChildFragments(listImpl);
 		}
 		return listImpl;
@@ -184,7 +184,7 @@
 	 * 
 	 * @param list a list to add the child fragments to
 	 */
-	protected void createChildFragments(List<WizardFragment> list) {
+	protected void createChildFragments(List list) {
 		// do nothing
 	}