[201570] Move to Java 5
diff --git a/plugins/org.eclipse.jst.server.core/.classpath b/plugins/org.eclipse.jst.server.core/.classpath
index ce73933..304e861 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.4"/>
+	<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.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 267ae57..5f239aa 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 Feb 23 21:15:39 EST 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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=warning
+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
@@ -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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 0d0e81f..359ba60 100644
--- a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 4b9a5c6..8eccaa5 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
@@ -318,7 +318,7 @@
 				}
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load source path info: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load source path info", e);
 		}
 	}
 
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 40f78b9..a719224 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
@@ -130,12 +130,13 @@
 				delegate = (RuntimeClasspathProviderDelegate) element.createExecutableExtension("class");
 				delegate.initialize(getId());
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		return delegate;
 	}
 
+	private int count;
 	/*
 	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainerImpl(IProject, IRuntime)
 	 */
@@ -143,9 +144,12 @@
 		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.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		return null;
 	}
@@ -159,7 +163,7 @@
 		try {
 			getDelegate().requestClasspathContainerUpdate(runtime, entries);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 	}
 
@@ -172,7 +176,7 @@
 		try {
 			return getDelegate().hasRuntimeClasspathChanged(runtime);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		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 dc10d05..20cec51 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
@@ -102,7 +102,7 @@
 			try {
 				delegate = (RuntimeComponentProviderDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		return delegate;
@@ -117,7 +117,7 @@
 		try {
 			return getDelegate().getRuntimeComponents(runtime);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		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 e9f1ecc..70b6393 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.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		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.getMessage());
+			Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 		}
 	}
 
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.classpath b/plugins/org.eclipse.jst.server.preview.adapter/.classpath
index ce73933..304e861 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.4"/>
+	<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.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 267ae57..5f239aa 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 Feb 23 21:15:39 EST 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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=warning
+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
@@ -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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 47c726e..a4defbf 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
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 6adacad..b3ea20d 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 list = new ArrayList();
+		List<IClasspathEntry> list = new ArrayList<IClasspathEntry>();
 		
 		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 (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]);
+		return 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 c8349e1..87d8ca9 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,11 +110,13 @@
 			String type = modules[i].getModuleType().getId();
 			if ("wst.web".equals(type)) {
 				IStaticWeb staticWeb = (IStaticWeb) modules[i].loadAdapter(IStaticWeb.class, null);
-				mod.putString("context", staticWeb.getContextRoot());
+				if (staticWeb != null)
+					mod.putString("context", staticWeb.getContextRoot());
 				mod.putString("type", "static");
 			} else if ("jst.web".equals(type)) {
 				IWebModule webModule = (IWebModule) modules[i].loadAdapter(IWebModule.class, null);
-				mod.putString("context", webModule.getContextRoot());
+				if (webModule != null)
+					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 b2b760d..d346e90 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 classpaths = new ArrayList();
+		List<IRuntimeClasspathEntry> classpaths = new ArrayList<IRuntimeClasspathEntry>();
 		classpaths.addAll(Arrays.asList(JavaRuntime.computeUnresolvedSourceLookupPath(configuration)));
-		List sourcefolderList = new ArrayList();
+		List<ISourceContainer> sourcefolderList = new ArrayList<ISourceContainer>();
 		
 		IServer server = ServerUtil.getServer(configuration);
 		if (server != null) {
-			List list = new ArrayList();
+			List<IJavaProject> list = new ArrayList<IJavaProject>();
 			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.ui/.classpath b/plugins/org.eclipse.jst.server.ui/.classpath
index ce73933..304e861 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.4"/>
+	<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.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 abb926c..5f239aa 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 Feb 23 21:15:49 EST 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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=warning
+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
@@ -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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 4bedc34..e688b6e 100644
--- a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.classpath b/plugins/org.eclipse.wst.internet.monitor.core/.classpath
index bf4b258..acc46b4 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.4"/>
+	<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.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 7fe8361..5f239aa 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 Feb 23 21:16:21 EST 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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=warning
+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
@@ -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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 8ed09de..72c7d18 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
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 f1af138..5db6cf3 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.getMessage());
+			Trace.trace(Trace.WARNING, "Error closing connection " + this, ex);
 		}
 	}
 }
\ 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 282c7e2..aa18131 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
@@ -41,7 +41,7 @@
 	protected int timeout;
 	protected boolean autoStart = false;
 
-	protected List requestListeners = new ArrayList(2);
+	protected List<IRequestListener> requestListeners = new ArrayList<IRequestListener>(2);
 
 	/**
 	 * Create a new monitor.
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 4f16b85..d246801 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
@@ -30,15 +30,15 @@
 	private static final int REMOVE = 2;
 
 	// monitors
-	protected List monitors;
-	protected Map threads = new HashMap();
+	protected List<IMonitor> monitors;
+	protected Map<IMonitor, AcceptThread> threads = new HashMap<IMonitor, AcceptThread>();
 	
-	protected List monitorListeners = new ArrayList();
+	protected List<IMonitorListener> monitorListeners = new ArrayList<IMonitorListener>();
 
 	private Preferences.IPropertyChangeListener pcl;
 	protected boolean ignorePreferenceChanges = false;
 	
-	protected Map resendMap = new HashMap();
+	protected Map<Request, List<ResendHTTPRequest>> resendMap = new HashMap<Request, List<ResendHTTPRequest>>();
 	
 	protected static MonitorManager instance;
 	
@@ -95,8 +95,8 @@
 	 * 
 	 * @return the list of monitors
 	 */
-	public List getMonitors() {
-		return new ArrayList(monitors);
+	public List<IMonitor> getMonitors() {
+		return new ArrayList<IMonitor>(monitors);
 	}
 
 	protected synchronized void addMonitor(IMonitor monitor) {
@@ -137,7 +137,7 @@
 		if (!monitors.contains(monitor))
 			return;
 		
-		AcceptThread thread = (AcceptThread) threads.get(monitor);
+		AcceptThread thread = threads.get(monitor);
 		if (thread != null) {
 			thread.stopServer();
 			threads.remove(monitor);
@@ -205,7 +205,7 @@
 	protected synchronized void loadMonitors() {
 		Trace.trace(Trace.FINEST, "Loading monitors");
 		
-		monitors = new ArrayList();
+		monitors = new ArrayList<IMonitor>();
 		Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
 		String xmlString = prefs.getString("monitors");
 		if (xmlString != null && xmlString.length() > 0) {
@@ -223,7 +223,7 @@
 					}
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load monitors: " + e.getMessage());
+				Trace.trace(Trace.WARNING, "Could not load monitors", e);
 			}
 		}
 	}
@@ -272,15 +272,15 @@
 		if (request == null || resendReq == null)
 			return;
 		
-		List list = null;
+		List<ResendHTTPRequest> list = null;
 		try {
-			list = (List) resendMap.get(request);
+			list = resendMap.get(request);
 		} catch (Exception e) {
 			// ignore
 		}
 		
 		if (list == null) {
-			list = new ArrayList();
+			list = new ArrayList<ResendHTTPRequest>();
 			resendMap.put(request, list);
 		}
 		list.add(resendReq);
@@ -293,10 +293,10 @@
 	 * @return the array of resend requests based on this request
 	 */
 	public ResendHTTPRequest[] getResendRequests(Request request) {
-		List list = (List) resendMap.get(request);
+		List<ResendHTTPRequest> list = resendMap.get(request);
 		if (list != null)
-			return (ResendHTTPRequest[]) list.toArray(new ResendHTTPRequest[list.size()]);
-
+			return list.toArray(new ResendHTTPRequest[list.size()]);
+		
 		return new ResendHTTPRequest[0];
 	}
 
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 8c805de..b9878cc 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 protocolAdapters;
-	protected Map contentFilters;
+	protected Map<String, ProtocolAdapter> protocolAdapters;
+	protected Map<String, IContentFilter> contentFilters;
 	protected boolean startupsLoaded;
 
 	/**
@@ -67,7 +67,7 @@
 	 *   is no protocol adapter with the given id
 	 */
 	public ProtocolAdapter getProtocolAdapter(String id) {
-		return (ProtocolAdapter) protocolAdapters.get(id);
+		return protocolAdapters.get(id);
 	}
 
 	/**
@@ -84,8 +84,8 @@
 	 * @return a possibly-empty array of protocol adapter instances
 	 */
 	public ProtocolAdapter[] getProtocolAdapters() {
-		List list = new ArrayList();
-		Iterator iterator = protocolAdapters.values().iterator();
+		List<ProtocolAdapter> list = new ArrayList<ProtocolAdapter>();
+		Iterator<ProtocolAdapter> 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 list = new ArrayList();
-		Iterator iterator = contentFilters.values().iterator();
+		List<IContentFilter> list = new ArrayList<IContentFilter>();
+		Iterator<IContentFilter> 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 (IContentFilter) contentFilters.get(id);
+		return contentFilters.get(id);
 	}
 
 	protected synchronized void loadProtocolAdapters() {
@@ -130,7 +130,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalProtocolAdapters");
 
 		int size = cf.length;
-		Map map = new HashMap(size);
+		Map<String, ProtocolAdapter> map = new HashMap<String, ProtocolAdapter>(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 map = new HashMap(size);
+		Map<String, IContentFilter> map = new HashMap<String, IContentFilter>(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/TCPIPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
index 860fb9e..da0d417 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 map = new HashMap();
+	protected Map<IMonitor, Connection> map = new HashMap<IMonitor, Connection>();
 	
 	/**
 	 * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket)
@@ -40,7 +40,7 @@
 	 */
 	public void disconnect(IMonitor monitor) throws IOException {
 		try {
-			Connection conn = (Connection) map.get(monitor);
+			Connection conn = 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/http/HTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
index f2e5561..694803c 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 requests = new ArrayList();
+	protected List<Request> requests = new ArrayList<Request>();
 
 	/**
 	 * HTTPConnection constructor comment.
@@ -101,7 +101,7 @@
 				requests.add(request);
 				return request;
 			}
-			return (Request) requests.get(i);
+			return 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 931d70e..c69bb3f 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 map = new HashMap();
+	protected Map<IMonitor, Connection> map = new HashMap<IMonitor, Connection>();
 
 	/**
 	 * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket)
@@ -42,7 +42,7 @@
 	 */
 	public void disconnect(IMonitor monitor) throws IOException {
 		try {
-			Connection conn = (Connection) map.get(monitor);
+			Connection conn = 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 a0391e2..a93a6b0 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.getMessage());
+			Trace.trace(Trace.PARSING, "Error closing connection " + this, e);
 		}
 	}
 
@@ -605,7 +605,7 @@
 				isWaiting = true;
 				wait();
 			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error in waitForResponse() " + this + " " + e.getMessage());
+				Trace.trace(Trace.PARSING, "Error in waitForResponse() " + this, e);
 			}
 			isWaiting = false;
 		}
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 26561f3..650f6ff 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
@@ -84,7 +84,7 @@
 	/**
 	 * Sets whether this monitor starts by default.
 	 * 
-	 * @param autoStart run the monitor on plug-in startup
+	 * @param startByDefault run the monitor on plug-in startup
 	 * @see IMonitor#isAutoStart()
 	 */
 	public void setAutoStart(boolean startByDefault);
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 626968f..e6cef70 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 list = getManager().getMonitors();
+		List<IMonitor> 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 01b6b92..acf166f 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.4"/>
+	<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.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 e4a0f3b..5f239aa 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 Feb 23 21:16:28 EST 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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=warning
+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
@@ -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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 826ff16..2054b37 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
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 e7db188..cb3a9f3 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
@@ -57,7 +57,7 @@
 	protected Button start;
 	protected Button stop;
 	
-	protected List selection2;
+	protected List<Object> selection2;
 
 	/**
 	 * MonitorPreferencePage constructor comment.
@@ -236,7 +236,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 +308,7 @@
 	protected void setSelection(ISelection sel2) {
 		IStructuredSelection sel = (IStructuredSelection) sel2;
 		Iterator iterator = sel.iterator();
-		selection2 = new ArrayList();
+		selection2 = new ArrayList<Object>();
 		
 		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/MonitorUIPlugin.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
index 35499f4..975af1b 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 imageDescriptors = new HashMap();
+	protected Map<String, ImageDescriptor> imageDescriptors = new HashMap<String, ImageDescriptor>();
 
 	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 requests = new ArrayList();
+	protected List<Request> requests = new ArrayList<Request>();
 
 	protected IMonitorListener monitorListener = new IMonitorListener() {
 		public void monitorAdded(IMonitor monitor) {
@@ -153,7 +153,7 @@
 	public static ImageDescriptor getImageDescriptor(String key) {
 		try {
 			getInstance().getImageRegistry();
-			return (ImageDescriptor) getInstance().imageDescriptors.get(key);
+			return getInstance().imageDescriptors.get(key);
 		} catch (Exception e) {
 			return null;
 		}
@@ -316,7 +316,7 @@
 	/**
 	 * Returns a list of the current requests.
 	 *
-	 * @return java.util.List
+	 * @return an array of requests
 	 */
 	public Request[] getRequests() {
 		Request[] r = new Request[requests.size()];
@@ -325,6 +325,6 @@
 	}
 	
 	public void clearRequests() {
-		requests = new ArrayList();
+		requests = new ArrayList<Request>();
 	}
 }
\ No newline at end of file
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 f350196..40b610d 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 list = new ArrayList();
+			List<Request> list = new ArrayList<Request>();
 			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 list = new ArrayList();
+			List<Request> list = new ArrayList<Request>();
 			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 list = new ArrayList();
+			List<Integer> list = new ArrayList<Integer>();
 			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 054ce3b..4e8327f 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.getMessage());
+			Trace.trace(Trace.SEVERE, "Could not create viewer" + toString(), e);
 			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 49f5bf2..f7c8578 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 viewers;
+	protected List<Viewer> viewers;
 
 	protected Request request;
 
 	protected SashForm reqSash;
 	protected SashForm respSash;
 
-	protected List filters = new ArrayList();
+	protected List<IContentFilter> filters = new ArrayList<IContentFilter>();
 
 	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(size);
+		viewers = new ArrayList<Viewer>(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 temp = new ArrayList();
+		List<Viewer> temp = new ArrayList<Viewer>();
 		while (iterator.hasNext()) {
 			Viewer viewer = (Viewer) iterator.next();
 			if (viewer.isRequestViewer())
@@ -243,7 +243,7 @@
 	 */
 	public List getResponseViewers() {
 		Iterator iterator = viewers.iterator();
-		List temp = new ArrayList();
+		List<Viewer> temp = new ArrayList<Viewer>();
 		while (iterator.hasNext()) {
 			Viewer viewer = (Viewer) iterator.next();
 			if (viewer.isResponseViewer())
diff --git a/plugins/org.eclipse.wst.server.core/.classpath b/plugins/org.eclipse.wst.server.core/.classpath
index a6eb998..921daf3 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.4"/>
+	<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.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 4c45934..5f239aa 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 Feb 23 21:11:52 EST 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 1257c39..05b2a0c 100644
--- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 b2812a4..9342870 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 runtimeTypes;
+	private static List<IRuntimeType> runtimeTypes;
 
 	//	cached copy of all server and configuration types
-	private static List serverTypes;
+	private static List<IServerType> serverTypes;
 
 	private static IRegistryChangeListener registryListener;
 
@@ -190,7 +190,7 @@
 		
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE);
-		List list = new ArrayList(cf.length);
+		List<IRuntimeType> list = new ArrayList<IRuntimeType>(cf.length);
 		addRuntimeTypes(cf, list);
 		addRegistryListener();
 		runtimeTypes = list;
@@ -201,7 +201,7 @@
 	/**
 	 * Load the runtime types.
 	 */
-	private static synchronized void addRuntimeTypes(IConfigurationElement[] cf, List list) {
+	private static synchronized void addRuntimeTypes(IConfigurationElement[] cf, List<IRuntimeType> 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 list = new ArrayList(cf.length);
+		List<IServerType> list = new ArrayList<IServerType>(cf.length);
 		addServerTypes(cf, list);
 		addRegistryListener();
 		serverTypes = list;
@@ -234,7 +234,7 @@
 	/**
 	 * Load the server types.
 	 */
-	private static synchronized void addServerTypes(IConfigurationElement[] cf, List list) {
+	private static synchronized void addServerTypes(IConfigurationElement[] cf, List<IServerType> 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 list = new ArrayList(serverTypes);
+		List<IServerType> list = new ArrayList<IServerType>(serverTypes);
 		if (delta.getKind() == IExtensionDelta.ADDED) {
 			addServerTypes(cf, list);
 		} else {
@@ -419,7 +419,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List list = new ArrayList(runtimeTypes);
+		List<IRuntimeType> list = new ArrayList<IRuntimeType>(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 1ace4c5..7ca480b 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 set = new HashSet();
+		Set<IModule> set = new HashSet<IModule>();
 		
 		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 list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		
 		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 list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		
 		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
 		if (factories != null) {
@@ -338,13 +338,13 @@
 				throw new IllegalArgumentException("Cannot add null entries");
 		}
 		
-		List addParentModules = new ArrayList();
+		List<IModule> addParentModules = new ArrayList<IModule>();
 		for (int i = 0; i < size; i++) {
 			boolean found = false;
 			try {
 				IModule[] parents = server.getRootModules(add[i], monitor);
 				if (parents != null && parents.length > 0) {				
-					Object parent = parents[0];
+					IModule parent = parents[0];
 					found = true;
 					if (!addParentModules.contains(parent))
 						addParentModules.add(parent);
@@ -363,13 +363,13 @@
 				throw new IllegalArgumentException("Cannot remove null entries");
 		}
 		
-		List removeParentModules = new ArrayList();
+		List<IModule> removeParentModules = new ArrayList<IModule>();
 		for (int i = 0; i < size; i++) {
 			boolean found = false;
 			try {
 				IModule[] parents = server.getRootModules(remove[i], monitor);
 				if (parents != null && parents.length > 0) {				
-					Object parent = parents[0];
+					IModule parent = parents[0];
 					found = true;
 					if (!removeParentModules.contains(parent))
 						removeParentModules.add(parent);
@@ -538,7 +538,7 @@
 	 * @return a possibly-empty array of runtime instances {@link IRuntime}
 	 */
 	public static IRuntime[] getRuntimes(String type, String version) {
-		List list = new ArrayList();
+		List<IRuntime> list = new ArrayList<IRuntime>();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
@@ -564,7 +564,7 @@
 	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
 	 */
 	public static IRuntimeType[] getRuntimeTypes(String type, String version) {
-		List list = new ArrayList();
+		List<IRuntimeType> list = new ArrayList<IRuntimeType>();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		if (runtimeTypes != null) {
 			int size = runtimeTypes.length;
@@ -591,7 +591,7 @@
 	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
 	 */
 	public static IRuntimeType[] getRuntimeTypes(String type, String version, String runtimeTypeId) {
-		List list = new ArrayList();
+		List<IRuntimeType> list = new ArrayList<IRuntimeType>();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		if (runtimeTypes != null) {
 			int size = runtimeTypes.length;
@@ -628,7 +628,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 list = new ArrayList();
+		List<IServer> list = new ArrayList<IServer>();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
@@ -684,7 +684,7 @@
 
 		// do it the slow way - go through all servers and
 		// see if this module is configured in it
-		List list = new ArrayList();
+		List<IServer> list = new ArrayList<IServer>();
 		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 816dbb4..984aa18 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, 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
@@ -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 retreive data. Its usage allows mutliple tasks to be
+ * tasks to store and retrieve data. Its usage allows multiple 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 map = new HashMap();
+	private Map<String, Object> map = new HashMap<String, Object>();
 
 	/**
 	 * 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 retreive task-specific data.
+	 * any other key to retrieve 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/Client.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
index 8a70dbd..20cc5c2 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.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), e);
 			}
 		}
 		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.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 			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.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		return null;
 	}
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 0cb0392..7595c77 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.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
 			}
 		}
 		return delegate;
@@ -62,7 +62,7 @@
 		} catch (CoreException ce) {
 			throw ce;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 			return null;
 		}
 	}
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 a828e49..de322b5 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.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
 			}
 		}
 		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 59ce708..0e07791 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 moduleTypes;
+	private List<IModuleType> 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.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		return delegate;
@@ -177,7 +177,7 @@
 			return modules;
 		
 		getModuleTypes();
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		
 		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 a628f47..ac0279a 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 modules;
+	protected Map<String, String> 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();
+		modules = new HashMap<String, String>();
 		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.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load servers", e);
 		}
 	}
 
@@ -82,7 +82,7 @@
 			Iterator iterator = modules.keySet().iterator();
 			while (iterator.hasNext()) {
 				String moduleId = (String) iterator.next();
-				String serverId = (String) modules.get(moduleId);
+				String serverId = modules.get(moduleId);
 				
 				IMemento child = memento.createChild("module");
 				child.putString("moduleId", moduleId);
@@ -102,7 +102,7 @@
 		if (module == null)
 			throw new IllegalArgumentException();
 		
-		String serverId = (String) modules.get(module.getId());
+		String serverId = modules.get(module.getId());
 		if (serverId == null || serverId.length() == 0)
 			return null;
 		
@@ -120,7 +120,7 @@
 		if (server != null)
 			newServerId = server.getId();
 		
-		String serverId = (String) modules.get(module.getId());
+		String serverId = 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 5fcf6ef..ee0f17d 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.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load module publish info information", e);
 		}
 	}
 
@@ -131,7 +131,7 @@
 		if (memento == null)
 			return EMPTY_MODULE_RESOURCE;
 		
-		List list = new ArrayList(10);
+		List<IModuleResource> list = new ArrayList<IModuleResource>(10);
 		
 		// load files
 		IMemento[] children = memento.getChildren(FILE);
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 72ded94..5e5b48d 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 moduleKinds;
+	private static List<ModuleKind> moduleKinds;
 
-	private static List moduleTypes;
+	private static List<ModuleType> 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();
+			moduleTypes = new ArrayList<ModuleType>();
 		
 		// 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(size);
+		moduleKinds = new ArrayList<ModuleKind>(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 839d7dc..af7df70 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.getMessage());
+			Trace.trace(Trace.SEVERE, "Could not load preferences", e);
 		} 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 f489a33..6136394 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 serverIdToPath;
+	protected Map<String, String> serverIdToPath;
 
 	// map of loaded serverIds to publish info
-	protected Map serverIdToPublishInfo;
+	protected Map<String, ServerPublishInfo> serverIdToPublishInfo;
 
 	/**
 	 * PublishInfo constructor comment.
@@ -36,8 +36,8 @@
 	private PublishInfo() {
 		super();
 	
-		serverIdToPath = new HashMap();
-		serverIdToPublishInfo = new HashMap();
+		serverIdToPath = new HashMap<String, String>();
+		serverIdToPublishInfo = new HashMap<String, ServerPublishInfo>();
 		load();
 	}
 
@@ -66,10 +66,10 @@
 		String serverId = server.getId();
 		if (serverIdToPath.containsKey(serverId)) {
 			if (serverIdToPublishInfo.containsKey(serverId))
-				return (ServerPublishInfo) serverIdToPublishInfo.get(serverId);
+				return serverIdToPublishInfo.get(serverId);
 			
 			// force .dat extension
-			String partialPath = (String) serverIdToPath.get(serverId);
+			String partialPath = 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 = (String) serverIdToPath.get(serverId);
+		String path2 = 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(size + 2);
+			serverIdToPath = new HashMap<String, String>(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.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load global publish info", e);
 		}
 	}
 
@@ -167,7 +167,7 @@
 			Iterator iterator = serverIdToPath.keySet().iterator();
 			while (iterator.hasNext()) {
 				String serverId = (String) iterator.next();
-				String partialPath = (String) serverIdToPath.get(serverId);
+				String partialPath = 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 519f06e..b8ede5c 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.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
 			}
 		}
 		return delegate;
@@ -84,7 +84,7 @@
 			if (po != null)
 				return po;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		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.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		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 51bec16..c71bd68 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 runtimes;
-	protected List servers;
+	protected List<IRuntime> runtimes;
+	protected List<IServer> servers;
 
 	// lifecycle listeners
-	protected transient List runtimeListeners;
-	protected transient List serverListeners;
+	protected transient List<IRuntimeLifecycleListener> runtimeListeners;
+	protected transient List<IServerLifecycleListener> serverListeners;
 
 	// cache for disposing servers & runtimes
-	protected List activeBundles;
+	protected List<String> activeBundles;
 
 	// resource change listeners
 	private IResourceChangeListener resourceChangeListener;
@@ -61,7 +61,7 @@
 	private static boolean initialized;
 	private static boolean initializing;
 	
-	protected static List serverProjects = new ArrayList();
+	protected static List<String> serverProjects = new ArrayList<String>();
 
 	/**
 	 * Server resource change listener.
@@ -217,8 +217,8 @@
 			e.printStackTrace();
 		}*/
 		
-		servers = new ArrayList();
-		activeBundles = new ArrayList();
+		servers = new ArrayList<IServer>();
+		activeBundles = new ArrayList<String>();
 		
 		loadRuntimesList();
 		loadServersList();
@@ -375,7 +375,7 @@
 		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
 	
 		if (runtimeListeners == null)
-			runtimeListeners = new ArrayList(3);
+			runtimeListeners = new ArrayList<IRuntimeLifecycleListener>(3);
 		runtimeListeners.add(listener);
 	}
 	
@@ -396,7 +396,7 @@
 		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
 	
 		if (serverListeners == null)
-			serverListeners = new ArrayList(3);
+			serverListeners = new ArrayList<IServerLifecycleListener>(3);
 		serverListeners.add(listener);
 	}
 	
@@ -556,7 +556,7 @@
 		Preferences prefs = ServerPlugin.getInstance().getPluginPreferences();
 		String xmlString = prefs.getString("runtimes");
 		
-		runtimes = new ArrayList();
+		runtimes = new ArrayList<IRuntime>();
 		if (xmlString != null && xmlString.length() > 0) {
 			try {
 				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
@@ -571,7 +571,7 @@
 					runtimes.add(runtime);
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load runtimes: " + e.getMessage());
+				Trace.trace(Trace.WARNING, "Could not load runtimes", e);
 			}
 		}
 	}
@@ -592,7 +592,7 @@
 				servers.add(server);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load servers", e);
 		}
 		
 		if (ServerPreferences.getInstance().isSyncOnStartup()) {
@@ -666,7 +666,7 @@
 		if (!initialized)
 			init();
 		
-		List list = new ArrayList(runtimes);
+		List<IRuntime> list = new ArrayList<IRuntime>(runtimes);
 		
 		IRuntime[] r = new IRuntime[list.size()];
 		list.toArray(r);
@@ -928,7 +928,7 @@
 				((Server) server).loadFromFile(monitor);
 				fireServerEvent(server, EVENT_CHANGED);
 			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file + ": " + e.getMessage());
+				Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file, e);
 				deregisterServer(server);
 			}
 		} else
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 0f83e78..95cda3f 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.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		return delegate;
@@ -79,7 +79,7 @@
 				}
 			}, monitor);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 	}
 
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 23a009a..9860997 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.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
 			}
 		}
 		return delegate;
@@ -88,7 +88,7 @@
 		} catch (CoreException ce) {
 			throw ce;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 			return -1;
 		}
 	}
@@ -103,7 +103,7 @@
 		try {
 			getDelegate().stopMonitoring(server, port);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 	}
 
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 996b78e..0016b0e 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 ports = new ArrayList(); 
+	protected List<MonitoredPort> ports = new ArrayList<MonitoredPort>(); 
 	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 list = new ArrayList();
+		List<IMonitoredServerPort> list = new ArrayList<IMonitoredServerPort>();
 		Iterator iterator = ports.iterator();
 		while (iterator.hasNext()) {
 			MonitoredPort mp = (MonitoredPort) iterator.next();
@@ -220,9 +220,7 @@
 				list.add(mp);
 		}
 		
-		IMonitoredServerPort[] msp = new IMonitoredServerPort[list.size()];
-		list.toArray(msp);
-		return msp;
+		return list.toArray(new IMonitoredServerPort[list.size()]);
 	}
 
 	/**
@@ -365,7 +363,7 @@
 				}
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load monitor info: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load monitor info", e);
 		}
 	}
 }
\ 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 5ff2b1f..f83fd64 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 listenerList = new ArrayList();
+	private List<ListenerEntry> listenerList = new ArrayList<ListenerEntry>();
 
 	/**
 	 * For masking event on all changes.
@@ -91,7 +91,7 @@
 		ListenerEntry[] listeners;
 		synchronized (listenerList) {
 			size = listenerList.size();
-			listeners = (ListenerEntry[]) listenerList.toArray(new ListenerEntry[size]);
+			listeners = 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 f54389a..c3494ac 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,6 +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;
@@ -39,34 +40,34 @@
 	protected static int num = 0;
 
 	// cached copy of all launchable adapters
-	private static List launchableAdapters;
+	private static List<ILaunchableAdapter> launchableAdapters;
 
 	// cached copy of all launchable clients
-	private static List clients;
+	private static List<IClient> clients;
 
 	// cached copy of all module factories
-	private static List moduleFactories;
+	private static List<ModuleFactory> moduleFactories;
 
 	// singleton instance of this class
 	private static ServerPlugin singleton;
 
 	// cached copy of all publish tasks
-	private static List publishTasks;
+	private static List<IPublishTask> publishTasks;
 
 	//	cached copy of all server monitors
-	private static List monitors;
+	private static List<IServerMonitor> monitors;
 
 	//	cached copy of all runtime locators
-	private static List runtimeLocators;
+	private static List<IRuntimeLocator> runtimeLocators;
 
 	// cached copy of all module artifact adapters
-	private static List moduleArtifactAdapters;
+	private static List<ModuleArtifactAdapter> moduleArtifactAdapters;
 
 	//	cached copy of all installable servers
-	private static List installableServers;
+	private static List<IInstallableServer> installableServers;
 
 	//	cached copy of all installable runtimes
-	private static List installableRuntimes;
+	private static List<IInstallableRuntime> installableRuntimes;
 
 	// registry listener
 	private static IRegistryChangeListener registryListener;
@@ -84,7 +85,7 @@
 	}
 
 	// temp directories - String key to TempDir
-	protected Map tempDirHash;
+	protected Map<String, TempDir> tempDirHash;
 
 	/**
 	 * server core plugin id
@@ -134,7 +135,7 @@
 		// first, look through hash of current directories
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		try {
-			TempDir dir = (TempDir) tempDirHash.get(key);
+			TempDir dir = tempDirHash.get(key);
 			if (dir != null) {
 				dir.age = 0;
 				return statePath.append(dir.path);
@@ -174,7 +175,7 @@
 		
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		try {
-			TempDir dir = (TempDir) tempDirHash.get(key);
+			TempDir dir = tempDirHash.get(key);
 			if (dir != null) {
 				tempDirHash.remove(key);
 				saveTempDirInfo();
@@ -193,7 +194,7 @@
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		String filename = statePath.append(TEMP_DATA_FILE).toOSString();
 		
-		tempDirHash = new HashMap();
+		tempDirHash = new HashMap<String, TempDir>();
 		try {
 			IMemento memento = XMLMemento.loadMemento(filename);
 			
@@ -210,7 +211,7 @@
 				tempDirHash.put(key, d);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load temporary directory information: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load temporary directory information", e);
 		}
 	}
 
@@ -237,7 +238,7 @@
 			Iterator iterator = tempDirHash.keySet().iterator();
 			while (iterator.hasNext()) {
 				String key = (String) iterator.next();
-				TempDir d = (TempDir) tempDirHash.get(key);
+				TempDir d = tempDirHash.get(key);
 	
 				if (d.age < 5) {
 					IMemento child = memento.createChild("temp-directory");
@@ -324,7 +325,7 @@
 		context.removeBundleListener(bundleListener);
 	}
 
-	private static void addAll(List list, Object[] obj) {
+	private static void addAll(List<Object> list, Object[] obj) {
 		if (obj == null)
 			return;
 		
@@ -345,8 +346,8 @@
 	public static boolean isNameInUse(Object element, String name) {
 		if (name == null)
 			return true;
-	
-		List list = new ArrayList();
+		
+		List<Object> list = new ArrayList<Object>();
 		
 		addAll(list, ServerCore.getRuntimes());
 		addAll(list, ServerCore.getServers());
@@ -377,7 +378,7 @@
 		if (str == null)
 			return new String[0];
 		
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		
 		StringTokenizer st = new StringTokenizer(str, delim);
 		while (st.hasMoreTokens()) {
@@ -391,8 +392,8 @@
 		return s;
 	}
 
-	protected static List getModuleTypes(IConfigurationElement[] elements) {
-		List list = new ArrayList();
+	protected static List<org.eclipse.wst.server.core.IModuleType> getModuleTypes(IConfigurationElement[] elements) {
+		List<IModuleType> list = new ArrayList<IModuleType>();
 		if (elements == null)
 			return list;
 		
@@ -410,15 +411,6 @@
 		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.
 	 * 
@@ -522,7 +514,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "launchableAdapters");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<ILaunchableAdapter> list = new ArrayList<ILaunchableAdapter>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new LaunchableAdapter(cf[i]));
@@ -546,7 +538,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "clients");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IClient> list = new ArrayList<IClient>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new Client(cf[i]));
@@ -600,7 +592,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "publishTasks");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IPublishTask> list = new ArrayList<IPublishTask>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new PublishTask(cf[i]));
@@ -720,7 +712,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleFactories");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<ModuleFactory> list = new ArrayList<ModuleFactory>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ModuleFactory(cf[i]));
@@ -733,8 +725,8 @@
 		size = list.size();
 		for (int i = 0; i < size - 1; i++) {
 			for (int j = i + 1; j < size; j++) {
-				ModuleFactory a = (ModuleFactory) list.get(i);
-				ModuleFactory b = (ModuleFactory) list.get(j);
+				ModuleFactory a = list.get(i);
+				ModuleFactory b = list.get(j);
 				if (a.getOrder() > b.getOrder()) {
 					list.set(i, b);
 					list.set(j, a);
@@ -773,7 +765,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "internalServerMonitors");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IServerMonitor> list = new ArrayList<IServerMonitor>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ServerMonitor(cf[i]));
@@ -814,7 +806,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "runtimeLocators");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IRuntimeLocator> list = new ArrayList<IRuntimeLocator>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeLocator(cf[i]));
@@ -853,7 +845,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleArtifactAdapters");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<ModuleArtifactAdapter> list = new ArrayList<ModuleArtifactAdapter>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ModuleArtifactAdapter(cf[i]));
@@ -867,8 +859,8 @@
 		size = list.size();
 		for (int i = 0; i < size-1; i++) {
 			for (int j = i+1; j < size; j++) {
-				ModuleArtifactAdapter a = (ModuleArtifactAdapter) list.get(i);
-				ModuleArtifactAdapter b = (ModuleArtifactAdapter) list.get(j);
+				ModuleArtifactAdapter a = list.get(i);
+				ModuleArtifactAdapter b = list.get(j);
 				if (a.getPriority() < b.getPriority()) {
 					list.set(i, b);
 					list.set(j, a);
@@ -961,7 +953,7 @@
 		if (installableServers == null)
 			loadInstallableServers();
 		
-		List availableServers = new ArrayList();
+		List<IInstallableServer> availableServers = new ArrayList<IInstallableServer>();
 		Iterator iterator = installableServers.iterator();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		int size = runtimeTypes.length;
@@ -1039,7 +1031,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableServers");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IInstallableServer> list = new ArrayList<IInstallableServer>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new InstallableServer(cf[i]));
@@ -1065,7 +1057,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableRuntimes");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IInstallableRuntime> list = new ArrayList<IInstallableRuntime>(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 c650032..b796700 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 modulePublishInfo;
+	protected Map<String, ModulePublishInfo> modulePublishInfo;
 
 	/**
 	 * ServerPublishInfo constructor comment.
@@ -52,7 +52,7 @@
 		super();
 		
 		this.path = path;
-		modulePublishInfo = new HashMap();
+		modulePublishInfo = new HashMap<String, ModulePublishInfo>();
 		load();
 	}
 
@@ -82,7 +82,7 @@
 		if (moduleId == null || moduleId.length() == 0)
 			return new IModule[0];
 		
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		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 removed = new ArrayList();
+		List<String> removed = new ArrayList<String>();
 		
 		Iterator iterator = modulePublishInfo.keySet().iterator();
 		while (iterator.hasNext()) {
@@ -147,7 +147,7 @@
 			
 			if (server != null) {
 				try {
-					Integer in = (Integer) server.modulePublishState.get(key);
+					Integer in = 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) modulePublishInfo.get(key);
+			return 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 moduleList, List kindList) {
+	public void addRemovedModules(List<IModule[]> moduleList, List<Integer> kindList) {
 		int size = moduleList.size();
-		List removed = new ArrayList();
+		List<ModulePublishInfo> removed = new ArrayList<ModulePublishInfo>();
 		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 = (IModule[]) moduleList.get(i);
+				IModule[] module = moduleList.get(i);
 				String key2 = getKey(module);
 				if (key != null && key.equals(key2))
 					found = true;
 			}
 			if (!found) {
-				ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(key);
+				ModulePublishInfo mpi = modulePublishInfo.get(key);
 				removed.add(mpi);
 			}
 		}
@@ -220,7 +220,7 @@
 						if (i == depth - 1)
 							module2[i] = mpi.getDeletedModule();
 						else {
-							ModulePublishInfo mpi2 = (ModulePublishInfo) modulePublishInfo.get(s);
+							ModulePublishInfo mpi2 = 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 list = new ArrayList(2);
+		List<String> list = new ArrayList<String>(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.getMessage());
+				Trace.trace(Trace.WARNING, "Could not load publish information", e);
 			}
 		}
 		
@@ -299,7 +299,7 @@
 					modulePublishInfo.put(getKey(mpi.getModuleId()), mpi);
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load publish information: " + e.getMessage());
+				Trace.trace(Trace.WARNING, "Could not load publish information", e);
 			}
 		}
 	}
@@ -323,7 +323,7 @@
 			Iterator iterator = modulePublishInfo.keySet().iterator();
 			while (iterator.hasNext()) {
 				String controlRef = (String) iterator.next();
-				ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(controlRef);
+				ModulePublishInfo mpi = modulePublishInfo.get(controlRef);
 				mpi.save(out);
 			}
 		} catch (Exception e) {
@@ -371,17 +371,17 @@
 		if (original == null || current == null)
 			return new IModuleResourceDelta[0];
 		
-		List list = new ArrayList();
+		List<ModuleResourceDelta> list = new ArrayList<ModuleResourceDelta>();
 		int size = original.length;
 		int size2 = current.length;
 		
-		Map originalMap = new HashMap(size);
+		Map<IModuleResource, IModuleResource> originalMap = new HashMap<IModuleResource, IModuleResource>(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 = (IModuleResource) originalMap.remove(current[i]);
+			IModuleResource old = 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 (IModuleResourceDelta[]) list.toArray(new IModuleResourceDelta[list.size()]);
+		return list.toArray(new IModuleResourceDelta[list.size()]);
 	}
 
 	protected boolean hasDelta(IModule[] module) {
@@ -441,13 +441,13 @@
 		int size = original.length;
 		int size2 = current.length;
 		
-		Map originalMap = new HashMap(size);
+		Map<IModuleResource, IModuleResource> originalMap = new HashMap<IModuleResource, IModuleResource>(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 = (IModuleResource) originalMap.remove(current[i]);
+			IModuleResource old = originalMap.remove(current[i]);
 			if (old == null)
 				return true;
 			
@@ -477,7 +477,7 @@
 		if (resources == null)
 			return new IModuleResourceDelta[0];
 		
-		List list = new ArrayList();
+		List<ModuleResourceDelta> list = new ArrayList<ModuleResourceDelta>();
 		
 		// look for duplicates
 		int size = resources.length;
@@ -490,9 +490,7 @@
 			list.add(mrd);
 		}
 		
-		IModuleResourceDelta[] delta = new IModuleResourceDelta[list.size()];
-		list.toArray(delta);
-		return delta;
+		return list.toArray(new IModuleResourceDelta[list.size()]);
 	}
 
 	/**
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 04efa42..ef408c7 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,6 +15,7 @@
 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;
@@ -23,10 +24,10 @@
  */
 public class FacetMappingUtil extends Plugin {
 	//	cached copy of all runtime component providers
-	private static List runtimeComponentProviders;
+	private static List<RuntimeComponentProviderWrapper> runtimeComponentProviders;
 
 	//	cached copy of all runtime facet mappings
-	private static List runtimeFacetMappings;
+	private static List<RuntimeFacetMapping> runtimeFacetMappings;
 
 	/**
 	 * Returns an array of all known runtime facet mapping instances.
@@ -54,18 +55,18 @@
 	 * @param runtime a runtime
 	 * @param components the existing list of components
 	 */
-	public static void addFacetRuntimeComponents(IRuntime runtime, List components) {
+	public static void addFacetRuntimeComponents(IRuntime runtime, List<IRuntimeComponent> components) {
 		if (runtime == null || runtime.getRuntimeType() == null)
 			throw new IllegalArgumentException();
 		
 		if (runtimeComponentProviders == null)
 			loadRuntimeComponentProviders();
 		
-		Iterator iterator = runtimeComponentProviders.iterator();
+		Iterator<RuntimeComponentProviderWrapper> iterator = runtimeComponentProviders.iterator();
 		while (iterator.hasNext()) {
-			RuntimeComponentProviderWrapper runtimeComponentProvider = (RuntimeComponentProviderWrapper) iterator.next();
+			RuntimeComponentProviderWrapper runtimeComponentProvider = iterator.next();
 			if (runtimeComponentProvider.supportsRuntimeType(runtime.getRuntimeType())) {
-				List list = runtimeComponentProvider.getComponents(runtime);
+				List<IRuntimeComponent> list = runtimeComponentProvider.getComponents(runtime);
 				if (list != null)
 					components.addAll(list);
 			}
@@ -84,7 +85,7 @@
 		
 		// load new wst extension point
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<RuntimeComponentProviderWrapper> list = new ArrayList<RuntimeComponentProviderWrapper>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeComponentProviderWrapper(cf[i]));
@@ -122,7 +123,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor("org.eclipse.jst.server.core.runtimeFacetMappings");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<RuntimeFacetMapping> list = new ArrayList<RuntimeFacetMapping>(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 3fcc01c..36e290c 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,6 +20,7 @@
 
 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;
@@ -30,22 +31,22 @@
  * 
  */
 public class RuntimeBridge implements IRuntimeBridge {
-	protected static Map mappings = new HashMap();
+	protected static Map<String, List<IRuntimeComponentVersion>> mappings = new HashMap<String, List<IRuntimeComponentVersion>>();
 
 	static {
 		initialize();
 	}
 
 	private static void addMapping(String id, String id2, String version) {
-		ArrayList list = null;
+		List<IRuntimeComponentVersion> list = null;
 		try {
-			list = (ArrayList) mappings.get(id);
+			list = mappings.get(id);
 		} catch (Exception e) {
 			// ignore
 		}
 		
 		if (list == null)
-			list = new ArrayList(2);
+			list = new ArrayList<IRuntimeComponentVersion>(2);
 		
 		try {
 			list.add(RuntimeManager.getRuntimeComponentType(id2).getVersion(version));
@@ -83,9 +84,9 @@
 		addMapping("org.eclipse.jst.server.generic.runtime.websphere.6", "org.eclipse.jst.server.generic.runtime.websphere", "6.0");
 	}
 
-	public Set getExportedRuntimeNames() throws CoreException {
+	public Set<String> getExportedRuntimeNames() throws CoreException {
 		IRuntime[] runtimes = ServerCore.getRuntimes();
-		Set result = new HashSet(runtimes.length);
+		Set<String> result = new HashSet<String>(runtimes.length);
 		
 		for (int i = 0; i < runtimes.length; i++) {
 			IRuntime runtime = runtimes[i];
@@ -107,6 +108,8 @@
 		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;
 	}
@@ -118,13 +121,13 @@
 			this.runtime = runtime;
 		}
 
-		public List getRuntimeComponents() {
-			List components = new ArrayList(2);
+		public List<IRuntimeComponent> getRuntimeComponents() {
+			List<IRuntimeComponent> components = new ArrayList<IRuntimeComponent>(2);
 			if (runtime == null)
 				return components;
 			
 			// define server runtime component
-			Map properties = new HashMap(5);
+			Map<String, String> properties = new HashMap<String, String>(5);
 			if (runtime.getLocation() != null)
 				properties.put("location", runtime.getLocation().toPortableString());
 			else
@@ -151,8 +154,8 @@
 			return components;
 		}
 
-		public Map getProperties() {
-		    final Map props = new HashMap();
+		public Map<String, String> getProperties() {
+			final Map<String, String> props = new HashMap<String, String>();
 			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 4402270..556450d 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,6 +15,7 @@
 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;
@@ -49,7 +50,7 @@
 
 	public String[] getRuntimeTypeIds() {
 		try {
-			List list = new ArrayList();
+			List<String> list = new ArrayList<String>();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
@@ -103,7 +104,7 @@
 			try {
 				delegate = (RuntimeFacetComponentProviderDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		return delegate;
@@ -112,7 +113,7 @@
 	/*
 	 * @see RuntimeFacetComponentProviderDelegate#getRuntimeComponents(IRuntime)
 	 */
-	public List getComponents(IRuntime runtime) {
+	public List<IRuntimeComponent> 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 3a969ec..f943c3f 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,6 +12,7 @@
 
 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.
@@ -42,5 +43,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 getRuntimeComponents(IRuntime runtime);
+	public abstract List<IRuntimeComponent> 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 f34e8d5..aefb80d 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 list = new ArrayList(modules.length);
+			List<IModule> list = new ArrayList<IModule>(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/ServerBehaviourDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
index f7a91af..de41889 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
@@ -602,7 +602,7 @@
 			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoRuntime, null);
 		
 		final List moduleList = getAllModules();
-		final List deltaKindList = new ArrayList();
+		final List<Integer> deltaKindList = new ArrayList<Integer>();
 		
 		Iterator iterator = moduleList.iterator();
 		while (iterator.hasNext()) {
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 2739275..3d3697b 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 list = new ArrayList(size);
+			List<IModuleResource> list = new ArrayList<IModuleResource>(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 7295a89..f1e1ba6 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,8 +27,7 @@
  * @since 1.0
  */
 public abstract class ProjectModuleFactoryDelegate extends ModuleFactoryDelegate {
-	// map of IProject to IModule[]
-	private Map modules = new HashMap();
+	private Map<IProject, IModule[]> modules = new HashMap<IProject, IModule[]>();
 
 	/**
 	 * Construct a new ProjectModuleFactoryDelegate.
@@ -49,7 +48,7 @@
 		
 		IModule[] m = null;
 		try {
-			m = (IModule[]) modules.get(project);
+			m = modules.get(project);
 			if (m != null)
 				return m;
 		} catch (Exception e) {
@@ -117,7 +116,7 @@
 	public final IModule[] getModules() {
 		cacheModules();
 		
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		Iterator iter = modules.values().iterator();
 		while (iter.hasNext()) {
 			IModule[] m = (IModule[]) iter.next();
@@ -207,8 +206,7 @@
 	 * @since 2.0
 	 */
 	protected void clearCache(IProject project) {
-		//modules.put(project, null);
-		modules = new HashMap();
+		modules = new HashMap<IProject, IModule[]>();
 	}
 
 	/**
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 df3da3b..16a0927 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 status = new ArrayList(2);
+		List<IStatus> status = new ArrayList<IStatus>(2);
 		
 		try {
 			File[] files = dir.listFiles();
@@ -185,7 +185,7 @@
 		
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		
-		List status = new ArrayList(2);
+		List<IStatus> status = new ArrayList<IStatus>(2);
 		File toDir = path.toFile();
 		int fromSize = resources.length;
 		String[] fromFileNames = new String[fromSize];
@@ -338,7 +338,7 @@
 		
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		
-		List status = new ArrayList(2);
+		List<IStatus> status = new ArrayList<IStatus>(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 status = new ArrayList(2);
+		List<IStatus> status = new ArrayList<IStatus>(2);
 		
 		IModuleResource resource = delta.getModuleResource();
 		int kind2 = delta.getKind();
@@ -457,7 +457,7 @@
 		
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		
-		List status = new ArrayList(2);
+		List<IStatus> status = new ArrayList<IStatus>(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 status = new ArrayList(2);
+		List<IStatus> status = new ArrayList<IStatus>(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 list, IStatus[] a) {
+	private static void addArrayToList(List<IStatus> 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 9df72a0..e63f21e 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
@@ -37,20 +37,20 @@
 
 	protected static final Object lock = new Object();
 
-	private static Set localHostCache;
-	private static Set notLocalHostCache = new HashSet();
-	private static Map threadMap = new HashMap();
+	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 Set addressCache;
+	private static Set<InetAddress> addressCache;
 
 	static class CacheThread extends Thread {
-		private Set currentAddresses;
-		private Set addressList;
+		private Set<InetAddress> currentAddresses;
+		private Set<String> addressList;
 		private String host;
-		private Set nonAddressList;
+		private Set<String> nonAddressList;
 		private Map threadMap2;
 
-		public CacheThread(String host, Set currentAddresses, Set addressList, Set nonAddressList, 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;
@@ -251,7 +251,7 @@
 		try {
 			Thread t = null;
 			synchronized (lock) {
-				t = (Thread) threadMap.get(host);
+				t = threadMap.get(host);
 			}
 			if (t != null && t.isAlive()) {
 				currentThread = true;
@@ -265,25 +265,25 @@
 		boolean refreshedCache = false;
 		try {
 			// get network interfaces
-			final Set currentAddresses = new HashSet();
+			final Set<InetAddress> currentAddresses = new HashSet<InetAddress>();
 			currentAddresses.add(InetAddress.getLocalHost());
 			Enumeration nis = NetworkInterface.getNetworkInterfaces();
 			while (nis.hasMoreElements()) {
 				NetworkInterface inter = (NetworkInterface) nis.nextElement();
-				Enumeration ias = inter.getInetAddresses();
+				Enumeration<InetAddress> 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)) {
-				Thread cacheThread = null;
+				CacheThread cacheThread = null;
 				refreshedCache = true;
 				
 				synchronized (lock) {
 					addressCache = currentAddresses;
-					notLocalHostCache = new HashSet();
-					localHostCache = new HashSet(currentAddresses.size() * 3);
+					notLocalHostCache = new HashSet<String>();
+					localHostCache = new HashSet<String>(currentAddresses.size() * 3);
 					
 					Iterator iter = currentAddresses.iterator();
 					while (iter.hasNext()) {
@@ -315,7 +315,7 @@
 		// if the cache hasn't been cleared, maybe we still need to lookup the host  
 		if (!refreshedCache && !currentThread) {
 			try {
-				Thread cacheThread = null;
+				CacheThread cacheThread = null;
 				synchronized (lock) {
 					cacheThread = new CacheThread(host, null, localHostCache, notLocalHostCache, threadMap);
 					threadMap.put(host, cacheThread);
diff --git a/plugins/org.eclipse.wst.server.http.core/.classpath b/plugins/org.eclipse.wst.server.http.core/.classpath
index 52165ec..196d49a 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.4"/>
+	<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.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 403949d..5f239aa 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 @@
-#Wed Apr 04 18:12:13 EDT 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 a60683c..7d27816 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
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.server.http.ui/.classpath b/plugins/org.eclipse.wst.server.http.ui/.classpath
index 52165ec..196d49a 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.4"/>
+	<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.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 a92c4fc..5f239aa 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 @@
-#Thu Mar 08 13:02:41 PST 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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=warning
+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
@@ -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=warning
+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
@@ -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=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
@@ -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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 2d934ad..be73a3d 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
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 0d9a794..373bfe5 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 imageDescriptors = new HashMap();
+	private Map<String, ImageDescriptor> imageDescriptors = new HashMap<String, ImageDescriptor>();
 
 	// base url for icons
 	private static URL ICON_BASE_URL;
@@ -78,7 +78,7 @@
 	public static ImageDescriptor getImageDescriptor(String key) {
 		try {
 			getInstance().getImageRegistry();
-			return (ImageDescriptor) getInstance().imageDescriptors.get(key);
+			return getInstance().imageDescriptors.get(key);
 		} catch (Exception e) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/.classpath b/plugins/org.eclipse.wst.server.preview.adapter/.classpath
index 52165ec..196d49a 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.4"/>
+	<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.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 403949d..5f239aa 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 @@
-#Wed Apr 04 18:12:13 EDT 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 667ccc9..703239a 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
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 2af4f29..78eb867 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 cmds = new ArrayList();
+		List<String> cmds = new ArrayList<String>();
 		
 		// jre
 		File java = getJavaExecutable();
diff --git a/plugins/org.eclipse.wst.server.preview/.classpath b/plugins/org.eclipse.wst.server.preview/.classpath
index ce73933..304e861 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.4"/>
+	<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.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 bb48ad6..5f239aa 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 @@
-#Thu Aug 16 17:00:15 EDT 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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=warning
+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
@@ -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.4
+org.eclipse.jdt.core.compiler.source=1.5
 org.eclipse.jdt.core.incompatibleJDKLevel=warning
 org.eclipse.jdt.core.incompleteClasspath=error
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 cd2cb0d..e0f61a5 100644
--- a/plugins/org.eclipse.wst.server.preview/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.preview/META-INF/MANIFEST.MF
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 7828b9f..d1764a4 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 list = new ArrayList(size);
+			List<Servlet> list = new ArrayList<Servlet>(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 b1745c1..f0da938 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 list = new ArrayList(size);
+				List<Module> list = new ArrayList<Module>(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.ui/.classpath b/plugins/org.eclipse.wst.server.ui/.classpath
index 8bcabf4..859bd32 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.4"/>
+	<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.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 e026b11..5f239aa 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 Feb 23 21:14:09 EST 2007
+#Fri Aug 24 09:14:21 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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.5
 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=warning
+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
@@ -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.4
+org.eclipse.jdt.core.compiler.source=1.5
 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 4837fb7..6873050 100644
--- a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
@@ -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.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
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 d38c217..86e3ba1 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 servers;
+	private List<IServer> servers;
 
 	private ILaunchConfigurationWorkingCopy wc;
 
@@ -122,7 +122,7 @@
 		
 		// initialize
 		IServer[] servers2 = ServerCore.getServers();
-		servers = new ArrayList();
+		servers = new ArrayList<IServer>();
 		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 = (IServer) servers.get(serverCombo.getSelectionIndex());
+			server = servers.get(serverCombo.getSelectionIndex());
 		IRuntime runtime = null;
 		if (server != null) {
 			runtime = server.getRuntime();
@@ -214,7 +214,7 @@
 		}
 		
 		if (servers != null) {
-			server = (IServer) servers.get(serverCombo.getSelectionIndex());
+			server = 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 9423e9c..b41ba8e 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 sectionToInsertionId = null;
-	private List sections = null;
+	private Map<String, List<ServerEditorSection>> sectionToInsertionId = null;
+	private List<ServerEditorSection> sections = null;
 	private ServerResourceCommandManager commandManager;
 	private FormToolkit toolkit;
 
@@ -140,7 +140,7 @@
 	 */
 	public IStatus[] getSaveStatus() {
 		Iterator iterator = getSections().iterator();
-		List list = new ArrayList();
+		List<IStatus> list = new ArrayList<IStatus>();
 		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();
-			sectionToInsertionId = new HashMap();
+			sections = new ArrayList<ServerEditorSection>();
+			sectionToInsertionId = new HashMap<String, List<ServerEditorSection>>();
 			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 list = null;
+							List<ServerEditorSection> list = null;
 							try {
-								list = (List) sectionToInsertionId.get(insertionId);
+								list = sectionToInsertionId.get(insertionId);
 							} catch (Exception e) {
 								// ignore
 							}
 							if (list == null)
-								list = new ArrayList();
+								list = new ArrayList<ServerEditorSection>();
 							list.add(section);
 							sectionToInsertionId.put(insertionId, list);
 						}
@@ -201,11 +201,11 @@
 			return null;
 		
 		getSections();
-		List list = new ArrayList();
+		List<ServerEditorSection> list = new ArrayList<ServerEditorSection>();
 		try {
-			List sections2 = (List) sectionToInsertionId.get(insertionId);
+			List<ServerEditorSection> sections2 = sectionToInsertionId.get(insertionId);
 			if (sections2 != null) {
-				Iterator iterator = sections2.iterator();
+				Iterator<ServerEditorSection> 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/DeleteServerDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
index 9f257d4..6abac51 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 runningServersList;
+	protected List<IServer> runningServersList;
 	protected boolean runningServerCanStop;
 
 	protected Button checkDeleteConfigs;
@@ -73,7 +73,7 @@
 		this.servers = servers;
 		this.configs = configs;
 		
-		runningServersList = new ArrayList();
+		runningServersList = new ArrayList<IServer>();
 		for (int i = 0 ; i < servers.length ; ++i) {
 			if (servers[i].getServerState() != IServer.STATE_STOPPED)
 				runningServersList.add(servers[i]);
@@ -202,7 +202,7 @@
 			// don't delete servers or configurations
 			int size = runningServersList.size();
 			for (int i = 0; i < size; i++) {
-				IServer server = (IServer) runningServersList.get(i);
+				IServer server = 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 591d2f7..0a88846 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 imageDescriptors;
+	private static Map<String, ImageDescriptor> 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 = (ImageDescriptor) imageDescriptors.get(key);
+		ImageDescriptor id = imageDescriptors.get(key);
 		if (id != null)
 			return id;
 		
@@ -199,7 +199,7 @@
 	 */
 	protected static void initializeImageRegistry() {
 		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap();
+		imageDescriptors = new HashMap<String, ImageDescriptor>();
 
 		// 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/ModuleLabelDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java
index 5b12d9d..8a4316a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java
@@ -51,6 +51,7 @@
 	public String decorateText(String text, Object element) {
 		try {
 			IModule module = null;
+			System.out.println("decorate");
 			
 			if (element instanceof IModule) {
 				module = (IModule) element;
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
new file mode 100644
index 0000000..ced7bff
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator2.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * 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/RuntimePreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java
index 829d76e..7d02ecc 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
@@ -331,7 +331,7 @@
 		if (runtimeWorkingCopy == null) {
 			title = Messages.wizNewRuntimeWizardTitle;
 			fragment = new WizardFragment() {
-				protected void createChildFragments(List list) {
+				protected void createChildFragments(List<WizardFragment> 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 list) {
+				protected void createChildFragments(List<WizardFragment> list) {
 					list.add(fragment2);
 					list.add(WizardTaskUtil.SaveRuntimeFragment);
 				}
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 4f6916c..31bdc99 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 wizardFragments;
+	private static Map<String, WizardFragmentData> wizardFragments;
 
 	// cached initial selection provider
 	private static InitialSelectionProvider selectionProvider;
@@ -128,7 +128,7 @@
 		}
 	}
 
-	protected static List terminationWatches = new ArrayList();
+	protected static List<IServer> terminationWatches = new ArrayList<IServer>();
 
 	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 list = new ArrayList();
+		List<IRuntime> list = new ArrayList<IRuntime>();
 		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 list) {
+			protected void createChildFragments(List<WizardFragment> 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 list) {
+					protected void createChildFragments(List<WizardFragment> 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 list) {
+			protected void createChildFragments(List<WizardFragment> 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 = (WizardFragmentData) wizardFragments.get(key);
+				WizardFragmentData data = 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 map = new HashMap(cf.length);
+		Map<String, WizardFragmentData> map = new HashMap<String, WizardFragmentData>(cf.length);
 		loadWizardFragments(cf, map);
 		addRegistryListener();
 		wizardFragments = map;
@@ -656,7 +656,7 @@
 	/**
 	 * Load wizard fragments.
 	 */
-	private static synchronized void loadWizardFragments(IConfigurationElement[] cf, Map map) {
+	private static synchronized void loadWizardFragments(IConfigurationElement[] cf, Map<String, WizardFragmentData> 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 map = new HashMap(wizardFragments);
+		Map<String, WizardFragmentData> map = new HashMap<String, WizardFragmentData>(wizardFragments);
 		if (delta.getKind() == IExtensionDelta.ADDED) {
 			loadWizardFragments(cf, map);
 		} else {
@@ -789,7 +789,7 @@
 		if (str == null)
 			return new String[0];
 		
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		
 		StringTokenizer st = new StringTokenizer(str, delim);
 		while (st.hasMoreTokens()) {
@@ -816,7 +816,7 @@
 		if (server == null || launchable == null)
 			return new IClient[0];
 		
-		ArrayList list = new ArrayList(5);
+		ArrayList<IClient> list = new ArrayList<IClient>(5);
 		IClient[] clients = ServerPlugin.getClients();
 		if (clients != null) {
 			int size = clients.length;
@@ -881,7 +881,7 @@
 		if (obj == null)
 			return obj;
 		
-		List list = new ArrayList();
+		List<Object> list = new ArrayList<Object>();
 		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 c14bd85..7d70967 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 getHostnames() {
+	public List<String> getHostnames() {
 		String s = preferences.getString(PREF_HOST_NAMES);
 		StringTokenizer st = new StringTokenizer(s, "|*|");
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		while (st.hasMoreTokens()) {
 			list.add(st.nextToken());
 		}
@@ -329,7 +329,7 @@
 		if ("localhost".equals(hostname))
 			return;
 		
-		List list = getHostnames();
+		List<String> list = getHostnames();
 		
 		// remove duplicates
 		if (list.contains(hostname))
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 e6ebdcd..2cd0705 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
@@ -33,17 +33,17 @@
 	public static final String DISABLED_FILE = "disabled-sounds.xml";
 
 	// Categories - map of String id to String names
-	private Map categories;
+	private Map<String, String> categories;
 
 	// Sounds - map of String id to Sound
-	private Map sounds;
+	private Map<String, Sound> sounds;
 
 	// specific sounds or categories that have been disabled, by id
-	private List disabledSounds;
-	private List disabledCategories;
+	private List<String> disabledSounds;
+	private List<String> disabledCategories;
 
 	// SoundMap - map of String id to an IPath
-	private Map userSoundMap;
+	private Map<String, IPath> userSoundMap;
 
 	/**
 	 * AudioCore constructor comment.
@@ -191,7 +191,7 @@
 	 */
 	protected Sound getSound(String id) {
 		try {
-			return (Sound) sounds.get(id);
+			return sounds.get(id);
 		} catch (Exception e) {
 			return null;
 		}
@@ -228,7 +228,7 @@
 			if (userSoundMap == null)
 				loadSoundMap();
 	
-			IPath path = (IPath) userSoundMap.get(id);
+			IPath path = userSoundMap.get(id);
 			if (path != null)
 				return path;
 		} catch (Exception e) {
@@ -303,8 +303,8 @@
 		String filename = ServerUIPlugin.getInstance().getStateLocation().append(DISABLED_FILE).toOSString();
 	
 		FileInputStream in = null;
-		disabledCategories = new ArrayList();
-		disabledSounds = new ArrayList();
+		disabledCategories = new ArrayList<String>();
+		disabledSounds = new ArrayList<String>();
 		try {
 			in = new FileInputStream(filename);
 			IMemento memento = XMLMemento.loadMemento(in);
@@ -360,8 +360,8 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "audio");
 	
 		int size = cf.length;
-		categories = new HashMap();
-		sounds = new HashMap();
+		categories = new HashMap<String, String>();
+		sounds = new HashMap<String, Sound>();
 	
 		for (int i = 0; i < size; i++) {
 			try {
@@ -397,7 +397,7 @@
 		String filename = ServerUIPlugin.getInstance().getStateLocation().append(SOUNDS_FILE).toOSString();
 	
 		InputStream in = null;
-		userSoundMap = new HashMap();
+		userSoundMap = new HashMap<String, IPath>();
 		try {
 			in = new FileInputStream(filename);
 			IMemento memento = XMLMemento.loadMemento(in);
@@ -444,7 +444,7 @@
 			return;
 	
 		try {
-			Sound sound = (Sound) sounds.get(id);
+			Sound sound = sounds.get(id);
 			String category = sound.getCategory();
 			if (category != null && categories.containsKey(category)) {
 				if (!isCategoryEnabled(category))
@@ -570,7 +570,7 @@
 				IMemento child = memento.createChild("map");
 				String id = (String) iterator.next();
 				child.putString("id", id);
-				IPath path = (IPath) userSoundMap.get(id);
+				IPath path = userSoundMap.get(id);
 				child.putString("path", path.toString());
 			}
 	
@@ -676,7 +676,7 @@
 	 *
 	 * @param map the sound map
 	 */
-	protected void setUserSoundMap(Map map) {
+	protected void setUserSoundMap(Map<String, IPath> map) {
 		if (map != null) {
 			userSoundMap = map;
 			saveSoundMap();
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 1f12a80..5c78670 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
@@ -646,7 +646,7 @@
 		taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy);
 
 		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List list) {
+			protected void createChildFragments(List<WizardFragment> list) {
 				list.add(fragment2);
 				list.add(WizardTaskUtil.SaveRuntimeFragment);
 			}
@@ -663,7 +663,7 @@
 		runtimes = ServerUIPlugin.getRuntimes(runtimeType);
 		
 		if (SocketUtil.isLocalhost(server.getHost()) && runtimes != null) {
-			List runtimes2 = new ArrayList();
+			List<IRuntime> runtimes2 = new ArrayList<IRuntime>();
 			int size = runtimes.length;
 			for (int i = 0; i < size; i++) {
 				IRuntime runtime2 = runtimes[i];
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 d7b134e..eb03287 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
@@ -179,7 +179,7 @@
 	}
 
 	protected void createActions() {
-		List actionList = new ArrayList();
+		List<IAction> actionList = new ArrayList<IAction>();
 		
 		// add server actions
 		if (server != null && server.getServerType() != null) {
@@ -315,30 +315,38 @@
 		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()) {
+		if (!errors.isEmpty() && maxSeverity > IStatus.OK) {
 			StringBuffer sb = new StringBuffer();
 			sb.append(Messages.errorEditorCantSave + "\n");
 			iterator = errors.iterator();
 			while (iterator.hasNext())
 				sb.append("\t" + ((String) iterator.next()) + "\n");
-
-			EclipseUtil.openError(getEditorSite().getShell(), sb.toString());
-			monitor.setCanceled(true);
-			// reset the isSaving flag
-			isSaving = false;
-			return;
+			
+			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());
 		}
 		
 		try {
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 be70c84..2db5fb0 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 editorPageFactories;
-	private static List editorPageSectionFactories;
+	private static List<ServerEditorPartFactory> editorPageFactories;
+	private static List<ServerEditorPageSectionFactory> editorPageSectionFactories;
 	private static List editorActionFactories;
 
 	/**
@@ -33,7 +33,7 @@
 	 *
 	 * @return java.util.List
 	 */
-	public static List getServerEditorPageFactories() {
+	public static List<ServerEditorPartFactory> 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 list = new ArrayList(cf.length);
+		List<ServerEditorPartFactory> list = new ArrayList<ServerEditorPartFactory>(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 list) {
+	private static void loadEditorPageFactories(IConfigurationElement[] cf, List<ServerEditorPartFactory> list) {
 		int size = cf.length;
 		for (int i = 0; i < size; i++) {
 			try {
@@ -88,7 +88,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List list = new ArrayList(editorPageFactories);
+		List<ServerEditorPartFactory> list = new ArrayList<ServerEditorPartFactory>(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 list = new ArrayList(cf.length);
+		List<ServerEditorPageSectionFactory> list = new ArrayList<ServerEditorPageSectionFactory>(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 list) {
+	private static void loadEditorPageSectionFactories(IConfigurationElement[] cf, List<ServerEditorPageSectionFactory> list) {
 		int size = cf.length;
 		for (int i = 0; i < size; i++) {
 			try {
@@ -146,7 +146,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List list = new ArrayList(editorPageSectionFactories);
+		List<ServerEditorPageSectionFactory> list = new ArrayList<ServerEditorPageSectionFactory>(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 list = new ArrayList(size);
+		List<ServerEditorActionFactory> list = new ArrayList<ServerEditorActionFactory>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ServerEditorActionFactory(cf[i]));
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 2e9b2ef..24ddbae 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,8 +11,10 @@
 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;
@@ -51,8 +53,8 @@
 	protected static Object deletedElement = null;
 
 	// servers that are currently publishing and starting
-	protected static List publishing = new ArrayList();
-	protected static List starting = new ArrayList();
+	protected static Set<String> publishing = new HashSet<String>(4);
+	protected static Set<String> starting = new HashSet<String>(4);
 
 	protected ServerTableLabelProvider labelProvider;
 	//protected ISelectionListener dsListener;
@@ -64,7 +66,7 @@
 
 	public class ServerContentProvider implements IStructuredContentProvider, ITreeContentProvider {
 		public Object[] getElements(Object element) {
-			List list = new ArrayList();
+			List<IServer> list = new ArrayList<IServer>();
 			IServer[] servers = ServerCore.getServers();
 			if (servers != null) {
 				int size = servers.length;
@@ -174,16 +176,27 @@
 		stopAnimation = false;
 		
 		final Display display = getTree().getDisplay();
-		final int SLEEP = 200;
+		final int SLEEP = 50;
 		final Runnable[] animator = new Runnable[1];
 		animator[0] = new Runnable() {
 			public void run() {
 				if (!stopAnimation) {
 					try {
 						labelProvider.animate();
-						final Object[] rootElements = ((ITreeContentProvider)getContentProvider()).getElements(null); 
-						if (getTree() != null && !getTree().isDisposed())
-							update(rootElements, null);
+						
+						int size = 0;
+						String[] servers;
+						synchronized (starting) {
+							size = starting.size();
+							servers = new String[size];
+							starting.toArray(servers);
+						}
+						
+						for (int i = 0; i < size; i++) {
+							IServer server = ServerCore.findServer(servers[i]);
+							if (server != null && getTree() != null && !getTree().isDisposed())
+								updateAnimation(server);
+						}
 					} catch (Exception e) {
 						Trace.trace(Trace.FINEST, "Error in Servers view animation", e);
 					}
@@ -364,7 +377,7 @@
 		if (obj == null)
 			return obj;
 		
-		List list = new ArrayList();
+		List<Object> list = new ArrayList<Object>();
 		int size = obj.length;
 		for (int i = 0; i < size; i++) {
 			if (obj[i] instanceof IModule) {
@@ -376,7 +389,7 @@
 			} else if (obj[i] instanceof IProject) {
 				IProject proj = (IProject) obj[i];
 
-				List list2 = new ArrayList();
+				List<Object> list2 = new ArrayList<Object>();
 				getTreeChildren(list2, view.treeTable);
 				
 				Iterator iterator = list2.iterator();
@@ -396,7 +409,7 @@
 		return o;
 	}
 
-	private void getTreeChildren(List list, Widget widget) {
+	private void getTreeChildren(List<Object> list, Widget widget) {
 		Item[] items = getChildren(widget);
 		for (int i = 0; i < items.length; i++) {
 			Item item = items[i];
@@ -454,16 +467,20 @@
 						int state = event.getState();
 						String id = server.getId();
 						if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-							if (!starting.contains(id)) {
-								if (starting.isEmpty())
-									startThread();
-								starting.add(id);
+							synchronized (starting) {
+								if (!starting.contains(id)) {
+									if (starting.isEmpty())
+										startThread();
+									starting.add(id);
+								}
 							}
 						} else {
-							if (starting.contains(id)) {
-								starting.remove(id);
-								if (starting.isEmpty())
-									stopThread();
+							synchronized (starting) {
+								if (starting.contains(id)) {
+									starting.remove(id);
+									if (starting.isEmpty())
+										stopThread();
+								}
 							}
 						}
 					} else
@@ -487,7 +504,7 @@
 			}
 		}
 	}
-	
+
 	protected void refreshServer(final IServer server) {
 		Display.getDefault().asyncExec(new Runnable() {
 			public void run() {
@@ -638,4 +655,15 @@
 		}
 		super.doUpdateItem(widget, element, fullMap);
 	}
+
+	protected void updateAnimation(IServer server) {
+		try {
+			Widget widget = doFindItem(server);
+			TreeItem item = (TreeItem) widget;
+			item.setText(1, labelProvider.getColumnText(server, 1));
+			item.setImage(1, labelProvider.getColumnImage(server, 1));
+		} catch (Exception e) {
+			Trace.trace(Trace.WARNING, "Error in optimized animation", e);
+		}
+	}
 }
\ No newline at end of file
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 3cf96e7..fb80041 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,7 +275,8 @@
 		actions[2] = new StartAction(shell, provider, ILaunchManager.PROFILE_MODE);
 		
 		// create the stop action
-		actions[3] = new StopAction(shell, provider);
+		//actions[3] = new StopAction(shell, provider);
+		actions[3] = new StartAction(shell, provider, ILaunchManager.DEBUG_MODE);
 		
 		// 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/StopAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
index 8fa546e..0fbf4ec 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
@@ -38,7 +38,7 @@
 	/**
 	 * Return true if this server can currently be acted on.
 	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.IServer
+	 * @param server a server
 	 */
 	public boolean accept(IServer server) {
 		if (server.getServerType() == null)
@@ -48,7 +48,7 @@
 
 	/**
 	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.IServer
+	 * @param server a server
 	 */
 	public void perform(final IServer server) {
 		ServerUIPlugin.addTerminationWatch(shell, server, ServerUIPlugin.STOP);
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 b62301e..c404e8d 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 list) {
+			protected void createChildFragments(List<WizardFragment> 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 6a7c456..5785294 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 list) {
+		protected void createChildFragments(List<WizardFragment> 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 7e5da64..54a7877 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 list) {
+			protected void createChildFragments(List<WizardFragment> 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 b588f64..304dd7c 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 list) {
+			protected void createChildFragments(List<WizardFragment> 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/fragment/ModifyModulesWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java
index ee31c1b..ee3390e 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 moduleList = new ArrayList();
+			final List<IModule[]> moduleList = new ArrayList<IModule[]>();
 			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 list = new ArrayList();
+				List<IModule> list = new ArrayList<IModule>();
 				
 				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 7b33c34..86afe01 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
@@ -62,12 +62,12 @@
 	}
 
 	public List getChildFragments() {
-		List listImpl = new ArrayList();
+		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
 		createChildFragments(listImpl);
 		return listImpl;
 	}
 
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		if (getTaskModel() == null)
 			return;
 		
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 60b9400..e949456 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
@@ -93,12 +93,12 @@
 	}
 
 	public List getChildFragments() {
-		List listImpl = new ArrayList();
+		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
 		createChildFragments(listImpl);
 		return listImpl;
 	}
 
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> 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 4f71c8a..1be60ea 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 list) {
+	protected void createChildFragments(List<WizardFragment> 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 d766839..b2fcf7a 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 list) {
+	protected void createChildFragments(List<WizardFragment> 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 07eed43..bd67d37 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
@@ -113,7 +113,7 @@
 		// do nothing
 	}
 
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		if (tasks == null || tasks.isEmpty())
 			return;
 		
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 7bcf2d6..4c51759 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 listImpl;
+	private List<WizardFragment> 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();
+			listImpl = new ArrayList<WizardFragment>();
 			createChildFragments(listImpl);
 		}
 		return listImpl;
@@ -184,7 +184,7 @@
 	 * 
 	 * @param list a list to add the child fragments to
 	 */
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		// do nothing
 	}