Reacting to M4 Changes
diff --git a/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/applicationclient/creation/ApplicationClientNatureRuntime.java b/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/applicationclient/creation/ApplicationClientNatureRuntime.java
index 1777415..5acfe42 100644
--- a/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/applicationclient/creation/ApplicationClientNatureRuntime.java
+++ b/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/applicationclient/creation/ApplicationClientNatureRuntime.java
@@ -11,8 +11,6 @@
 package org.eclipse.jst.j2ee.applicationclient.creation;
 
 
-import java.util.Map;
-
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.emf.common.util.URI;
diff --git a/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/application/provider/ApplicationItemProvider.java b/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/application/provider/ApplicationItemProvider.java
index 8383fdd..23f067b 100644
--- a/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/application/provider/ApplicationItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/application/provider/ApplicationItemProvider.java
@@ -19,8 +19,6 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
diff --git a/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/provider/ApplicationClientItemProvider.java b/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/provider/ApplicationClientItemProvider.java
index 405cf90..9024157 100644
--- a/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/provider/ApplicationClientItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/provider/ApplicationClientItemProvider.java
@@ -22,8 +22,6 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
diff --git a/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/provider/EARProjectMapItemProvider.java b/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/provider/EARProjectMapItemProvider.java
index 10e0ba1..203e15d 100644
--- a/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/provider/EARProjectMapItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/applicationedit/org/eclipse/jst/j2ee/internal/provider/EARProjectMapItemProvider.java
@@ -20,8 +20,6 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/J2EEModelModifierOperationDataModel.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/J2EEModelModifierOperationDataModel.java
index 76ffa9d..f3435df 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/J2EEModelModifierOperationDataModel.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/J2EEModelModifierOperationDataModel.java
@@ -17,7 +17,6 @@
 package org.eclipse.jst.j2ee.internal.common.operations;
 
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.xmi.XMLResource;
 import org.eclipse.jst.j2ee.internal.project.J2EENature;
 import org.eclipse.wst.common.internal.emfworkbench.operation.ModelModifierOperationDataModel;
 import org.eclipse.wst.server.core.IRuntime;
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/UpdateJavaBuildPathOperation.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/UpdateJavaBuildPathOperation.java
index 2dae879..ac7924a 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/UpdateJavaBuildPathOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/UpdateJavaBuildPathOperation.java
@@ -10,8 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.internal.common.operations;
 
-
-import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
diff --git a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/EjbRefItemProvider.java b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/EjbRefItemProvider.java
index 5ce25af..591bf35 100644
--- a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/EjbRefItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/EjbRefItemProvider.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.jst.j2ee.common.CommonFactory;
 import org.eclipse.jst.j2ee.common.CommonPackage;
 import org.eclipse.jst.j2ee.common.EJBLocalRef;
diff --git a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/EnvEntryItemProvider.java b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/EnvEntryItemProvider.java
index e032a92..9c1ace7 100644
--- a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/EnvEntryItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/EnvEntryItemProvider.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.jst.j2ee.common.CommonFactory;
 import org.eclipse.jst.j2ee.common.CommonPackage;
 import org.eclipse.jst.j2ee.common.EnvEntry;
diff --git a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/ResourceRefItemProvider.java b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/ResourceRefItemProvider.java
index b5abbf6..57abc0d 100644
--- a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/ResourceRefItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/ResourceRefItemProvider.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.jst.j2ee.common.CommonFactory;
 import org.eclipse.jst.j2ee.common.CommonPackage;
 import org.eclipse.jst.j2ee.common.ResourceRef;
diff --git a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/RunAsSpecifiedIdentityItemProvider.java b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/RunAsSpecifiedIdentityItemProvider.java
index aea9efe..d5e921d 100644
--- a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/RunAsSpecifiedIdentityItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/RunAsSpecifiedIdentityItemProvider.java
@@ -19,8 +19,6 @@
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.util.ResourceLocator;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
diff --git a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/SecurityRoleItemProvider.java b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/SecurityRoleItemProvider.java
index 6139c3a..36eb974 100644
--- a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/SecurityRoleItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/SecurityRoleItemProvider.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.jst.j2ee.common.CommonFactory;
 import org.eclipse.jst.j2ee.common.CommonPackage;
 import org.eclipse.jst.j2ee.common.SecurityRole;
diff --git a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/SecurityRoleRefItemProvider.java b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/SecurityRoleRefItemProvider.java
index 3a66f76..a9de9e5 100644
--- a/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/SecurityRoleRefItemProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/commonedit/org/eclipse/jst/j2ee/common/internal/provider/SecurityRoleRefItemProvider.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.jst.j2ee.common.CommonFactory;
 import org.eclipse.jst.j2ee.common.CommonPackage;
 import org.eclipse.jst.j2ee.common.SecurityRoleRef;
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/operations/EnterpriseApplicationImportDataModel.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/operations/EnterpriseApplicationImportDataModel.java
index fabc383..de34a8c 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/operations/EnterpriseApplicationImportDataModel.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/operations/EnterpriseApplicationImportDataModel.java
@@ -136,8 +136,8 @@
 	private Hashtable clientJarToEjbJarModels = new Hashtable();
 
 	/**
-	 * Imports the specified Application Client Jar file into the specified Application Client
-	 * Module project.
+	 * Imports the specified Enterprise Application archive file into the specified Enterprise Application
+	 * project.
 	 * 
 	 * @param earFileName
 	 *            The path to the EAR file.
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/EAREditModel.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/EAREditModel.java
index de98452..957eccd 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/EAREditModel.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/EAREditModel.java
@@ -44,7 +44,6 @@
 import org.eclipse.jst.j2ee.moduleextension.EarModuleManager;
 import org.eclipse.wst.common.frameworks.internal.SaveFailedException;
 import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
 import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent;
 
 import com.ibm.wtp.emf.workbench.ProjectUtilities;
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/RollupRolesCommand.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/RollupRolesCommand.java
index 3243a53..0673722 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/RollupRolesCommand.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/RollupRolesCommand.java
@@ -16,7 +16,6 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.emf.common.command.AbstractCommand;
-import org.eclipse.emf.common.command.Command;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.jst.j2ee.application.Application;
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEModuleNature.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEModuleNature.java
index 217d416..ce9d497 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEModuleNature.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEModuleNature.java
@@ -18,7 +18,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFolder;
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/reference/ReferenceDataModel.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/reference/ReferenceDataModel.java
index ec6ec41..8689db5 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/reference/ReferenceDataModel.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/reference/ReferenceDataModel.java
@@ -8,7 +8,6 @@
  **************************************************************************************************/
 package org.eclipse.jst.j2ee.internal.reference;
 
-import java.util.Collection;
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/servertarget/ServerTargetDataModel.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/servertarget/ServerTargetDataModel.java
index 21750e5..9db1100 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/servertarget/ServerTargetDataModel.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/servertarget/ServerTargetDataModel.java
@@ -31,7 +31,6 @@
 import org.eclipse.wst.common.frameworks.internal.operations.WTPOperationDataModel;
 import org.eclipse.wst.common.frameworks.internal.operations.WTPPropertyDescriptor;
 import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerCore;
 import org.eclipse.wst.server.core.internal.ResourceManager;
 
 /**
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/servertarget/ServerTargetOperation.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/servertarget/ServerTargetOperation.java
index 9e83173..e5eb56e 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/servertarget/ServerTargetOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/servertarget/ServerTargetOperation.java
@@ -23,7 +23,6 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime;
 import org.eclipse.wst.common.frameworks.internal.operations.WTPOperation;
-import org.eclipse.wst.server.core.IProjectProperties;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.ServerCore;
 
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/DelegateConfigurationElement.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/DelegateConfigurationElement.java
new file mode 100644
index 0000000..bae7e9a
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/DelegateConfigurationElement.java
@@ -0,0 +1,195 @@
+/*
+ * Created on Dec 14, 2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.eclipse.jst.j2ee.internal;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.InvalidRegistryObjectException;
+
+/**
+ * An object which represents the user-defined contents of an extension in a plug-in manifest.
+ */
+public class DelegateConfigurationElement implements IConfigurationElement {
+
+	private final IConfigurationElement delegateElement;
+	private static final String DELEGATE_NAME = "delegateConfigurationElement"; //$NON-NLS-1$ 
+	private static final String DELEGATE_NAMESPACE = "delegateConfigurationElementNamespace"; //$NON-NLS-1$ 
+	private static final String DELEGATE_NULL_STRING = "delegateConfigurationElement: NULL"; //$NON-NLS-1$ 
+
+	public DelegateConfigurationElement(IConfigurationElement aDelegate) {
+		delegateElement = aDelegate;
+	}
+
+	/**
+	 * @param propertyName
+	 * @return
+	 * @throws org.eclipse.core.runtime.CoreException
+	 */
+	public Object createExecutableExtension(String propertyName) throws CoreException {
+		if (delegateElement == null)
+			return null;
+		return delegateElement.createExecutableExtension(propertyName);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see java.lang.Object#equals(java.lang.Object)
+	 */
+	public boolean equals(Object obj) {
+		if (delegateElement == null)
+			return false;
+		return delegateElement.equals(obj);
+	}
+
+	/**
+	 * @param name
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getAttribute(String name) throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return null;
+		return delegateElement.getAttribute(name);
+	}
+
+	/**
+	 * @param name
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getAttributeAsIs(String name) throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return null;
+		return delegateElement.getAttributeAsIs(name);
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String[] getAttributeNames() throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return new String[0];
+		return delegateElement.getAttributeNames();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public IConfigurationElement[] getChildren() throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return new IConfigurationElement[0];
+		return delegateElement.getChildren();
+	}
+
+	/**
+	 * @param name
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public IConfigurationElement[] getChildren(String name) throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return new IConfigurationElement[0];
+		return delegateElement.getChildren(name);
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public IExtension getDeclaringExtension() throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			throw new InvalidRegistryObjectException();
+		return delegateElement.getDeclaringExtension();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getName() throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return DELEGATE_NAME;
+		return delegateElement.getName();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getNamespace() throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return DELEGATE_NAMESPACE;
+		return delegateElement.getNamespace();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public Object getParent() throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return null;
+		return delegateElement.getParent();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getValue() throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return null;
+		return delegateElement.getValue();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getValueAsIs() throws InvalidRegistryObjectException {
+		if(delegateElement == null)
+			return null;
+		return delegateElement.getValueAsIs();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see java.lang.Object#hashCode()
+	 */
+	public int hashCode() {
+		if(delegateElement == null)
+			return -1;
+		return delegateElement.hashCode();
+	}
+
+	/**
+	 * @return
+	 */
+	public boolean isValid() {
+
+		if(delegateElement == null)
+			return false;
+		return delegateElement.isValid();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see java.lang.Object#toString()
+	 */
+	public String toString() {
+		if(delegateElement == null)
+			return DELEGATE_NULL_STRING;
+		return delegateElement.toString();
+	}
+
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/ApplicationClientDeployableFactory.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/ApplicationClientDeployableFactory.java
index 2bb9369..7319ed7 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/ApplicationClientDeployableFactory.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/ApplicationClientDeployableFactory.java
@@ -11,12 +11,10 @@
 package org.eclipse.jst.j2ee.internal.deployables;
 
 
-import org.eclipse.core.resources.IProject;
 import org.eclipse.jst.j2ee.applicationclient.creation.IApplicationClientNatureConstants;
 import org.eclipse.jst.j2ee.internal.project.J2EENature;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.model.ModuleDelegate;
-import org.eclipse.wst.server.core.util.ProjectModule;
 
 
 /**
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableFactory.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableFactory.java
index 0de392c..7dbdec6 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableFactory.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableFactory.java
@@ -14,8 +14,6 @@
 import org.eclipse.core.resources.IResourceDelta;
 import org.eclipse.jst.j2ee.internal.project.J2EENature;
 import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.ModuleDelegate;
-import org.eclipse.wst.server.core.util.ProjectModule;
 import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
 
 /**
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/LooseArchiveDeployableFactory.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/LooseArchiveDeployableFactory.java
index 923924c..bdd8293 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/LooseArchiveDeployableFactory.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/LooseArchiveDeployableFactory.java
@@ -14,7 +14,6 @@
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jst.j2ee.internal.project.IWebNatureConstants;
 import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.util.ProjectModule;
 import org.eclipse.wst.server.core.model.ModuleDelegate;
 import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
 
diff --git a/plugins/org.eclipse.jst.j2ee/javacodegen/org/eclipse/jst/j2ee/internal/java/codegen/JavaCompilationUnitGenerator.java b/plugins/org.eclipse.jst.j2ee/javacodegen/org/eclipse/jst/j2ee/internal/java/codegen/JavaCompilationUnitGenerator.java
index eea1e2c..769ddca 100644
--- a/plugins/org.eclipse.jst.j2ee/javacodegen/org/eclipse/jst/j2ee/internal/java/codegen/JavaCompilationUnitGenerator.java
+++ b/plugins/org.eclipse.jst.j2ee/javacodegen/org/eclipse/jst/j2ee/internal/java/codegen/JavaCompilationUnitGenerator.java
@@ -29,7 +29,6 @@
 import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jst.j2ee.internal.codegen.AnalysisResult;
 import org.eclipse.jst.j2ee.internal.codegen.GenerationException;
-import org.eclipse.jst.j2ee.internal.codegen.IBaseGenerator;
 import org.eclipse.jst.j2ee.internal.codegen.IGenerationBuffer;
 import org.eclipse.jst.j2ee.internal.codegen.Navigator;
 
diff --git a/plugins/org.eclipse.jst.j2ee/javacodegen/org/eclipse/jst/j2ee/internal/java/codegen/MergeResults.java b/plugins/org.eclipse.jst.j2ee/javacodegen/org/eclipse/jst/j2ee/internal/java/codegen/MergeResults.java
index c6c8c7e..79083cb 100644
--- a/plugins/org.eclipse.jst.j2ee/javacodegen/org/eclipse/jst/j2ee/internal/java/codegen/MergeResults.java
+++ b/plugins/org.eclipse.jst.j2ee/javacodegen/org/eclipse/jst/j2ee/internal/java/codegen/MergeResults.java
@@ -13,7 +13,6 @@
 
 
 import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.jdom.IDOMMethod;
 import org.eclipse.jst.j2ee.internal.codegen.AnalysisResult;