This commit was manufactured by cvs2svn to create tag 'I20050318a'.
diff --git a/plugins/org.eclipse.wst.common.emf/.classpath b/plugins/org.eclipse.wst.common.emf/.classpath
deleted file mode 100644
index e8d84f8..0000000
--- a/plugins/org.eclipse.wst.common.emf/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="wtpemf/"/>
-	<classpathentry kind="src" path="workbench/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.emf/.cvsignore b/plugins/org.eclipse.wst.common.emf/.cvsignore
deleted file mode 100644
index 21c0734..0000000
--- a/plugins/org.eclipse.wst.common.emf/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-runtime
-temp.folder
-build.xml
diff --git a/plugins/org.eclipse.wst.common.emf/.project b/plugins/org.eclipse.wst.common.emf/.project
deleted file mode 100644
index 5b5f0fe..0000000
--- a/plugins/org.eclipse.wst.common.emf/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.emf</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.emf/build.properties b/plugins/org.eclipse.wst.common.emf/build.properties
deleted file mode 100644
index 3d1eb1a..0000000
--- a/plugins/org.eclipse.wst.common.emf/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-output.runtime/workbench.jar=bin/
-bin.includes=plugin.xml,\
-               runtime/workbench.jar,\
-               runtime/wtpemf.jar
-source.runtime/workbench.jar=workbench/
-source.runtime/wtpemf.jar=wtpemf/
-output.runtime/wtpemf.jar=bin/
-jars.compile.order=runtime/wtpemf.jar,\
-                     runtime/workbench.jar
diff --git a/plugins/org.eclipse.wst.common.emf/component.xml b/plugins/org.eclipse.wst.common.emf/component.xml
deleted file mode 100644
index 9530d33..0000000
--- a/plugins/org.eclipse.wst.common.emf/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.common.emf"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.common.emf" fragment="false"/><plugin id="org.eclipse.wst.common.emfworkbench.integration" fragment="false"/></component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/plugin.xml b/plugins/org.eclipse.wst.common.emf/plugin.xml
deleted file mode 100644
index f367849..0000000
--- a/plugins/org.eclipse.wst.common.emf/plugin.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.common.emf"
-   name="EMF Utilities"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   description="Provides support and utilities for emf integration into the workbench"
-   class="org.eclipse.wst.common.internal.emf.plugin.EcoreUtilitiesPlugin">
-
-   <runtime>
-      <library name="runtime/wtpemf.jar">
-         <export name="*"/>
-      </library>
-      <library name="runtime/workbench.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.emf.ecore.xmi"/>
-      <import plugin="org.eclipse.wst.common.frameworks"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-   </requires>
-
-
-   <extension-point id="packageURIMap" name="PackageURIMap"/>
-
-<!-- Need to register the Ecore specific package mappings -->
-   <extension
-         point="org.eclipse.wst.common.emf.packageURIMap">
-      <map
-            uri="http://www.eclipse.org/emf/2002/Ecore"
-            prefix="ecore">
-      </map>
-      <map
-            uri="http://www.eclipse.org/emf/2002/Mapping"
-            prefix="mapping">
-      </map>
-<!-- Trick to get Mapping.xmi for MOF5 serialization -->
-      <map
-            uri="http://www.eclipse.org/emf/2002/Mapping"
-            prefix="Mapping">
-      </map>
-   </extension>
-   
-      <extension
-         point="com.ibm.wtp.common.util.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            context="Headless"
-            key="rendererFactory"
-            className="org.eclipse.wst.common.internal.emf.resource.EMF2DOMRendererFactory">
-      </uiContextSensitiveClass>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.emf/prepareforpii.xml b/plugins/org.eclipse.wst.common.emf/prepareforpii.xml
deleted file mode 100644
index 8007604..0000000
--- a/plugins/org.eclipse.wst.common.emf/prepareforpii.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-		
-	<!-- Setup temp variables -->
-	<target name="init">
-		<property name="nlsDir" value="d:/NLS/Corona/0526"/>
-		<property name="plugin" value="com.ibm.wtp.emf"/>
-		<property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
-		<property name="outputDir" value="${nlsDir}/${plugin}"/>
-		
-	
-	</target>
-
-	<!-- Create the destination dir -->
-	<target name="nlsDir" depends="init">
-		<mkdir dir="${nlsDir}"/>
-	</target>
-	
-	<!-- Create the destination dir -->
-	<target name="plugindir" depends="nlsDir">
-		<delete dir="${outputDir}"/>
-		<mkdir dir="${outputDir}"/>
-	</target>
-
-	<!-- Move the files to the correct locations in the workspace. -->
-	<target name="main" depends="plugindir">
-	
-		<messageIdGen folderPath = "${plugindir}" componentId = "E" />
-		
-		<copy todir = "${outputDir}/wtpemf" >
-			 <fileset dir="${plugindir}/wtpemf">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-  		
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/EcoreUtilitiesPlugin.java b/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/EcoreUtilitiesPlugin.java
deleted file mode 100644
index 0f04416..0000000
--- a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/EcoreUtilitiesPlugin.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jun 9, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.plugin;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
-import org.osgi.framework.BundleContext;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class EcoreUtilitiesPlugin extends Plugin {
-	public static final String ID = "org.eclipse.wst.common.emf"; //$NON-NLS-1$
-
-	/**
-	 * @param descriptor
-	 */
-	public EcoreUtilitiesPlugin() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		RendererFactory.setDefaultHandler(PluginRendererFactoryDefaultHandler.INSTANCE);
-		PackageURIMapReader reader = new PackageURIMapReader();
-		reader.processExtensions();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PackageURIMapReader.java b/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PackageURIMapReader.java
deleted file mode 100644
index 253ffe3..0000000
--- a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PackageURIMapReader.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.plugin;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.internal.emf.resource.CompatibilityPackageMappingRegistry;
-
-/**
- * This reader will read the packageURIMap extension point and populate the
- * CompatibilityPackageMappingRegistry.
- * 
- * The packageURIMap will have the following configuration element.
- * 
- * <map prefix="somePackagePrefix" uri="somePackageURI"/>
- *  
- */
-public class PackageURIMapReader {
-	private static final String URI_ATT_NAME = "uri"; //$NON-NLS-1$
-	private static final String PREFIX_ATT_NAME = "prefix"; //$NON-NLS-1$
-	private static final String EXTENSION_POINT_NAME = "packageURIMap"; //$NON-NLS-1$
-
-	/**
-	 *  
-	 */
-	public PackageURIMapReader() {
-		super();
-	}
-
-	private IExtensionPoint getExtensionPoint() {
-		IPluginRegistry reg = Platform.getPluginRegistry();
-		return reg.getExtensionPoint(EcoreUtilitiesPlugin.ID, EXTENSION_POINT_NAME);
-	}
-
-	/**
-	 * Call this method to read and process all of the packageURIMap extensions. *
-	 */
-	public void processExtensions() {
-		CompatibilityPackageMappingRegistry reg = CompatibilityPackageMappingRegistry.INSTANCE;
-		IExtension[] extensions = getExtensionPoint().getExtensions();
-		for (int i = 0; i < extensions.length; i++)
-			processExtension(extensions[i], reg);
-	}
-
-	/**
-	 * @param extension
-	 */
-	private void processExtension(IExtension extension, CompatibilityPackageMappingRegistry reg) {
-		IConfigurationElement[] configs = extension.getConfigurationElements();
-		for (int i = 0; i < configs.length; i++)
-			processConfiguration(configs[i], reg);
-	}
-
-	/**
-	 * @param element
-	 */
-	private void processConfiguration(IConfigurationElement element, CompatibilityPackageMappingRegistry reg) {
-		String prefix = element.getAttribute(PREFIX_ATT_NAME);
-		String uri = element.getAttribute(URI_ATT_NAME);
-		reg.registerPrefixToPackageURI(prefix, uri);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PluginRendererFactoryDefaultHandler.java b/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PluginRendererFactoryDefaultHandler.java
deleted file mode 100644
index d65fbb4..0000000
--- a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PluginRendererFactoryDefaultHandler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 1, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.plugin;
-
-import org.eclipse.wst.common.internal.emf.resource.EMF2DOMRendererFactoryDefaultHandler;
-import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
-
-import com.ibm.wtp.common.UIContextDetermination;
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class PluginRendererFactoryDefaultHandler extends EMF2DOMRendererFactoryDefaultHandler {
-
-	static final PluginRendererFactoryDefaultHandler INSTANCE = new PluginRendererFactoryDefaultHandler();
-	static final String EXT_POINT_NAME = "rendererFactory"; //$NON-NLS-1$
-
-	/**
-	 *  
-	 */
-	protected PluginRendererFactoryDefaultHandler() {
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.EMF2DOMRendererFactoryDefaultHandler#getDefaultRendererFactory()
-	 */
-	public RendererFactory getDefaultRendererFactory() {
-		RendererFactory aFactory = (RendererFactory) UIContextDetermination.createInstance(EXT_POINT_NAME);
-		return aFactory == null ? super.getDefaultRendererFactory() : aFactory;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AbstractRendererImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AbstractRendererImpl.java
deleted file mode 100644
index 03b6992..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AbstractRendererImpl.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-public abstract class AbstractRendererImpl implements Renderer {
-
-
-	protected TranslatorResource resource;
-	private int versionId;
-	private boolean validating = true;
-
-	/**
-	 * Constructor for AbstractRendererImpl.
-	 */
-	public AbstractRendererImpl() {
-		super();
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#setResource(TranslatorResource)
-	 */
-	public void setResource(TranslatorResource aResource) {
-		resource = aResource;
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#getResource()
-	 */
-	public TranslatorResource getResource() {
-		return resource;
-	}
-
-	public int getVersionId() {
-		return this.versionId;
-	}
-
-	public void setVersionId(int versionId) {
-		this.versionId = versionId;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isValidating() {
-		return validating;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setValidating(boolean b) {
-		validating = b;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#accessForRead()
-	 */
-	public void accessForRead() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#accessForWrite()
-	 */
-	public void accessForWrite() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#isModified()
-	 */
-	public boolean isModified() {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#isShared()
-	 */
-	public boolean isShared() {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#isSharedForWrite()
-	 */
-	public boolean isSharedForWrite() {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#preDelete()
-	 */
-	public void preDelete() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#preUnload()
-	 */
-	public void preUnload() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#releaseFromRead()
-	 */
-	public void releaseFromRead() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#releaseFromWrite()
-	 */
-	public void releaseFromWrite() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#setBatchMode(boolean)
-	 */
-	public void setBatchMode(boolean isBatch) {
-	}
-
-	public boolean useStreamsForIO() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AttributeTranslatorFilter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AttributeTranslatorFilter.java
deleted file mode 100644
index b0d0869..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AttributeTranslatorFilter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-/*
- * Created on Sep 21, 2003
- *  
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-public final class AttributeTranslatorFilter extends TranslatorFilter {
-
-	public AttributeTranslatorFilter() {
-		super(null, -1);
-	}
-
-	public AttributeTranslatorFilter(Translator trans, int version) {
-		super(trans, version);
-	}
-
-	public final int scanNextTranslator(Translator[] children, int start) {
-		int found = start + 1;
-		for (; found < children.length; ++found) {
-			if (children[found].isDOMAttribute())
-				break;
-		}
-		found = (found < children.length) ? found : -1;
-		return found;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventNode.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventNode.java
deleted file mode 100644
index e575833..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventNode.java
+++ /dev/null
@@ -1,585 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.xml.sax.Attributes;
-
-
-/**
- * CacheEventNodes (CENOs) store information collected from SAX Events. This information can then be
- * used once all necessary SAX Events have been generated to create and/or set values on EMF model
- * objects.
- * 
- * CacheEventNodes (CENOs) have a simple lifecycle: initialize, collect data, commit, discard. When
- * initialized, CENOs will attempt to find the appropriate translator for a given XML element name,
- * and also create/set any necessary EMF model values. Data is collected as SAX character() events
- * are generated. On the SAX endElement event, the CENO is committed(), which is where it will
- * complete its processing to create EMF model features. In those cases where it cannot complete its
- * processing, it will defer its processing to the updateEMF() method of its parent. Defered
- * processing is necessary to handle EMF features that require read ahead cues from the XML. CENOs
- * will add themselves to their parents as children in a tree data structure. When an CENO
- * determines it is the golden piece of information required to instantiate its parent feature, it
- * will trigger its parent CENO to process the rest of the cached CENO tree. As mentioned, the
- * building of a CENO tree will only occur for nodes with read ahead cues.
- * 
- * discard() is invoked by init() to ensure that no junk state is left from a previous use of the
- * CENO. commit() will call discard as needed. Because of the use of discard, CENOs can be pooled
- * and reused. If a CENO determines that it is contained in a pool, it will manage its own release
- * from that pool. Self- management is necessary because of the way in which CENOs might cache
- * certain children while waiting to create the parent EMF feature.
- * 
- * @author mdelder
- */
-public class CacheEventNode {
-
-	public static final String ROOT_NODE = "EMF_ROOT_NODE"; //$NON-NLS-1$
-
-	private String nodeName = null;
-	private Translator translator = null;
-	private Notifier emfOwner = null;
-	private StringBuffer buffer = null;
-	private List children = null;
-	private int versionID;
-
-	/*
-	 * The internal data structure used to store the attributes is a String[]. The choice was made
-	 * to use an array to avoid the creation of another object (probably a Hashtable) and to exploit
-	 * array-access times to get the name and value of the attributes (opposed to full fledged
-	 * method invocations).
-	 *  
-	 */
-	private String[] attributes = null;
-	private CacheEventNode parent = null;
-	private CacheEventPool containingPool = null;
-	private Boolean ignorable = null;
-
-	public CacheEventNode(CacheEventPool containingPool) {
-		this.containingPool = containingPool;
-	}
-
-	/**
-	 * Lifecycle method. init(TranslatorResource) will configure this Adapter as a ROOT node.
-	 * 
-	 * This method will invoke discard() before completing its tasks.
-	 */
-	public void init(TranslatorResource resource) {
-		this.discard();
-		this.setEmfOwner(resource);
-		this.setTranslator(resource.getRootTranslator());
-		this.setVersionID(resource.getVersionID());
-		this.nodeName = CacheEventNode.ROOT_NODE;
-	}
-
-	/**
-	 * Lifecycle method. init(CacheEventNode, String, Attributes) will configure this Adapter to be
-	 * a non-ROOT node of the Adapter data structure
-	 * 
-	 * This method will invoke discard() before completing its tasks.
-	 */
-	public void init(CacheEventNode parentArg, String nodeNameArg, Attributes attributesArg) {
-		this.discard();
-		this.nodeName = nodeNameArg;
-		init(parentArg, attributesArg);
-	}
-
-	private void init(CacheEventNode parentRecord, Attributes attributesArg) {
-		setParent(parentRecord);
-
-		setAttributes(attributesArg);
-		if (parent != null) {
-			/* I am not the root */
-
-			/*
-			 * If the parent is part of the DOM Path, then we ignore it and interact with the grand
-			 * parent
-			 */
-			if (parent.translator != null && parent.isInDOMPath()) {
-				setParent(parent.getParent());
-			}
-
-			setVersionID(parent.getVersionID());
-			if (parent.getEmfOwner() != null && parent.getTranslator() != null) {
-
-				/* My parent had enough information to create themself */
-
-				if (parent.getParent() != null) {
-					setTranslator(parent.getTranslator().findChild(nodeName, parent.getEmfOwner(), getVersionID()));
-
-				} else {
-					setTranslator(parent.getTranslator());
-				}
-
-				if (this.translator == null) {
-					/* Our translator is null! Ahh! Run! */
-					throw new IllegalStateException("Parent Translator (" + parent.getTranslator() + //$NON-NLS-1$
-								") did not find a Child Translator for \"" + //$NON-NLS-1$ 
-								nodeName + "\"."); //$NON-NLS-1$
-				}
-
-				if (this.translator.getReadAheadHelper(nodeName) == null && !this.translator.isManagedByParent()) {
-					/*
-					 * I do not require a read ahead cue, and I am not managed by my parent so I can
-					 * create an instance of my EMF object
-					 */
-
-					Notifier myEmfOwner = this.translator.createEMFObject(getNodeName(), null);
-					setEmfOwner(myEmfOwner);
-					this.translator.setMOFValue(parent.getEmfOwner(), myEmfOwner);
-				}
-				/*
-				 * Else I require a read ahead value or I am being managed by my parent, so I have
-				 * no need to create an EMF object
-				 */
-			}
-			/*
-			 * Else I am not mapped to the EMF stack (XML Elements found in the DOMPath are ignored)
-			 */
-		}
-		/* processAttributes is guarded and will not execute unless ready */
-		processAttributes();
-
-	}
-
-	/**
-	 * commit() is invoked only if the CacheEventNode (CENO) has all the information they need and
-	 * should be able to determine what to do to the EMF feature.
-	 * 
-	 * The commit() method will invoke discard() when it has completed its tasks, if needed. Thus,
-	 * after invoking this method, the CENO may have no meaningful state. If discard() is invoked,
-	 * all previously held reference will be released in order to be made eligible for Garbage
-	 * Collection.
-	 *  
-	 */
-	public void commit() {
-
-		if (parent == null || this.isIgnorable()) {
-			discard();
-			releaseFromContainingPool();
-			return;
-		}
-
-		ReadAheadHelper helper = null;
-		Translator activeTranslator = getTranslator();
-		Translator parentTranslator = getParent().getTranslator();
-
-		if (parent != null && parent.getEmfOwner() == null) {
-
-			/*
-			 * Not enough information yet, add the CacheEventNode to the DOM Cache tree
-			 */
-
-			parent.appendToBuffer(this);
-			if ((helper = getParent().getReadAheadHelper()) != null) {
-				/*
-				 * If the parentRecord's emfOwner is null, then it must not be initialized therefore
-				 * it or one of its ancestors must require read ahead clues
-				 * 
-				 * The following if statement checks if the parent is the node waiting for a
-				 * readAhead cue
-				 */
-				EObject parentOwner = null;
-				if (helper.nodeValueIsReadAheadName(getNodeName())) {
-					/* The readAheadName is the value of the qName child node */
-
-					/* We have enough information to create the EmfOwner in the parent! */
-					parentOwner = parentTranslator.createEMFObject(getParent().getNodeName(), getBuffer());
-
-					/*
-					 * Now we need to parse the cached DOM tree and update the emfOwner of the
-					 * parent
-					 */
-					getParent().updateEMF(parentOwner);
-
-				} else if (helper.nodeNameIsReadAheadName(getNodeName())) {
-					/* The readAheadName is the actual name of the child node (qName) */
-
-					/* We have enough information to create the EmfOwner in the parent! */
-					parentOwner = parentTranslator.createEMFObject(getParent().getNodeName(), getNodeName());
-
-					/*
-					 * Now we need to parse the cached DOM tree and update the emfOwner of the
-					 * parent
-					 */
-					getParent().updateEMF(parentOwner);
-				}
-
-			} /* Else an ancestor of the parent is waiting */
-
-		} else {
-			if (activeTranslator != null) {
-				if (activeTranslator.isManagedByParent()) {
-
-					Object value = activeTranslator.convertStringToValue(getNodeName(), null, getBuffer(), getParent().getEmfOwner());
-					activeTranslator.setMOFValue(getParent().getEmfOwner(), value);
-					processAttributes();
-				} else {
-
-					activeTranslator.setTextValueIfNecessary(getBuffer(), getEmfOwner(), getVersionID());
-				}
-
-			}
-			discard();
-			releaseFromContainingPool();
-		}
-	}
-
-	/**
-	 * Instruct the CacheEventNode to discard all references to make everything eligible for garbage
-	 * collection. This should ONLY be called after commit has succeeded. In the case of EMF
-	 * features that require a readAheadName, process not be completed in commit(), but rather will
-	 * be defered to the updateEMF() method. This method was made private specifically because it
-	 * could erase all information contained in the CacheEventNode before it has been processed.
-	 *  
-	 */
-	private void discard() {
-		translator = null;
-		emfOwner = null;
-		buffer = null;
-		if (children != null)
-			children.clear();
-		children = null;
-		attributes = null;
-		parent = null;
-	}
-
-	private void releaseFromContainingPool() {
-		if (containingPool != null)
-			containingPool.releaseNode(this);
-	}
-
-	public boolean isIgnorable() {
-		if (ignorable == null) {
-			boolean result = false;
-			if (this.translator != null) {
-				if (this.translator.isEmptyContentSignificant()) {
-					result = false;
-				} else {
-					String domPath = this.translator.getDOMPath();
-					result = (domPath != null) ? domPath.indexOf(this.nodeName) >= 0 : false;
-				}
-			}
-			ignorable = result ? Boolean.TRUE : Boolean.FALSE;
-		}
-		return ignorable.booleanValue();
-	}
-
-	/**
-	 * Determines if a given child has a translator.
-	 * 
-	 * @param childNodeName
-	 *            the name of the current XML child node
-	 * @return true only if the childNodeName can be ignored (e.g. it is part of the DOM Path)
-	 */
-	public boolean isChildIgnorable(String childNodeName) {
-		boolean result = false;
-
-		Translator childTranslator = null;
-		if (this.getTranslator() != null) {
-			childTranslator = this.getTranslator().findChild(childNodeName, this.getEmfOwner(), this.getVersionID());
-
-			if (childTranslator != null) {
-				if (childTranslator.isEmptyContentSignificant()) {
-					result = false;
-				} else {
-					String temp = null;
-					result = ((temp = childTranslator.getDOMPath()) != null) ? temp.indexOf(childNodeName) >= 0 : false;
-				}
-			}
-		}
-
-		return result;
-	}
-
-	public boolean isInDOMPath() {
-		boolean result = false;
-
-		if (this.getTranslator() != null) {
-
-			result = this.getNodeName().equals(this.getTranslator().getDOMPath());
-		}
-
-		return result;
-	}
-
-	public String toString() {
-		StringBuffer output = new StringBuffer("CacheEventNode[");//$NON-NLS-1$
-		output.append("nodeName=");//$NON-NLS-1$
-		output.append(nodeName);
-		output.append("; translator=");//$NON-NLS-1$
-		output.append(translator);
-		output.append("; emfOwner=");//$NON-NLS-1$
-		try {
-			output.append(emfOwner);
-		} catch (RuntimeException re) {
-			output.append("Could not render as string!");//$NON-NLS-1$
-		}
-		output.append("; buffer=");//$NON-NLS-1$
-		output.append(this.buffer);
-		output.append("; hasChildren=");//$NON-NLS-1$
-		output.append((children != null && children.size() > 0));
-		if (children != null) {
-			for (int i = 0; i < this.children.size(); i++) {
-				output.append("\n\tchildren(");//$NON-NLS-1$
-				output.append(i);
-				output.append("): ");//$NON-NLS-1$
-				output.append(this.children.get(i));
-			}
-		}
-		output.append("]");//$NON-NLS-1$
-		return output.toString();
-	}
-
-	/**
-	 * Updates the EMF model by creating EMF Features as necessary from the DOM Tree Cache
-	 * 
-	 * @param owner
-	 */
-	public void updateEMF(EObject owner) {
-		this.setEmfOwner(owner);
-		if (this.parent != null) {
-			this.translator.setMOFValue((EObject) this.parent.getEmfOwner(), owner);
-			this.processAttributes();
-		}
-
-		this.updateEMF();
-	}
-
-	/**
-	 * The translator and the owner of the parent CENO passed to this method should be nonnull
-	 */
-	public void updateEMF() {
-		if (this.children == null)
-			return;
-
-		CacheEventNode child = null;
-		Translator childTranslator = null;
-		Object value = null;
-		if (this.getEmfOwner() != null) {
-			Notifier parentOwner = this.getEmfOwner();
-			Translator parentTranslator = this.getTranslator();
-			for (int i = 0; i < this.children.size(); i++) {
-
-				child = (CacheEventNode) this.children.get(i); /* Create the EMF feature */
-				if (this.isChildIgnorable(child.getNodeName())) {
-					this.addChildren(child.getChildren());
-				} else {
-					childTranslator = parentTranslator.findChild(child.getNodeName(), parentOwner, child.getVersionID());
-					child.setTranslator(childTranslator);
-
-					value = childTranslator.convertStringToValue(child.getNodeName(), null, child.getBuffer(), parentOwner);
-					childTranslator.setMOFValue(parentOwner, value);
-
-					if (childTranslator.isObjectMap()) {
-						child.setEmfOwner((Notifier) value);
-						childTranslator.setTextValueIfNecessary(child.getBuffer(), child.getEmfOwner(), getVersionID());
-					}
-
-					child.processAttributes();
-					child.updateEMF(); /* update the EMF of the child */
-
-				}
-				child.discard();
-				child.releaseFromContainingPool();
-			}
-			this.children = null;
-		}
-	}
-
-	public void addChild(CacheEventNode child) {
-		if (this.children == null) {
-			this.children = new ArrayList();
-		}
-		if (parent != null && this.isIgnorable()) {
-			parent.addChild(child);
-		} else {
-			this.children.add(child);
-		}
-	}
-
-	protected void addChildren(List childrenArg) {
-		if (this.children == null) {
-			this.children = new ArrayList();
-		}
-		this.children.addAll(childrenArg);
-	}
-
-	public boolean removeChild(CacheEventNode child) {
-		if (this.children == null) {
-			return false;
-		}
-		return this.children.remove(child);
-	}
-
-	public List getChildren() {
-		return this.children;
-	}
-
-	public ReadAheadHelper getReadAheadHelper() {
-		if (this.translator != null && this.translator.hasReadAheadNames()) {
-			return translator.getReadAheadHelper(nodeName);
-		}
-		return null;
-	}
-
-
-	/* See the documentation for the attributes field for info on how it is structured */
-	public void setAttributes(Attributes attr) {
-
-		/*
-		 * The attributes returned from the parser may be stored by reference, so we must copy them
-		 * over to a local data store
-		 */
-		if (attr != null && attr.getLength() > 0) {
-
-			if (this.attributes == null) {
-				this.attributes = new String[attr.getLength() * 2];
-			}
-			for (int i = 0; i < attr.getLength(); i++) {
-				this.attributes[i] = attr.getQName(i);
-				this.attributes[i + attr.getLength()] = attr.getValue(i);
-			}
-
-		}
-	}
-
-	/**
-	 * processAttributes may be invoked multiple times. It is configured to only carry out the
-	 * processing one time. After it successfully completes the construction of Translators and
-	 * values it will discard the value of the attributes field by setting it to null.
-	 *  
-	 */
-	public void processAttributes() {
-		/* See the documentation for the attributes field for info on how it is structured */
-		if (this.attributes != null && this.attributes.length > 0) {
-
-			if (this.emfOwner != null && this.translator != null) {
-				Translator attrTranslator = null;
-				final int limit = this.attributes.length / 2;
-				Object value = null;
-				for (int i = 0; i < limit; i++) {
-
-					/* Find the attribute translator by using the attribute name (attributes[i]) */
-					attrTranslator = this.translator.findChild(this.attributes[i], this.emfOwner, this.versionID);
-
-					if (attrTranslator != null) {
-
-						/*
-						 * Convert the value of corresponding attribute value (attributes[i+limit])
-						 * to a meaningful value
-						 */
-						value = attrTranslator.convertStringToValue(this.attributes[i + limit], (EObject) this.emfOwner);
-						attrTranslator.setMOFValue((EObject) this.emfOwner, value);
-					}
-				}
-
-				/* Forget the attributes so we do not process them again */
-				this.attributes = null;
-			}
-		}
-	}
-
-	/**
-	 * Appends data to the buffer stored by this CENO. Text will be extracted from the data array
-	 * begining at positiong <i>start </i> and ending at position <i>start+length </i>.
-	 * 
-	 * @param data
-	 * @param start
-	 * @param length
-	 */
-	public void appendToBuffer(char[] data, int start, int length) {
-
-		if (parent != null && this.isIgnorable()) {
-			parent.appendToBuffer(data, start, length);
-			return;
-		}
-
-		if (buffer == null) {
-			this.buffer = new StringBuffer();
-		}
-
-		/*
-		 * acts as a more efficient form of "append". Using this method avoids the need to copy the
-		 * data into its own data structure (e.g. String) before being added to the buffer
-		 */
-		this.buffer.insert(buffer.length(), data, start, length);
-
-	}
-
-	/**
-	 * Add the given CENO as a child of this CENO.
-	 * 
-	 * @param record
-	 */
-	public void appendToBuffer(CacheEventNode record) {
-
-		this.addChild(record);
-	}
-
-	public String getBuffer() {
-		if (this.buffer == null) {
-			return null;
-		}
-		return this.buffer.toString();
-	}
-
-	public Notifier getEmfOwner() {
-		return emfOwner;
-	}
-
-	public CacheEventNode getParent() {
-		return parent;
-	}
-
-	private void setParent(CacheEventNode record) {
-		this.parent = record;
-	}
-
-	public Translator getTranslator() {
-		return this.translator;
-	}
-
-	public void setEmfOwner(Notifier notifier) {
-
-		this.emfOwner = notifier;
-	}
-
-	public void setTranslator(Translator translator) {
-		this.translator = translator;
-	}
-
-	public String getNodeName() {
-		return nodeName;
-	}
-
-	public int getVersionID() {
-
-		if (this.parent == null) {
-			try {
-				return ((TranslatorResource) this.getEmfOwner()).getVersionID();
-
-			} catch (RuntimeException re) {
-			}
-		}
-		return this.versionID;
-	}
-
-	public void setVersionID(int i) {
-		versionID = i;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventPool.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventPool.java
deleted file mode 100644
index 55799e2..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventPool.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.xml.sax.Attributes;
-
-/**
- * Provides an instance pool of reusable CacheEventNodes. The pool will default to 10 live
- * instances. When its available instances reach five times its initial capacity, it will shrink
- * itself down to the initial capacity.
- * 
- * @author mdelder
- */
-public class CacheEventPool {
-
-	public static final int DEFAULT_CAPACITY = 10;
-	public static final int DEFAULT_CAPACITY_INCREMENT = 25;
-
-	private int poolCapacity = DEFAULT_CAPACITY;
-	private CacheEventStack availablePool = null;
-	private Collection inusePool = null;
-
-	public CacheEventPool() {
-		this(DEFAULT_CAPACITY);
-	}
-
-	/**
-	 * Create a CacheEventPOol with the given initial capacity
-	 * 
-	 * @param initialCapacity
-	 *            The number of available instances to create.
-	 */
-	public CacheEventPool(int initialCapacity) {
-		poolCapacity = (initialCapacity > 0) ? initialCapacity : DEFAULT_CAPACITY;
-		availablePool = new CacheEventStack();
-		inusePool = new ArrayList(poolCapacity);
-	}
-
-	/**
-	 * Create a CacheEventNode (CENO) initialized to use the given resource as its EMF Owner.
-	 * 
-	 * THIS METHOD SHOULD ONLY BE USED TO CREATE ROOT NODES.
-	 * 
-	 * @param resource
-	 *            the resource that will be populated
-	 * @return a CacheEventNode to serve as the root.
-	 */
-	public CacheEventNode createCacheEventNode(TranslatorResource resource) {
-		CacheEventNode adapter = fetchFreeNode();
-		adapter.init(resource);
-		return adapter;
-	}
-
-	/**
-	 * Create child CacheEventNodes (CENOs) that will branch from the given parent.
-	 * 
-	 * @param parent
-	 *            the containing CENO
-	 * @param nodeName
-	 *            The value of the XML element node name
-	 * @param attributes
-	 *            The attributes that were part of the given XML element
-	 * @return A CENO that has been properly initialized.
-	 */
-	public CacheEventNode createCacheEventNode(CacheEventNode parent, String nodeName, Attributes attributes) {
-		CacheEventNode adapter = fetchFreeNode();
-		adapter.init(parent, nodeName, attributes);
-		return adapter;
-	}
-
-	/**
-	 * Release the CacheEventNode CENO back to the pool of availabe instances. This method should
-	 * not be invoked directly. CENOs which are acquired from a given pool will automatically
-	 * release themselves when necessary.
-	 * 
-	 * @param adapter
-	 */
-	public void releaseNode(CacheEventNode adapter) {
-		freeNode(adapter);
-	}
-
-	/**
-	 * freezePool() should be invoked to free any unused resources. After freezePool has been
-	 * invoked, warmPool() will need to be invoked before the pool can be used again.
-	 *  
-	 */
-	public void freezePool() {
-		availablePool.clear();
-		availablePool = null;
-	}
-
-	/**
-	 * warmPool() must be invoked to notify the pool it is about to be used. This should occur only
-	 * once per document rendering. Until the pool is in use, it contains no available
-	 * CacheEventNodes (CENOs) in order to limit the size of the in-memory footprint of the
-	 * EMF2SAXWriter.
-	 *  
-	 */
-	public void warmPool() {
-		ensureMinimumCapacity();
-	}
-
-	private CacheEventNode fetchFreeNode() {
-		CacheEventNode result = null;
-
-		if (availablePool == null || availablePool.isEmpty())
-			warmPool();
-
-		result = availablePool.pop();
-		inusePool.add(result);
-
-		return result;
-	}
-
-	private void freeNode(CacheEventNode adapter) {
-		if (inusePool.remove(adapter))
-			availablePool.push(adapter);
-		//else
-		//	throw new IllegalStateException("Adapter not contained in pool!");
-		if (availablePool.size() > (5 * poolCapacity)) {
-			availablePool.clear();
-			ensureMinimumCapacity();
-		}
-	}
-
-	private void ensureMinimumCapacity() {
-		if (availablePool == null) {
-			availablePool = new CacheEventStack();
-		}
-		if (availablePool.size() < poolCapacity) {
-			final int minimumCapacity = poolCapacity - availablePool.size();
-			for (int i = 0; i < minimumCapacity; i++)
-				availablePool.push(new CacheEventNode(this));
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventStack.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventStack.java
deleted file mode 100644
index 03f4198..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventStack.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Sep 24, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.ArrayList;
-import java.util.EmptyStackException;
-
-/**
- * An unsynchronized implementation of a Stack (LIFO) data structure. No casting is required when
- * using this data structure.
- * 
- * @author mdelder
- */
-public class CacheEventStack extends ArrayList {
-
-	/**
-	 * 
-	 * @return the top of the stack without removing it
-	 */
-	public CacheEventNode peek() {
-		if (size() == 0)
-			throw new EmptyStackException();
-
-		return (CacheEventNode) get(size() - 1);
-	}
-
-	/**
-	 * 
-	 * @return the top of the stack and removing it
-	 */
-	public CacheEventNode pop() {
-		if (size() == 0)
-			throw new EmptyStackException();
-
-		return (CacheEventNode) remove(size() - 1);
-	}
-
-	/**
-	 * 
-	 * @param adapter
-	 *            A CENO to push onto the top of the stack
-	 */
-	public void push(CacheEventNode adapter) {
-		add(adapter);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityPackageMappingRegistry.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityPackageMappingRegistry.java
deleted file mode 100644
index 25367c8..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityPackageMappingRegistry.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This class is used to register mappings for a package prefix to its current namespace URI. Also,
- * this registry is used to map the package
- */
-public class CompatibilityPackageMappingRegistry {
-	public static CompatibilityPackageMappingRegistry INSTANCE = new CompatibilityPackageMappingRegistry();
-	private Map prefixToPackageURIs = new HashMap();
-	private Map packageURIsToPrefixes = new HashMap();
-
-	/**
-	 *  
-	 */
-	private CompatibilityPackageMappingRegistry() {
-		super();
-	}
-
-	/**
-	 * @return
-	 */
-	public Map getPackageURIsToPrefixes() {
-		return packageURIsToPrefixes;
-	}
-
-	/**
-	 * @return
-	 */
-	public Map getPrefixToPackageURIs() {
-		return prefixToPackageURIs;
-	}
-
-	public void registerPrefixToPackageURI(String prefix, String uri) {
-		if (prefix != null && uri != null) {
-			prefixToPackageURIs.put(prefix, uri);
-			packageURIsToPrefixes.put(uri, prefix);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityResourceFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityResourceFactory.java
deleted file mode 100644
index f824de3..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityResourceFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 23, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class CompatibilityResourceFactory extends XMIResourceFactoryImpl {
-	/**
-	 *  
-	 */
-	public CompatibilityResourceFactory() {
-		super();
-	}
-
-	protected Map prefixToPackageURIs;
-
-	protected Map packageURIsToPrefixes;
-
-	public Map getPrefixToPackageURI() {
-		return CompatibilityPackageMappingRegistry.INSTANCE.getPrefixToPackageURIs();
-	}
-
-	public Map getPackageURIsToPrefixes() {
-		return CompatibilityPackageMappingRegistry.INSTANCE.getPackageURIsToPrefixes();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl#createResource(org.eclipse.emf.common.util.URI)
-	 */
-	public Resource createResource(URI uri) {
-		return new CompatibilityXMIResourceImpl(uri);
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilitySAXXMIHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilitySAXXMIHandler.java
deleted file mode 100644
index ee6ff3e..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilitySAXXMIHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 30, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.SAXXMIHandler;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class CompatibilitySAXXMIHandler extends SAXXMIHandler {
-	protected final static String NULL_ATTRIB = XMLResource.XSI_NS + ":null"; //$NON-NLS-1$
-
-	/**
-	 * @param xmiResource
-	 * @param helper
-	 * @param options
-	 */
-	public CompatibilitySAXXMIHandler(XMLResource xmiResource, XMLHelper helper, Map options) {
-		super(xmiResource, helper, options);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLHandler#isNull()
-	 */
-	protected boolean isNull() {
-		boolean isnull = super.isNull();
-		if (!isnull)
-			isnull = attribs.getValue(NULL_ATTRIB) != null;
-		return isnull;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityURIConverter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityURIConverter.java
deleted file mode 100644
index ba135f5..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityURIConverter.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.URIConverter;
-
-public interface CompatibilityURIConverter extends URIConverter {
-	URI deNormalize(URI uri);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMILoadImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMILoadImpl.java
deleted file mode 100644
index 5f17a46..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMILoadImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 30, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.impl.SAXWrapper;
-import org.eclipse.emf.ecore.xmi.impl.XMILoadImpl;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class CompatibilityXMILoadImpl extends XMILoadImpl {
-
-	/**
-	 * @param helper
-	 */
-	public CompatibilityXMILoadImpl(XMLHelper helper) {
-		super(helper);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl#makeDefaultHandler()
-	 */
-	protected DefaultHandler makeDefaultHandler() {
-		return new SAXWrapper(new CompatibilitySAXXMIHandler(resource, helper, options));
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResource.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResource.java
deleted file mode 100644
index a954f5f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResource.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-public interface CompatibilityXMIResource extends XMIResource {
-	int FORMAT_EMF1 = 0;
-	/**
-	 * format for MOF5 compatibility; note that this can NOT be used with resources usings the
-	 * "platform:/plugin" protocol"
-	 */
-	int FORMAT_MOF5 = 1;
-
-	void addOriginalPackageURI(String packageUri, String originalUri);
-
-	int getFormat();
-
-	/**
-	 * Set the serialization format. By default it is FORMAT_EMF1.
-	 * 
-	 * @see CompatibilityXMIResource#FORMAT_EMF1
-	 * @see CompatibilityXMIResource#FORMAT_MOF5
-	 */
-	void setFormat(int format);
-
-	boolean usesDefaultFormat();
-
-	/**
-	 * @param rootObject
-	 */
-	void removePreservingIds(EObject rootObject);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java
deleted file mode 100644
index adc44b2..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLLoad;
-import org.eclipse.emf.ecore.xmi.XMLSave;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.IDUtil;
-
-
-public class CompatibilityXMIResourceImpl extends XMIResourceImpl implements CompatibilityXMIResource {
-	protected static final String DEFAULT_ENCODING = "UTF-8"; //$NON-NLS-1$
-	protected int format = FORMAT_EMF1;
-	protected Map originalPackageURIs = new HashMap();
-	private boolean preserveIDs = false;
-
-	private static final String PLATFORM_PROTOCOL = "platform"; //$NON-NLS-1$
-	private static final String PLATFORM_PLUGIN = "plugin"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for MappableXMIResourceImpl.
-	 */
-	public CompatibilityXMIResourceImpl() {
-		super();
-		initDefaultSaveOptions();
-	}
-
-	public CompatibilityXMIResourceImpl(URI uri) {
-		super(uri);
-		initDefaultSaveOptions();
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl#createXMLHelper()
-	 */
-	protected final XMLHelper createXMLHelper() {
-		MappedXMIHelper helper = doCreateXMLHelper();
-		helper.setPackageURIsToPrefixes(getPackageURIsToPrefixes());
-		return helper;
-	}
-
-	protected MappedXMIHelper doCreateXMLHelper() {
-		return new MappedXMIHelper(this, getPrefixToPackageURIs());
-	}
-
-	/**
-	 * Subclasses should not need to override this method.
-	 * 
-	 * @see CompatibilityPackageMappingRegistry#getPrefixToPackageURIs()
-	 */
-	protected Map getPrefixToPackageURIs() {
-		return CompatibilityPackageMappingRegistry.INSTANCE.getPrefixToPackageURIs();
-	}
-
-	/**
-	 * Subclasses should not need to override this method.
-	 * 
-	 * @see CompatibilityPackageMappingRegistry#getPrefixToPackageURIs()
-	 */
-	protected Map getPackageURIsToPrefixes() {
-		return CompatibilityPackageMappingRegistry.INSTANCE.getPackageURIsToPrefixes();
-	}
-
-	public void addOriginalPackageURI(String packageUri, String originalUri) {
-		originalPackageURIs.put(packageUri, originalUri);
-	}
-
-	public int getFormat() {
-		return format;
-	}
-
-	public void setFormat(int format) {
-		if (!isPlatformPluginResourceURI())
-			this.format = format;
-	}
-
-	private boolean isPlatformPluginResourceURI() {
-		URI aURI = getURI();
-
-		return aURI != null && PLATFORM_PROTOCOL.equals(uri.scheme()) && PLATFORM_PLUGIN.equals(uri.segment(0));
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.resource.Resource#getURIFragment(EObject)
-	 */
-	public String getURIFragment(EObject eObject) {
-		if (usesDefaultFormat())
-			return super.getURIFragment(eObject);
-		return IDUtil.getOrAssignID(eObject, this);
-	}
-
-	public boolean usesDefaultFormat() {
-		return format == CompatibilityXMIResource.FORMAT_EMF1;
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl#createXMLSave()
-	 */
-	protected XMLSave createXMLSave() {
-		if (usesDefaultFormat())
-			return super.createXMLSave();
-		return new CompatibilityXMISaveImpl(createXMLHelper());
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#doSave(OutputStream, Map)
-	 */
-	public void doSave(OutputStream outputStream, Map options) throws IOException {
-		super.doSave(outputStream, options);
-	}
-
-	/**
-	 * Method initDefaultOptions.
-	 */
-	protected void initDefaultSaveOptions() {
-		if (defaultSaveOptions == null) {
-			getDefaultSaveOptions();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceImpl#getEObjectByID(String)
-	 */
-	protected EObject getEObjectByID(String id) {
-		if (idToEObjectMap != null) {
-			EObject eObject = (EObject) idToEObjectMap.get(id);
-			if (eObject != null) {
-				return eObject;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Called when the object is unloaded. This implementation
-	 * {@link InternalEObject#eSetProxyURI sets}the object to be a proxy and clears the
-	 * {@link #eAdapters adapters}.
-	 */
-	protected void unloaded(InternalEObject internalEObject) {
-		//overridden from the super class; call super.getURIFragment instead of the implementation
-		//at this level, to avoid ID generation during unload
-		//internalEObject.eSetProxyURI(uri.appendFragment(getURIFragment(internalEObject)));
-		internalEObject.eSetProxyURI(uri.appendFragment(super.getURIFragment(internalEObject)));
-		internalEObject.eAdapters().clear();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#doLoad(java.io.InputStream,
-	 *      java.util.Map)
-	 */
-	public final void doLoad(InputStream inputStream, Map options) throws IOException {
-		ExtendedEcoreUtil.addLoadingTag(this);
-		try {
-			basicDoLoad(inputStream, options);
-		} finally {
-			ExtendedEcoreUtil.removeLoadingTag(this);
-		}
-	}
-
-	protected void basicDoLoad(InputStream inputStream, Map options) throws IOException {
-		super.doLoad(inputStream, options);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#init()
-	 */
-	protected void init() {
-		super.init();
-		setEncoding(DEFAULT_ENCODING);
-	}
-
-	protected XMLLoad createXMLLoad() {
-		return new CompatibilityXMILoadImpl(createXMLHelper());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.CompatibilityXMIResource#removePreservingIds(org.eclipse.emf.ecore.EObject)
-	 */
-	public void removePreservingIds(EObject rootObject) {
-		setPreserveIDs(true);
-		getContents().remove(rootObject);
-	}
-
-	/**
-	 * @return Returns the preserveIDs.
-	 */
-	public boolean isPreserveIDs() {
-		return preserveIDs;
-	}
-
-	/**
-	 * @param preserveIDs
-	 *            The preserveIDs to set.
-	 */
-	public void setPreserveIDs(boolean preserveIDs) {
-		this.preserveIDs = preserveIDs;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#detachedHelper(org.eclipse.emf.ecore.EObject)
-	 */
-	protected void detachedHelper(EObject eObject) {
-		if (modificationTrackingAdapter != null) {
-			eObject.eAdapters().remove(modificationTrackingAdapter);
-		}
-
-		if (useUUIDs()) {
-			DETACHED_EOBJECT_TO_ID_MAP.put(eObject, getID(eObject));
-		}
-
-		if (!isPreserveIDs() && idToEObjectMap != null && eObjectToIDMap != null) {
-			idToEObjectMap.remove(eObjectToIDMap.remove(eObject));
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMISaveImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMISaveImpl.java
deleted file mode 100644
index c1a7bf2..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMISaveImpl.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.XMISaveImpl;
-
-public class CompatibilityXMISaveImpl extends XMISaveImpl {
-
-	/**
-	 * Constructor for CompatibilityXMISaveImpl.
-	 * 
-	 * @param helper
-	 */
-	public CompatibilityXMISaveImpl(XMLHelper helper) {
-		super(helper);
-	}
-
-	/**
-	 * Constructor for CompatibilityXMISaveImpl.
-	 * 
-	 * @param options
-	 * @param helper
-	 * @param encoding
-	 */
-	public CompatibilityXMISaveImpl(Map options, XMLHelper helper, String encoding) {
-		super(options, helper, encoding);
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMISaveImpl#init(XMLResource, Map)
-	 */
-	protected void init(XMLResource resource, Map options) {
-		super.init(resource, options);
-		xmiType = true;
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMISaveImpl#addNamespaceDeclarations()
-	 */
-	public void addNamespaceDeclarations() {
-		doc.addAttribute(XMI_VER_NS, XMIResource.VERSION_VALUE);
-		doc.addAttribute(XMI_XMLNS, XMIResource.XMI_URI);
-		EPackage[] packages = helper.packages();
-		StringBuffer xsiSchemaLocation = null;
-		if (declareSchemaLocation) {
-			for (int i = 0; i < packages.length; i++) {
-				EPackage ePackage = packages[i];
-
-				EObject root = EcoreUtil.getRootContainer(ePackage);
-				if (root instanceof EPackage) {
-					EPackage rootEPackage = (EPackage) root;
-					Resource resource = rootEPackage.eResource();
-					if (resource != null) {
-						URI uri = resource.getURI();
-						String rootNsURI = rootEPackage.getNsURI();
-						if (uri == null ? rootNsURI != null : !uri.toString().equals(rootNsURI)) {
-							declareXSI = true;
-							if (xsiSchemaLocation == null) {
-								xsiSchemaLocation = new StringBuffer();
-							} else {
-								xsiSchemaLocation.append(' ');
-							}
-							xsiSchemaLocation.append(rootNsURI);
-							xsiSchemaLocation.append(' ');
-							xsiSchemaLocation.append(helper.getHREF(rootEPackage));
-						}
-					}
-				}
-			}
-		}
-
-		if (declareXSI) {
-			doc.addAttribute(XSI_XMLNS, XMLResource.XSI_URI);
-		}
-
-		for (int i = 0; i < packages.length; i++) {
-			EPackage ePackage = packages[i];
-			//Modified from superclass - dispatch back to helper for compatibility
-			//String nsURI = ePackage.getNsURI();
-			//String nsPrefix = ePackage.getNsPrefix();
-			String[] nsInfo = ((MappedXMIHelper) helper).getNSInfo(ePackage);
-			doc.addAttributeNS(XMLResource.XML_NS, nsInfo[0], nsInfo[1]);
-		}
-
-		if (xsiSchemaLocation != null) {
-			doc.addAttribute(XSI_SCHEMA_LOCATION, xsiSchemaLocation.toString());
-		}
-	}
-
-	protected void saveHref(EObject remote, EStructuralFeature f) {
-		String name = helper.getQName(f);
-		String href = helper.getHREF(remote);
-		if (href != null) {
-			doc.startElement(name);
-			EClass eClass = remote.eClass();
-
-			EClass expectedType = (EClass) f.getEType();
-			//Changed next line to always write type if expectedType
-			//is different from eClass
-			if (eClass != expectedType) {
-				saveTypeAttribute(eClass);
-			}
-
-			doc.addAttribute(XMLResource.HREF, href);
-			doc.endEmptyElement();
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ConstantAttributeTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ConstantAttributeTranslator.java
deleted file mode 100644
index 356f102..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ConstantAttributeTranslator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 15, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * @author schacher
- */
-public class ConstantAttributeTranslator extends Translator {
-
-	protected String attributeValue;
-
-	/**
-	 * @param domNameAndPath
-	 * @param eClass
-	 */
-	public ConstantAttributeTranslator(String domNameAndPath, String attributeValue) {
-		super(domNameAndPath, null, DOM_ATTRIBUTE);
-		this.attributeValue = attributeValue;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#getMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public Object getMOFValue(EObject mofObject) {
-		return attributeValue;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isSetMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public boolean isSetMOFValue(EObject emfObject) {
-		return true;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DefaultTranslatorFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DefaultTranslatorFactory.java
deleted file mode 100644
index 7518472..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DefaultTranslatorFactory.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 20, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.internal.emf.utilities.Namespace;
-import org.eclipse.wst.common.internal.emf.utilities.NamespaceAdapter;
-
-
-/**
- * @author schacher
- */
-public class DefaultTranslatorFactory implements VariableTranslatorFactory {
-
-	public static final String XMLNS = "xmlns:"; //$NON-NLS-1$
-	public static final DefaultTranslatorFactory INSTANCE = new DefaultTranslatorFactory();
-
-	public DefaultTranslatorFactory() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#accepts(java.lang.String)
-	 */
-	public boolean accepts(String domName) {
-		return domName != null && domName.startsWith(XMLNS);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#accepts(org.eclipse.emf.common.notify.Notification)
-	 */
-	public boolean accepts(Notification notif) {
-		return notif.getFeature() == NamespaceAdapter.NOTIFICATION_FEATURE;
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#create(java.lang.String)
-	 */
-	public Translator create(String domName) {
-		return new NamespaceTranslator(domName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#create(org.eclipse.emf.ecore.EObject)
-	 */
-	public List create(Notifier target) {
-		if (!(target instanceof EObject))
-			return null;
-		List namespaces = NamespaceAdapter.getNamespaces((EObject) target);
-		if (namespaces == null || namespaces.isEmpty())
-			return null;
-		List result = new ArrayList(namespaces.size());
-		for (int i = 0; i < namespaces.size(); i++) {
-			result.add(create((Namespace) namespaces.get(i)));
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#create(org.eclipse.emf.common.notify.Notification)
-	 */
-	public Translator create(Notification notif) {
-		Namespace ns = (Namespace) notif.getNewValue();
-		return create(ns);
-	}
-
-	private Translator create(Namespace ns) {
-		return new NamespaceTranslator(XMLNS + ns.getPrefix());
-	}
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DependencyTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DependencyTranslator.java
deleted file mode 100644
index c7d1c62..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DependencyTranslator.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 25, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * @author schacher
- */
-public class DependencyTranslator extends Translator {
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 */
-	public DependencyTranslator(String domNameAndPath, EStructuralFeature aFeature, EStructuralFeature aDependentFeature) {
-		super(domNameAndPath, aFeature);
-		dependencyFeature = aDependentFeature;
-	}
-
-	public EObject getChild(EObject parent) {
-		EObject child = basicGetDependencyObject(parent);
-		if (child == null)
-			return createChild(parent);
-		return child;
-	}
-
-
-	protected EObject createChild(EObject parent) {
-		EObject child = createEMFObject(dependencyFeature);
-		parent.eSet(dependencyFeature, child);
-		return child;
-	}
-
-	public List getMOFChildren(EObject mofObject) {
-		//return super.getMOFChildren(getChild(mofObject));
-		return super.getMOFChildren(mofObject);
-	}
-
-	public Object getMOFValue(EObject mofObject) {
-		return super.getMOFValue(getChild(mofObject));
-	}
-
-	public void setMOFValue(EObject emfObject, Object value) {
-		//super.setMOFValue(getChild(emfObject), value);
-		super.setMOFValue(getChild(emfObject), value, -1);
-	}
-
-	public void setMOFValue(Notifier owner, Object value, int newIndex) {
-		super.setMOFValue(getChild((EObject) owner), value, newIndex);
-	}
-
-	public void removeMOFValue(Notifier owner, Object value) {
-		super.removeMOFValue(getChild((EObject) owner), value);
-	}
-
-	public boolean isSetMOFValue(EObject emfObject) {
-		return super.isSetMOFValue(getChild(emfObject));
-	}
-
-	public void unSetMOFValue(EObject emfObject) {
-		super.unSetMOFValue(getChild(emfObject));
-	}
-
-
-	public boolean isDependencyChild() {
-		return true;
-	}
-
-	public boolean featureExists(EObject emfObject) {
-		return super.featureExists(getChild(emfObject));
-	}
-
-	public void clearList(EObject mofObject) {
-		super.clearList(getChild(mofObject));
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapter.java
deleted file mode 100644
index 9782ea1..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.ecore.EObject;
-import org.w3c.dom.Node;
-
-public interface EMF2DOMAdapter extends Adapter {
-
-
-	Class ADAPTER_CLASS = EMF2DOMAdapter.class;
-
-	/**
-	 * Return the DOM node that the target of this adapter maps to. If the target MOF object maps to
-	 * more than one DOM node, this node is the top-most node.
-	 */
-	Node getNode();
-
-	void setNode(Node aNode);
-
-	/**
-	 * Set to false and notification of changes from both the DOM node and the MOF object will be
-	 * ignored.
-	 */
-	boolean isNotificationEnabled();
-
-	/**
-	 * Set to false and notification of changes from both the DOM node and the MOF object will be
-	 * ignored.
-	 */
-	void setNotificationEnabled(boolean isEnabled);
-
-	/**
-	 * Updates the DOM tree for this adapter from the current values of the MOF Object. This method
-	 * updates ALL the DOM nodes from all the MOF attributes.
-	 */
-	void updateDOM();
-
-	/**
-	 * Updates the MOF Object from the DOM tree. All the children of the DOM tree are updated into
-	 * the MOF object.
-	 */
-	void updateMOF();
-
-	public void updateDOMFeature(Translator map, Node node, EObject mofObject);
-
-	public void updateMOFFeature(Translator map, Node node, EObject mofObject);
-
-	EObject getEObject();
-
-	/**
-	 * Return true if MOF object is a proxy.
-	 */
-	boolean isMOFProxy();
-
-	/**
-	 * Remove the DOM adapters from the node AND all its child nodes, recursively.
-	 */
-	void removeAdapters(Node node);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java
deleted file mode 100644
index c0e54d6..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java
+++ /dev/null
@@ -1,1740 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.Assert;
-import org.eclipse.wst.common.internal.emf.utilities.DOMUtilities;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopySession;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.FeatureValueConversionException;
-import org.eclipse.wst.common.internal.emf.utilities.Revisit;
-import org.eclipse.wst.common.internal.emf.utilities.StringUtil;
-import org.eclipse.wst.common.internal.emf.utilities.WFTUtilsResourceHandler;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-
-public class EMF2DOMAdapterImpl extends AdapterImpl implements EMF2DOMAdapter {
-
-	final protected static boolean fDebug = false;
-
-	protected boolean fNotificationEnabled = true;
-
-	protected Node fNode;
-
-	protected Translator fTranslator;
-
-	protected EMF2DOMRenderer fRenderer;
-
-	protected Translator[] childTranslators;
-
-	protected boolean isRoot = false;
-
-	private class DependencyAdapter extends org.eclipse.emf.common.notify.impl.AdapterImpl {
-
-		static final String KEY = "EMF2DOMDependencyAdapter"; //$NON-NLS-1$
-
-		public void notifyChanged(Notification msg) {
-			EMF2DOMAdapterImpl.this.notifyChanged(msg);
-		}
-
-		/**
-		 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(Object)
-		 */
-		public boolean isAdapterForType(Object type) {
-			return KEY.equals(type);
-		}
-	}
-
-	/**
-	 * Constructor for root adapters.
-	 */
-	public EMF2DOMAdapterImpl(TranslatorResource resource, Document document, EMF2DOMRenderer renderer, Translator translator) {
-		this((Notifier) resource, (Node) document, renderer, translator);
-		isRoot = true;
-	}
-
-	/**
-	 * Construct an Adapter given an EObject and a node
-	 */
-	public EMF2DOMAdapterImpl(Notifier object, Node node, EMF2DOMRenderer renderer, Translator translator) {
-		super();
-		setTarget(object);
-		fNode = node;
-		fRenderer = renderer;
-		fTranslator = translator;
-		initChildTranslators();
-		addEMFAdapter();
-		addDOMAdapter();
-		addDependencyAdapterIfNecessary();
-	}
-
-	/**
-	 * Construct an adapter from a DOM Node. The EObject will be created
-	 */
-	public EMF2DOMAdapterImpl(Node node, EMF2DOMRenderer renderer, Translator translator) {
-		fNode = node;
-		fRenderer = renderer;
-		fTranslator = translator;
-		setTargetFromNode();
-		initChildTranslators();
-		addEMFAdapter();
-		addDOMAdapter();
-		addDependencyAdapterIfNecessary();
-
-	}
-
-	protected void addDependencyAdapterIfNecessary() {
-		if (!fTranslator.isDependencyParent())
-			return;
-		EObject child = fTranslator.basicGetDependencyObject(getEObject());
-		if (child != null)
-			addDependencyAdapter(child);
-	}
-
-	protected void initChildTranslators() {
-
-		List children = new ArrayList();
-		// TODO come up with translator extension mechanism
-		//children.add(AnnotationsTranslator.INSTANCE);
-		children.addAll(Arrays.asList(fTranslator.getChildren(getTarget(), fRenderer.getVersionID())));
-
-		VariableTranslatorFactory factory = fTranslator.getVariableTranslatorFactory();
-		if (factory != null) {
-			String domName = null;
-			NamedNodeMap map = fNode.getAttributes();
-
-			if (map != null) {
-				int length = map.getLength();
-				for (int i = 0; i < length; i++) {
-					Node attrNode = map.item(i);
-					domName = attrNode.getNodeName();
-					//Handle variable translators
-					Translator t = fTranslator.findChild(domName, getTarget(), fRenderer.getVersionID());
-					if (t != null && !children.contains(t))
-						children.add(t);
-				}
-			}
-			List childrenFromEMF = factory.create(getTarget());
-			if (childrenFromEMF != null)
-				children.addAll(childrenFromEMF);
-		}
-
-		childTranslators = (Translator[]) children.toArray(new Translator[children.size()]);
-	}
-
-	/**
-	 * Set to false and notification of changes from both the DOM node and the MOF object will be
-	 * ignored.
-	 */
-	public boolean isNotificationEnabled() {
-		return fNotificationEnabled;
-	}
-
-	/**
-	 * Set to false and notification of changes from both the DOM node and the MOF object will be
-	 * ignored.
-	 */
-	public void setNotificationEnabled(boolean isEnabled) {
-		fNotificationEnabled = isEnabled;
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return EMF2DOMAdapter.ADAPTER_CLASS == type;
-	}
-
-	protected void addEMFAdapter() {
-		target.eAdapters().add(this);
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		sb.append(shortClassName(this));
-		sb.append('(');
-		sb.append(getNode().getNodeName());
-		sb.append(',');
-		sb.append(shortClassName(getTarget()));
-		sb.append(')');
-		return sb.toString();
-	}
-
-	protected String shortClassName(Object o) {
-		String cn = o.getClass().getName();
-		int i = cn.lastIndexOf('.');
-		return cn.substring(i + 1, cn.length());
-	}
-
-	/*
-	 * Prints out a MOF notification for debugging
-	 */
-	protected void debugMOFNotify(Notification msg) {
-		if (fDebug) {
-			String notifType = ""; //$NON-NLS-1$
-			switch (msg.getEventType()) {
-				case Notification.ADD :
-					notifType = "ADD"; //$NON-NLS-1$
-					break;
-				case Notification.REMOVE :
-					notifType = "REMOVE"; //$NON-NLS-1$
-					break;
-				case Notification.ADD_MANY :
-					notifType = "ADD_MANY"; //$NON-NLS-1$
-					break;
-				case Notification.REMOVE_MANY :
-					notifType = "REMOVE_MANY"; //$NON-NLS-1$
-					break;
-				case Notification.SET : {
-					if (msg.getPosition() == Notification.NO_INDEX)
-						notifType = "REPLACE"; //$NON-NLS-1$
-					else
-						notifType = "SET"; //$NON-NLS-1$
-					break;
-				}
-				case Notification.UNSET :
-					notifType = "UNSET"; //$NON-NLS-1$
-					break;
-			}
-
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("MOF Change: " + notifType); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tnotifier      : " + msg.getNotifier()); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tchangedFeature: " + msg.getFeature()); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\toldValue      : " + msg.getOldValue()); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tnewValue      : " + msg.getNewValue()); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Override this method to create the feature maps for the adapter.
-	 */
-	protected Translator[] getChildTranslators() {
-		return childTranslators;
-	}
-
-	protected Translator findTranslator(Notification not) {
-		if (not.getFeature() == null)
-			return null;
-		Translator[] maps = getChildTranslators();
-		for (int i = 0; i < maps.length; i++) {
-			if (maps[i].isMapFor(not.getFeature(), not.getOldValue(), not.getNewValue()))
-				return maps[i];
-		}
-		return null;
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	protected void primUpdateDOMMultiFeature(Translator map, Node node, List mofChildren, List domChildren, Notifier owner) {
-
-		//Used for inserting primitives
-		List inorderDOMChildren = null;
-		if (!map.isObjectMap() || map.isManagedByParent()) {
-			inorderDOMChildren = new ArrayList();
-			inorderDOMChildren.addAll(domChildren);
-		}
-		Node parent = findDOMPath(node, map, false);
-
-		// Go though the MOF children checking to see if the corresponding
-		// MOF Adapter children exists. If not, create the adapter.
-		// Also handles reordering children that have moved.
-		int i = 0;
-		for (; i < mofChildren.size(); i++) {
-			Object child = mofChildren.get(i);
-			EObject mofChild = null;
-
-			EMF2DOMAdapter adapter = null;
-
-			// Check to see if the child is a MOF Object.
-			if (!map.isManagedByParent() && child instanceof EObject) {
-				mofChild = (EObject) mofChildren.get(i);
-				adapter = getExistingAdapter(mofChild);
-			}
-
-			if (adapter != null && i < domChildren.size() && domChildren.get(i) == adapter.getNode())
-				continue;
-			if (adapter != null) {
-				if (domChildren.isEmpty())
-					continue;
-				// A node has been reordered in the list
-				Node reorderNode = adapter.getNode();
-				Node insertBeforeNode = (Node) domChildren.get(i);
-				domChildren.remove(reorderNode);
-				domChildren.add(i, reorderNode);
-				if (reorderNode != insertBeforeNode) {
-					reorderDOMChild(parent, reorderNode, insertBeforeNode, map);
-				}
-			} else {
-				// A new node has been added, create it
-				parent = createDOMPath(node, map);
-				if (mofChild != null) {
-					adapter = createAdapter(mofChild, map);
-					Node newNode = adapter.getNode();
-					Node insertBeforeNode = findInsertBeforeNode(parent, map, mofChildren, i, domChildren);
-					DOMUtilities.insertBeforeNodeAndWhitespace(parent, newNode, insertBeforeNode);
-					domChildren.add(i, newNode);
-					boolean notificationFlag = adapter.isNotificationEnabled();
-					adapter.setNotificationEnabled(false);
-					try {
-						indent(newNode, map);
-					} finally {
-						adapter.setNotificationEnabled(notificationFlag);
-					}
-					adapter.updateDOM();
-				} else {
-					// The mof feature is a collection of primitives.
-					// create a new dom node and listen to it.
-					Element newNode = createNewNode(null, map);
-					Node insertBeforeNode = findInsertBeforeNode(parent, map, mofChildren, i, inorderDOMChildren);
-					DOMUtilities.insertBeforeNodeAndWhitespace(parent, newNode, insertBeforeNode);
-					indent(newNode, map);
-					addDOMAdapter(newNode); // Hook up listeners
-					domChildren.add(i, newNode);
-					inorderDOMChildren.add(newNode);
-					Text newText = parent.getOwnerDocument().createTextNode(map.convertValueToString(child, (EObject) owner));
-					DOMUtilities.insertBeforeNode(newNode, newText, null);
-				}
-			}
-		}
-
-		// Remove any remaining adapters.
-		for (; i < domChildren.size(); i++) {
-			removeDOMChild(parent, (Element) domChildren.get(i));
-		}
-
-		// If there are no MOF children, remove any unnecessary DOM node paths
-		if (mofChildren.size() == 0 && map.hasDOMPath()) {
-			if (map.shouldRenderEmptyDOMPath((EObject) owner))
-				createDOMPath(node, map);
-			else
-				removeDOMPath(node, map);
-		}
-
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	protected void primUpdateMOFMultiFeature(Translator map, Node node, List mofChildren, List domChilren) {
-
-		Hashtable nodeToAdapter = new Hashtable();
-
-		for (int i = 0; i < mofChildren.size(); i++) {
-			EMF2DOMAdapter adapter = getExistingAdapter((EObject) mofChildren.get(i));
-			if (adapter != null)
-				nodeToAdapter.put(adapter.getNode(), adapter);
-		}
-
-		// Go though the DOM children checking to see if the corresponding
-		// MOF Adapter children exists. If not, create the adapter.
-		// Also handles reordering children that have moved.
-		int i = 0;
-		int mofIndex = 0;
-		List adaptersToUpdate = new ArrayList();
-		for (; i < domChilren.size(); i++) {
-			Element childNode = (Element) domChilren.get(i);
-			EMF2DOMAdapter adapter = i < mofChildren.size() ? getExistingAdapter((EObject) mofChildren.get(i)) : null;
-			if (adapter != null && !adapter.isMOFProxy() && adapter.getNode() == childNode) {
-				// Because the adapter is processing STRUCTURE_CHANGED from the
-				// DOM, we
-				// must update all the way down the tree since anything under
-				// the notifying
-				// DOM node could have changed.
-				adapter.updateMOF();
-				mofIndex++;
-				continue;
-			}
-
-			adapter = (EMF2DOMAdapter) nodeToAdapter.get(childNode);
-			if (adapter != null) {
-				reorderIfNecessary((EList) mofChildren, adapter.getEObject(), mofIndex);
-				mofIndex++;
-			} else {
-				adapter = createAdapter(childNode, map);
-				if (adapter != null) {
-					try {
-						//We don't want to push anything back to the child dom
-						adapter.setNotificationEnabled(false);
-						map.setMOFValue(getTarget(), adapter.getTarget(), mofIndex);
-					} finally {
-						adapter.setNotificationEnabled(true);
-					}
-
-					adaptersToUpdate.add(adapter);
-					mofIndex++;
-				}
-			}
-		}
-
-		// Remove any remaining adapters.
-		for (; i < mofChildren.size();) {
-			removeMOFValue((EObject) mofChildren.get(i), map);
-		}
-
-		// The adapters cannot be updated as they created. We must wait until
-		// all of the adapters are created and removed before updating,
-		// otherwise
-		// we can get in a state where there are adapters fighting with
-		// eachother
-		// (one for the old node and one for the new node).
-		for (int j = 0; j < adaptersToUpdate.size(); j++) {
-			((EMF2DOMAdapter) adaptersToUpdate.get(j)).updateMOF();
-		}
-	}
-
-	/**
-	 * Removes a feature's value.
-	 * 
-	 * @param childAdapter
-	 *            com.ibm.etools.mof2dom.EMF2DOMAdapter The child to remove
-	 * @param mofAttributeName
-	 *            String The name of the mofAttribute to remove the child from.
-	 */
-	protected void removeMOFValue(EObject value, Translator translator) {
-
-		if (value == null)
-			return;
-
-		EMF2DOMAdapter adapter = (EMF2DOMAdapter) EcoreUtil.getExistingAdapter(value, EMF2DOMAdapter.ADAPTER_CLASS);
-		if (adapter != null) {
-			// Remove the adapter from BOTH the MOF Object and the DOM Nodes
-			value.eAdapters().remove(adapter);
-			removeAdapters(adapter.getNode());
-		}
-
-		EStructuralFeature feature = translator.getFeature();
-		boolean doUnload = feature == null || (translator.isObjectMap() && ((EReference) feature).isContainment());
-
-		// translator.removeMOFValue() was here originally
-
-		// Unload the objects.
-		if (doUnload)
-			ExtendedEcoreUtil.unload(value);
-
-		// Remove the MOF value
-		translator.removeMOFValue(getTarget(), value);
-	}
-
-	protected void reorderIfNecessary(EList emfChildren, EObject eObj, int emfIndex) {
-		int currIndex = emfChildren.indexOf(eObj);
-		if (currIndex > -1 && currIndex != emfIndex)
-			emfChildren.move(emfIndex, eObj);
-	}
-
-	/**
-	 * default is to do nothing; subclasses can override
-	 */
-	protected void indent(Node newNode, Translator map) {
-
-	}
-
-	protected Node findInsertBeforeNode(Node parentNode, Translator map, List mofList, int mofInx, List domList) {
-		Node insertBeforeNode = null;
-
-		// If there are no current dom children for this map, find the initial
-		// insert pos.
-		if (domList.size() == 0)
-			return findInitialInsertBeforeNode(parentNode, map);
-
-		// If some dom nodes then find the correct one to insert before.
-		int i = mofInx + 1;
-		while (i < mofList.size() && insertBeforeNode == null) {
-			// Start at the mofInx passed in and look forward for the first
-			// adapted
-			// MOF object. Use that node as the insert before node.
-			Object o = mofList.get(i);
-			if (!map.isObjectMap() || map.isManagedByParent())
-				break;
-			EObject tMOFObject = (EObject) o;
-			EMF2DOMAdapter tAdapter = (EMF2DOMAdapter) EcoreUtil.getExistingAdapter(tMOFObject, EMF2DOMAdapter.ADAPTER_CLASS);
-			if (tAdapter != null) {
-				insertBeforeNode = tAdapter.getNode();
-			}
-			i++;
-		}
-
-		// Handle inserting at the end of the list
-		if (insertBeforeNode == null)
-			insertBeforeNode = DOMUtilities.getNextNodeSibling((Node) domList.get(domList.size() - 1));
-		if (insertBeforeNode == null)
-			insertBeforeNode = ((Node) domList.get(domList.size() - 1)).getNextSibling();
-
-		return insertBeforeNode;
-	}
-
-	protected Node findInitialInsertBeforeNode(Node parentNode, Translator mapNode) {
-		Translator[] maps = getChildTranslators();
-
-		// First, skip past all the maps in the ordered collection
-		// of maps. We want to begin the search with this node.
-		int i = 0;
-		for (; i < maps.length; i++) {
-			if (maps[i] == mapNode)
-				break;
-		}
-
-		// Now search go through each map node until a child node matching
-		// its DOM name is found.
-		Node insertBeforeNode = null;
-		for (int j = i; j < maps.length && insertBeforeNode == null; j++) {
-			NodeList childNodes = parentNode.getChildNodes();
-			Translator nodeToFindMap = maps[j];
-			for (int k = 0; k < childNodes.getLength(); k++) {
-				Node node = childNodes.item(k);
-				if (nodeToFindMap.isMapFor(node.getNodeName())) {
-					insertBeforeNode = node;
-					break;
-				}
-			}
-		}
-		return insertBeforeNode;
-	}
-
-	/*
-	 * Traverses the path that <map> specifies. Returns the last node of the path that was able to
-	 * be traversed or null if the path could not be traversed. The <addAdapters> boolean is used to
-	 * determine if the receiver is added as an adapter to every node found on the path.
-	 */
-	protected Node findDOMPath(Node parent, Translator map, boolean addAdapters) {
-
-		String path = map.getDOMPath();
-		Node curNode = parent;
-		Iterator iter = DOMUtilities.createPathIterator(path);
-
-		while (curNode != null && iter.hasNext()) {
-			String nodeName = (String) iter.next();
-			curNode = DOMUtilities.getNodeChild(curNode, nodeName);
-			if (addAdapters && curNode != null) {
-				addDOMAdapter(curNode);
-			}
-		}
-		return curNode;
-	}
-
-	/**
-	 * Return the list of DOM node children that currently exist with the specified tagname.
-	 */
-	protected List getDOMChildren(Node node, Translator map) {
-		Node parent = findDOMPath(node, map, true);
-		if (parent != null)
-			return DOMUtilities.getNodeChildren(parent, map.getDOMNames());
-		return new ArrayList();
-	}
-
-	protected EMF2DOMAdapter getExistingAdapter(EObject refObject) {
-		EMF2DOMAdapter adapter = (EMF2DOMAdapter) EcoreUtil.getExistingAdapter(refObject, EMF2DOMAdapter.ADAPTER_CLASS);
-		if (adapter != null && adapter.isMOFProxy()) {
-			refObject.eAdapters().remove(adapter);
-			removeDOMAdapter(adapter.getNode(), adapter);
-			adapter = null;
-		}
-		return adapter;
-	}
-
-	protected void primAddDOMAdapter(Node aNode, EMF2DOMAdapter anAdapter) {
-		fRenderer.registerDOMAdapter(aNode, anAdapter);
-	}
-
-	protected EMF2DOMAdapter primGetExistingAdapter(Node aNode) {
-		return fRenderer.getExistingDOMAdapter(aNode);
-	}
-
-	protected void removeDOMAdapter(Node aNode, EMF2DOMAdapter anAdapter) {
-		fRenderer.removeDOMAdapter(aNode, anAdapter);
-	}
-
-	protected void addDOMAdapter(Node childNode) {
-
-		// Only add the adapter if this is an child node that will not be
-		// adapted. For instance a subtree that maps to a MOF attribute
-		// setting.
-		if (childNode.getNodeType() == Node.ELEMENT_NODE) {
-			EMF2DOMAdapter attrAdapter = primGetExistingAdapter(childNode);
-
-			if (attrAdapter == null || attrAdapter.getNode() != getNode()) {
-				// If the node is adapted, but not by this adapter then remove
-				// it. This happens to non-object children when the parent tag
-				// name is changed.
-				removeDOMAdapter(childNode, attrAdapter);
-
-				if (fDebug) {
-					com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tCHILD: Adding DOM adapter: " + this); //$NON-NLS-1$
-					com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\t\tto: " + childNode); //$NON-NLS-1$
-				}
-				primAddDOMAdapter(childNode, this);
-			}
-		}
-	}
-
-	/**
-	 * Reorder a child before a given node
-	 */
-	protected void reorderDOMChild(Node parentNode, Node childNode, Node insertBeforeNode, Translator map) {
-		removeDOMChild(parentNode, childNode, false);
-		parentNode.insertBefore(childNode, insertBeforeNode);
-	}
-
-	protected String getNewlineString(Node node) {
-		return DOMUtilities.NEWLINE_STRING;
-	}
-
-	protected String primGetIndentString(Node node) {
-		return DOMUtilities.getIndentString(node);
-	}
-
-	/**
-	 * Remove a child node
-	 */
-	protected void removeDOMChild(Node parentNode, Node childNode) {
-		removeDOMChild(parentNode, childNode, true);
-	}
-
-	/**
-	 * Remove a child node
-	 */
-	protected void removeDOMChild(Node parentNode, Node childNode, boolean removeAdapter) {
-		if (childNode == null)
-			return;
-
-		// Look for any whitespace preceeding the node being
-		// removed and remove it as well.
-		Text prevText = DOMUtilities.getPreviousTextSibling(childNode);
-		if (prevText != null && DOMUtilities.isWhitespace(prevText)) {
-			parentNode.removeChild(prevText);
-		}
-
-		// Remove the node.
-		if (removeAdapter)
-			removeAdapters(childNode);
-
-		parentNode.removeChild(childNode);
-	}
-
-	/**
-	 * Remove the DOM adapters from the node AND all its child nodes, recursively.
-	 */
-	public void removeAdapters(Node node) {
-		EMF2DOMAdapter adapter = primGetExistingAdapter(node);
-		if (adapter != null) {
-			// Remove the adapter from both the DOM node and the MOF Object.
-			removeDOMAdapter(node, adapter);
-			if (adapter.getNode() == node) {
-				Notifier localTarget = adapter.getTarget();
-				if (localTarget != null)
-					localTarget.eAdapters().remove(adapter);
-			}
-		}
-
-		NodeList nl = node.getChildNodes();
-		for (int i = 0; i < nl.getLength(); i++) {
-			Node n = nl.item(i);
-			removeAdapters(n);
-		}
-	}
-
-	/**
-	 * Creates the path specified by <map>under <node>. Only the portion of the path that does not
-	 * exist (if any) is created
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 * @param map
-	 *            com.ibm.etools.mof2dom.Translator
-	 */
-	protected Node createDOMPath(Node node, Translator map) {
-		Iterator i = DOMUtilities.createPathIterator(map.getDOMPath());
-		Node curNode = node;
-		while (i.hasNext()) {
-			String nodeName = (String) i.next();
-			curNode = findOrCreateNode(node, map, nodeName);
-		}
-		return curNode;
-	}
-
-	protected Element findOrCreateNode(Node parent, Translator map, String segment) {
-		Node node = DOMUtilities.getNodeChild(parent, segment);
-		if (node == null) {
-			// The node did not already exist, create it.
-			Document doc = parent.getOwnerDocument();
-			node = doc.createElement(segment);
-			if (map.isEmptyTag())
-				setEmptyTag((Element) node);
-
-			Node insertBeforeNode = findInitialInsertBeforeNode(parent, map);
-			DOMUtilities.insertBeforeNodeAndWhitespace(parent, node, insertBeforeNode);
-			indent(node, map);
-			addDOMAdapter(node); // Hook up listeners
-		}
-		return (Element) node;
-	}
-
-	/**
-	 * Remove the node passed in if it has only whitespace nodes as children
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to check
-	 */
-	protected void removeIfEmpty(Node node) {
-		NodeList nl = node.getChildNodes();
-
-		// Run through all the nodes children. If a non-whitespace node
-		// pis found, bail.
-		for (int i = 0; i < nl.getLength(); i++) {
-			Node childNode = nl.item(i);
-			if (!DOMUtilities.isWhitespace(childNode))
-				return;
-		}
-
-		// We only get here if there are no non-whitespace chars, so
-		// simply remove the node.
-		removeDOMChild(node.getParentNode(), node);
-	}
-
-	/**
-	 * Remove the DOM path specified by <map>from <node>
-	 */
-	protected void removeDOMPath(Node node, Translator map) {
-		Node childNode = findDOMPath(node, map, false);
-		while (childNode != null && childNode != node) {
-			removeIfEmpty(childNode);
-			childNode = childNode.getParentNode();
-		}
-	}
-
-	/**
-	 * Create an adapter for a child DOM node
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to create the adapter for.
-	 */
-	protected EMF2DOMAdapter createAdapter(EObject mofObject, Translator childMap) {
-		//	Assert.isNotNull(childMap.getChildAdapterClass());
-		Assert.isNotNull(mofObject);
-
-		EMF2DOMAdapter adapter = (EMF2DOMAdapter) EcoreUtil.getAdapter(mofObject.eAdapters(), EMF2DOMAdapter.ADAPTER_CLASS);
-
-		if (adapter != null && adapter.isMOFProxy()) {
-			mofObject.eAdapters().remove(adapter);
-			removeAdapters(adapter.getNode());
-			adapter = null;
-		}
-		if (adapter == null)
-			adapter = primCreateAdapter(mofObject, childMap);
-		return adapter;
-	}
-
-	/**
-	 * Create an adapter for a child DOM node
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to create the adapter for.
-	 */
-	protected EMF2DOMAdapter primCreateAdapter(EObject mofObject, Translator childMap) {
-
-		Element newNode = createNewNode(mofObject, childMap);
-		return new EMF2DOMAdapterImpl(mofObject, newNode, fRenderer, childMap);
-	}
-
-	/**
-	 * Create an adapter for a child DOM node
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to create the adapter for.
-	 */
-	protected EMF2DOMAdapter primCreateAdapter(Node node, Translator childMap) {
-		return new EMF2DOMAdapterImpl(node, fRenderer, childMap);
-	}
-
-	/**
-	 * Create an adapter for a child DOM node
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to create the adapter for.
-	 */
-	protected EMF2DOMAdapter createAdapter(Node node, Translator childMap) {
-
-		//Assert.isNotNull(childMap.getChildAdapterClass());
-		Assert.isNotNull(node);
-
-		EMF2DOMAdapter adapter = primGetExistingAdapter(node);
-
-		if (adapter != null && adapter.isMOFProxy()) {
-			removeDOMAdapter(node, adapter);
-			adapter.getTarget().eAdapters().remove(adapter);
-			adapter = null;
-		}
-
-		if (adapter == null) {
-			adapter = primCreateAdapter(node, childMap);
-		}
-		return adapter;
-	}
-
-	protected Element createNewNode(EObject mofObject, Translator childMap) {
-		Node node = getNode();
-		Document doc = (node instanceof Document) ? (Document) node : node.getOwnerDocument();
-
-		Element element = doc.createElement(childMap.getDOMName(mofObject));
-		if (childMap.isEmptyTag())
-			setEmptyTag(element);
-
-		return element;
-	}
-
-	protected void setEmptyTag(Element element) {
-		Revisit.toDo();
-		//Need to figure out how to do this with pure DOM apis, if it is
-		// possible
-	}
-
-	/*
-	 * Return true if MOF object is a proxy.
-	 */
-	public boolean isMOFProxy() {
-		if (isRoot || target == null)
-			return false;
-		return ((InternalEObject) target).eIsProxy();
-	}
-
-	public EObject getEObject() {
-		if (isRoot)
-			return null;
-		return (EObject) target;
-	}
-
-	/**
-	 * Return the DOM node that the target of this adapter maps to. If the target MOF object maps to
-	 * more than one DOM node, this node is the top-most node.
-	 */
-	public Node getNode() {
-		return fNode;
-	}
-
-	public void setNode(Node aNode) {
-		fNode = aNode;
-	}
-
-	public void updateDOM() {
-		if (!isNotificationEnabled())
-			return;
-		primUpdateDOM();
-	}
-
-	public void updateMOF() {
-		if (!isNotificationEnabled())
-			return;
-		primUpdateMOF();
-	}
-
-	protected void primUpdateDOM() {
-		if (isRoot)
-			updateDOMRootFeature();
-		else {
-			Translator[] maps = getChildTranslators();
-			for (int i = 0; i < maps.length; i++) {
-				updateDOMFeature(maps[i], getNode(), getEObject());
-			}
-		}
-	}
-
-	public void primUpdateMOF() {
-		if (isRoot)
-			updateMOFRootFeature();
-		else {
-			Translator[] maps = getChildTranslators();
-			for (int i = 0; i < maps.length; i++) {
-				updateMOFFeature(maps[i], getNode(), getEObject());
-			}
-		}
-	}
-
-	protected void updateDOMRootFeature() {
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			primUpdateDOMMultiFeature(fTranslator, fNode, getResourceContents(), getDOMChildren(fNode, fTranslator), null);
-			updateDOMDocumentType();
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	protected void updateMOFRootFeature() {
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			updateMOFDocumentType();
-			primUpdateMOFMultiFeature(fTranslator, fNode, getResourceContents(), getDOMChildren(fNode, fTranslator));
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	protected DocumentType getDocumentType() {
-		return ((Document) fNode).getDoctype();
-	}
-
-	protected TranslatorResource getResource() {
-		return (TranslatorResource) getTarget();
-	}
-
-	protected EList getResourceContents() {
-		if (!isRoot)
-			throw new IllegalStateException();
-		return ((Resource) getTarget()).getContents();
-	}
-
-	protected void updateDOMDocumentType() {
-
-		DocumentType docType = getDocumentType();
-		String publicId = null, systemId = null, oldPublicId, oldSystemId;
-		oldPublicId = docType == null ? null : docType.getPublicId();
-		oldSystemId = docType == null ? null : docType.getSystemId();
-		TranslatorResource resource = getResource();
-		if (resource != null) {
-			publicId = resource.getPublicId();
-			systemId = resource.getSystemId();
-		}
-		if (!(StringUtil.stringsEqual(publicId, oldPublicId) && StringUtil.stringsEqual(systemId, oldSystemId)))
-			fRenderer.replaceDocumentType(resource.getDoctype(), publicId, systemId);
-	}
-
-	protected void updateDOMDocumentType(Notification msg) {
-		if (msg.getFeature() == TranslatorResource.DOC_TYPE_FEATURE)
-			updateDOMDocumentType();
-	}
-
-	protected void updateMOFDocumentType() {
-
-		TranslatorResource resource = getResource();
-		if (resource == null)
-			return;
-
-		String publicId = null, systemId = null;
-		DocumentType docType = getDocumentType();
-
-		if (docType != null) {
-			publicId = docType.getPublicId();
-			systemId = docType.getSystemId();
-		}
-		if (!(StringUtil.stringsEqual(publicId, resource.getPublicId()) && StringUtil.stringsEqual(systemId, resource.getSystemId())))
-			resource.setDoctypeValues(publicId, systemId);
-	}
-
-	public void notifyChanged(Notification msg) {
-
-		if (isRoot) {
-			notifyChangedForRoot(msg);
-			return;
-		}
-		if (isDependencyFeature(msg))
-			handleDependencyFeature(msg);
-
-		if (!isNotificationEnabled())
-			return;
-
-		debugMOFNotify(msg);
-
-		switch (msg.getEventType()) {
-			case Notification.ADD :
-			case Notification.REMOVE :
-			case Notification.ADD_MANY :
-			case Notification.REMOVE_MANY :
-			case Notification.SET :
-			case Notification.UNSET :
-			case Notification.MOVE :
-				Translator translator = findTranslator(msg);
-				if (translator == null)
-					translator = addVariableTranslatorIfNecessary(msg);
-				if (translator != null)
-					updateDOMFeature(translator, getNode(), getEObject());
-				break;
-		}
-	}
-
-	protected void notifyChangedForRoot(Notification msg) {
-		if (!isNotificationEnabled())
-			return;
-
-		debugMOFNotify(msg);
-
-		switch (msg.getEventType()) {
-			case Notification.ADD :
-			case Notification.REMOVE :
-			case Notification.ADD_MANY :
-			case Notification.REMOVE_MANY :
-				primUpdateDOM();
-				break;
-			case Notification.SET :
-				updateDOMDocumentType(msg);
-				break;
-			case EtoolsCopySession.RESOURCE_COPIED :
-				updateDOM();
-				break;
-		}
-	}
-
-	protected void addDependencyAdapter(EObject child) {
-		Adapter existing = EcoreUtil.getExistingAdapter(child, DependencyAdapter.KEY);
-		if (existing != null)
-			return;
-		DependencyAdapter forwarder = new DependencyAdapter();
-		child.eAdapters().add(forwarder);
-		forwarder.setTarget(child);
-	}
-
-	protected void addDOMAdapter() {
-
-		primAddDOMAdapter(fNode, this);
-		if (fDebug) {
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("Adding DOM adapter: " + this); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tto: " + fNode); //$NON-NLS-1$
-		}
-
-		// Go through the maps. All of the DOM nodes that are not listened
-		// to by another DOM Node adapter, must be listened to by this adapter.
-		NodeList childNodes = fNode.getChildNodes();
-		for (int j = 0; j < childNodes.getLength(); j++) {
-			Node childNode = childNodes.item(j);
-			int nodeType = childNode.getNodeType();
-			if (!DOMUtilities.isTextNode(childNode) && nodeType != Node.COMMENT_NODE) {
-				Translator map = findTranslator(childNode.getNodeName(), false);
-				if (map != null && map.isManagedByParent())
-					addDOMAdapter(childNode);
-			}
-		}
-	}
-
-	protected Translator addVariableTranslatorIfNecessary(Notification msg) {
-		VariableTranslatorFactory fact = fTranslator.getVariableTranslatorFactory();
-		Translator trans = null;
-		if (fact != null && fact.accepts(msg)) {
-			trans = fact.create(msg);
-			if (trans != null)
-				childTranslators = (Translator[]) Translator.concat(childTranslators, trans);
-		}
-		return trans;
-	}
-
-	protected Text createTextNode(Document doc, Translator map, String text) {
-		String nonnulltext = (text != null) ? text : ""; //$NON-NLS-1$
-		return map.isCDATAContent() ? doc.createCDATASection(nonnulltext) : doc.createTextNode(nonnulltext);
-	}
-
-	protected String extractReadAheadName() {
-		if (!fTranslator.hasReadAheadNames())
-			return null;
-		String readAheadName = null;
-
-		ReadAheadHelper helper = fTranslator.getReadAheadHelper(fNode.getNodeName());
-		if (helper == null)
-			return null;
-
-		Node child = null;
-		String[] names = helper.getValues();
-		if (helper.getChildDOMName() == null) {
-			for (int i = 0; i < names.length; i++) {
-				child = DOMUtilities.getNodeChild(fNode, names[i]);
-				if (child != null) {
-					readAheadName = names[i];
-					break;
-				}
-			}
-		} else {
-			child = DOMUtilities.getNodeChild(fNode, helper.getChildDOMName());
-			if (child != null)
-				readAheadName = DOMUtilities.getChildText(child);
-		}
-		if (readAheadName == null)
-			readAheadName = names[0];
-		return readAheadName;
-	}
-
-	/**
-	 * Extracts the text from <node>and converts it to an object suitable for setting into <feature>
-	 */
-	protected Object extractValue(Node node, Translator map, EObject emfObject) {
-
-		// Extract the value from the text child
-		Node textNode = DOMUtilities.getChildTextNode(node);
-		String trimmedValue = null;
-		if (textNode != null)
-			trimmedValue = textNode.getNodeValue();
-		try {
-			return map.convertStringToValue(trimmedValue, emfObject);
-		} catch (FeatureValueConversionException ex) {
-			handleFeatureValueConversionException(ex);
-			return null;
-		}
-	}
-
-	/**
-	 * @param ex
-	 */
-	protected void handleFeatureValueConversionException(FeatureValueConversionException ex) {
-		throw ex;
-
-	}
-
-	/*
-	 * Finds the child node that <map> specifies. If there is more than one child that satisfies
-	 * <map> then the first one is returned.
-	 * 
-	 * This method traverses past the domPath if one is specified in the <map>.
-	 */
-	protected Node findDOMNode(Node parent, Translator map) {
-		return findDOMNode(parent, map, false);
-	}
-
-	/*
-	 * Finds the child node that <map> specifies. If there is more than one child that satisfies
-	 * <map> then the first one is returned. The <addAdapters> boolean is used to determine if the
-	 * receiver is added as an adapter to every node found on the path.
-	 * 
-	 * This method traverses past the domPath if one is specified in the <map>.
-	 */
-	protected Node findDOMNode(Node parent, Translator map, boolean addAdapters) {
-
-		// First, trace down the path
-		Node curNode = findDOMPath(parent, map, addAdapters);
-		if (map.isDOMTextValue() || map.isDOMAttribute() || curNode == null)
-			return curNode;
-
-		// Now look for the first DOM name we can find
-		String[] domNames = map.getDOMNames();
-		Node node = null;
-		for (int i = 0; i < domNames.length; i++) {
-			String nodeName = domNames[i];
-			List nodes = DOMUtilities.getNodeChildren(curNode, nodeName);
-			if (nodes != null && !nodes.isEmpty()) {
-				if (nodes.size() > 1)
-					handleInvalidMultiNodes(nodeName);
-				node = (Node) nodes.get(0);
-				if (node != null) {
-					if (addAdapters && (map != null || map.isManagedByParent()))
-						addDOMAdapter(curNode);
-					break;
-				}
-			}
-		}
-		return node;
-	}
-
-	protected void handleInvalidMultiNodes(String nodeName) {
-		throw new IllegalStateException(WFTUtilsResourceHandler.getString("EMF2DOMAdapterImpl_ERROR_0", new Object[]{nodeName})); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates the path specified by <map>under <node>. Only the portion of the path that does not
-	 * exist (if any) is created
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 * @param map
-	 *            com.ibm.etools.mof2dom.Translator
-	 */
-	protected Text findOrCreateTextNode(Node parent, Translator map, String text) {
-		Text textNode = DOMUtilities.getChildTextNode(parent);
-		if (textNode != null) {
-			textNode.setData(text);
-		} else {
-			if (!isEmptyTag((Element) parent)) {
-				Text newNode = createTextNode(parent.getOwnerDocument(), map, text);
-				DOMUtilities.insertBeforeNode(parent, newNode, null);
-				return newNode;
-			}
-		}
-		return textNode;
-	}
-
-	protected Translator findTranslator(String tagName, boolean attributeMap) {
-		Translator[] maps = getChildTranslators();
-		for (int i = 0; i < maps.length; i++) {
-			Translator map = maps[i];
-			if (map.isMapFor(tagName) && attributeMap == map.isDOMAttribute())
-				return maps[i];
-		}
-
-		return null;
-	}
-
-	protected EMF2DOMAdapter getExistingAdapter(Node aNode) {
-		EMF2DOMAdapter adapter = primGetExistingAdapter(aNode);
-		if (adapter != null && adapter.isMOFProxy()) {
-			removeDOMAdapter(aNode, adapter);
-			adapter.getTarget().eAdapters().remove(adapter);
-			adapter = null;
-		}
-		return adapter;
-	}
-
-	protected void handleDependencyFeature(Notification msg) {
-		if (msg.getOldValue() != null)
-			removeDependencyAdapter((EObject) msg.getOldValue());
-		if (msg.getNewValue() != null)
-			addDependencyAdapter((EObject) msg.getNewValue());
-	}
-
-	protected boolean isDependencyFeature(Notification msg) {
-		switch (msg.getEventType()) {
-			case Notification.SET :
-				return fTranslator.isDependencyParent() && fTranslator.getDependencyFeature() == msg.getFeature();
-			default :
-				return false;
-		}
-	}
-
-	protected boolean isEmptyTag(Element parent) {
-		Revisit.toDo();
-		//Determine how to implement this with pure DOM apis, if possible.
-		return false;
-	}
-
-	protected void postUpdateDOMFeature(Translator map, Node node, EObject mofObject) {
-	}
-
-	protected void preUpdateDOMFeature(Translator map, Node node, EObject mofObject) {
-	}
-
-	/**
-	 * Update an attribute of the target DOM object from with the values currently stored in the MOF
-	 * object. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 */
-	protected void primUpdateDOMFeature(Translator map, Node node, EObject mofObject) {
-		Object attrValue = null;
-		boolean isSet = false;
-		if (map.isIDMap()) {
-			try {
-				attrValue = map.getMOFValue(mofObject);
-			} catch (IDTranslator.NoResourceException ex) {
-				//If the object has been removed from the resource,
-				//No need to update
-				return;
-			}
-			isSet = attrValue != null;
-		} else {
-			attrValue = map.getMOFValue(mofObject);
-			isSet = map.isSetMOFValue(mofObject);
-		}
-
-		if (map.isDOMAttribute()) {
-			// An attribute of the MOF object maps to an attribute of the
-			// DOM node. Get the value of the MOF attribute and set it
-			// into DOM node.
-			Element e = (Element) createDOMPath(node, map);
-			if (attrValue != null && isSet)
-				e.setAttribute(map.getDOMName(mofObject), map.convertValueToString(attrValue, mofObject));
-			else
-				e.removeAttribute(map.getDOMName(mofObject));
-		} else {
-			updateDOMSubtree(map, node, mofObject, attrValue);
-		}
-	}
-
-	/**
-	 * Update an attribute of the target DOM object from with the values currently stored in the MOF
-	 * object. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 */
-	protected void primUpdateDOMLinkFeature(Translator map, Node node, EObject mofObject) {
-		LinkUpdaterTarget.INSTANCE.updateDOM(map, node, mofObject);
-
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 */
-	protected void primUpdateDOMMultiFeature(Translator map, Node node, EObject mofObject) {
-
-		List mofChildren = map.getMOFChildren(mofObject);
-		List domChildren = getDOMChildren(node, map);
-
-		primUpdateDOMMultiFeature(map, node, mofChildren, domChildren, mofObject);
-	}
-
-	/**
-	 * Update an attribute of the target MOF object from the DOM node subtree. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 */
-	protected boolean primUpdateMOFFeature(Translator map, Node node, EObject mofObject) {
-		if (!map.featureExists(mofObject))
-			return false;
-		Object domValue = null;
-		boolean updateMOFAttAdapter = false;
-		boolean isUnset = false;
-		EMF2DOMAdapter attrAdapter = null;
-
-		Node child = findDOMNode(node, map, true);
-
-		if (map.isDOMAttribute() && child != null) {
-			// An attribute of the MOF object maps to an attribute of the
-			// DOM node. Get the value of the DOM attribute and set it
-			// into the MOF object.
-
-			Attr domAttr = (Attr) child.getAttributes().getNamedItem(map.getDOMName(mofObject));
-			if (domAttr != null) {
-				domValue = domAttr.getValue();
-				domValue = map.convertStringToValue((String) domValue, mofObject);
-			} else
-				isUnset = true;
-		} else {
-			// An attribute of the MOF object is actually a sub-element
-			// of the DOM node. Search for the first sub-element with
-			// the correct name to use as an attribute.
-			if (child != null) {
-				// Check to see if this is a single valued attribute that has
-				// a MOF object as its value
-				if (!map.isManagedByParent()) {
-					attrAdapter = createAdapter(child, map);
-					updateMOFAttAdapter = true;
-					domValue = attrAdapter.getTarget();
-				} else {
-					// Check to make sure the child is adapted. If not, adapt
-					// it.
-					addDOMAdapter(child);
-
-					// Extract the value from the text child
-					domValue = extractValue(child, map, mofObject);
-				}
-			} else
-				isUnset = true;
-		}
-
-		// Set the attribute extracted from the DOM to the MOF object.
-		boolean hasChanged = true;
-		try {
-			if (map.isIDMap())
-				map.setMOFValue(mofObject, domValue);
-			else {
-				Object oldValue = null;
-				oldValue = map.getMOFValue(mofObject);
-				boolean isSet = map.isSetMOFValue(mofObject);
-				//In the case of enums with default values, we need to trip
-				// the attribute from
-				//default to a set value
-				if (oldValue == domValue) {
-					if (oldValue == null || isSet)
-						hasChanged = false;
-				} else if (domValue == null && !isSet)
-					//If the domValue is null and the feature is not set, then
-					// we don't need
-					//to do anything
-					hasChanged = false;
-				else if (oldValue != null && oldValue.equals(domValue) && isSet)
-					hasChanged = false;
-				if (oldValue == null && domValue == null && map.isSetMOFValue(mofObject) == isUnset)
-					hasChanged = true;
-				if (hasChanged) {
-					if (!(map.isDataType()) && !map.isShared())
-						removeMOFValue((EObject) oldValue, map);
-					if (domValue == null)
-						map.unSetMOFValue(mofObject);
-					else
-						map.setMOFValue(mofObject, domValue);
-
-					if ((domValue == null && !(map.isEnumFeature())) || isUnset)
-						map.unSetMOFValue(mofObject); //unset
-					// null
-					// for
-					// non
-					// enum
-					// features
-
-					if (updateMOFAttAdapter)
-						attrAdapter.updateMOF();
-				}
-			}
-		} catch (FeatureValueConversionException ex) {
-			handleFeatureValueConversionException(ex);
-			map.unSetMOFValue(mofObject);
-		}
-		return hasChanged;
-	}
-
-	/**
-	 * Update an attribute of the target MOF object from the DOM node subtree. This method is only
-	 * called if the DOM node changes and the map is an object link map. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 * @return Return true if the MOF feature was updated, false if no update was done.
-	 */
-	protected void primUpdateMOFLinkFeature(Translator map, Node node, EObject mofObject) {
-		LinkUpdaterTarget.INSTANCE.updateMOF(map, node, mofObject);
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	protected void primUpdateMOFMultiFeature(Translator map, Node node, EObject mofObject) {
-		// If the feature is a collection of strings or ints, call a special
-		// method
-		// that handles this.
-		if (map.isManagedByParent()) {
-			updateMOFMultiPrimitiveFeature(map, node, mofObject);
-			return;
-		}
-
-		List nodeChildren = getDOMChildren(node, map);
-		List mofChildren = map.getMOFChildren(mofObject);
-
-		primUpdateMOFMultiFeature(map, node, mofChildren, nodeChildren);
-	}
-
-	protected void removeDependencyAdapter(EObject obj) {
-		Adapter existing = EcoreUtil.getExistingAdapter(obj, DependencyAdapter.KEY);
-		if (existing != null)
-			obj.eAdapters().remove(existing);
-	}
-
-	/**
-	 * Removes all the DOM children from <parent>that are represented by <map>.
-	 */
-	protected void removeDOMChildren(Node parent, Translator map) {
-		String[] domNames = map.getDOMNames();
-		HashSet domNamesSet = new HashSet(domNames.length);
-		for (int i = 0; i < domNames.length; i++)
-			domNamesSet.add(domNames[i]);
-
-		// Walk through all the children and find any that match the map.
-		NodeList nl = parent.getChildNodes();
-		List toRemove = new ArrayList();
-		for (int i = 0; i < nl.getLength(); i++) {
-			Node childNode = nl.item(i);
-			if (domNamesSet.contains(childNode.getNodeName()))
-				toRemove.add(childNode);
-		}
-
-		// Remove any children that were found.
-		for (int i = 0; i < toRemove.size(); i++) {
-			Node childNode = (Node) toRemove.get(i);
-			removeDOMChild(parent, childNode, true);
-		}
-	}
-
-	protected void setTargetFromNode() {
-		setTarget(fTranslator.createEMFObject(fNode.getNodeName(), extractReadAheadName()));
-	}
-
-	/**
-	 * Update an attribute of the target DOM object from with the values currently stored in the MOF
-	 * object. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 */
-	final public void updateDOMFeature(Translator map, Node node, EObject mofObject) {
-		if (!isNotificationEnabled())
-			return;
-		try {
-			preUpdateDOMFeature(map, node, mofObject);
-			if (map.isMultiValued()) {
-				updateDOMMultiFeature(map, node, mofObject);
-				return;
-			}
-
-			if (fDebug) {
-				com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("Updating DOM Node: " + node); //$NON-NLS-1$
-				com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tfrom: " + mofObject); //$NON-NLS-1$
-				com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-			}
-			boolean notificationFlag = isNotificationEnabled();
-			try {
-				setNotificationEnabled(false);
-				primUpdateDOMFeature(map, node, mofObject);
-			} finally {
-				setNotificationEnabled(notificationFlag);
-			}
-
-			if (map.isTargetLinkMap()) {
-				updateDOMLinkFeature(map, node, mofObject);
-			}
-		} finally {
-			postUpdateDOMFeature(map, node, mofObject);
-		}
-	}
-
-	/**
-	 * Update an attribute of the target DOM object from the values currently stored in the MOF
-	 * object. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 */
-	final protected void updateDOMLinkFeature(Translator map, Node node, EObject mofObject) {
-		if (fDebug) {
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("Updating DOM Node (link): " + node); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tfrom: " + mofObject); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		primUpdateDOMLinkFeature(map, node, mofObject);
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	final protected void updateDOMMultiFeature(Translator map, Node node, EObject mofObject) {
-		if (fDebug) {
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("Updating DOM Node (multi): " + node); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tfrom: " + mofObject); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			primUpdateDOMMultiFeature(map, node, mofObject);
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	/**
-	 * Update a DOM subtree to reflect the mofObject and map passed in. The subtree is of <node>is
-	 * updated.
-	 */
-	protected void updateDOMSubtree(Translator map, Node node, EObject mofObject, Object attrValue) {
-
-		if (map.featureExists(mofObject)) {
-			if ((map.isEnumFeature() || map.isBooleanFeature()) && (map.isUnsettable() && !map.isSetMOFValue(mofObject)))
-				attrValue = null;
-		} else
-			attrValue = map.extractStringValue(mofObject);
-
-		// Create and/or update the DOM subtree
-		if (attrValue != null) {
-			Node parent = createDOMPath(node, map);
-			if (map.isManagedByParent()) {
-				// Handle the case where the mof value is not another
-				// mof object (primitive)
-				if (map.getDOMName(mofObject) != null && map.getDOMName(mofObject).startsWith("#")) //$NON-NLS-1$
-					return;
-
-				Element child = map.isDOMTextValue() ? (Element) parent : findOrCreateNode(parent, map, map.getDOMName(mofObject));
-
-				findOrCreateTextNode(child, map, map.convertValueToString(attrValue, mofObject));
-			} else {
-				// Handle the case were the mof value is a mof object.
-				EObject mofValue = (EObject) attrValue;
-				EMF2DOMAdapter valueAdapter = (EMF2DOMAdapter) EcoreUtil.getExistingAdapter(mofValue, EMF2DOMAdapter.ADAPTER_CLASS);
-				if (valueAdapter != null)
-					valueAdapter.updateDOM();
-				else {
-					removeDOMChildren(parent, map);
-					EMF2DOMAdapter adapter = createAdapter(mofValue, map);
-					List mofChildren = map.getMOFChildren(mofObject);
-					List domChildren = getDOMChildren(parent, map);
-
-					Node insertBeforeNode = findInsertBeforeNode(parent, map, mofChildren, 0, domChildren);
-					DOMUtilities.insertBeforeNodeAndWhitespace(parent, adapter.getNode(), insertBeforeNode);
-					boolean notificationFlag = adapter.isNotificationEnabled();
-					adapter.setNotificationEnabled(false);
-					try {
-						indent(adapter.getNode(), map);
-					} finally {
-						adapter.setNotificationEnabled(notificationFlag);
-					}
-					adapter.updateDOM();
-				}
-			}
-		} else {
-			// The attribute value was set to null or unset. Remove any
-			// existing DOM nodes.
-			Node child = findDOMNode(node, map);
-			if (child != null)
-				removeDOMChild(child.getParentNode(), child);
-		}
-	}
-
-	/**
-	 * Update a feature that is set by linking to another existing object. This method is called
-	 * when the MOF object is updated in order to update DOM nodes.
-	 */
-	final protected void updateMOFLinkFeature(Translator map, Node node, EObject mofObject) {
-		if (fDebug) {
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("Updating MOFObject (link): " + mofObject); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tfrom: " + node); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			primUpdateMOFLinkFeature(map, node, mofObject);
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	final protected void updateMOFMultiFeature(Translator map, Node node, EObject mofObject) {
-		if (fDebug) {
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("Updating MOFObject (multi): " + mofObject); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tfrom: " + node); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			primUpdateMOFMultiFeature(map, node, mofObject);
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map. The relationship MUST BE a collection of string for this method to work.
-	 */
-	protected void updateMOFMultiPrimitiveFeature(Translator map, Node node, EObject mofObject) {
-		List nodeChildren = getDOMChildren(node, map);
-
-		map.clearList(mofObject);
-
-		// Go through the list of nodes and update the MOF collection
-		for (int i = 0; i < nodeChildren.size(); i++) {
-			Node child = (Node) nodeChildren.get(i);
-			Object attributeValue = extractValue(child, map, mofObject);
-			if (attributeValue != null)
-				map.setMOFValue(mofObject, attributeValue, i);
-
-			// Adapt the node so update will occur.
-			addDOMAdapter(child);
-		}
-		if (map.hasDOMPath() && nodeChildren.isEmpty() && findDOMPath(node, map, false) != null)
-			map.setMOFValueFromEmptyDOMPath(mofObject);
-	}
-
-	/**
-	 * Update an attribute of the target MOF object from the DOM node subtree. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 */
-	public void updateMOFFeature(Translator map, Node node, EObject mofObject) {
-		if (!isNotificationEnabled())
-			return;
-		if (map.isMultiValued()) {
-			updateMOFMultiFeature(map, node, mofObject);
-			return;
-		} else if (map.isComment()) {
-			updateMOFCommentFeature(map, node, mofObject);
-			return;
-		}
-
-		// TODO MDE Add a map.isComment() and updateMOFCommentFeature(map, node, mofObject);
-
-		if (fDebug) {
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("Updating MOFObject: " + mofObject); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tfrom: " + node); //$NON-NLS-1$
-			com.ibm.wtp.common.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		boolean notificationFlag = isNotificationEnabled();
-		boolean hasChanged = false;
-		try {
-			setNotificationEnabled(false);
-			hasChanged = primUpdateMOFFeature(map, node, mofObject);
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-
-		if (map.isTargetLinkMap() && hasChanged)
-			updateMOFLinkFeature(map, node, mofObject);
-	}
-
-	/**
-	 * @param map
-	 * @param node
-	 * @param mofObject
-	 */
-	public void updateMOFCommentFeature(Translator map, Node node, EObject mofObject) {
-		Node commentNode = node;
-		/* scan up the dom to find the first comment node before this node */
-		while ((commentNode = commentNode.getPreviousSibling()) != null && commentNode.getNodeType() != Node.COMMENT_NODE) {
-			/* no comment available */
-			if (commentNode.getNodeType() == Node.ELEMENT_NODE)
-				return;
-		}
-		if (commentNode != null)
-			map.setMOFValue(mofObject, commentNode.getNodeValue());
-
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRenderer.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRenderer.java
deleted file mode 100644
index 4cdfe74..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRenderer.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.wst.common.internal.emf.utilities.DOMLoadOptions;
-import org.eclipse.wst.common.internal.emf.utilities.DOMUtilities;
-import org.eclipse.wst.common.internal.emf.utilities.Revisit;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-
-
-
-public class EMF2DOMRenderer extends AbstractRendererImpl implements Renderer {
-
-	protected Map domAdapterRegistry;
-	protected boolean needsToCreateDOM = true;
-	protected Document document;
-
-	/**
-	 * Constructor for DOMRendererImpl.
-	 */
-	public EMF2DOMRenderer() {
-		super();
-		if (managesDOMAdapters())
-			initDOMAdapterRegistry();
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#doLoad(InputStream, Map)
-	 */
-	public void doLoad(InputStream in, Map options) throws IOException {
-		if ((in != null) || !useStreamsForIO()) {
-			loadDocument(in, options);
-			EMF2DOMAdapter adapter = createRootDOMAdapter();
-			adapter.updateMOF();
-		}
-	}
-
-	protected void loadDocument(InputStream in, Map options) throws IOException {
-		try {
-			DOMLoadOptions domOpts = new DOMLoadOptions();
-			domOpts.setAllowJavaEncodings(true);
-			domOpts.setExpandEntityRefererences(true);
-			domOpts.setValidate(isValidating());
-			document = DOMUtilities.loadDocument(in, domOpts, getResource().getEntityResolver());
-			needsToCreateDOM = false;
-		} catch (RuntimeException t_rex) {
-			throw t_rex;
-		} catch (IOException iox) {
-			throw iox;
-		} catch (Exception ex) {
-			throw new WrappedException(ex);
-		}
-	}
-
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#doSave(OutputStream, Map)
-	 */
-	public void doSave(OutputStream outputStream, Map options) throws IOException {
-		createDOMTreeIfNecessary();
-		serializeDocument(outputStream);
-	}
-
-	/**
-	 * Subclasses should override if adapters are not cached within this renderer, e.g., they are
-	 * stored in notifying Nodes
-	 */
-	protected boolean managesDOMAdapters() {
-		return true;
-	}
-
-	protected void initDOMAdapterRegistry() {
-		if (domAdapterRegistry == null)
-			domAdapterRegistry = new HashMap();
-	}
-
-	public void registerDOMAdapter(Node node, EMF2DOMAdapter adapter) {
-		domAdapterRegistry.put(node, adapter);
-	}
-
-	public EMF2DOMAdapter getExistingDOMAdapter(Node node) {
-		return (EMF2DOMAdapter) domAdapterRegistry.get(node);
-	}
-
-	public void removeDOMAdapter(Node aNode, EMF2DOMAdapter anAdapter) {
-		domAdapterRegistry.remove(aNode);
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#prepareToAddContents()
-	 */
-	public void prepareToAddContents() {
-		//createDOMTreeIfNecessary();
-	}
-
-	protected Node createDOMTree() {
-		createDocument();
-		EMF2DOMAdapter adapter = createRootDOMAdapter();
-		adapter.updateDOM();
-		needsToCreateDOM = false;
-		return document;
-	}
-
-
-	protected EMF2DOMAdapter createRootDOMAdapter() {
-		EMF2DOMAdapter root = new EMF2DOMAdapterImpl(getResource(), document, this, getResource().getRootTranslator());
-		registerDOMAdapter(document, root);
-		return root;
-	}
-
-
-	protected void createDOMTreeIfNecessary() {
-		if (needsToCreateDOM)
-			createDOMTree();
-	}
-
-	/**
-	 * Create a new Document given
-	 * 
-	 * @aResource.
-	 */
-	protected void createDocument() {
-		TranslatorResource res = getResource();
-		res.setDefaults();
-		try {
-			document = DOMUtilities.createNewDocument(res.getDoctype(), res.getPublicId(), res.getSystemId());
-		} catch (ParserConfigurationException e) {
-			throw new WrappedException(e);
-		} catch (SAXException e) {
-			throw new WrappedException(e);
-		} catch (IOException e) {
-			throw new WrappedException(e);
-		}
-	}
-
-	public void serializeDocument(OutputStream out) throws IOException {
-		/*
-		 * OutputFormat format = createOutputFormat(); Serializer serializer =
-		 * SerializerFactory.getSerializerFactory(Method.XML).makeSerializer(out, format);
-		 * serializer.asDOMSerializer().serialize(document);
-		 */ 
-		try {
-			TransformerFactory factory = TransformerFactory.newInstance();
-			/*
-			 * try { factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); } catch
-			 * (IllegalArgumentException x) { }
-			 */
-			Transformer transformer = factory.newTransformer();
-
-			transformer.setOutputProperty(OutputKeys.ENCODING, getResource().getEncoding());
-			transformer.setOutputProperty(OutputKeys.VERSION, getResource().getXMLVersion());
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); //$NON-NLS-1$
-			if (getResource().getPublicId() != null)
-				transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, getResource().getPublicId());
-			if (getResource().getSystemId() != null)
-				transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, getResource().getSystemId());
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$            
-			transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-			DOMSource source = new DOMSource(document.getDocumentElement());
-			/* source.setSystemId(getResource().getSystemId()); */
-			transformer.transform(source, new StreamResult(out)); 
-		} catch (TransformerConfigurationException e) {
-			Logger.getLogger().logError(e);
-		} catch (TransformerFactoryConfigurationError e) {
-			Logger.getLogger().logError(e);
-		} catch (TransformerException e) {
-			Logger.getLogger().logError(e);
-		} finally {  
-		}
-	}
-
-	/*
-	 * protected OutputFormat createOutputFormat() { OutputFormat format = new OutputFormat();
-	 * format.setIndenting(true); format.setLineSeparator(DOMUtilities.NEWLINE_STRING);
-	 * //$NON-NLS-1$ format.setEncoding(getResource().getEncoding());
-	 * format.setVersion(getResource().getXMLVersion()); return format; }
-	 */
-
-	public void replaceDocumentType(String docTypeName, String publicId, String systemId) {
-		Revisit.revisit();
-		Document newDoc = null;
-		//Need be able to update the doctype directly on the existing document; right now can't
-		// because
-		// of limitations on parser neutral apis
-
-		try {
-			newDoc = DOMUtilities.createNewDocument(docTypeName, publicId, systemId);
-		} catch (ParserConfigurationException e) {
-			throw new WrappedException(e);
-		} catch (SAXException e) {
-			throw new WrappedException(e);
-		} catch (IOException e) {
-			throw new WrappedException(e);
-		}
-
-
-		replaceNode(document.getDocumentElement(), newDoc, newDoc);
-		readapt(document, newDoc);
-		document = newDoc;
-	}
-
-	protected void replaceNode(Node oldChild, Node newParent, Document newDoc) {
-		Node newChild = newDoc.importNode(oldChild, false);
-		newParent.appendChild(newChild);
-		readapt(oldChild, newChild);
-		NodeList children = oldChild.getChildNodes();
-		int length = children.getLength();
-		for (int i = 0; i < length; i++) {
-			replaceNode(children.item(i), newChild, newDoc);
-		}
-	}
-
-	protected void readapt(Node oldChild, Node newChild) {
-		EMF2DOMAdapter adapter = getExistingDOMAdapter(oldChild);
-		if (adapter != null) {
-			registerDOMAdapter(newChild, adapter);
-			//Some nodes are managed by the parent and thus the
-			//node should not be set on the parent adapter
-			if (adapter.getNode() == oldChild)
-				adapter.setNode(newChild);
-		}
-	}
-
-	public int getVersionID() {
-		return getResource().getVersionID();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactory.java
deleted file mode 100644
index fce5603..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-public class EMF2DOMRendererFactory extends RendererFactory {
-
-	public static final EMF2DOMRendererFactory INSTANCE = new EMF2DOMRendererFactory();
-
-	public EMF2DOMRendererFactory() {
-		super();
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.RendererFactory#createRenderer()
-	 */
-	public Renderer createRenderer() {
-		EMF2DOMRenderer renderer = new EMF2DOMRenderer();
-		renderer.setValidating(isValidating());
-		return renderer;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactoryDefaultHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactoryDefaultHandler.java
deleted file mode 100644
index 1257a06..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactoryDefaultHandler.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 1, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class EMF2DOMRendererFactoryDefaultHandler implements RendererFactoryDefaultHandler {
-
-	public static final EMF2DOMRendererFactoryDefaultHandler INSTANCE = new EMF2DOMRendererFactoryDefaultHandler();
-
-	/**
-	 *  
-	 */
-	protected EMF2DOMRendererFactoryDefaultHandler() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.RendererFactoryDefaultHandler#getDefaultRendererFactory()
-	 */
-	public RendererFactory getDefaultRendererFactory() {
-		return EMF2DOMRendererFactory.INSTANCE;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXDocumentHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXDocumentHandler.java
deleted file mode 100644
index fd7d9e8..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXDocumentHandler.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.io.IOException;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-
-/**
- * The EMF2SAXDocumentHandler is utilized by the SAX parser to announce XML Events, such as
- * beginning and end of XML elements and the contents of those elements.
- * 
- * @author mdelder
- */
-public class EMF2SAXDocumentHandler extends DefaultHandler {
-
-	private TranslatorResource resource = null;
-	private final CacheEventStack eventStack = new CacheEventStack();
-	private CacheEventPool availableEventPool = new CacheEventPool();
-
-	/**
-	 * Create an EMF2SAXDocumentHandler to populate the given resource.
-	 *  
-	 */
-	public EMF2SAXDocumentHandler(TranslatorResource resource) {
-		this.resource = resource;
-	}
-
-	/**
-	 * @see org.xml.sax.helpers.DefaultHandler#resolveEntity(java.lang.String, java.lang.String)
-	 */
-	public InputSource resolveEntity(String publicId, String systemId) throws SAXException {
-		InputSource result = null;
-		this.resource.setDoctypeValues(publicId, systemId);
-
-		try {
-			EntityResolver entityResolver = this.resource.getEntityResolver();
-
-			if (entityResolver != null)
-				result = entityResolver.resolveEntity(publicId, systemId);
-			else
-				result = super.resolveEntity(publicId, systemId);
-		} catch (IOException ioe) {
-			throw new SAXException(ioe);
-		}
-
-		return result;
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#startDocument()
-	 */
-	public void startDocument() throws SAXException {
-		/*
-		 * The endDocument() method should have frozen the pool, or it may not be warmed yet. In
-		 * either case, this method call will do as little work as necessary
-		 */
-		availableEventPool.warmPool();
-
-		/* This line should not be necessary, but is left for safty */
-		eventStack.clear();
-		this.createRoot(this.resource);
-
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String,
-	 *      java.lang.String, org.xml.sax.Attributes)
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-		addToStack(qName, attributes);
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-	 */
-	public void characters(char[] data, int start, int length) throws SAXException {
-
-		CacheEventNode currentRecord = getCurrentRecord();
-		if (currentRecord != null) {
-			currentRecord.appendToBuffer(data, start, length);
-		}
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String,
-	 *      java.lang.String)
-	 */
-	public void endElement(String uri, String localName, String qName) throws SAXException {
-
-		CacheEventNode currentRecord = null;
-
-		/*
-		 * This should only happen in the case where the DOMPath was ignored so the stack does not
-		 * quite match with the XML data structure. In this case we do nothing
-		 */
-		if (qName.equals(this.getCurrentRecord().getNodeName())) {
-			currentRecord = this.removeCurrentRecord();
-			if (currentRecord != null) {
-				currentRecord.commit();
-			}
-		}
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#endDocument()
-	 */
-	public void endDocument() throws SAXException {
-		CacheEventNode lastRecord = this.removeCurrentRecord();
-		lastRecord.commit();
-		availableEventPool.freezePool();
-	}
-
-	/**
-	 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
-	 */
-	public void error(SAXParseException ex) throws SAXException {
-		throw ex;
-	}
-
-	/**
-	 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
-	 */
-	public void fatalError(SAXParseException ex) throws SAXException {
-		throw ex;
-	}
-
-	/**
-	 * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
-	 */
-	public void warning(SAXParseException ex) throws SAXException {
-		Logger.getLogger().logWarning(ex);
-	}
-
-	/**
-	 * @return
-	 */
-	public TranslatorResource getResource() {
-		return resource;
-	}
-
-	protected void createRoot(TranslatorResource resourceArg) {
-		this.eventStack.push(availableEventPool.createCacheEventNode(resourceArg));
-	}
-
-	protected void addToStack(String nodeName, Attributes attributes) {
-		CacheEventNode parent = this.getCurrentRecord();
-		if (!parent.isChildIgnorable(nodeName)) {
-			this.eventStack.push(availableEventPool.createCacheEventNode(parent, nodeName, attributes));
-		}
-	}
-
-	/**
-	 * Return the current CENO without removing it from the event stack.
-	 * 
-	 * @return the current CENO without removing it
-	 */
-	protected CacheEventNode getCurrentRecord() {
-		CacheEventNode result = null;
-		if (!this.eventStack.isEmpty()) {
-			result = this.eventStack.peek();
-		}
-		return result;
-	}
-
-	/**
-	 * Return the current CENO and remove it from the event stack.
-	 * 
-	 * @return the current CENO and remove it
-	 */
-	protected CacheEventNode removeCurrentRecord() {
-		CacheEventNode result = null;
-		if (!this.eventStack.isEmpty()) {
-			result = this.eventStack.pop();
-		}
-		return result;
-	}
-
-	//	private final void printStack() {
-	//		// System.out.println("Printing stack ...");
-	//		// for (int i = 0; i < this.eventStack.size(); i++) {
-	//		// debug("stack[" + i + "]: " + eventStack.get(i));
-	//		// }
-	//		// System.out.println("... Printed stack");
-	//	}
-	//
-	//	private final static void debug(Object obj) {
-	//		// System.out.println(obj);
-	//	}
-	//
-	//	private final static void warn(Object obj) {
-	//		//System.err.println(obj);
-	//	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRenderer.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRenderer.java
deleted file mode 100644
index c95699c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRenderer.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.emf.common.util.WrappedException;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.XMLReader;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-
-/**
- * @author mdelder
- */
-public class EMF2SAXRenderer extends AbstractRendererImpl {
-
-	/**
-	 *  
-	 */
-	public EMF2SAXRenderer() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#doLoad(java.io.InputStream, java.util.Map)
-	 */
-	public void doLoad(InputStream in, Map options) {
-		try {
-			SAXParserFactory factory = SAXParserFactory.newInstance();
-			factory.setValidating(isValidating());
-			factory.setNamespaceAware(true);
-			/*
-			 * Causes errors in IBM JDK try { factory.setAttribute(JAXP_SCHEMA_LANGUAGE,
-			 * W3C_XML_SCHEMA); } catch (IllegalArgumentException x) { }
-			 */
-			SAXParser parser = factory.newSAXParser();
-			XMLReader reader = parser.getXMLReader();
-			EMF2SAXDocumentHandler handler = new EMF2SAXDocumentHandler(this.getResource());
-			try {
-				reader.setFeature("http://xml.org/sax/features/validation", isValidating()); //$NON-NLS-1$
-			} catch (SAXNotRecognizedException snre) {
-			}
-			try {
-				reader.setFeature("http://xml.org/sax/features/namespace-prefixes", true); //$NON-NLS-1$
-			} catch (SAXNotRecognizedException snre) {
-			}
-			try {
-				reader.setFeature("http://apache.org/xml/features/validation/schema", isValidating()); //$NON-NLS-1$
-			} catch (SAXNotRecognizedException e) {
-				reader.setFeature("http://xml.org/sax/features/validation", false); //$NON-NLS-1$
-				Logger.getLogger().log("Warning: Parser does not support \"http://apache.org/xml/features/validation/schema\". Validation will be disabled."); //$NON-NLS-1$
-			}
-			try {
-				reader.setFeature("http://apache.org/xml/features/allow-java-encodings", true); //$NON-NLS-1$
-			} catch (SAXNotRecognizedException e) {
-				Logger.getLogger().log("Warning: Parser does not support \"http://apache.org/xml/features/allow-java-encodings\"."); //$NON-NLS-1$
-			}
-			/*
-			 * try { reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler); }
-			 * catch (SAXNotRecognizedException e) { }
-			 */
-			reader.setContentHandler(handler);
-			reader.setErrorHandler(handler);
-			//reader.setDTDHandler(handler);
-			reader.setEntityResolver(handler);
-			InputSource testsource = new InputSource(in);
-			reader.parse(testsource);
-		} catch (RuntimeException t_rex) {
-			throw t_rex;
-		} catch (Exception ex) {
-			throw new WrappedException(ex);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#doSave(java.io.OutputStream, java.util.Map)
-	 */
-	public void doSave(OutputStream outputStream, Map options) throws IOException {
-
-		/*
-		 * try { Serializer serializer =
-		 * SerializerFactory.getSerializerFactory(Method.XML).makeSerializer(outputStream,
-		 * createOutputFormat()); serializer.setOutputByteStream(outputStream); ContentHandler
-		 * handler = serializer.asContentHandler();
-		 */
-
-		TransformerHandler handler = null;
-		try {
-			try {
-				SAXTransformerFactory factory = (SAXTransformerFactory) TransformerFactory.newInstance();
-				handler = factory.newTransformerHandler();
-
-				handler.setResult(new StreamResult(outputStream));
-				Transformer transformer = handler.getTransformer();
-				transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-				transformer.setOutputProperty(OutputKeys.ENCODING, getResource().getEncoding());
-				transformer.setOutputProperty(OutputKeys.VERSION, getResource().getXMLVersion());
-				transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-				transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); //$NON-NLS-1$                
-				transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-
-				if (getResource().getPublicId() != null)
-					transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, getResource().getPublicId());
-				if (getResource().getSystemId() != null)
-					transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, getResource().getSystemId());
-
-			} catch (TransformerConfigurationException e) {
-				Logger.getLogger().logError(e);
-			} catch (TransformerFactoryConfigurationError e) {
-				Logger.getLogger().logError(e);
-			}
-			if (handler == null) {
-				Logger.getLogger("SAX Writer is null"); //$NON-NLS-1$
-				return;
-			}
-			EMF2SAXWriter writer = new EMF2SAXWriter();
-			writer.serialize(this.resource, handler);
-		} catch (SAXException saxe) {
-			throw new WrappedException(saxe);
-		}
-	}
-
-	/*
-	 * protected OutputFormat createOutputFormat() { OutputFormat format = new OutputFormat();
-	 * format.setIndenting(true); format.setLineSeparator(DOMUtilities.NEWLINE_STRING);
-	 * //$NON-NLS-1$ format.setEncoding(getResource().getEncoding());
-	 * format.setVersion(getResource().getXMLVersion()); if (this.resource != null)
-	 * format.setDoctype(this.resource.getPublicId(), this.resource.getSystemId()); return format; }
-	 */
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#prepareToAddContents()
-	 */
-	public void prepareToAddContents() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#getVersionID()
-	 */
-	public int getVersionID() {
-		return getResource().getVersionID();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRendererFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRendererFactory.java
deleted file mode 100644
index d3fd5d9..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRendererFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 19, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-/**
- * Used to create instances of the EMF2SAXRenderer
- * 
- * @author mdelder
- */
-public class EMF2SAXRendererFactory extends RendererFactory {
-
-	public static final EMF2SAXRendererFactory INSTANCE = new EMF2SAXRendererFactory();
-
-	protected EMF2SAXRendererFactory() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.RendererFactory#createRenderer()
-	 */
-	public Renderer createRenderer() {
-		EMF2SAXRenderer renderer = new EMF2SAXRenderer();
-		renderer.setValidating(isValidating());
-		return renderer;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXWriter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXWriter.java
deleted file mode 100644
index c5d0807..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXWriter.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * The EMF2SAXWriter handles the serialization of EMF Resources using SAX events. SAX events are
- * triggered to the content handler as the tree is being parsed. These events can then be written
- * into any stream wrapped by the ContentHandler.
- * 
- * @author mdelder
- */
-public class EMF2SAXWriter {
-
-	public static final String NAMESPACE = "";//"http://java.sun.com/xml/ns/j2ee"; //$NON-NLS-1$
-
-	/* Used in those cases where no Attributes are necessary */
-	private static final Attributes EMPTY_ATTRIBUTES = new AttributesImpl();
-
-	/**
-	 * Serialize an EMF resource into an XML Stream using the given ContentHandler. Note that this
-	 * method can also be used to copy a given EMF Resource if the EMF2SAXDocumentHandler is used as
-	 * the given ContentHandler.
-	 * 
-	 * @param resource
-	 * @param handler
-	 */
-	public void serialize(TranslatorResource resource, ContentHandler handler) throws SAXException {
-
-		Translator rootTranslator = resource.getRootTranslator();
-		EList contents = resource.getContents();
-
-		if (contents.size() != 1) {
-			throw new IllegalStateException("The contents of a resource may only contain one EMF Model Object."); //$NON-NLS-1$
-		}
-		handler.startDocument();
-		EObject element = (EObject) contents.get(0);
-		serialize(handler, element, rootTranslator, new WriterHints(resource));
-		handler.endDocument();
-
-	}
-
-	private void serialize(ContentHandler handler, EObject target, Translator translator, WriterHints hints) throws SAXException {
-
-		List mofChildren = null;
-		Object rawValue = null;
-		EObject newTarget = null;
-		Translator currentChildTranslator = null;
-		Translator nextTranslator = null;
-		char[] characterData = null;
-		String convertedValue = null;
-		Attributes attributes = null;
-		String childDomName = null;
-		final int version = hints.getVersion();
-
-		/*
-		 * Processing hints are used to remember where are in the iteration of the translator's
-		 * children. see the TranslatorFilter for more information on how this array is used.
-		 */
-		int[] processingHints = TranslatorFilter.createProcessingHints();
-
-		String targetDomName = translator.getDOMName(target);
-
-		attributes = getAttributes(translator, target, hints);
-
-		handler.startElement(NAMESPACE, targetDomName, targetDomName, attributes);
-
-		currentChildTranslator = TranslatorFilter.getNextObjectTranslator(translator, processingHints[TranslatorFilter.NEXT_START_HINT_INDX], processingHints, target, version);
-		while (currentChildTranslator != null) {
-			/* For each Child Translator of the Translator parameter passed into the method */
-
-			/* Does the Translator have any MOF Children? */
-			mofChildren = currentChildTranslator.getMOFChildren(target);
-			openDomPathIfNecessary(handler, hints, currentChildTranslator, target, mofChildren);
-
-			if (currentChildTranslator.isManagedByParent()) {
-				/*
-				 * Translators which are managed by their parents require less processing -- just
-				 * convert their value to a string and write it out as the content of an XML element
-				 */
-				childDomName = currentChildTranslator.getDOMName(target);
-				if (!currentChildTranslator.isEmptyTag()) {
-					/* The Translator is not an Empty tag. Its text content is significant */
-
-					if (mofChildren.size() > 0) {
-						for (int j = 0; j < mofChildren.size(); j++) {
-
-							/* Text only translators will not have open and close XML elements */
-							if (!currentChildTranslator.isDOMTextValue())
-								handler.startElement(NAMESPACE, childDomName, childDomName, EMPTY_ATTRIBUTES);
-
-							rawValue = mofChildren.get(j);
-							/* convertValueToString should always return a non-null String */
-							convertedValue = currentChildTranslator.convertValueToString(rawValue, target);
-							characterData = XMLEncoderDecoder.escape(convertedValue).toCharArray();
-							handler.characters(characterData, 0, characterData.length);
-
-							if (!currentChildTranslator.isDOMTextValue())
-								handler.endElement(NAMESPACE, childDomName, childDomName);
-						}
-					}
-				} else {
-					/*
-					 * The Translator is an Empty Element (its mere presence has significance) (e.g.
-					 * <cascade-delete/>
-					 */
-
-					if (currentChildTranslator.isBooleanFeature()) {
-						/* Boolean features may or may not be rendered */
-						rawValue = mofChildren.get(0);
-						if (rawValue != null && ((Boolean) rawValue).booleanValue()) {
-							handler.startElement(NAMESPACE, childDomName, childDomName, EMPTY_ATTRIBUTES);
-							handler.endElement(NAMESPACE, childDomName, childDomName);
-						}
-
-					} else {
-						/* Always render any other Empty elements */
-						handler.startElement(NAMESPACE, childDomName, childDomName, EMPTY_ATTRIBUTES);
-						handler.endElement(NAMESPACE, childDomName, childDomName);
-					}
-				}
-			} else {
-
-				/* The Translator is a more complex feature, handle its processing recursively */
-				for (int j = 0; j < mofChildren.size(); j++) {
-					newTarget = (EObject) mofChildren.get(j);
-					serialize(handler, newTarget, currentChildTranslator, hints);
-				}
-			}
-
-			/* Fetch the next peer translator */
-			nextTranslator = TranslatorFilter.getNextObjectTranslator(translator, processingHints[TranslatorFilter.NEXT_START_HINT_INDX], processingHints, target, version);
-
-			closeDomPathIfNecessary(handler, hints, currentChildTranslator, nextTranslator, target, mofChildren);
-
-			/*
-			 * We needed to invoke closeDomPathIfNecessary() with the peer, now we move on to
-			 * process that peer
-			 */
-			currentChildTranslator = nextTranslator;
-
-		}
-		handler.endElement(NAMESPACE, targetDomName, targetDomName);
-	}
-
-	/**
-	 * Determines whether or not a DOM Path should be rendered. This method is particularly useful
-	 * for determining whether Empty XML elements are relevant and should be written to the XML
-	 * stream.
-	 * 
-	 * @param target
-	 *            The EMF Target of the Translation
-	 * @param currentChildTranslator
-	 *            The current Translator
-	 * @param mofChildren
-	 *            The mofChildren that were found for the Translator on the Target
-	 * @return
-	 */
-	private boolean shouldRenderDomPath(EObject target, Translator currentChildTranslator, List mofChildren) {
-		return !currentChildTranslator.isEmptyContentSignificant() || (currentChildTranslator.shouldRenderEmptyDOMPath(target) || mofChildren.size() > 0);
-	}
-
-	/**
-	 * openDomPathIfNecessary will write the current DOM Path to the serialization stream if it has
-	 * not been written by a previous peer translator. The processing results in the collapse of
-	 * Peer Translators with matching DOM Paths into a single XML parent element.
-	 * 
-	 * @param handler
-	 *            The ContentHandler which is writing the XML result
-	 * @param hints
-	 *            A Global container for information specific to a single XML document
-	 * @param currentChildTranslator
-	 *            The active Translator being processed
-	 * @param target
-	 *            The EMF Target of the Translation
-	 * @throws SAXException
-	 */
-	private void openDomPathIfNecessary(ContentHandler handler, WriterHints hints, Translator currentChildTranslator, EObject target, List mofChildren) throws SAXException {
-
-		/* If the translator does not have a DOM Path, then we do nothing */
-		if (currentChildTranslator.hasDOMPath() && shouldRenderDomPath(target, currentChildTranslator, mofChildren)) {
-
-			String childDomPath = currentChildTranslator.getDOMPath();
-
-			/*
-			 * IsDomPathActive() will verify whether this DOM Path has already been written to the
-			 * XML stream
-			 */
-			if (!hints.isDomPathActive(childDomPath)) {
-
-				/*
-				 * Write an open element for the DOM Path and "remember" that we have written it
-				 */
-				handler.startElement(NAMESPACE, childDomPath, childDomPath, EMPTY_ATTRIBUTES);
-				hints.pushDomPath(childDomPath);
-			}
-
-		}
-	}
-
-	/**
-	 * closeDomPathIfNecessary will determine whether the next peer Translator shares the active DOM
-	 * Path of the current Translator. If the next peer Translator has the same DOM Path, no action
-	 * will be taken (hence condensing the elements into a single XML parent). However, if the DOM
-	 * Path differs (including the Next Peer Translator has no DOM Path) then the current DOM Path
-	 * will be closed (a close XML element is generated.
-	 * 
-	 * @param handler
-	 *            The ContentHandler which is writing the XML result
-	 * @param hints
-	 *            A Global container for information specific to a single XML document
-	 * @param currentChildTranslator
-	 *            The last Translator to have completed processing
-	 * @param nextTranslator
-	 *            The next peer Translator that will become active
-	 * @param target
-	 *            The EMF Target of the Translation
-	 * @throws SAXException
-	 */
-	private void closeDomPathIfNecessary(ContentHandler handler, WriterHints hints, Translator currentChildTranslator, Translator nextTranslator, EObject target, List mofChildren) throws SAXException {
-
-		if (currentChildTranslator.hasDOMPath() && shouldRenderDomPath(target, currentChildTranslator, mofChildren)) {
-			String childDomPath = currentChildTranslator.getDOMPath();
-			if (nextTranslator != null) { /*
-										   * There are more peers after this element, we can peek
-										   * ahead
-										   */
-				String nextPeerDomPath = nextTranslator.getDOMPath();
-				if (nextPeerDomPath == null || !nextPeerDomPath.equals(childDomPath)) {
-					handler.endElement(NAMESPACE, childDomPath, childDomPath);
-					hints.popDomPath();
-				}
-
-			} else { /* This was the last child element, we must close the dompath */
-				handler.endElement(NAMESPACE, childDomPath, childDomPath);
-				hints.popDomPath();
-			}
-		}
-	}
-
-	/**
-	 * Aggregate the Attribute translator children from a given translator. This method will request
-	 * the AttributesImpl object from the WriterHints object. The WriterHints maintains this
-	 * reusable collection to limit the requirement for new object creation.
-	 * 
-	 * @param translator
-	 * @param target
-	 * @param hints
-	 * @return an initialized set of Attributes for the given Translator and EMF Target
-	 */
-	private Attributes getAttributes(Translator translator, EObject target, WriterHints hints) {
-
-		AttributesImpl attributes = hints.getAttributeHolder();
-		int version = hints.getVersion();
-		Object rawValue = null;
-		String convertedValue = null;
-		String childDomName = null;
-		Translator attributeTranslator = null;
-		int[] processingHints = TranslatorFilter.createProcessingHints();
-
-		while ((attributeTranslator = TranslatorFilter.getNextAttributeTranslator(translator, processingHints[TranslatorFilter.NEXT_START_HINT_INDX], processingHints, target, version)) != null) {
-
-			List mofChildren = attributeTranslator.getMOFChildren(target);
-			if (mofChildren.size() > 0) {
-				for (int j = 0; j < mofChildren.size(); j++) {
-
-					childDomName = attributeTranslator.getDOMName(target);
-					rawValue = mofChildren.get(j);
-					convertedValue = attributeTranslator.convertValueToString(rawValue, target);
-					convertedValue = XMLEncoderDecoder.escape(convertedValue);
-					attributes.addAttribute(NAMESPACE, childDomName, childDomName, "String", convertedValue); //$NON-NLS-1$
-				}
-
-			} else {
-				childDomName = attributeTranslator.getDOMName(target);
-				convertedValue = (String) attributeTranslator.getMOFValue(target);
-				if (convertedValue != null)
-					attributes.addAttribute(NAMESPACE, childDomName, childDomName, "String", convertedValue); //$NON-NLS-1$
-			}
-		}
-		return attributes;
-	}
-
-	/**
-	 * WriterHints is used to "remember" certain pieces of information while the writer is
-	 * processing. Of particular interest are the version and the state of the DOM Path output.
-	 * Consecutive elements with consistent (identical) DOM Paths are collapsed under a single XML
-	 * element.
-	 * 
-	 * The WriterHints provides global state between recursive invocations of serialize(). It should
-	 * be not be used to store local data (e.g. data that is only relevant to a single Translator in
-	 * a given context).
-	 * 
-	 * The WriterHints also stores an AttributesImpl object that is re-used to store attributes. The
-	 * getAttributes() method will request the Attributes Holder.
-	 * 
-	 * @author mdelder
-	 */
-	public final class WriterHints {
-		private final TranslatorResource resource;
-		private final Stack domStack = new Stack();
-		private final AttributesImpl attributesImpl = new AttributesImpl();
-
-		public WriterHints(TranslatorResource res) {
-			this.resource = res;
-		}
-
-		/**
-		 * Push a new domPath onto the stack
-		 * 
-		 * @param domPath
-		 *            a DOMPath which has been written to the XML stream
-		 */
-		public void pushDomPath(String domPath) {
-
-			if (domPath != null && domPath.length() > 0)
-				domStack.push(domPath);
-		}
-
-		/**
-		 * Pop the current domPath from the Array
-		 */
-		public void popDomPath() {
-
-			if (!domStack.isEmpty())
-				domStack.pop();
-		}
-
-		/**
-		 * Determines if the given DOMPath has already been written to the XML stream
-		 * 
-		 * @param domPath
-		 * @return true if the given DOMPath has already been written to the XML stream
-		 */
-		public boolean isDomPathActive(String domPath) {
-			boolean result = false;
-			if (!domStack.isEmpty()) {
-
-				String currentDomPath = (String) domStack.peek();
-				if (currentDomPath != null && domPath != null)
-					result = currentDomPath.equals(domPath);
-				else if (!(currentDomPath == null ^ domPath == null))
-					result = true;
-			}
-
-			return result;
-		}
-
-		/**
-		 * @return the version of the EMF Resource
-		 */
-		public int getVersion() {
-			return this.resource.getVersionID();
-		}
-
-		/**
-		 * Returns an empty AttributesImpl object to store attributes. Within the context of a given
-		 * WriterHints object (and hence single XML document), the object returned is a singleton.
-		 * The same AttributesImpl object is cleared and reused for each invocation.
-		 * 
-		 * @return an empty AttributesImpl object to store attributes
-		 */
-		public AttributesImpl getAttributeHolder() {
-			this.attributesImpl.clear();
-			return this.attributesImpl;
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/FileNameResourceFactoryRegistry.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/FileNameResourceFactoryRegistry.java
deleted file mode 100644
index bdfd479..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/FileNameResourceFactoryRegistry.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.Resource.Factory;
-import org.eclipse.wst.common.internal.emf.utilities.DefaultOverridableResourceFactoryRegistry;
-
-
-public abstract class FileNameResourceFactoryRegistry extends DefaultOverridableResourceFactoryRegistry {
-	//We are using two lists instead of a Map because we need to iterate
-	//the list of simpleFileNames quite a lot.
-	protected List simpleFileNames;
-	protected List simpleFileNameFactories;
-
-	public FileNameResourceFactoryRegistry() {
-		super();
-	}
-
-	/**
-	 * Return a Resource.Factory that is registered with the last segment of the URI's file name.
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceFactoryRegistryImpl#getFactory(URI)
-	 */
-	protected Object getFileNameFactory(URI uri) {
-		if (simpleFileNames != null) {
-			String fileName = uri.lastSegment();
-			if (fileName != null) {
-				String key;
-				for (int i = 0; i < simpleFileNames.size(); i++) {
-					key = (String) simpleFileNames.get(i);
-					if (fileName.equals(key))
-						return simpleFileNameFactories.get(i);
-				}
-			}
-		}
-		return null;
-	}
-
-	public Resource.Factory getFactory(URI uri) {
-		Object resourceFactory = getFileNameFactory(uri);
-		if (resourceFactory == null)
-			resourceFactory = super.getFactory(uri);
-		return (Resource.Factory) resourceFactory;
-	}
-
-	/**
-	 * Register a file name representing the last segment of a URI with the corresponding
-	 * Resource.Factory.
-	 */
-	public void registerLastFileSegment(String aSimpleFileName, Resource.Factory aFactory) {
-		URI uri = URI.createURI(aSimpleFileName);
-		String lastSegment = uri.lastSegment();
-		int index = getFileNameIndexForAdd(lastSegment);
-		setFileName(lastSegment, index);
-		setFileNameFactory(aFactory, index);
-	}
-
-	private int getFileNameIndexForAdd(String aSimpleFileName) {
-		if (simpleFileNames != null) {
-			int i = simpleFileNames.indexOf(aSimpleFileName);
-			if (i > -1)
-				return i;
-			return simpleFileNames.size();
-		}
-		return 0;
-	}
-
-	private void setFileNameFactory(Factory aFactory, int index) {
-		if (simpleFileNameFactories == null)
-			simpleFileNameFactories = new ArrayList();
-		simpleFileNameFactories.add(index, aFactory);
-	}
-
-	private void setFileName(String aSimpleFileName, int index) {
-		if (simpleFileNames == null)
-			simpleFileNames = new ArrayList();
-		simpleFileNames.add(index, aSimpleFileName);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/GenericTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/GenericTranslator.java
deleted file mode 100644
index eafe09f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/GenericTranslator.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 20, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * Specialized translator for objects that contain simple mappings with no specialized behavior.
- */
-public class GenericTranslator extends Translator {
-
-	protected Translator[] children;
-
-	/**
-	 * @param domNameAndPath
-	 * @param eClass
-	 */
-	public GenericTranslator(String domNameAndPath, EClass eClass) {
-		super(domNameAndPath, eClass);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature) {
-		super(domNameAndPath, aFeature);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param path
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath path) {
-		super(domNameAndPath, aFeature, path);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param paths
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath[] paths) {
-		super(domNameAndPath, aFeature, paths);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param eClass
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature, EClass eClass) {
-		super(domNameAndPath, aFeature, eClass);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param style
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature, int style) {
-		super(domNameAndPath, aFeature, style);
-	}
-
-	/**
-	 * @return Translator[]
-	 */
-	public Translator[] getChildren() {
-		return children;
-	}
-
-	/**
-	 * Sets the children.
-	 * 
-	 * @param children
-	 *            The children to set
-	 */
-	public void setChildren(Translator[] children) {
-		this.children = children;
-	}
-
-
-	public static Translator appendChildren(GenericTranslator tran, Translator[] child) {
-		Translator[] orgChild = tran.getChildren();
-		Translator[] newChildren = (Translator[]) concat(orgChild, child);
-		tran.setChildren(newChildren);
-		return tran;
-	}
-
-	public static Translator appendChild(GenericTranslator tran, Translator child) {
-		Object[] orgChild = tran.getChildren();
-		Translator[] newChildren = (Translator[]) concat(orgChild, child);
-		tran.setChildren(newChildren);
-		return tran;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/IDTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/IDTranslator.java
deleted file mode 100644
index 1710118..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/IDTranslator.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 19, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-/**
- * @author schacher
- */
-public class IDTranslator extends Translator {
-	public class NoResourceException extends RuntimeException {
-
-		public NoResourceException() {
-			super();
-		}
-
-		public NoResourceException(String s) {
-			super(s);
-		}
-	}
-
-	static final public EStructuralFeature ID_FEATURE = EcorePackage.eINSTANCE.getEClass_EIDAttribute();
-	static final public IDTranslator INSTANCE = new IDTranslator();
-
-	public IDTranslator() {
-		super("id", ID_FEATURE, DOM_ATTRIBUTE); //$NON-NLS-1$
-	}
-
-	public void setMOFValue(EObject emfObject, Object value) {
-		XMIResource res = (XMIResource) emfObject.eResource();
-		if (res == null)
-			throw new NoResourceException();
-		String id = (String) res.getEObjectToIDMap().get(emfObject);
-		if (id == null && value == null)
-			return;
-		if ((id != null && !id.equals(value)) || (value != null && !value.equals(id)))
-			res.setID(emfObject, (String) value);
-	}
-
-	public Object getMOFValue(EObject emfObject) {
-		XMIResource res = (XMIResource) emfObject.eResource();
-		if (res == null)
-			throw new NoResourceException();
-		return res.getID(emfObject);
-	}
-
-
-	public boolean featureExists(EObject emfObject) {
-		return true;
-	}
-
-	public boolean isIDMap() {
-		return true;
-	}
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/LinkUpdaterTarget.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/LinkUpdaterTarget.java
deleted file mode 100644
index f5cd1f9..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/LinkUpdaterTarget.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.w3c.dom.Node;
-
-
-public class LinkUpdaterTarget extends Object {
-
-	public static final LinkUpdaterTarget INSTANCE = new LinkUpdaterTarget();
-
-	/**
-	 * Constructor for LinkUpdaterMultiTarget.
-	 * 
-	 * @param adapter
-	 */
-	private LinkUpdaterTarget() {
-		super();
-	}
-
-
-	public void updateDOM(Translator map, Node node, EObject mofObject) {
-		refreshSourceObjects(map, node, mofObject, true);
-	}
-
-	public void updateMOF(Translator map, Node node, EObject mofObject) {
-		refreshSourceObjects(map, node, mofObject, false);
-	}
-
-	protected void refreshSourceObjects(Translator map, Node node, EObject mofObject, boolean domUpdate) {
-		TranslatorPath[] paths = map.getTranslatorPaths();
-		for (int i = 0; i < paths.length; i++) {
-			TranslatorPath path = paths[i];
-			List allSourceObjects = path.findObjects(mofObject);
-			for (Iterator iter = allSourceObjects.iterator(); iter.hasNext();) {
-				EObject curObject = (EObject) iter.next();
-				EMF2DOMAdapter curAdapter = (EMF2DOMAdapter) EcoreUtil.getAdapter(curObject.eAdapters(), EMF2DOMAdapter.class);
-				if (curAdapter != null) {
-					if (domUpdate)
-						curAdapter.updateDOM();
-					else
-						curAdapter.updateMOF();
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MappedXMIHelper.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MappedXMIHelper.java
deleted file mode 100644
index ac27864..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MappedXMIHelper.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl;
-import org.eclipse.wst.common.internal.emf.utilities.IDUtil;
-
-public class MappedXMIHelper extends XMLHelperImpl {
-
-	private static final String WORKSPACE_PROTOCOL = "workspace:/"; //$NON-NLS-1$
-	private static final String PLATFORM_RESOURCE_PROTOCOL = "platform:/resource/"; //$NON-NLS-1$
-	private static final EStructuralFeature NULL_FEATURE = new UnsupportedFeature();
-	protected boolean usingMaps = true;
-	protected Map cachedRelativeURIs;
-	protected Map packageURIsToPrefixes;
-
-	/**
-	 * Constructor for MappedXMLHelper.
-	 * 
-	 * @param resource
-	 */
-	public MappedXMIHelper(XMLResource resource, Map prefixesToURIs) {
-		super(resource);
-		this.prefixesToURIs.putAll(prefixesToURIs);
-		pushContext(); //Needed to initialize the context to zero
-		Set keys = prefixesToURIs.keySet();
-		for (Iterator iter = keys.iterator(); iter.hasNext();) {
-			String prefix = (String) iter.next();
-			String uri = (String) prefixesToURIs.get(prefix);
-			namespaceSupport.declarePrefix(prefix, uri);
-		}
-
-	}
-
-	public URI resolve(URI relative, URI base) {
-		URI resolved = null;
-		boolean isMapped = false;
-		ResourceSet set = getResource().getResourceSet();
-		if (set != null) {
-			URI localresourceURI = null;
-			if (relative.hasFragment())
-				localresourceURI = relative.trimFragment();
-			else
-				localresourceURI = relative;
-			isMapped = !(((URIConverterImpl.URIMap) set.getURIConverter().getURIMap()).getURI(localresourceURI).equals(localresourceURI));
-		}
-		if (!isMapped) {
-			if (isUsingContainerRelativePaths() && set != null)
-				resolved = set.getURIConverter().normalize(relative);
-		} else {
-			resolved = relative;
-		}
-		return resolved == null ? super.resolve(relative, base) : resolved;
-	}
-
-	/**
-	 * Method isUsingContainerRelativePaths.
-	 * 
-	 * @return boolean
-	 */
-	private boolean isUsingContainerRelativePaths() {
-		return ((CompatibilityXMIResource) resource).getFormat() == CompatibilityXMIResource.FORMAT_MOF5 || usingMaps;
-	}
-
-	public void addPrefix(String prefix, String uri) {
-		/*
-		 * problem - the incoming key value pair is ejbbnd->ejbbnd.xmi; however, the map already has
-		 * a key value pair of ejbbnd->http:///ejbbnd.ecore
-		 */
-		if (uri.endsWith(".ecore")) { //$NON-NLS-1$
-			usingMaps = false;
-		}
-		String existing = (String) prefixesToURIs.get(prefix);
-		if (existing == null) {
-			prefixesToURIs.put(prefix, uri);
-			namespaceSupport.declarePrefix(prefix, uri);
-		} else if (!existing.equals(uri)) {
-			getCompatibilityResource().addOriginalPackageURI(existing, uri);
-			getCompatibilityResource().setFormat(CompatibilityXMIResource.FORMAT_MOF5);
-		}
-	}
-
-	protected CompatibilityXMIResource getCompatibilityResource() {
-		return (CompatibilityXMIResource) getResource();
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl#getHREF(EObject)
-	 */
-	public String getHREF(EObject obj) {
-		if (!getCompatibilityResource().usesDefaultFormat()) {
-			URIConverter conv = getURIConverter();
-			if (conv != null && conv instanceof CompatibilityURIConverter) {
-				String href = getCompatibliltyHREF(obj, (CompatibilityURIConverter) conv);
-				return useWorkspaceProtocolIfNecessary(href);
-			}
-		}
-		return super.getHREF(obj);
-	}
-
-
-	/**
-	 * @param href
-	 * @return
-	 */
-	protected String useWorkspaceProtocolIfNecessary(String href) {
-		if (href != null && href.startsWith(PLATFORM_RESOURCE_PROTOCOL))
-			return WORKSPACE_PROTOCOL + href.substring(19);
-		return href;
-	}
-
-	private String getCompatibliltyHREF(EObject obj, CompatibilityURIConverter conv) {
-		//Implementation copied from super.getHREF(EObject)
-		InternalEObject o = (InternalEObject) obj;
-
-		URI objectURI = o.eProxyURI();
-		if (objectURI == null) {
-			Resource otherResource = obj.eResource();
-			if (otherResource == null) {
-				objectURI = handleDanglingHREF(obj);
-				if (objectURI == null) {
-					return null;
-				}
-			} else
-				objectURI = otherResource.getURI().appendFragment(otherResource.getURIFragment(obj));
-		}
-
-		//Modified to dispatch back to URI Converter
-		if (!objectURI.isRelative()) {
-			objectURI = makeRelative(objectURI, conv);
-		}
-		return objectURI.toString();
-	}
-
-	protected URI makeRelative(URI objectURI, CompatibilityURIConverter conv) {
-		String fragment = objectURI.fragment();
-		objectURI = objectURI.trimFragment();
-		URI relative = (URI) getCachedRelativeURIs().get(objectURI);
-		if (relative == null) {
-			relative = conv.deNormalize(objectURI);
-			if (relative.isRelative())
-				cachedRelativeURIs.put(objectURI, relative);
-		}
-		return relative.appendFragment(fragment);
-	}
-
-	protected URIConverter getURIConverter() {
-		ResourceSet set = getResource().getResourceSet();
-		if (set != null)
-			return set.getURIConverter();
-		return null;
-	}
-
-	protected Map getCachedRelativeURIs() {
-		if (cachedRelativeURIs == null)
-			cachedRelativeURIs = new HashMap();
-		return cachedRelativeURIs;
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl#getID(EObject)
-	 */
-	public String getID(EObject obj) {
-		if (getCompatibilityResource().usesDefaultFormat())
-			return super.getID(obj);
-		return IDUtil.getOrAssignID(obj, resource);
-	}
-
-	public String[] getNSInfo(EPackage pkg) {
-		String prefix = getMappedPrefix(pkg);
-		if (prefix == null)
-			return new String[]{pkg.getNsPrefix(), pkg.getNsURI()};
-		return new String[]{prefix, prefix + ".xmi"}; //$NON-NLS-1$
-	}
-
-	protected String getMappedPrefix(EPackage pkg) {
-		String nsURI = pkg.getNsURI();
-		if (usingMaps || !getCompatibilityResource().usesDefaultFormat())
-			return (String) packageURIsToPrefixes.get(nsURI);
-		return null;
-	}
-
-	protected String getMappedPrefixOrDefault(EPackage pkg) {
-		String prefix = getMappedPrefix(pkg);
-		return prefix == null ? pkg.getNsPrefix() : prefix;
-	}
-
-
-	/**
-	 * Returns the packageURIsToPrefixes.
-	 * 
-	 * @return Map
-	 */
-	public Map getPackageURIsToPrefixes() {
-		return packageURIsToPrefixes;
-	}
-
-	/**
-	 * Sets the packageURIsToPrefixes.
-	 * 
-	 * @param packageURIsToPrefixes
-	 *            The packageURIsToPrefixes to set
-	 */
-	public void setPackageURIsToPrefixes(Map packageURIsToPrefixes) {
-		this.packageURIsToPrefixes = packageURIsToPrefixes;
-	}
-
-	public String getQName(EClass c) {
-		String name = getName(c);
-
-		if (xmlMap != null) {
-			XMLResource.XMLInfo clsInfo = xmlMap.getInfo(c);
-
-			if (clsInfo != null) {
-				String targetNamespace = clsInfo.getTargetNamespace();
-				return getQName(targetNamespace, name);
-			}
-		}
-
-		EPackage p = c.getEPackage();
-		packages.put(p, null);
-
-		if (p.getNsPrefix().equals("")) //$NON-NLS-1$ 
-			return name;
-
-		//Modified from superclass
-		//return p.getNsPrefix() + ":" + name;
-		return getMappedPrefixOrDefault(p) + ":" + name; //$NON-NLS-1$ 
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl#setValue(EObject, EStructuralFeature,
-	 *      Object, int)
-	 */
-	public void setValue(EObject object, EStructuralFeature feature, Object value, int position) {
-		if (feature == NULL_FEATURE)
-			return;
-		if (!feature.isTransient()) {
-			if (value == null && feature.getEType().getInstanceClass() != null && feature.getEType().getInstanceClass().isPrimitive())
-				//For compatibility with MOF5 where types like Integer might have been set
-				//and serialized as "xsi:nil"
-				return;
-
-			super.setValue(object, feature, value, position);
-		}
-	}
-
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.XMLHelper#getFeature(org.eclipse.emf.ecore.EClass,
-	 *      java.lang.String, java.lang.String, boolean)
-	 */
-	public EStructuralFeature getFeature(EClass eClass, String namespaceURI, String name, boolean isElement) {
-		if (UnsupportedFeature.isUnsupported(eClass, name))
-			return NULL_FEATURE;
-		return super.getFeature(eClass, namespaceURI, name, isElement);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.XMLHelper#getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature)
-	 */
-	public int getFeatureKind(EStructuralFeature feature) {
-		if (feature == NULL_FEATURE)
-			return XMLHelper.DATATYPE_SINGLE;
-		return super.getFeatureKind(feature);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MultiObjectTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MultiObjectTranslator.java
deleted file mode 100644
index abfcc83..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MultiObjectTranslator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 31, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * @author schacher
- */
-public abstract class MultiObjectTranslator extends Translator {
-	private static final Translator[] EMPTY_TRANSLATORS = new Translator[]{};
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param style
-	 */
-	public MultiObjectTranslator(String domNameAndPath, EStructuralFeature aFeature) {
-		super(domNameAndPath, aFeature);
-	}
-
-	public abstract Translator getDelegateFor(EObject o);
-
-	public abstract Translator getDelegateFor(String domName, String readAheadName);
-
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#createEMFObject(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public EObject createEMFObject(String nodeName, String readAheadName) {
-		return getDelegateFor(nodeName, readAheadName).createEMFObject(nodeName, readAheadName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#getChildren(java.lang.Object)
-	 */
-	public Translator[] getChildren(Object o, int version) {
-		if (o == null)
-			return EMPTY_TRANSLATORS;
-		return getDelegateFor((EObject) o).getChildren(o, version);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#getDOMName(java.lang.Object)
-	 */
-	public String getDOMName(Object value) {
-		return getDelegateFor((EObject) value).getDOMName(value);
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isManagedByParent()
-	 */
-	public boolean isManagedByParent() {
-		return false;
-	}
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/NamespaceTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/NamespaceTranslator.java
deleted file mode 100644
index b266883..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/NamespaceTranslator.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 14, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.internal.emf.utilities.Namespace;
-import org.eclipse.wst.common.internal.emf.utilities.NamespaceAdapter;
-
-
-/**
- * @author schacher
- */
-public class NamespaceTranslator extends Translator {
-
-	protected String prefix;
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 */
-	public NamespaceTranslator(String domName) {
-		super(domName, NamespaceAdapter.NOTIFICATION_FEATURE, DOM_ATTRIBUTE);
-		initPrefix();
-	}
-
-	private void initPrefix() {
-		String dName = getDOMName(null);
-		prefix = dName.substring(DefaultTranslatorFactory.XMLNS.length());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#setMOFValue(org.eclipse.emf.ecore.EObject,
-	 *      java.lang.Object)
-	 */
-	public void setMOFValue(EObject emfObject, Object value) {
-		NamespaceAdapter.addNamespace(prefix, (String) value, emfObject);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isSetMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public boolean isSetMOFValue(EObject emfObject) {
-		return getMOFValue(emfObject) != null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#getMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public Object getMOFValue(EObject mofObject) {
-		return NamespaceAdapter.getNamespaceURIAtThisLevel(prefix, mofObject);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#unSetMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public void unSetMOFValue(EObject emfObject) {
-		NamespaceAdapter.removeNamespace(prefix, emfObject);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#featureExists(org.eclipse.emf.ecore.EObject)
-	 */
-	public boolean featureExists(EObject emfObject) {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isDataType()
-	 */
-	public boolean isDataType() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isMapFor(java.lang.Object, java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	public boolean isMapFor(Object aFeature, Object oldValue, Object newValue) {
-		if (aFeature == feature) {
-			Namespace namespace = (Namespace) (oldValue == null ? newValue : oldValue);
-			if (namespace != null)
-				return prefix.equals(namespace.getPrefix());
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ObjectTranslatorFilter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ObjectTranslatorFilter.java
deleted file mode 100644
index 918b9ce..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ObjectTranslatorFilter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-/*
- * Created on Sep 21, 2003
- *  
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-public final class ObjectTranslatorFilter extends TranslatorFilter {
-
-	public ObjectTranslatorFilter() {
-		super(null, -1);
-	}
-
-	public ObjectTranslatorFilter(Translator trans, int version) {
-		super(trans, version);
-	}
-
-	public final int scanNextTranslator(Translator[] children, int start) {
-		int found = start + 1;
-		for (; found < children.length; ++found) {
-			if (!children[found].isDOMAttribute())
-				break;
-		}
-		found = (found < children.length) ? found : -1;
-		return found;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReadAheadHelper.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReadAheadHelper.java
deleted file mode 100644
index a7d1a23..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReadAheadHelper.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 2, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-/**
- * @author schacher
- */
-public class ReadAheadHelper {
-
-	protected String parentDOMName;
-	protected String[] values;
-	protected String childDOMName;
-
-	public ReadAheadHelper(String parentDOMName, String[] values, String childDOMName) {
-		super();
-		this.parentDOMName = parentDOMName;
-		this.values = values;
-		this.childDOMName = childDOMName;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getChildDOMName() {
-		return childDOMName;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getParentDOMName() {
-		return parentDOMName;
-	}
-
-	/**
-	 * @return
-	 */
-	public String[] getValues() {
-		return values;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setChildDOMName(String string) {
-		childDOMName = string;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setParentDOMName(String string) {
-		parentDOMName = string;
-	}
-
-	/**
-	 * @param strings
-	 */
-	public void setValues(String[] strings) {
-		values = strings;
-	}
-
-
-	public boolean nodeValueIsReadAheadName(String nodeName) {
-
-		return (childDOMName != null) ? childDOMName.equals(nodeName) : false;
-	}
-
-	public boolean nodeNameIsReadAheadName(String nodeName) {
-		boolean result = false;
-		for (int i = 0; i < values.length; i++) {
-			if (nodeName.equals(values[i])) {
-				result = true;
-				break;
-			}
-		}
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedResource.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedResource.java
deleted file mode 100644
index fc8ceaf..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedResource.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-
-import org.eclipse.emf.ecore.resource.Resource;
-
-public interface ReferencedResource extends Resource, CompatibilityXMIResource {
-	//TODO - rename packaged
-
-	public static final String DELETED_ERROR_MSG = "This resource has been deleted and can no longer be used."; //$NON-NLS-1$
-
-	public static final int RESOURCE_WAS_SAVED = 601;
-
-	/**
-	 * Access this resource for read only. This call increments the use read count of this resource.
-	 * Clients should call this method before they use the resource. They should call
-	 * releaseFromRead() after they are done modifying this resource.
-	 */
-	void accessForRead();
-
-	/**
-	 * Access this resource for write only. This call increments the use write count of this
-	 * resource. Clients should call this method before they modify the resource. They should call
-	 * releaseFromWrite() after they are done modifying this resource.
-	 */
-	void accessForWrite();
-
-	/**
-	 * Return true if this resource has just been loaded and not yet accessed for read or write.
-	 */
-	boolean isNew();
-
-	/**
-	 * Return true if this resource does not have any write references.
-	 */
-	boolean isReadOnly();
-
-	/**
-	 * Return true if this resource is shared for read or write by more than one accessor.
-	 */
-	boolean isShared();
-
-	/**
-	 * Return true if this resource is shared for write by more than one accessor.
-	 */
-	boolean isSharedForWrite();
-
-	/**
-	 * Release read the access to this resource. This call decrements the use count of this resource
-	 * and will remove the resource from its resource set if the use count goes to 0. Clients should
-	 * call this method when they are done accessing the resource and only after they have called
-	 * accessForRead() to obtain access.
-	 */
-	void releaseFromRead();
-
-	/**
-	 * Release write the access to this resource. This call decrements the write count of this
-	 * resource and will remove the resource from its resource set if the use count goes to 0.
-	 * Clients should call this method when they are done accessing the resource and only after they
-	 * have called accessForWrite() to obtain access.
-	 */
-	void releaseFromWrite();
-
-	/**
-	 * Saves this resource only if the write count is equal to 1.
-	 */
-	void saveIfNecessary() throws Exception;
-
-	/**
-	 * Return true if this resource is dirty and is not shared for write.
-	 */
-	boolean needsToSave();
-
-
-
-	/**
-	 * Set whether we should allow a refresh to take place even when this resource is dirty.
-	 * 
-	 * @param b
-	 */
-	void setForceRefresh(boolean b);
-
-	/**
-	 * Return whether we should allow a refresh to take place even when this resource is dirty.
-	 */
-	boolean shouldForceRefresh();
-
-	boolean wasReverted();
-
-	/**
-	 * Returns the number of open read accesses on this resource
-	 * 
-	 * @return
-	 */
-	int getReadCount();
-
-	/**
-	 * Returns the number of open write accesses on this resource
-	 * 
-	 * @return
-	 */
-	int getWriteCount();
-
-	/**
-	 * If the resource is no longer being accessed, then remove it from the resource set.
-	 */
-	void unloadIfNecessary();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIFactoryImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIFactoryImpl.java
deleted file mode 100644
index d891c2c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIFactoryImpl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-
-public class ReferencedXMIFactoryImpl extends ResourceFactoryImpl {
-
-	protected static List globalAdapterFactories;
-	protected List localAdapterFactories;
-
-	/**
-	 * ReferencedXMIFactoryImpl constructor comment.
-	 */
-	public ReferencedXMIFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * This is the method that subclasses can override to actually instantiate a new Resource
-	 * 
-	 * @param uri
-	 * @return
-	 */
-	protected Resource doCreateResource(URI uri) {
-		return new ReferencedXMIResourceImpl(uri);
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl#createResource(URI)
-	 */
-	public final Resource createResource(URI uri) {
-		Resource res = doCreateResource(uri);
-		adaptNew(res);
-		return res;
-	}
-
-	protected void adaptNew(Resource res) {
-		if (globalAdapterFactories != null) {
-			for (int i = 0; i < globalAdapterFactories.size(); i++) {
-				AdapterFactory factory = (AdapterFactory) globalAdapterFactories.get(i);
-				factory.adaptAllNew(res);
-			}
-		}
-		if (localAdapterFactories != null) {
-			for (int i = 0; i < localAdapterFactories.size(); i++) {
-				AdapterFactory factory = (AdapterFactory) localAdapterFactories.get(i);
-				factory.adaptAllNew(res);
-			}
-		}
-	}
-
-	/**
-	 * The local adapter factory is an adapter factory that you use to only adapt the resource
-	 * specific to the ResourceFactory instance.
-	 * 
-	 * @param factory
-	 */
-	public void addLocalAdapterFactory(AdapterFactory factory) {
-		if (localAdapterFactories == null)
-			localAdapterFactories = new ArrayList(3);
-		localAdapterFactories.add(factory);
-	}
-
-	public void removeLocalAdapterFactory(AdapterFactory factory) {
-		if (localAdapterFactories != null)
-			localAdapterFactories.remove(factory);
-	}
-
-	/**
-	 * A global adapter factory will be used to adapt any resource created by any ResourceFactory
-	 * instance.
-	 * 
-	 * @param factory
-	 */
-	public static void addGlobalAdapterFactory(AdapterFactory factory) {
-		if (globalAdapterFactories == null)
-			globalAdapterFactories = new ArrayList(3);
-		globalAdapterFactories.add(factory);
-	}
-
-	public static void removeGlobalAdapterFactory(AdapterFactory factory) {
-		if (globalAdapterFactories != null)
-			globalAdapterFactories.remove(factory);
-	}
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java
deleted file mode 100644
index cd4208b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.internal.emf.utilities.IDUtil;
-
-public class ReferencedXMIResourceImpl extends CompatibilityXMIResourceImpl implements ReferencedResource {
-	//TODO Add toString hook
-	private static final String TO_STRING = "ReferencedXMIResource, file = "; //$NON-NLS-1$
-	private static final String READ_COUNT_TO_STRING = " R= "; //$NON-NLS-1$
-	private static final String WRITE_COUNT_TO_STRING = " W= "; //$NON-NLS-1$
-
-	private int readReferenceCount = 1;
-	private int editReferenceCount = 0;
-	protected boolean isNew = true;
-	protected boolean forceRefresh;
-
-	/**
-	 * ReferencableXMIResourceImpl constructor comment.
-	 */
-	public ReferencedXMIResourceImpl() {
-		super();
-	}
-
-	public ReferencedXMIResourceImpl(URI uri) {
-		super(uri);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.ReferencedResource#getReadCount()
-	 */
-	public int getReadCount() {
-		return readReferenceCount;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.ReferencedResource#getWriteCount()
-	 */
-	public int getWriteCount() {
-		return editReferenceCount;
-	}
-
-
-
-	/*
-	 * @see ReferencedResource#accessForRead
-	 */
-	public void accessForRead() {
-		checkDeleted();
-		if (!isNew())
-			readReferenceCount++;
-		isNew = false;
-	}
-
-	/*
-	 * @see ReferencedResource#accessForWrite
-	 */
-	public void accessForWrite() {
-		checkDeleted();
-		editReferenceCount++;
-		if (isNew)
-			releaseFromRead();
-		isNew = false;
-		if (!isTrackingModification())
-			setTrackingModification(true);
-	}
-
-	/*
-	 * Check if this resource has been removed and throw an exception if it does not have a
-	 * ResourceSet.
-	 */
-	protected void checkDeleted() {
-		if (getResourceSet() == null)
-			throw new RuntimeException(DELETED_ERROR_MSG);
-	}
-
-	/**
-	 *  
-	 */
-	public void collectContainedObjects(java.util.List collecting, EObject parentObject) {
-
-		java.util.Iterator children = parentObject.eContents().iterator();
-		while (children.hasNext()) {
-			EObject child = (EObject) children.next();
-			collecting.add(child);
-			collectContainedObjects(collecting, child);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public void ensureFullIDHydration() {
-		List allRefObjects = new ArrayList();
-		Iterator rootObjects = getContents().iterator();
-		while (rootObjects.hasNext()) {
-			EObject child = (EObject) rootObjects.next();
-			allRefObjects.add(child);
-			collectContainedObjects(allRefObjects, child);
-		}
-
-		Iterator iter = allRefObjects.iterator();
-		while (iter.hasNext())
-			IDUtil.assignID((EObject) iter.next(), this);
-	}
-
-	/**
-	 * If the resource is no longer being accessed, then remove it from the resource set.
-	 */
-	public void unloadIfNecessary() {
-		if ((getTotalReferenceCount() <= 0) || (editReferenceCount <= 0 && isModified()))
-			unload();
-	}
-
-	/**
-	 * Return the number of write accesses to this resource.
-	 * 
-	 * @return int The number of references.
-	 */
-	protected int getTotalReferenceCount() {
-		return editReferenceCount + readReferenceCount;
-	}
-
-	/*
-	 * @see ReferencedResource#isNew
-	 */
-	public boolean isNew() {
-		return isNew;
-	}
-
-	/*
-	 * @see ReferencedResource#isReadOnly
-	 */
-	public boolean isReadOnly() {
-		return editReferenceCount <= 0;
-	}
-
-	/*
-	 * @see ReferencedResource#isShared
-	 */
-	public boolean isShared() {
-		return getTotalReferenceCount() > 1;
-	}
-
-	/*
-	 * @see ReferencedResource#isSharedForWrite
-	 */
-	public boolean isSharedForWrite() {
-		return editReferenceCount > 1;
-	}
-
-	/**
-	 * @see ReferencedResource#preDelete
-	 */
-	public void preDelete() {
-	}
-
-	/*
-	 * @see ReferencedResource#releaseFromRead
-	 */
-	public void releaseFromRead() {
-		readReferenceCount--;
-		if (readReferenceCount < 0)
-			throw new RuntimeException("Read reference count error:  " + this.toString()); //$NON-NLS-1$
-		unloadIfNecessary();
-	}
-
-	/*
-	 * @see ReferencedResource#releaseFromWrite
-	 */
-	public void releaseFromWrite() {
-		editReferenceCount--;
-		if (editReferenceCount < 0)
-			throw new RuntimeException("Write reference count error:  " + this.toString()); //$NON-NLS-1$
-		unloadIfNecessary();
-	}
-
-	/*
-	 * @see ReferencedResource#saveIfNecessary
-	 */
-	public void saveIfNecessary() throws Exception {
-		if (!isSharedForWrite()) // caller is the only referencer
-			save(Collections.EMPTY_MAP);
-	}
-
-	public String toString() {
-		return TO_STRING + getURI().toString() + READ_COUNT_TO_STRING + new Integer(readReferenceCount) + WRITE_COUNT_TO_STRING + new Integer(editReferenceCount);
-	}
-
-	/*
-	 * @see ReferencedResource#needsToSave()
-	 */
-	public boolean needsToSave() {
-		return isModified() && !isSharedForWrite();
-	}
-
-
-	/**
-	 * @see ReferencedResource#setForceRefresh(boolean)
-	 */
-	public void setForceRefresh(boolean b) {
-		forceRefresh = b;
-	}
-
-	/**
-	 * @see ReferencedResource#shouldForceRefresh()
-	 */
-	public boolean shouldForceRefresh() {
-		return forceRefresh;
-	}
-
-	protected void basicDoLoad(InputStream arg0, Map arg1) throws IOException {
-		boolean isTrackingMods = isTrackingModification();
-		try {
-			if (isTrackingMods)
-				setTrackingModification(false);
-			super.basicDoLoad(arg0, arg1);
-		} finally {
-			if (isTrackingMods)
-				setTrackingModification(true);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#doUnload()
-	 */
-	protected void doUnload() {
-		if (isTrackingModification() && editReferenceCount < 1) //do not turn off modification if
-			// we still have a write count
-			setTrackingModification(false);
-		super.doUnload();
-		setForceRefresh(false);
-		setModified(false); //dcb - this is required to ensure that resources without files are
-		// marked as not modified.
-		if (readReferenceCount == 0 && editReferenceCount == 0)
-			resetAsNew();
-	}
-
-
-	/**
-	 * The resource has been unloaded, and there are no references. Treat the resource like a new
-	 * Resource
-	 */
-	private void resetAsNew() {
-		readReferenceCount = 1;
-		isNew = true;
-	}
-
-	/**
-	 * @see Resource#save(Object)
-	 */
-	public void save(Map options) throws IOException {
-		super.save(options);
-		notifySaved();
-	}
-
-	protected void notifySaved() {
-		if (eNotificationRequired()) {
-			Notification notification = new NotificationImpl(RESOURCE_WAS_SAVED, this, this) {
-				public Object getNotifier() {
-					return ReferencedXMIResourceImpl.this;
-				}
-
-				public int getFeatureID(Class expectedClass) {
-					return RESOURCE_WAS_SAVED;
-				}
-			};
-			eNotify(notification);
-		}
-	}
-
-	/**
-	 * @see com.ibm.etools.emf.workbench.ReferencedResource#wasReverted()
-	 */
-	public boolean wasReverted() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Renderer.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Renderer.java
deleted file mode 100644
index e3be112..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Renderer.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-
-/**
- * Interface that defines the api for rendering an EMF object to XML and vice versa
- */
-public interface Renderer {
-
-	public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; //$NON-NLS-1$
-
-	public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; //$NON-NLS-1$
-
-	void setResource(TranslatorResource aResource);
-
-	TranslatorResource getResource();
-
-	void doLoad(InputStream in, Map options) throws IOException;
-
-	void doSave(OutputStream outputStream, Map options) throws IOException;
-
-	boolean useStreamsForIO();
-
-	void prepareToAddContents();
-
-	int getVersionID();
-
-	boolean isModified();
-
-	void accessForWrite();
-
-	void accessForRead();
-
-	void releaseFromRead();
-
-	void releaseFromWrite();
-
-	void preDelete();
-
-	void preUnload();
-
-	boolean isShared();
-
-	boolean isSharedForWrite();
-
-	void setBatchMode(boolean isBatch);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactory.java
deleted file mode 100644
index 9f294d3..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactory.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-
-public abstract class RendererFactory {
-
-	public abstract Renderer createRenderer();
-
-	private static RendererFactory defaultRendererFactory;
-
-	private static RendererFactoryDefaultHandler defaultHandler;
-
-	private boolean validating = true;
-
-	/**
-	 * Interested parties can use the
-	 */
-	public final static Notifier NotificationEngine = Notifier.INSTANCE;
-
-	/**
-	 * @return
-	 */
-	public static RendererFactory getDefaultRendererFactory() {
-		if (defaultRendererFactory == null)
-			defaultRendererFactory = getDefaultHandler().getDefaultRendererFactory();
-		return defaultRendererFactory;
-	}
-
-	/**
-	 * @param factory
-	 */
-	public static void setDefaultRendererFactory(RendererFactory factory) {
-
-		//System.out.println("\n\n***Setting factory: " + factory);
-		NotificationEngine.notifyListeners(factory);
-		defaultRendererFactory = factory;
-	}
-
-	public String toString() {
-		return "RendererFactory instance: " + getClass().getName(); //$NON-NLS-1$
-	}
-
-	public static class Notifier {
-
-		private static final Notifier INSTANCE = new Notifier();
-
-		private final Collection resourceFactoryListeners = new ArrayList();
-
-		private Notifier() {
-		}
-
-		public void notifyListeners(RendererFactory rendererFactory) {
-
-			final int length = resourceFactoryListeners.size();
-			//System.out.println("Notifying " + length + " listeners");
-
-			if (length > 0) {
-				/*
-				 * Since the renderer factories are singletons, this reference check should always
-				 * work
-				 */
-				if (rendererFactory != RendererFactory.getDefaultRendererFactory()) {
-					WeakReference wref = null;
-					Listener listener = null;
-					synchronized (resourceFactoryListeners) {
-						for (Iterator i = resourceFactoryListeners.iterator(); i.hasNext();) {
-							wref = (WeakReference) i.next();
-							listener = (Listener) wref.get();
-							//System.out.println("Notifying Listener: " + listener);
-							if (listener != null)
-								listener.updateRendererFactory(rendererFactory);
-							else
-								i.remove();
-						}
-					}
-				}
-			}
-		}
-
-		public void addListener(Listener l) {
-			//System.out.println("Adding listener: " + l);
-			synchronized (resourceFactoryListeners) {
-				resourceFactoryListeners.add(new WeakReference(l));
-			}
-		}
-
-		public void removeListener(Listener listenerToRemove) {
-			final int length = resourceFactoryListeners.size();
-			if (length > 0) {
-				WeakReference wref = null;
-				Listener listener = null;
-				synchronized (resourceFactoryListeners) {
-					for (Iterator i = resourceFactoryListeners.iterator(); i.hasNext();) {
-						wref = (WeakReference) i.next();
-						listener = (Listener) wref.get();
-						if (listener != null) {
-							if (listener == listenerToRemove) {
-								i.remove();
-								break;
-							}
-						} else {
-							i.remove();
-						}
-					}
-				}
-			}
-		}
-
-	}
-
-	public interface Listener {
-		void updateRendererFactory(RendererFactory newRendererFactory);
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isValidating() {
-		return validating;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setValidating(boolean b) {
-		validating = b;
-	}
-
-	/**
-	 * @return
-	 */
-	public static RendererFactoryDefaultHandler getDefaultHandler() {
-		if (defaultHandler == null)
-			defaultHandler = EMF2DOMRendererFactoryDefaultHandler.INSTANCE;
-		return defaultHandler;
-	}
-
-	/**
-	 * @param handler
-	 */
-	public static void setDefaultHandler(RendererFactoryDefaultHandler handler) {
-		defaultHandler = handler;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactoryDefaultHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactoryDefaultHandler.java
deleted file mode 100644
index 575df4f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactoryDefaultHandler.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 1, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface RendererFactoryDefaultHandler {
-
-	RendererFactory getDefaultRendererFactory();
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RootTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RootTranslator.java
deleted file mode 100644
index 18f8d84..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RootTranslator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.resource.Resource;
-
-public class RootTranslator extends Translator {
-
-	/**
-	 * Constructor for RootTranslator.
-	 * 
-	 * @param domNameAndPath
-	 * @param eClass
-	 */
-	public RootTranslator(String domNameAndPath, EClass eClass) {
-		super(domNameAndPath, eClass);
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.impl.Translator#setMOFValue(Notifier, Object, int)
-	 */
-	public void setMOFValue(Notifier owner, Object value, int newIndex) {
-		((Resource) owner).getContents().add(newIndex, value);
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.impl.Translator#removeMOFValue(Notifier, Object)
-	 */
-	public void removeMOFValue(Notifier owner, Object value) {
-		((Resource) owner).getContents().remove(value);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#setMOFValue(org.eclipse.emf.ecore.EObject,
-	 *      java.lang.Object)
-	 */
-	public void setMOFValue(Resource res, Object value) {
-		if (res != null && value != null)
-			res.getContents().add(value);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isMultiValued()
-	 */
-	public boolean isMultiValued() {
-		return true;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/SourceLinkTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/SourceLinkTranslator.java
deleted file mode 100644
index d5d697b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/SourceLinkTranslator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 1, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * @author schacher
- */
-public class SourceLinkTranslator extends Translator {
-
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param path
-	 */
-	public SourceLinkTranslator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath path) {
-		super(domNameAndPath, aFeature, path);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param path
-	 */
-	public SourceLinkTranslator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath path, int style) {
-		super(domNameAndPath, aFeature, path);
-		fStyle |= style;
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param style
-	 */
-	public SourceLinkTranslator(String domNameAndPath, EStructuralFeature aFeature, int style) {
-		super(domNameAndPath, aFeature, style);
-	}
-
-	public Object convertStringToValue(String strValue, EObject owner) {
-
-		Object value = null;
-		if (strValue != null)
-			// Find the object with the name that matches matchName
-			value = fTranslatorPaths[0].findObject(owner, strValue.trim());
-		if ((fStyle & Translator.STRING_RESULT_OK) != 0)
-			return ((value != null) ? value : strValue);
-		return value;
-	}
-
-	public String convertValueToString(Object value, EObject owner) {
-		TranslatorPath path = fTranslatorPaths[0];
-		Object attrValue = path.getLastMap().getMOFValue((EObject) value);
-		return path.getLastMap().convertValueToString(attrValue, owner);
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Translator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Translator.java
deleted file mode 100644
index d36e3cf..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Translator.java
+++ /dev/null
@@ -1,792 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.FeatureValueConverter;
-
-
-public class Translator {
-
-	public final static int NO_STYLE = 0;
-	public final static int DOM_ATTRIBUTE = 1;
-	public final static int EMPTY_TAG = 1 << 1;
-	public final static int CDATA_CONTENT = 1 << 2;
-	/**
-	 * Style bit that indicates that the end tag should NOT be indented; by default it is.
-	 */
-	public final static int END_TAG_NO_INDENT = 1 << 3;
-	/**
-	 * Style bit that indicates that booleans should NOT be converted as "True" and "False"; default
-	 * is that they are
-	 */
-	public final static int BOOLEAN_LOWERCASE = 1 << 4;
-	/**
-	 * Style bit that indicates an enum value contains hyphens If this is true, then internally the
-	 * hyphens are replaced with underscores
-	 */
-	public final static int ENUM_FEATURE_WITH_HYPHENS = 1 << 5;
-
-	protected final static int OBJECT_MAP = 1 << 6;
-	protected final static int BOOLEAN_FEATURE = 1 << 7;
-
-	protected final static int SHARED_REFERENCE = 1 << 8;
-
-	/**
-	 * Indicates that the feature may be significant even if it is empty
-	 */
-	public final static int EMPTY_CONTENT_IS_SIGNIFICANT = 1 << 9;
-
-	/**
-	 * Used to indicate that feature is associated with a comment node
-	 */
-	protected final static int COMMENT_FEATURE = 1 << 10;
-
-	/**
-	 * If the value is null, then an eUnset() will be invoked on the feature
-	 */
-	public final static int UNSET_IF_NULL = 1 << 11;
-
-	/**
-	 * Return the element contents as a String if the feature is unresolveable (Used by the
-	 * SourceLinkTranslator)
-	 */
-	public final static int STRING_RESULT_OK = 1 << 12;
-
-	protected String[] fDOMNames;
-	protected String fDOMPath = ""; //$NON-NLS-1$
-	protected Map readAheadNames;
-	protected int fStyle = NO_STYLE;
-	protected EStructuralFeature feature;
-	protected TranslatorPath[] fTranslatorPaths;
-	protected EClass emfClass;
-	protected String fNameSpace = ""; //$NON-NLS-1$
-	// added by MDE
-	protected String domNameAndPath = null;
-
-	/**
-	 * Indicates if any of the children of this Translator are themselves DependencyTranslators
-	 */
-	protected Boolean isDependencyParent;
-	protected EStructuralFeature dependencyFeature;
-	protected static EcorePackage ECORE_PACKAGE = EcorePackage.eINSTANCE;
-
-	// Use this identifier for the DOMName when the attribute
-	// value is to be extracted directly from the text of the node.
-	// This is rare, but occurs in the web.xml in the case of a
-	// WelcomeFile.
-	static final public String TEXT_ATTRIBUTE_VALUE = "$TEXT_ATTRIBUTE_VALUE"; //$NON-NLS-1$
-
-	static final public EStructuralFeature CONTAINER_FEATURE = new ContainerFeature();
-
-	static final public EStructuralFeature ROOT_FEATURE = new RootFeature();
-
-	protected static class ContainerFeature extends EStructuralFeatureImpl {
-		protected ContainerFeature() {
-			super();
-		}
-	}
-
-	protected static class RootFeature extends EStructuralFeatureImpl {
-		protected RootFeature() {
-			super();
-		}
-	}
-
-	public Translator findChild(String tagName, Object target, int versionID) {
-
-		Translator result = null;
-		Translator[] maps = getChildren(target, versionID);
-
-		if (maps != null) {
-			for (int i = 0; i < maps.length; i++) {
-				Translator map = maps[i];
-				if (map.isMapFor(tagName)) {
-					result = map;
-					break;
-				}
-			}
-		}
-		if (result == null) {
-			VariableTranslatorFactory factory = getVariableTranslatorFactory();
-			if (factory != null && factory.accepts(tagName)) {
-				result = factory.create(tagName);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Utility method to string together arrays of children
-	 */
-	public static Object[] concat(Object[] array1, Object[] array2) {
-		Object[] result = (Object[]) java.lang.reflect.Array.newInstance(array1.getClass().getComponentType(), array1.length + array2.length);
-		System.arraycopy(array1, 0, result, 0, array1.length);
-		System.arraycopy(array2, 0, result, array1.length, array2.length);
-		return result;
-	}
-
-	public static Object[] concat(Object[] array1, Object object2) {
-		Object[] newArray = new Object[]{object2};
-		return concat(array1, newArray);
-	}
-
-	public static Translator createParentAndTextAttributeTranslator(String domName, EStructuralFeature parentFeature, EStructuralFeature childFeature) {
-		GenericTranslator parent = new GenericTranslator(domName, parentFeature, END_TAG_NO_INDENT);
-		parent.setChildren(new Translator[]{new Translator(TEXT_ATTRIBUTE_VALUE, childFeature)});
-		return parent;
-	}
-
-	public Translator(String domNameAndPath, EClass eClass) {
-		initializeDOMNameAndPath(domNameAndPath);
-		setEMFClass(eClass);
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature) {
-		initializeDOMNameAndPath(domNameAndPath);
-		setFeature(aFeature);
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature, EClass eClass) {
-		this(domNameAndPath, aFeature);
-		setEMFClass(emfClass);
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath path) {
-		this(domNameAndPath, aFeature, new TranslatorPath[]{path});
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath[] paths) {
-		initializeDOMNameAndPath(domNameAndPath);
-		fTranslatorPaths = paths;
-		setFeature(aFeature);
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature, int style) {
-		initializeDOMNameAndPath(domNameAndPath);
-		fStyle = style;
-		setFeature(aFeature);
-	}
-
-	public static EcorePackage getEcorePackage() {
-		return EcorePackage.eINSTANCE;
-	}
-
-	public String getDOMName(Object value) {
-		return fDOMNames[0];
-	}
-
-	public String[] getDOMNames() {
-		return fDOMNames;
-	}
-
-	public String getDOMPath() {
-		return fDOMPath;
-	}
-
-	public boolean hasDOMPath() {
-		return fDOMPath != null && fDOMPath.length() != 0;
-	}
-
-	public EStructuralFeature getFeature() {
-		return feature;
-	}
-
-	/**
-	 * Parse the DOM names and path out of <domNameAndPath>and set the appropriate fields.
-	 */
-	protected void initializeDOMNameAndPath(String domNameAndPathArg) {
-		if (domNameAndPathArg == null)
-			return;
-		int inx = domNameAndPathArg.lastIndexOf('/');
-		if (inx != -1) {
-			fDOMNames = parseDOMNames(domNameAndPathArg.substring(inx + 1));
-			fDOMPath = domNameAndPathArg.substring(0, inx);
-		} else {
-			fDOMNames = parseDOMNames(domNameAndPathArg);
-			fDOMPath = ""; //$NON-NLS-1$
-		}
-		// added by MDE
-		this.domNameAndPath = domNameAndPathArg;
-
-	}
-
-	/**
-	 * Indicates whether the node should be written as an empty tag; eg, <distributable/>
-	 */
-	public boolean isCDATAContent() {
-		return (fStyle & CDATA_CONTENT) != 0;
-	}
-
-	/**
-	 * Indicates whether the DOMName represents a sub element name or an attribute name
-	 * 
-	 * @return boolean True if the DOMName is an attribute name.
-	 */
-	public boolean isDOMAttribute() {
-		return (fStyle & DOM_ATTRIBUTE) != 0;
-	}
-
-	/**
-	 * Indicates whether the node should be written as an empty tag; eg, <distributable/>
-	 */
-	public boolean isEmptyTag() {
-		return (fStyle & EMPTY_TAG) != 0;
-	}
-
-	public boolean isBooleanUppercase() {
-		return (fStyle & BOOLEAN_FEATURE) != 0 && (fStyle & BOOLEAN_LOWERCASE) == 0;
-	}
-
-	public boolean isBooleanFeature() {
-		return (fStyle & BOOLEAN_FEATURE) != 0;
-	}
-
-	public boolean shouldIndentEndTag() {
-		return (fStyle & END_TAG_NO_INDENT) == 0;
-	}
-
-	public boolean isEmptyContentSignificant() {
-		return ((fStyle & EMPTY_TAG) != 0) || ((fStyle & EMPTY_CONTENT_IS_SIGNIFICANT) != 0);
-	}
-
-	/**
-	 * Returns true if this map is to another MOF object (not a primitive)
-	 */
-	public boolean isObjectMap() {
-		return (fStyle & OBJECT_MAP) != 0;
-	}
-
-	/**
-	 * Returns true if this map is for a shared reference
-	 */
-	public boolean isShared() {
-		return (fStyle & SHARED_REFERENCE) != 0;
-	}
-
-	public boolean isEnumWithHyphens() {
-		return (fStyle & ENUM_FEATURE_WITH_HYPHENS) != 0;
-	}
-
-	/**
-	 * Indicates whether the map represents a case where the text of the DOMNode represents the
-	 * objects one and only attribute value. An example of this case is a <welcome-file>file.txt
-	 * </welcome-file>.
-	 */
-	public boolean isDOMTextValue() {
-		return fDOMNames[0] == TEXT_ATTRIBUTE_VALUE;
-	}
-
-	/**
-	 * Indicates whether the id is the mof attribute that should be set.
-	 */
-	public boolean isIDMap() {
-		return false;
-	}
-
-	/**
-	 * Indicates whether the id is the mof attribute that should be set.
-	 */
-	public boolean isLinkMap() {
-		return fTranslatorPaths != null;
-	}
-
-	public boolean isTargetLinkMap() {
-		return isLinkMap() && !isObjectMap();
-	}
-
-	/**
-	 * Return true if this map is the one representing a node with the name <domName>. By default
-	 * this method simply compares the DOM name of the map against the <domName>parameter
-	 * 
-	 * @return boolean
-	 * @param domName
-	 *            java.lang.String
-	 */
-	public boolean isMapFor(String domName) {
-		if (domName.equals(getDOMPath()))
-			return true;
-		for (int i = 0; i < fDOMNames.length; i++) {
-			if (domName.equals(fDOMNames[i]))
-				return true;
-		}
-		return false;
-	}
-
-	public boolean isMapFor(Object aFeature, Object oldValue, Object newValue) {
-		return feature == aFeature;
-	}
-
-	/**
-	 * Indicates whether feature being mapped is a collection.
-	 * 
-	 * @return boolean True if the feature is multi valued.
-	 */
-	public boolean isMultiValued() {
-		if (feature != null)
-			return feature.isMany();
-		return false;
-	}
-
-	/**
-	 * Parses comma separated names from <domNamesString>. Returns an array containing the names.
-	 * 
-	 * @return java.lang.String[]
-	 * @param domNamesString
-	 *            java.lang.String
-	 */
-	protected String[] parseDOMNames(String domNamesString) {
-		int startInx = 0;
-		int inx = domNamesString.indexOf(',');
-		ArrayList results = new ArrayList(1);
-		while (inx != -1) {
-			results.add(domNamesString.substring(startInx, inx));
-			startInx = inx + 1;
-			inx = domNamesString.indexOf(',', startInx);
-		}
-		if (startInx == 0)
-			results.add(domNamesString);
-		else
-			results.add(domNamesString.substring(startInx));
-		return (String[]) results.toArray(new String[results.size()]);
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		String cn = getClass().getName();
-		int i = cn.lastIndexOf('.');
-		cn = cn.substring(++i, cn.length());
-		sb.append(cn);
-		sb.append('(');
-		sb.append(fDOMNames[0]);
-		for (int j = 1; j < fDOMNames.length; j++) {
-			sb.append('|');
-			sb.append(fDOMNames[j]);
-		}
-		sb.append(',');
-		sb.append(hashCode());
-		sb.append(')');
-		return sb.toString();
-	}
-
-	/**
-	 * Gets the TranslatorPath.
-	 * 
-	 * @return Returns a TranslatorPath
-	 */
-	public TranslatorPath[] getTranslatorPaths() {
-		return fTranslatorPaths;
-	}
-
-	/*
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof Translator))
-			return false;
-		Translator mapInfo = (Translator) object;
-		return fDOMNames.equals(mapInfo.getDOMNames()) && (feature == null && mapInfo.getFeature() == null || feature.equals(mapInfo.getFeature()));
-	}
-
-	/**
-	 * Returns the isManagedByParent.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isManagedByParent() {
-		return getChildren(null, -1) == null;
-	}
-
-	/*
-	 * In the 99% case there is only one node name to be concerned with, but subclasses can override
-	 * for the cases where multiple dom names map to one feature
-	 */
-	public EObject createEMFObject(String nodeName, String readAheadName) {
-		if (emfClass == null) {
-			if (feature == null)
-				return null;
-			if (isObjectMap())
-				return createEMFObject(feature);
-		}
-		return createEMFObject(emfClass);
-	}
-
-	public static EObject createEMFObject(EStructuralFeature aFeature) {
-		if (aFeature == null)
-			return null;
-
-		return createEMFObject(((EReference) aFeature).getEReferenceType());
-	}
-
-	public static EObject createEMFObject(EClass anEClass) {
-		if (anEClass == null)
-			return null;
-		return anEClass.getEPackage().getEFactoryInstance().create(anEClass);
-	}
-
-	public void setTextValueIfNecessary(String textValue, Notifier owner, int versionId) {
-		Translator textTranslator = this.findChild(Translator.TEXT_ATTRIBUTE_VALUE, owner, versionId);
-		if (textTranslator != null) {
-			Object objectValue = textTranslator.convertStringToValue(textValue, (EObject) owner);
-			textTranslator.setMOFValue(owner, objectValue);
-		}
-	}
-
-	/**
-	 * Check to see if feature is valid on a particular mofObject.
-	 * 
-	 * @return boolean Return true if the feature specified exists on the MOF object.
-	 * @param emfObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean featureExists(EObject emfObject) {
-		if (feature == null)
-			return false;
-
-		return emfObject.eClass().getEStructuralFeature(feature.getName()) != null;
-	}
-
-	/**
-	 * Translators which do not have a feature should override this method with custom behavior.
-	 */
-	public String extractStringValue(EObject emfObject) {
-		if (isEmptyTag() && feature == null)
-			return ""; //Fake it out with a value //$NON-NLS-1$
-		return null;
-	}
-
-	public Object convertStringToValue(String nodeName, String readAheadName, String value, Notifier owner) {
-		Object result = null;
-		try {
-
-			if (!this.isManagedByParent()) {
-				result = createEMFObject(nodeName, readAheadName);
-			} else {
-				result = convertStringToValue(value, (EObject) owner);
-			}
-
-		} catch (ClassCastException cce) {
-
-		}
-		return result;
-	}
-
-	/**
-	 * Converts a string value to the appropriate type.
-	 * 
-	 * @return java.lang.Object The converted value
-	 * @param strValue
-	 *            java.lang.String The string to convert.
-	 */
-	public Object convertStringToValue(String strValue, EObject owner) {
-		if (feature == null)
-			return strValue;
-		if (strValue != null) {
-			if (isEnumWithHyphens())
-				strValue = strValue.replace('-', '_');
-			if (!isCDATAContent()) {
-				strValue = strValue.trim();
-			}
-		}
-		Object value = FeatureValueConverter.DEFAULT.convertValue(strValue, feature);
-		if (value == null) {
-			if (isEmptyTag() && !isDOMAttribute() && !isDOMTextValue() && isBooleanFeature())
-				return Boolean.TRUE;
-			EObject convertToType = feature.getEType();
-			if (convertToType == null)
-				value = strValue;
-			else if (convertToType.equals(getEcorePackage().getEString())) {
-				value = ""; //$NON-NLS-1$
-			}
-		}
-		return value;
-	}
-
-	/**
-	 * Converts a value of a specified type to a string value. Subclasses may override for special
-	 * cases where special conversion needs to occur based on the feature and or object type.
-	 * 
-	 * @return String The converted value
-	 * @param value
-	 *            java.lang.Object The object to convert.
-	 */
-	public String convertValueToString(Object value, EObject owner) {
-		if (isEmptyTag() || value == null)
-			return null;
-		else if (isEnumWithHyphens())
-			return value.toString().replace('_', '-');
-		else if (isBooleanUppercase())
-			return ((Boolean) value).booleanValue() ? "True" : "False"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		return value.toString();
-	}
-
-	public Translator[] getVariableChildren(Notifier target, int version) {
-		Translator[] results = null;
-		VariableTranslatorFactory factory = getVariableTranslatorFactory();
-		if (factory != null) {
-			List variableTranslators = factory.create(target);
-			if (variableTranslators != null && variableTranslators.size() > 0) {
-				Object[] vtoa = variableTranslators.toArray();
-
-				results = new Translator[vtoa.length];
-				for (int i = 0; i < results.length; i++)
-					results[i] = (Translator) vtoa[i];
-			}
-
-		}
-		if (results == null)
-			results = new Translator[0];
-		return results;
-	}
-
-	/**
-	 * Returns null by default; subclasses should override to return specific children
-	 */
-	public Translator[] getChildren(Object target, int versionID) {
-		return getChildren();
-	}
-
-	protected Translator[] getChildren() {
-		return null;
-	}
-
-	/**
-	 * Return the list of MOF children that currently exist for the values of an attribute.
-	 */
-	public List getMOFChildren(EObject mofObject) {
-		if (feature == null)
-			return Collections.EMPTY_LIST;
-		Object value = getMOFValue(mofObject);
-		List result = Collections.EMPTY_LIST;
-		if (isMultiValued())
-			result = (List) value;
-		else if (value != null)
-			result = Collections.singletonList(value);
-		return result;
-	}
-
-	public Object getMOFValue(EObject mofObject) {
-		if (feature == null)
-			return null;
-		return mofObject.eGet(feature);
-	}
-
-	/**
-	 * Sets a value of a feature in a mof object.
-	 */
-	public void setMOFValue(Notifier owner, Object value, int newIndex) {
-		if (feature != null) {
-			if ((fStyle & UNSET_IF_NULL) != 0 && value == null)
-				ExtendedEcoreUtil.eUnsetOrRemove((EObject) owner, feature, value);
-			else
-				ExtendedEcoreUtil.eSetOrAdd((EObject) owner, feature, value, newIndex);
-		}
-	}
-
-	public void setMOFValue(Notifier owner, Object value) {
-		if (owner instanceof EObject) {
-			setMOFValue((EObject) owner, value);
-		} else if (owner instanceof Resource) {
-			setMOFValue((Resource) owner, value);
-		}
-	}
-
-	public void setMOFValue(EObject emfObject, Object value) {
-		//		if (feature != null)
-		//			emfObject.eSet(feature, value);
-		setMOFValue(emfObject, value, -1);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#setMOFValue(org.eclipse.emf.ecore.EObject,
-	 *      java.lang.Object)
-	 */
-	public void setMOFValue(Resource res, Object value) {
-		if (res != null && value != null)
-			res.getContents().add(value);
-	}
-
-	public void removeMOFValue(Notifier owner, Object value) {
-		if (feature != null)
-			ExtendedEcoreUtil.eUnsetOrRemove((EObject) owner, feature, value);
-	}
-
-	public boolean isSetMOFValue(EObject emfObject) {
-		boolean isSet = feature != null && emfObject.eIsSet(feature);
-		if (isEmptyTag())
-			return isSet && ((Boolean) emfObject.eGet(feature)).booleanValue();
-		return isSet;
-	}
-
-	public void unSetMOFValue(EObject emfObject) {
-		if (feature != null)
-			emfObject.eUnset(feature);
-	}
-
-	public void clearList(EObject mofObject) {
-		if (feature != null)
-			((List) mofObject.eGet(feature)).clear();
-	}
-
-	protected void setFeature(EStructuralFeature aFeature) {
-		this.feature = aFeature;
-		if (feature == null)
-			return;
-		//This way an instance check happens only once
-		if (aFeature instanceof EReference) {
-			fStyle |= OBJECT_MAP;
-			if (!((EReference) aFeature).isContainment())
-				fStyle |= SHARED_REFERENCE;
-		}
-
-		if (getEcorePackage().getEBoolean() == feature.getEType())
-			fStyle |= BOOLEAN_FEATURE;
-	}
-
-	protected void setEMFClass(EClass anEClass) {
-		this.emfClass = anEClass;
-		if (anEClass != null)
-			fStyle |= OBJECT_MAP;
-
-	}
-
-	public boolean hasReadAheadNames() {
-		return readAheadNames != null && !readAheadNames.isEmpty();
-	}
-
-	/**
-	 * Return the read ahead names, if they are defined, for a given parent node name. This is used
-	 * when creation of a specific EMF object is dependent on the value of a child node.
-	 */
-	public ReadAheadHelper getReadAheadHelper(String parentName) {
-		if (readAheadNames == null)
-			return null;
-		return (ReadAheadHelper) readAheadNames.get(parentName);
-	}
-
-	public void addReadAheadHelper(ReadAheadHelper helper) {
-		if (readAheadNames == null)
-			readAheadNames = new HashMap(3);
-		readAheadNames.put(helper.getParentDOMName(), helper);
-	}
-
-	public boolean isDependencyChild() {
-		return false;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isDependencyParent() {
-		if (isDependencyParent == null) {
-			isDependencyParent = Boolean.FALSE;
-			Translator[] theChildren = getChildren(null, -1);
-			if (theChildren != null) {
-				for (int i = 0; i < theChildren.length; i++) {
-					//For now we assume one
-					if (theChildren[i].isDependencyChild()) {
-						isDependencyParent = Boolean.TRUE;
-						dependencyFeature = theChildren[i].getDependencyFeature();
-					}
-				}
-			}
-		}
-		return isDependencyParent.booleanValue();
-	}
-
-	/**
-	 * @return
-	 */
-	public EStructuralFeature getDependencyFeature() {
-		return dependencyFeature;
-	}
-
-	public EObject basicGetDependencyObject(EObject parent) {
-		return (EObject) parent.eGet(dependencyFeature);
-	}
-
-	/**
-	 * Use when the DOM path is not null, and there are no children. Default is false, but
-	 * subclasses may wish to override
-	 */
-	public boolean shouldRenderEmptyDOMPath(EObject eObject) {
-		return isEmptyContentSignificant();
-	}
-
-	/**
-	 * Use when the translator tolerates parent nodes that relate to the DOM path, and no children;
-	 * default is do nothing
-	 */
-	public void setMOFValueFromEmptyDOMPath(EObject eObject) {
-
-	}
-
-	/**
-	 * Namespace for the attributes
-	 * 
-	 * @return
-	 */
-	public String getNameSpace() {
-		return fNameSpace;
-	}
-
-	/**
-	 * Set the namespace for the dom attribute
-	 * 
-	 * @param string
-	 */
-	public void setNameSpace(String string) {
-		fNameSpace = string;
-	}
-
-	public VariableTranslatorFactory getVariableTranslatorFactory() {
-		if (isObjectMap())
-			return DefaultTranslatorFactory.INSTANCE;
-		return null;
-	}
-
-	public boolean isEnumFeature() {
-		return feature != null && ECORE_PACKAGE.getEEnum().isInstance(feature.getEType());
-	}
-
-	public boolean isUnsettable() {
-		return feature != null && feature.isUnsettable();
-	}
-
-	public boolean isDataType() {
-		return feature != null && feature.getEType() instanceof EDataType;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isComment() {
-		return (fStyle & COMMENT_FEATURE) != 0;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorFilter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorFilter.java
deleted file mode 100644
index b12067d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorFilter.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-/*
- * Created on Sep 21, 2003
- *  
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-
-
-/*
- * Translator filters can be used to differentiate between Object and Attribute Translators without
- * breaking them out into seperate data structures. The Filter will rely on the underlying data
- * structure used to store the children of the given Translator.
- * 
- * getNextChild() will return null when no other translators of the given genre are available.
- * 
- * The processing hints which are created and then passed to getNext*Translator() store information
- * that needs to be persisted between calls. The createProcessingHints() will create a properly
- * initialized array. The constants NEXT_START_HINT_INDX and MODE_HINT_INDX provide pointers into
- * the array for the NEXT_START position and the proper mode to operate in
- * (STANDARD_TRANSLATORS_MODE or
- *  
- */
-public abstract class TranslatorFilter {
-
-	protected final Translator translator;
-	protected final int version;
-
-	public static final int NEXT_START_HINT_INDX = 0;
-	public static final int MODE_HINT_INDX = 1;
-
-	public static final int STANDARD_TRANSLATORS_MODE = 0;
-	public static final int VARIABLE_TRANSLATORS_MODE = 1;
-
-	/*
-	 * These TranslatorFilters are used in a stateless mode. Only their scanNextTranslator() methods
-	 * will be invoked
-	 */
-	private static final TranslatorFilter objectTranslatorFilter = new ObjectTranslatorFilter(null, -1);
-	private static final TranslatorFilter attributeTranslatorFilter = new AttributeTranslatorFilter(null, -1);
-
-
-	protected int mode = STANDARD_TRANSLATORS_MODE;
-	protected int index = -1;
-
-	protected Translator cachedPeekAheadTranslator = null;
-
-	public TranslatorFilter(Translator trans, int version) {
-		this.translator = trans;
-		this.version = version;
-	}
-
-	/**
-	 * Calling peek twice will advance the current child
-	 */
-	public Translator peekNextChild(EObject target) {
-		cachedPeekAheadTranslator = getNextChild(target);
-		return cachedPeekAheadTranslator;
-	}
-
-	/**
-	 * getNextChild() will return null when no other translators of the given genre are available.
-	 */
-	public Translator getNextChild(EObject target) {
-
-		Translator result = null;
-		if (cachedPeekAheadTranslator != null) {
-			result = cachedPeekAheadTranslator;
-			cachedPeekAheadTranslator = null;
-			return result;
-		}
-
-		int found = 0;
-		Translator children[] = null;
-		switch (mode) {
-			case STANDARD_TRANSLATORS_MODE :
-				children = this.translator.getChildren(target, this.version);
-
-				/* Look for the next Attribute Translator */
-				found = scanNextTranslator(children, this.index);
-
-				if (found >= 0) {
-					/*
-					 * If found, (1) update the result, (2) update the index so we can skip ahead on
-					 * the next invocation (3) escape the VARIABLE_TRANSLATORS processing
-					 */
-					result = children[found];
-					this.index = found;
-					break;
-				}
-				/*
-				 * Reset the index. DO NOT BREAK. Allow entry into VARIABLE_TRANSLATORS case
-				 */
-				this.index = -1;
-				/*
-				 * update the mode to VARIABLE_TRANSLATORS so we can skip to it directly next time
-				 */
-				this.mode = VARIABLE_TRANSLATORS_MODE;
-			case VARIABLE_TRANSLATORS_MODE :
-				children = this.translator.getVariableChildren(target, this.version);
-				found = scanNextTranslator(children, this.index);
-				if (found >= 0) {
-					/*
-					 * If found, (1) update the result, (2) update the index so we can skip ahead on
-					 * the next invocation
-					 */
-					result = children[found];
-					this.index = found;
-				}
-
-		}
-
-		return result;
-	}
-
-	public static final int[] createProcessingHints() {
-		return new int[]{-1, STANDARD_TRANSLATORS_MODE};
-	}
-
-	public static final Translator getNextAttributeTranslator(Translator translator, int startHint, int[] nextHint, EObject target, int version) {
-
-		return TranslatorFilter.getNextChild(translator, startHint, nextHint, target, version, attributeTranslatorFilter);
-	}
-
-	public static final Translator getNextObjectTranslator(Translator translator, int startHint, int[] nextHint, EObject target, int version) {
-
-		return TranslatorFilter.getNextChild(translator, startHint, nextHint, target, version, objectTranslatorFilter);
-	}
-
-	/**
-	 * getNextChild() takes hints on where to begin in the children array of the given Translator.
-	 * When it finds the translator, it will update the hints array with the start hint for the next
-	 * invocation(hints[0]) and when necessary it will use update the mode (hints[1]) to either
-	 * STANDARD_TRANSLATORS or VARIABLE_TRANSLATORS.
-	 * 
-	 * @param translator
-	 * @param startHint
-	 * @param hints
-	 *            a two-element array: hints[0] will be updated with the next startHint and hints[1]
-	 *            will be used to store the mode.
-	 * @param target
-	 * @param version
-	 * @param translatorFilter
-	 * @return
-	 */
-	public static final Translator getNextChild(Translator translator, int startHint, int[] hints, EObject target, int version, TranslatorFilter translatorFilter) {
-
-		Translator result = null;
-
-		int index = startHint;
-		Translator children[] = null;
-
-		switch (hints[MODE_HINT_INDX]) {
-			case STANDARD_TRANSLATORS_MODE :
-				children = translator.getChildren(target, version);
-				if (children != null && startHint < children.length) {
-
-					/* Look for the next Attribute Translator */
-					index = translatorFilter.scanNextTranslator(children, index);
-
-					if (index >= 0) {
-						/*
-						 * If found, (1) update the result, (2) update the index so we can skip
-						 * ahead on the next invocation (3) escape the VARIABLE_TRANSLATORS
-						 * processing
-						 */
-						result = children[index];
-						break;
-					}
-					/*
-					 * DO NOT BREAK we will default to VARIABLE TRANSLATORS MODE so we must reset
-					 * the startHint appropriately
-					 */
-					startHint = -1;
-				}
-
-			case VARIABLE_TRANSLATORS_MODE :
-				hints[MODE_HINT_INDX] = VARIABLE_TRANSLATORS_MODE;
-				/*
-				 * Reset the index.
-				 */
-				index = startHint;
-				children = translator.getVariableChildren(target, version);
-				if (children != null && children.length > 0 && startHint < children.length) {
-					index = translatorFilter.scanNextTranslator(children, index);
-					result = (index >= 0) ? children[index] : null;
-				}
-		}
-
-		hints[NEXT_START_HINT_INDX] = (result == null && children != null) ? children.length : index;
-
-		return result;
-	}
-
-
-	public abstract int scanNextTranslator(Translator[] children, int start);
-
-	/**
-	 * @return
-	 */
-	public int getIndex() {
-		return index;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getMode() {
-		return mode;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorPath.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorPath.java
deleted file mode 100644
index a2d843e..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorPath.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-
-public class TranslatorPath {
-	protected Translator[] mapInfoPath;
-
-	/**
-	 * Construct with an array of Translator that specifies the path to follow from an object to
-	 * another object
-	 */
-	public TranslatorPath(Translator[] path) {
-		mapInfoPath = path;
-	}
-
-	public List findObjects(EObject startObject) {
-		Object cur = startObject;
-		for (int i = 0; i < mapInfoPath.length; i++) {
-			Translator curMap = mapInfoPath[i];
-			if (cur instanceof EObject) {
-				EStructuralFeature curAttr = curMap.getFeature();
-				if (curAttr == Translator.CONTAINER_FEATURE) {
-					curAttr = ((EObject) cur).eContainmentFeature();
-					cur = ((EObject) cur).eContainer();
-				} else if (curAttr == Translator.ROOT_FEATURE) {
-					cur = ((TranslatorResource) startObject.eResource()).getRootObject();
-				} else {
-					cur = ((EObject) cur).eGet(curAttr);
-				}
-				if (curMap.isMultiValued()) {
-					return (List) cur;
-				}
-			}
-		}
-		return null;
-	}
-
-	public Object findObject(EObject startObject, Object matchValue) {
-		List objects = findObjects(startObject);
-		if (objects == null)
-			return null;
-		return findObject(objects, getLastMap(), matchValue);
-	}
-
-	private Object findObject(List objectList, Translator map, Object matchValue) {
-		for (Iterator iter = objectList.iterator(); iter.hasNext();) {
-			EObject mofObject = (EObject) iter.next();
-			Object curMatchValue = mofObject.eGet(map.getFeature());
-			if (matchValue.equals(curMatchValue))
-				return mofObject;
-		}
-		return null;
-	}
-
-	public Translator getLastMap() {
-		return mapInfoPath[mapInfoPath.length - 1];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		String cn = getClass().getName();
-		int i = cn.lastIndexOf('.');
-		cn = cn.substring(++i, cn.length());
-		sb.append(cn);
-		sb.append('(');
-		sb.append(mapInfoPath[0]);
-		for (int j = 1; j < mapInfoPath.length; j++) {
-			sb.append('\n');
-			sb.append(mapInfoPath[j]);
-		}
-		sb.append(')');
-		return sb.toString();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResource.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResource.java
deleted file mode 100644
index 32c9c47..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResource.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.xml.sax.EntityResolver;
-
-public interface TranslatorResource extends ReferencedResource {
-	/*
-	 * must make a subclass because the constructor for EStructuralFeature is protected
-	 */
-	static class DocTypeFeature extends EStructuralFeatureImpl {
-		protected DocTypeFeature() {
-			super();
-		}
-	}
-
-
-	EStructuralFeature DOC_TYPE_FEATURE = new DocTypeFeature();
-
-	/**
-	 * The public id of the XML document, if specified.
-	 */
-	String getPublicId();
-
-	/**
-	 * Return the first element in the EList.
-	 */
-	EObject getRootObject();
-
-	/**
-	 * The system id of the XML document, if specified.
-	 */
-	String getSystemId();
-
-	/**
-	 * Sets the public id and system id of the XML document.
-	 */
-	void setDoctypeValues(String publicId, String systemId);
-
-	/**
-	 * Sets the default public/system ids if necessary
-	 */
-	void setDefaults();
-
-	/**
-	 * Returns the name that will be in the document type header of the serialized xml file
-	 */
-	String getDoctype();
-
-	/**
-	 * Returns the XML version of this document
-	 */
-	String getXMLVersion();
-
-	Translator getRootTranslator();
-
-	/**
-	 * Entity resolver that can be used when using standard parsers to read the resource
-	 */
-	EntityResolver getEntityResolver();
-
-	boolean usesDTD();
-
-	public int getVersionID();
-
-	void setVersionID(int i);
-
-	Renderer getRenderer();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceFactory.java
deleted file mode 100644
index 20a450b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceFactory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-
-public abstract class TranslatorResourceFactory extends ReferencedXMIFactoryImpl implements RendererFactory.Listener {
-
-	protected RendererFactory rendererFactory;
-	private boolean listeningForUpdates = false;
-
-	/**
-	 * Constructor for TranslatorResourceFactory.
-	 */
-	public TranslatorResourceFactory(RendererFactory aRendererFactory, boolean listeningForUpdates) {
-		super();
-		rendererFactory = aRendererFactory;
-		setListeningForUpdates(listeningForUpdates);
-	}
-
-	/**
-	 * Constructor for TranslatorResourceFactory.
-	 */
-	public TranslatorResourceFactory(RendererFactory aRendererFactory) {
-		this(aRendererFactory, true);
-	}
-
-	public void setListeningForUpdates(boolean shouldBeListeningForUpdates) {
-
-		if (this.listeningForUpdates ^ shouldBeListeningForUpdates) {
-			if (!shouldBeListeningForUpdates)
-				RendererFactory.NotificationEngine.removeListener(this);
-			else
-				RendererFactory.NotificationEngine.addListener(this);
-
-			this.listeningForUpdates = shouldBeListeningForUpdates;
-		}
-	}
-
-	public boolean isListeningForUpdates() {
-		return this.listeningForUpdates;
-	}
-
-	public Resource doCreateResource(URI uri) {
-		Renderer aRenderer = rendererFactory.createRenderer();
-		return createResource(uri, aRenderer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.RendererFactory.Listener#updateRendererFactory(com.ibm.etools.emf2xml.RendererFactory)
-	 */
-	public void updateRendererFactory(RendererFactory newRendererFactory) {
-		//System.out.println("Updating renderer factory");
-		rendererFactory = newRendererFactory;
-	}
-
-	protected abstract TranslatorResource createResource(URI uri, Renderer aRenderer);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java
deleted file mode 100644
index 83d9700..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Collection;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.impl.ResourceImpl;
-import org.eclipse.wst.common.internal.emf.utilities.StringUtil;
-import org.xml.sax.EntityResolver;
-
-public abstract class TranslatorResourceImpl extends ReferencedXMIResourceImpl implements TranslatorResource {
-	static final public EStructuralFeature ID_FEATURE = EcorePackage.eINSTANCE.getEClass_EIDAttribute();
-	protected static final String DEFAULT_ENCODING = "UTF-8"; //$NON-NLS-1$
-	protected static final String DEFAULT_VERSION = "1.0"; //$NON-NLS-1$
-	protected Renderer renderer;
-	/**
-	 * The public Id to use at the head of the document.
-	 */
-	protected String publicId;
-	/**
-	 * The system Id to use at the head of the document.
-	 */
-	protected String systemId;
-	protected String xmlVersion;
-	//	Default the resources to J2EE 1.4
-	protected int versionID;
-
-	/**
-	 * @deprecated since 4/29/2003 - used for compatibility Subclasses should be using the Renderers
-	 *             and translator framework
-	 */
-	public TranslatorResourceImpl() {
-		super();
-	}
-
-	/**
-	 * @deprecated since 4/29/2003 - used for compatibility Subclasses should be using the Renderers
-	 *             and translator framework
-	 */
-	public TranslatorResourceImpl(URI uri) {
-		super(uri);
-	}
-
-	public TranslatorResourceImpl(URI uri, Renderer aRenderer) {
-		super(uri);
-		setRenderer(aRenderer);
-		versionID = getDefaultVersionID();
-	}
-
-	public TranslatorResourceImpl(Renderer aRenderer) {
-		super();
-		setRenderer(aRenderer);
-	}
-
-	public java.lang.String getEncoding() {
-		if (super.getEncoding() == null)
-			setEncoding(DEFAULT_ENCODING);
-		return super.getEncoding();
-	}
-
-	public String getPublicId() {
-		return publicId;
-	}
-
-	/**
-	 * Return the first element in the EList.
-	 */
-	public EObject getRootObject() {
-		if (contents == null || contents.isEmpty())
-			return null;
-		return (EObject) getContents().get(0);
-	}
-
-	public String getSystemId() {
-		return systemId;
-	}
-
-	public void setDoctypeValues(String aPublicId, String aSystemId) {
-		boolean changed = !(StringUtil.stringsEqual(publicId, aPublicId) && StringUtil.stringsEqual(systemId, aSystemId));
-		publicId = aPublicId;
-		systemId = aSystemId;
-		if (changed) {
-			eNotify(new NotificationImpl(Notification.SET, null, null) {
-				public Object getFeature() {
-					return DOC_TYPE_FEATURE;
-				}
-
-				public Object getNotifier() {
-					return TranslatorResourceImpl.this;
-				}
-			});
-		}
-	}
-
-	/**
-	 * Returns the xmlVersion.
-	 * 
-	 * @return String
-	 */
-	public String getXMLVersion() {
-		if (xmlVersion == null)
-			xmlVersion = DEFAULT_VERSION;
-		return xmlVersion;
-	}
-
-	/**
-	 * Sets the xmlVersion.
-	 * 
-	 * @param xmlVersion
-	 *            The xmlVersion to set
-	 */
-	public void setXMLVersion(String xmlVersion) {
-		this.xmlVersion = xmlVersion;
-	}
-
-	protected void basicDoLoad(InputStream inputStream, Map options) throws IOException {
-		//long start = System.currentTimeMillis();
-		boolean isTrackingMods = isTrackingModification();
-		try {
-			if (isTrackingMods)
-				setTrackingModification(false);
-			renderer.doLoad(inputStream, options);
-		} finally {
-			if (isTrackingMods)
-				setTrackingModification(true);
-		}
-		//long end = System.currentTimeMillis();
-		//recordTime("Load", start, end);
-	}
-
-	public void save(Map options) throws IOException {
-		if (renderer.useStreamsForIO()) {
-			super.save(options);
-		} else {
-			doSave(null, options);
-			notifySaved();
-		}
-	}
-
-	/**
-	 * @see com.ibm.etools.xmi.helpers.CompatibilityXMIResourceImpl#doSave(OutputStream, Map)
-	 */
-	public void doSave(OutputStream outputStream, Map options) throws IOException {
-		//long start = System.currentTimeMillis();
-		renderer.doSave(outputStream, options);
-		setModified(false);
-		//long end = System.currentTimeMillis();
-		//recordTime("Save", start, end);
-	}
-
-	//	private void recordTime(String type, long start, long end) {
-	//		System.out.println(renderer.getClass().getName() + "\t" + type + "\t" + (end - start) +
-	// "\t\t\tms" + "\t" + (( this.getVersionID()) / 10.0) + "\t" + this); //$NON-NLS-1$
-	// //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	//	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#doUnload()
-	 */
-	protected void doUnload() {
-		renderer.preUnload();
-		super.doUnload();
-	}
-
-	public String toString() {
-		return getClass().getName() + getURI().toString();
-	}
-
-	/**
-	 * Returns the renderer.
-	 * 
-	 * @return Renderer
-	 */
-	public Renderer getRenderer() {
-		return renderer;
-	}
-
-	/**
-	 * Sets the renderer.
-	 * 
-	 * @param renderer
-	 *            The renderer to set
-	 */
-	public void setRenderer(Renderer renderer) {
-		this.renderer = renderer;
-		if (renderer.getResource() != this)
-			renderer.setResource(this);
-	}
-
-	/**
-	 * For compatibility of old subtype resources, returns the super implementation
-	 * 
-	 * @return
-	 */
-	protected EList primGetContents() {
-		return super.getContents();
-	}
-
-	public EList getContents() {
-		if (contents == null) {
-			initializeContents();
-		}
-		return contents;
-	}
-
-	protected void initializeContents() {
-		contents = new ResourceImpl.ContentsEList() {
-			public boolean add(Object object) {
-				renderer.prepareToAddContents();
-				return super.add(object);
-			}
-
-			public boolean addAll(Collection collection) {
-				renderer.prepareToAddContents();
-				return super.addAll(collection);
-			}
-		};
-	}
-
-	public void setDefaults() {
-		if (systemId != null && publicId != null)
-			return;
-		String pubId = publicId == null ? getDefaultPublicId() : publicId;
-		String sysId = systemId == null ? getDefaultSystemId() : systemId;
-		setDoctypeValues(pubId, sysId);
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#init()
-	 */
-	protected void init() {
-		super.init();
-		setEncoding(DEFAULT_ENCODING);
-	}
-
-	/**
-	 * Returns null by default; subclasses can override
-	 * 
-	 * @see com.ibm.etools.emf2xml.TranslatorResource#createEntityResolver()
-	 */
-	public EntityResolver getEntityResolver() {
-		return null;
-	}
-
-	protected abstract String getDefaultPublicId();
-
-	protected abstract String getDefaultSystemId();
-
-	protected abstract int getDefaultVersionID();
-
-	/**
-	 * @return
-	 */
-	public int getVersionID() {
-		return versionID;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setVersionID(int i) {
-		versionID = i;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.TranslatorResource#usesDTD()
-	 */
-	public boolean usesDTD() {
-		return getPublicId() != null && getSystemId() != null;
-	}
-
-	/**
-	 * Overridden to notify when the ID gets set; need this to push it into the resource
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.XMLResource#setID(EObject, String)
-	 */
-	public void setID(EObject eObject, String id) {
-		String oldId = getID(eObject);
-		super.setID(eObject, id);
-		eObject.eNotify(new ENotificationImpl((InternalEObject) eObject, Notification.SET, ID_FEATURE, oldId, id));
-	}
-
-	/**
-	 * This method indicates whether or not the extent associated with the resource has been
-	 * modified since the last time it was loaded or saved.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isModified() {
-		return super.isModified() || renderer.isModified();
-	}
-
-	/*
-	 * Overriden to give the renderer a hook
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.ReferencedResource#accessForWrite()
-	 */
-	public void accessForWrite() {
-		renderer.accessForWrite();
-		super.accessForWrite();
-	}
-
-	/*
-	 * Overriden to give the renderer a hook
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.ReferencedResource#accessForRead()
-	 */
-	public void accessForRead() {
-		renderer.accessForRead();
-		super.accessForRead();
-	}
-
-	public void releaseFromRead() {
-		renderer.releaseFromRead();
-		super.releaseFromRead();
-	}
-
-	public void releaseFromWrite() {
-		renderer.releaseFromWrite();
-		super.releaseFromWrite();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf.workbench.ReferencedXMIResourceImpl#preDelete()
-	 */
-	public void preDelete() {
-		super.preDelete();
-		renderer.preDelete();
-	}
-
-	public boolean isShared() {
-		return super.isShared() || renderer.isShared();
-	}
-
-	public boolean isSharedForWrite() {
-		return super.isSharedForWrite() || renderer.isSharedForWrite();
-	}
-
-	public void load(Map options) throws IOException {
-		if (renderer.useStreamsForIO()) {
-			super.load(options);
-		} else if (!isLoaded) {
-			load(null, options);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/UnsupportedFeature.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/UnsupportedFeature.java
deleted file mode 100644
index 43c5864..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/UnsupportedFeature.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 13, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.EAttributeImpl;
-
-/**
- * @author cbridgha
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public class UnsupportedFeature extends EAttributeImpl {
-	/**
-	 * This is used to capture features that are no longer supported
-	 */
-	public static boolean isUnsupported(EClass anEClass, String featureName) {
-
-		if (featureName.equals("isZeroParams") && anEClass.getName().equals("MethodElement")) //$NON-NLS-1$ //$NON-NLS-2$
-			return true;
-		return false;
-	}
-
-	public UnsupportedFeature() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/VariableTranslatorFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/VariableTranslatorFactory.java
deleted file mode 100644
index 1a4eef9..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/VariableTranslatorFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 20, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-
-
-/**
- * @author schacher
- */
-public interface VariableTranslatorFactory {
-	/** Returns whether a Translator should be created for the given DOM name */
-	boolean accepts(String domName);
-
-	/** Returns whether a Translator should be created for the given feature */
-	boolean accepts(Notification notif);
-
-	Translator create(Notification notif);
-
-	/** Creates a new Translator for the DOM name */
-	Translator create(String domName);
-
-	/** Creates variable translators for an EMF object to be rendered */
-	List create(Notifier target);
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/XMLEncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/XMLEncoderDecoder.java
deleted file mode 100644
index 9f46962..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/XMLEncoderDecoder.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 20, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-/**
- * @author mdelder
- *  
- */
-public class XMLEncoderDecoder {
-
-	/**
-	 *  
-	 */
-	public XMLEncoderDecoder() {
-		super();
-	}
-
-	/**
-	 * Identifies the last printable character in the Unicode range that is supported by the
-	 * encoding used with this serializer. For 8-bit encodings this will be either 0x7E or 0xFF. For
-	 * 16-bit encodings this will be 0xFFFF. Characters that are not printable will be escaped using
-	 * character references.
-	 */
-	private int _lastPrintable = 0x7E;
-
-	protected static XMLEncoderDecoder _singleton;
-
-
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public String decode(String value) {
-		// NOT_IMPLEMENTED
-		return value;
-	}
-
-
-	/**
-	 * Escapes a string so it may be printed as text content or attribute value. Non printable
-	 * characters are escaped using character references. Where the format specifies a deault entity
-	 * reference, that reference is used (e.g. <tt>&amp;lt;</tt>).
-	 * 
-	 * @param source
-	 *            The string to escape
-	 */
-	public char[] encode(char[] value) {
-		boolean unmodified = true;
-		StringBuffer sbuf = new StringBuffer(value.length);
-		String charRef = null;
-		char ch;
-		for (int i = 0; i < value.length; ++i) {
-			ch = value[i];
-			// If there is a suitable entity reference for this
-			// character, print it. The list of available entity
-			// references is almost but not identical between
-			// XML and HTML.
-			charRef = getEntityRef(ch);
-			if (charRef != null) {
-				sbuf.append('&');
-				sbuf.append(charRef);
-				sbuf.append(';');
-				unmodified = false;
-			} else if ((ch >= ' ' && ch <= _lastPrintable && ch != 0xF7) || ch == '\n' || ch == '\r' || ch == '\t') {
-				// If the character is not printable, print as character
-				// reference.
-				// Non printables are below ASCII space but not tab or line
-				// terminator, ASCII delete, or above a certain Unicode
-				// threshold.
-				sbuf.append(ch);
-			} else {
-				sbuf.append("&#");//$NON-NLS-1$
-				sbuf.append(Integer.toString(ch));
-				sbuf.append(';');
-				unmodified = false;
-			}
-		}
-		if (unmodified)
-			return value;
-		char[] result = new char[sbuf.length()];
-		sbuf.getChars(0, sbuf.length(), result, 0);
-		return result;
-	}
-
-	/**
-	 * Escapes a string so it may be printed as text content or attribute value. Non printable
-	 * characters are escaped using character references. Where the format specifies a deault entity
-	 * reference, that reference is used (e.g. <tt>&amp;lt;</tt>).
-	 * 
-	 * @param source
-	 *            The string to escape
-	 */
-	public String encode(String value) {
-		StringBuffer sbuf = new StringBuffer(value.length());
-		String charRef = null;
-		char ch;
-		for (int i = 0; i < value.length(); ++i) {
-			ch = value.charAt(i);
-			// If there is a suitable entity reference for this
-			// character, print it. The list of available entity
-			// references is almost but not identical between
-			// XML and HTML.
-			charRef = getEntityRef(ch);
-			if (charRef != null) {
-				sbuf.append('&');
-				sbuf.append(charRef);
-				sbuf.append(';');
-			} else if ((ch >= ' ' && ch <= _lastPrintable && ch != 0xF7) || ch == '\n' || ch == '\r' || ch == '\t') {
-				// If the character is not printable, print as character
-				// reference.
-				// Non printables are below ASCII space but not tab or line
-				// terminator, ASCII delete, or above a certain Unicode
-				// threshold.
-				sbuf.append(ch);
-			} else {
-				sbuf.append("&#");//$NON-NLS-1$
-				sbuf.append(Integer.toString(ch));
-				sbuf.append(';');
-			}
-		}
-		return sbuf.toString();
-	}
-
-	public static String escape(String value) {
-		if (_singleton == null) {
-			_singleton = new XMLEncoderDecoder();
-		}
-		return _singleton.encode(value);
-	}
-
-	/**
-	 * Returns the suitable entity reference for this character value, or null if no such entity
-	 * exists. Calling this method with <tt>'&amp;'</tt> will return <tt>"&amp;amp;"</tt>.
-	 * 
-	 * @param ch
-	 *            Character value
-	 * @return Character entity name, or null
-	 */
-	protected String getEntityRef(char ch) {
-		// Encode special XML characters into the equivalent character
-		// references.
-		// These five are defined by default for all XML documents.
-		switch (ch) {
-			case '<' :
-				return "lt";//$NON-NLS-1$
-			case '>' :
-				return "gt";//$NON-NLS-1$
-			case '"' :
-				return "quot";//$NON-NLS-1$
-			case '\'' :
-				return "apos";//$NON-NLS-1$
-			case '&' :
-				return "amp";//$NON-NLS-1$
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryDescriptor.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryDescriptor.java
deleted file mode 100644
index a852031..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryDescriptor.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-
-public interface AdapterFactoryDescriptor {
-
-	public AdapterFactory createAdapterFactory();
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryUtil.java
deleted file mode 100644
index 706f9ea..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryUtil.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notifier;
-
-public class AdapterFactoryUtil {
-
-	/**
-	 * Constructor for AdapterFactoryUtil.
-	 */
-	public AdapterFactoryUtil() {
-		super();
-	}
-
-	public static void adaptNew(Notifier newObject, List factories) {
-		AdapterFactory fact;
-		for (int i = 0; i < factories.size(); i++) {
-			fact = (AdapterFactory) factories.get(i);
-			fact.adaptNew(newObject, null);
-		}
-	}
-
-	public static void createAdapterFactories(List descriptors, List factories) {
-		AdapterFactoryDescriptor desc;
-		AdapterFactory adapterFact;
-		for (int i = 0; i < descriptors.size(); i++) {
-			desc = (AdapterFactoryDescriptor) descriptors.get(i);
-			adapterFact = desc.createAdapterFactory();
-			if (adapterFact != null)
-				factories.add(adapterFact);
-		}
-		descriptors.clear();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ArrayUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ArrayUtil.java
deleted file mode 100644
index 847b88d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ArrayUtil.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-
-public class ArrayUtil {
-
-	public static Object[] concat(Object[] array1, Object[] array2) {
-		Class componentType = null;
-		if (array1.getClass().getComponentType() == array2.getClass().getComponentType())
-			componentType = array1.getClass().getComponentType();
-		else
-			componentType = Object.class;
-
-		return concat(array1, array2, componentType);
-	}
-
-	public static Object[] concat(Object[] array1, Object[] array2, Class componentType) {
-		Object[] result = (Object[]) java.lang.reflect.Array.newInstance(componentType, array1.length + array2.length);
-		System.arraycopy(array1, 0, result, 0, array1.length);
-		System.arraycopy(array2, 0, result, array1.length, array2.length);
-		return result;
-	}
-
-	public static Object[] concatAll(java.util.List arrays, Class componentType) {
-		int resultLength = 0;
-		for (int i = 0; i < arrays.size(); i++) {
-			resultLength += ((Object[]) arrays.get(i)).length;
-		}
-		Object[] result = (Object[]) java.lang.reflect.Array.newInstance(componentType, resultLength);
-		int pos = 0;
-		for (int i = 0; i < arrays.size(); i++) {
-			Object[] array = (Object[]) arrays.get(i);
-			System.arraycopy(array, 0, result, pos, array.length);
-			pos += array.length;
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Assert.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Assert.java
deleted file mode 100644
index bc9cf9d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Assert.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-
-
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks in code. The predicate
- * methods all test a condition and throw some type of unchecked exception if the condition does not
- * hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are thrown when something is
- * misbehaving. Assertion failures are invariably unspecified behavior; consequently, clients should
- * never rely on these being thrown (and certainly should not being catching them specifically).
- * </p>
- */
-// This class was, originally, copied directly from com.ibm.itp.common.
-// It was copied to our own package just to minimize minor dependencies
-// on other packages and internal APIs.
-public final class Assert {
-	/* This class is not intended to be instantiated. */
-
-	private Assert() {
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not <code>true</code>, an
-	 * <code>IllegalArgumentException</code> is thrown.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return if the check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression) {
-		return isLegal(expression, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not <code>true</code>, an
-	 * <code>IllegalArgumentException</code> is thrown. The given message is included in that
-	 * exception, to aid debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression, String message) {
-		if (!expression)
-			throw new IllegalArgumentException();
-		return expression;
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is not the case, some kind
-	 * of unchecked exception is thrown.
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object) {
-		isNotNull(object, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is not the case, some kind
-	 * of unchecked exception is thrown. The given message is included in that exception, to aid
-	 * debugging.
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @param message
-	 *            the message to include in the exception
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object, String message) {
-		if (object == null) {
-			Logger.getLogger().logError("null_argument: " + message);//$NON-NLS-1$
-			throw new AssertionFailedException();
-		}
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not the case, some kind of
-	 * unchecked exception is thrown.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return if the check fails)
-	 */
-	public static boolean isTrue(boolean expression) {
-		return isTrue(expression, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not the case, some kind of
-	 * unchecked exception is thrown. The given message is included in that exception, to aid
-	 * debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the check fails)
-	 */
-	public static boolean isTrue(boolean expression, String message) {
-		if (!expression) {
-			Logger.getLogger().logError("assertion failed: " + message);//$NON-NLS-1$
-			throw new AssertionFailedException();
-		}
-		return expression;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AssertionFailedException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AssertionFailedException.java
deleted file mode 100644
index 044c60d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AssertionFailedException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-/**
- * <code>AssertionFailedException</code> is a runtime exception thrown by some of the methods in
- * <code>Assert</code>.
- * <p>
- * This class is not declared public to prevent some misuses; programs that catch or otherwise
- * depend on assertion failures are susceptible to unexpected breakage when assertions in the code
- * are added or removed.
- * </p>
- */
-// This class was, originally, copied directly from com.ibm.itp.common.
-// It was copied to our own package just to minimize minor dependencies
-// on other packages and internal APIs.
-class AssertionFailedException extends RuntimeException {
-	/**
-	 * Constructs a new exception.
-	 */
-	public AssertionFailedException() {
-	}
-
-	/**
-	 * Constructs a new exception with the given message.
-	 */
-	public AssertionFailedException(String detail) {
-		super(detail);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Association.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Association.java
deleted file mode 100644
index 485d0c3..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Association.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * Insert the type's description here. Creation date: (12/17/2000 7:38:15 PM)
- * 
- * @author: Administrator
- */
-public class Association {
-	protected Object key;
-	protected Object value;
-
-	/**
-	 * Association constructor comment.
-	 */
-	public Association(Object aKey, Object aValue) {
-		setKey(aKey);
-		setValue(aValue);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 7:38:48 PM)
-	 * 
-	 * @return java.lang.Object
-	 */
-	public java.lang.Object getKey() {
-		return key;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 7:38:48 PM)
-	 * 
-	 * @return java.lang.Object
-	 */
-	public java.lang.Object getValue() {
-		return value;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 7:38:48 PM)
-	 * 
-	 * @param newKey
-	 *            java.lang.Object
-	 */
-	public void setKey(java.lang.Object newKey) {
-		key = newKey;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 7:38:48 PM)
-	 * 
-	 * @param newValue
-	 *            java.lang.Object
-	 */
-	public void setValue(java.lang.Object newValue) {
-		value = newValue;
-	}
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CloneablePublic.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CloneablePublic.java
deleted file mode 100644
index b243775..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CloneablePublic.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Sep 22, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * Interface that exposes the clone method, for objects that need to generically copy other
- * cloneable objects
- */
-public interface CloneablePublic extends Cloneable {
-	Object clone();
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CommandContext.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CommandContext.java
deleted file mode 100644
index 913139c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CommandContext.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 27, 2004
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-
-
-/**
- * @author John Mourra
- */
-public class CommandContext implements ICommandContext {
-
-	private IProgressMonitor monitor;
-	private Map properties;
-	private ResourceSet resourceSet;
-
-	/**
-	 * @param monitor
-	 */
-	public CommandContext(IProgressMonitor monitor) {
-		this(monitor, null, null);
-	}
-
-	/**
-	 * @param monitor
-	 * @param configurationProperties
-	 * @param resourceSet
-	 */
-	public CommandContext(IProgressMonitor monitor, Map configurationProperties, ResourceSet resourceSet) {
-		this.monitor = monitor;
-		this.properties = configurationProperties;
-		this.resourceSet = resourceSet;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.ws.rd.command.framework.ICommandContext#getProgressMonitor()
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-		return monitor;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.ws.rd.command.framework.ICommandContext#getConfigurationProperties()
-	 */
-	public Map getConfigurationProperties() {
-		if (properties == null)
-			properties = new HashMap();
-		return properties;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.ws.rd.command.framework.ICommandContext#getResourceSet()
-	 */
-	public ResourceSet getResourceSet() {
-		if (resourceSet == null)
-			resourceSet = new ResourceSetImpl();
-		return resourceSet;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CopyGroup.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CopyGroup.java
deleted file mode 100644
index 79b3b1e..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CopyGroup.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-/**
- * This class is used to copy a group of RefObjects and/or Resources. This group will ensure that
- * all non-composite relationships are deferred until all Resources and RefObjects are copied. This
- * allows you to make copies of a group of objects that may have non-composite relationships and
- * ensure that these relationships are pointing to the copied object if it is part of the group
- * (either directly or through a containment relationship). Creation date: (12/17/2000 1:21:17 PM)
- * 
- * @author: Administrator
- */
-public class CopyGroup {
-	protected String defaultIdSuffix;
-	protected ResourceSet copyContext;
-	protected List resources;
-	protected List refObjects;
-	protected List copiedResources;
-	protected List copiedRefObjects;
-	protected boolean preserveIds = false;
-
-	/**
-	 * CopyGroup constructor comment.
-	 */
-	public CopyGroup() {
-		super();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:28:16 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean add(EObject aRefObject) {
-		return add(aRefObject, null);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:28:16 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean add(EObject aRefObject, String idSuffix) {
-		if (aRefObject != null && !containsRefObject(aRefObject)) {
-			getRefObjects().add(createAssociation(aRefObject, idSuffix));
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:27:32 PM)
-	 * 
-	 * @param aResources
-	 *            org.eclipse.emf.ecore.resource.Resource
-	 */
-	public void add(Resource aResource) {
-		add(aResource, null);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:27:32 PM)
-	 * 
-	 * @param aResources
-	 *            org.eclipse.emf.ecore.resource.Resource
-	 */
-	public void add(Resource aResource, String newUri) {
-		if (aResource != null)
-			getResources().add(createAssociation(aResource, newUri));
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:28:16 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public void addCopied(EObject aRefObject) {
-		if (aRefObject != null)
-			getCopiedRefObjects().add(aRefObject);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:27:32 PM)
-	 * 
-	 * @param aResources
-	 *            org.eclipse.emf.ecore.resource.Resource
-	 */
-	public void addCopied(Resource aResource) {
-		if (aResource != null) {
-			getCopiedResources().add(aResource);
-			if (getCopyContext() != null)
-				getCopyContext().getResources().add(aResource);
-		}
-	}
-
-	protected boolean contains(List associations, Object anObject) {
-		if (anObject == null)
-			return false;
-		int size = associations.size();
-		Association assoc;
-		for (int i = 0; i < size; i++) {
-			assoc = (Association) associations.get(i);
-			if (assoc.getKey() == anObject)
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if
-	 * 
-	 * @aRefObject has been added to this group. Creation date: (12/17/2000 1:28:16 PM)
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean containsRefObject(EObject aRefObject) {
-		return contains(getRefObjects(), aRefObject);
-	}
-
-	/**
-	 * Return true if
-	 * 
-	 * @aResource has been added to this group. Creation date: (12/17/2000 1:28:16 PM)
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean containsResource(Resource aResource) {
-		return contains(getResources(), aResource);
-	}
-
-	private Association createAssociation(Object key, Object value) {
-		return new Association(key, value);
-	}
-
-	/**
-	 * Returns a List of RefObjects that were copied. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getCopiedRefObjects() {
-		if (copiedRefObjects == null)
-			copiedRefObjects = new ArrayList();
-		return copiedRefObjects;
-	}
-
-	/**
-	 * Returns a List of Resources that were copied. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getCopiedResources() {
-		if (copiedResources == null)
-			copiedResources = new ArrayList();
-		return copiedResources;
-	}
-
-	/**
-	 * The context to add all copied resources into. Creation date: (12/17/2000 8:09:45 PM)
-	 * 
-	 * @return org.eclipse.emf.ecore.resource.ResourceSet
-	 */
-	public org.eclipse.emf.ecore.resource.ResourceSet getCopyContext() {
-		return copyContext;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:44:43 PM)
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getDefaultIdSuffix() {
-		return defaultIdSuffix;
-	}
-
-	/**
-	 * Should the id be copied in the case where no suffix is specified? Defaults to false
-	 */
-	public boolean getPreserveIds() {
-		return preserveIds;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getRefObjects() {
-		if (refObjects == null)
-			refObjects = new ArrayList();
-		return refObjects;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getResources() {
-		if (resources == null)
-			resources = new ArrayList();
-		return resources;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List primGetRefObjects() {
-		return refObjects;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List primGetResources() {
-		return resources;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:28:16 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 * @return boolean
-	 */
-	public boolean remove(EObject aRefObject) {
-		if (aRefObject != null && primGetRefObjects() != null) {
-			Iterator it = primGetRefObjects().iterator();
-			Association association;
-			while (it.hasNext()) {
-				association = (Association) it.next();
-				if (association.getKey() == aRefObject)
-					return primGetRefObjects().remove(association);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:27:32 PM)
-	 * 
-	 * @param aResources
-	 *            org.eclipse.emf.ecore.resource.Resource
-	 * @return boolean
-	 */
-	public boolean remove(Resource aResource) {
-		if (aResource != null && primGetResources() != null) {
-			Iterator it = primGetResources().iterator();
-			Association association;
-			while (it.hasNext()) {
-				association = (Association) it.next();
-				if (association.getKey() == aResource)
-					return primGetResources().remove(association);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Set the context to add all copied resources into. Creation date: (12/17/2000 8:09:45 PM)
-	 * 
-	 * @param newCopyContext
-	 *            org.eclipse.emf.ecore.resource.Context
-	 */
-	public void setCopyContext(org.eclipse.emf.ecore.resource.ResourceSet newCopyContext) {
-		copyContext = newCopyContext;
-	}
-
-	/**
-	 * If an ID suffix is not defined for a EObject that is to be copied, this value will be used.
-	 * Creation date: (12/17/2000 1:44:43 PM)
-	 * 
-	 * @param newDefaultIdSuffix
-	 *            java.lang.String
-	 */
-	public void setDefaultIdSuffix(java.lang.String newDefaultIdSuffix) {
-		defaultIdSuffix = newDefaultIdSuffix;
-	}
-
-	/**
-	 * Should the id be copied in the case where no suffix is specified?
-	 */
-	public void setPreserveIds(boolean value) {
-		preserveIds = value;
-	}
-
-	/**
-	 * Subclasses should override this method if they require additional processing after the group
-	 * has been copied.
-	 * 
-	 * @param copyUtil
-	 */
-	public void postCopy(EtoolsCopyUtility copyUtil) {
-	}
-
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMLoadOptions.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMLoadOptions.java
deleted file mode 100644
index 05ae8a5..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMLoadOptions.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 12, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * @author schacher
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class DOMLoadOptions {
-	protected boolean validate;
-	protected boolean allowJavaEncodings;
-	protected boolean expandEntityRefererences;
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isAllowJavaEncodings() {
-		return allowJavaEncodings;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isExpandEntityRefererences() {
-		return expandEntityRefererences;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isValidate() {
-		return validate;
-	}
-
-	/**
-	 * Sets the allowJavaEncodings.
-	 * 
-	 * @param allowJavaEncodings
-	 *            The allowJavaEncodings to set
-	 */
-	public void setAllowJavaEncodings(boolean allowJavaEncodings) {
-		this.allowJavaEncodings = allowJavaEncodings;
-	}
-
-	/**
-	 * Sets the expandEntityRefererences.
-	 * 
-	 * @param expandEntityRefererences
-	 *            The expandEntityRefererences to set
-	 */
-	public void setExpandEntityRefererences(boolean expandEntityRefererences) {
-		this.expandEntityRefererences = expandEntityRefererences;
-	}
-
-	/**
-	 * Sets the validate.
-	 * 
-	 * @param validate
-	 *            The validate to set
-	 */
-	public void setValidate(boolean validate) {
-		this.validate = validate;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMUtilities.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMUtilities.java
deleted file mode 100644
index b04fe7a..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMUtilities.java
+++ /dev/null
@@ -1,681 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-
-/**
- * A class containing common dom manipulation and search functions.
- */
-public class DOMUtilities {
-	// Handy Constants
-	public static final String INDENT_STRING = "\t"; //$NON-NLS-1$
-	public static final String NEWLINE_STRING = System.getProperty("line.separator"); //$NON-NLS-1$
-	//Hack to be removed when the DOM apis change such that there is an easier
-	//way to fluff up and set the doctype
-	private static final String DUMMY_ENTITY_STRING = "dummy"; //$NON-NLS-1$
-	private static final String DUMMY_ENTITY_NODE_STRING = "<dummy/>"; //$NON-NLS-1$
-	private static DocumentBuilder defaultDocumentBuilder;
-	private static EntityResolver defaultEntityResolver;
-
-	/**
-	 * Returns an iterator that iterates over the sub nodes of a path.
-	 */
-	static public Iterator createPathIterator(String path) {
-		String tPath = path.startsWith("/") ? path.substring(1) : path; //$NON-NLS-1$
-		if (tPath.length() == 0)
-			tPath = null;
-		final String aPath = tPath;
-
-		return new Iterator() {
-			int prevIndex = 0;
-			int curIndex = 0;
-			String pathString = aPath;
-
-			public boolean hasNext() {
-				return pathString != null && prevIndex != -1;
-			}
-
-			public Object next() {
-				curIndex = pathString.indexOf('/', prevIndex);
-				String nodeString = null;
-				if (curIndex != -1)
-					nodeString = pathString.substring(prevIndex, curIndex++);
-				else
-					nodeString = pathString.substring(prevIndex);
-				prevIndex = curIndex;
-				return nodeString;
-			}
-
-			public void remove() {
-				throw new UnsupportedOperationException();
-			}
-		};
-	}
-
-	/**
-	 * Get the text for the passed in node.
-	 */
-	static public String getChildText(Node node) {
-		Text textNode = getChildTextNode(node);
-		if (textNode != null)
-			return textNode.getData();
-		return null;
-	}
-
-	/**
-	 * Get the text for the passed in node.
-	 */
-	static public Text getChildTextNode(Node node) {
-		Node textNode = node.getFirstChild();
-		while (textNode != null && DOMUtilities.isTextNode(textNode)) {
-			if (!isWhitespace(textNode))
-				return (Text) textNode;
-			textNode = textNode.getNextSibling();
-		}
-		return null;
-	}
-
-	/**
-	 * Return a string representing the current indentation of the node.
-	 */
-	static public String getIndentString(Node node) {
-		Revisit.toDo();
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Get the last non-text child of a node.
-	 * 
-	 * @return org.w3c.dom.Node The last non-text child node of
-	 * @node.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Node getLastNodeChild(Node node) {
-		if (node == null)
-			return null;
-		Node child = node.getLastChild();
-		while (child != null && child.getNodeType() == Node.TEXT_NODE)
-			child = child.getPreviousSibling();
-		return child;
-	}
-
-	/**
-	 * Get the next non-text sibling after a node.
-	 * 
-	 * @return org.w3c.dom.Node The first non-text sibling node after
-	 * @node. If there is no next non-text sibling, null is returned.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Node getNextNodeSibling(Node node) {
-		Node sibling = node.getNextSibling();
-		while (sibling != null && sibling.getNodeType() != Node.ELEMENT_NODE)
-			sibling = sibling.getNextSibling();
-		return sibling;
-	}
-
-	/**
-	 * Get the first child Node with the specified name
-	 */
-	static public Node getNodeChild(Node node, String nodeName) {
-		Node child = null;
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node n = children.item(i);
-			if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equals(nodeName)) {
-				child = n;
-				break;
-			}
-		}
-		return child;
-	}
-
-	/**
-	 * Traverses the path passed in <pathName>. The path is a string in the form
-	 * 'node1/node2/node3'. This method starts at node.
-	 */
-	static public Node getNodeChildForPath(Node parent, String pathName) {
-
-		Node curNode = parent;
-		Iterator i = DOMUtilities.createPathIterator(pathName);
-		while (i.hasNext()) {
-			String child = (String) i.next();
-			curNode = DOMUtilities.getNodeChild(curNode, child);
-			if (curNode == null)
-				return null;
-		}
-		return curNode;
-	}
-
-	/**
-	 * Get the Node children with the specified names
-	 */
-	static public List getNodeChildren(Node node, String[] nodeNames) {
-		NodeList childNodes = node.getChildNodes();
-		ArrayList results = new ArrayList();
-
-		for (int i = 0; i < childNodes.getLength(); i++) {
-			Node n = childNodes.item(i);
-			if (n.getNodeType() == Node.ELEMENT_NODE) {
-				boolean found = false;
-				for (int j = 0; j < nodeNames.length; j++) {
-					if (nodeNames[j].equals(n.getNodeName())) {
-						found = true;
-						break;
-					}
-				}
-				if (found)
-					results.add(n);
-			}
-		}
-		return results;
-	}
-
-	/**
-	 * Get the Node children with the specified name
-	 */
-	static public List getNodeChildren(Node node, String nodeName) {
-		NodeList childNodes = node.getChildNodes();
-		ArrayList results = new ArrayList();
-
-		for (int i = 0; i < childNodes.getLength(); i++) {
-			Node n = childNodes.item(i);
-			if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equals(nodeName))
-				results.add(n);
-		}
-		return results;
-	}
-
-	/**
-	 * Get the first non-text sibling before a node.
-	 * 
-	 * @return org.w3c.dom.Node The first non-text sibling node before
-	 * @node. If there is no previous non-text sibling, null is returned.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Node getPreviousNodeSibling(Node node) {
-		if (node == null)
-			return null;
-		Node sibling = node.getPreviousSibling();
-		while (sibling != null && DOMUtilities.isTextNode(sibling))
-			sibling = sibling.getPreviousSibling();
-		return sibling;
-	}
-
-	/**
-	 * Get the first text node before a node.
-	 * 
-	 * @return org.w3c.dom.Node The first text node before
-	 * @node. Null if no such node exist.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Text getPreviousText(Node node) {
-		Text sibling = getPreviousTextSibling(node);
-
-		if (sibling == null && node.getParentNode() != null)
-			sibling = getPreviousText(node.getParentNode());
-
-		return sibling;
-	}
-
-	/**
-	 * Get the first text sibling before a node.
-	 * 
-	 * @return org.w3c.dom.Node The first text sibling node before
-	 * @node. If there is no previous text sibling, null is returned.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Text getPreviousTextSibling(Node node) {
-		Assert.isNotNull(node);
-
-		Node sibling = node.getPreviousSibling();
-		Node lastText = null;
-		while (sibling != null && sibling.getNodeType() == Node.TEXT_NODE) {
-			lastText = sibling;
-			sibling = sibling.getPreviousSibling();
-		}
-		return (Text) lastText;
-	}
-
-	/**
-	 * Get the first text sibling before a node.
-	 * 
-	 * @return org.w3c.dom.Node The first text sibling node before
-	 * @node. If there is no previous text sibling, null is returned.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static String getTrailingWhitespace(Text node) {
-		Assert.isNotNull(node);
-
-		String text = node.getData();
-		if (text.length() == 0)
-			return ""; //$NON-NLS-1$
-
-		int i = text.length() - 1;
-		for (; i >= 0; i--) {
-			if (!Character.isWhitespace(text.charAt(i))) {
-				break;
-			}
-		}
-
-		return text.substring(++i);
-	}
-
-	/**
-	 * Inserts <newNode>into <parent>after <refNode>. If <refNode>is null then the node is inserted
-	 * to the beginning of the parent's child nodes.
-	 * 
-	 * @param parent
-	 *            org.w3c.dom.Node
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param refNode
-	 *            org.w3c.dom.Node
-	 */
-	public static void insertAfterNode(Node parent, Node newNode, Node refNode) {
-		Node insertBeforeNode = null;
-		if (refNode != null) {
-			insertBeforeNode = refNode.getNextSibling();
-		}
-		if (refNode == null)
-			insertBeforeNode(parent, newNode, parent.getFirstChild());
-		else
-			insertBeforeNode(parent, newNode, insertBeforeNode);
-	}
-
-	/**
-	 * Insert a <newNode>into <parent>before <refNode>. This utility method is used to ensure that
-	 * the insertion does not result in two adjacent text nodes. The DOM model does not handle
-	 * adjacent text nodes. They must be joined together.
-	 * 
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param refNode
-	 *            org.w3c.dom.Node
-	 */
-	static public void insertBeforeNode(Node parent, Node newNode, Node refNode) {
-		if (newNode.getNodeType() == Node.TEXT_NODE) {
-			Text textNewNode = (Text) newNode;
-
-			// If the insert before node is text, join it with the new node.
-			if (refNode != null && refNode.getNodeType() == Node.TEXT_NODE) {
-				Text textRefNode = (Text) refNode;
-				textRefNode.setData(textNewNode.getData() + textRefNode.getData());
-				return;
-			}
-			// If the node we are inserting after is text,
-			// join it with the new node.
-			Node insertAfterNode = (refNode == null) ? parent.getLastChild() : refNode.getPreviousSibling();
-			if (insertAfterNode != null && insertAfterNode.getNodeType() == Node.TEXT_NODE) {
-				Text textInsertAfterNode = (Text) insertAfterNode;
-				textInsertAfterNode.setData(textInsertAfterNode.getData() + textNewNode.getData());
-				return;
-			}
-		}
-		// There is no text node to join to, simple insert the node.
-		parent.insertBefore(newNode, refNode);
-	}
-
-	/**
-	 * Insert a <newNode>into <parent>before <refNode>. This method will also insert the node before
-	 * any whitespace nodes that appear in the tree before <refNode>. This method will also ensure
-	 * that the insertion does not result in two adjacent text nodes. The DOM model does not handle
-	 * adjacent text nodes. They must be joined together.
-	 * 
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param refNode
-	 *            org.w3c.dom.Node
-	 */
-	static public void insertBeforeNodeAndWhitespace(Node parent, Node newNode, Node refNode) {
-		Node curNode = (refNode == null) ? parent.getLastChild() : refNode.getPreviousSibling();
-		Node lastNode = refNode;
-
-		while (curNode != null && (DOMUtilities.isWhitespace(curNode) || DOMUtilities.isComment(curNode))) {
-			lastNode = curNode;
-			curNode = curNode.getPreviousSibling();
-		}
-
-		insertBeforeNode(parent, newNode, lastNode);
-	}
-
-	/**
-	 * Return whether the node is a text node.
-	 * 
-	 * @return boolean Answer true if the node is a text node, false otherwise.
-	 * @param node
-	 *            org.w3c.dom.Node The node to check
-	 */
-	static public boolean isTextNode(Node node) {
-		Assert.isNotNull(node);
-		return (node.getNodeType() == Node.TEXT_NODE) || (node.getNodeType() == Node.CDATA_SECTION_NODE);
-	}
-
-	/**
-	 * Return whether the node is entirely comment or not.
-	 * 
-	 * @return boolean Answer true if the node is whitespace, false otherwise.
-	 * @param node
-	 *            org.w3c.dom.Node The node to check
-	 */
-	static public boolean isComment(Node node) {
-		Assert.isNotNull(node);
-
-		return node.getNodeType() == Node.COMMENT_NODE;
-	}
-
-	/**
-	 * Return whether the node is entirely whitepace or not.
-	 * 
-	 * @return boolean Answer true if the node is whitespace, false otherwise.
-	 * @param node
-	 *            org.w3c.dom.Node The node to check
-	 */
-	static public boolean isWhitespace(Node node) {
-		Assert.isNotNull(node);
-
-		if (node.getNodeType() != Node.TEXT_NODE)
-			return false;
-
-		Text textNode = (Text) node;
-		String text = textNode.getData();
-		if (text == null)
-			return false;
-
-		for (int i = 0; i < text.length(); i++) {
-			if (!Character.isWhitespace(text.charAt(i))) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Remove all the children of <node>
-	 */
-	static public void removeAllChildren(Node node) {
-		NodeList list = node.getChildNodes();
-		for (int i = 0; i < list.getLength(); i++) {
-			node.removeChild(list.item(i));
-		}
-	}
-
-	// traverses the DOM starting at the specified node and returns a list
-	// of nodes matching the search string
-
-	static public ArrayList getAllNodes(Node node, String nodeName) {
-		ArrayList nodeList = new ArrayList();
-
-		String[] nodeNames = {nodeName};
-		findAllNodes(node, nodeNames, nodeList);
-
-		return nodeList;
-	}
-
-	// traverses the DOM starting at the specified node and returns a list
-	// of nodes matching the search strings
-
-	static public ArrayList getAllNodes(Node node, String[] nodeNamesArray) {
-		ArrayList nodeList = new ArrayList();
-		findAllNodes(node, nodeNamesArray, nodeList);
-
-		return nodeList;
-	}
-
-	// recursive helper for getAllNodes
-	static private void findAllNodes(Node node, String[] nodeNames, ArrayList results) {
-
-		NodeList nodes = node.getChildNodes();
-		if (nodes != null) {
-			for (int i = 0; i < nodes.getLength(); i++) {
-				for (int j = 0; j < nodeNames.length; j++) {
-					if (nodes.item(i).getNodeName().equals(nodeNames[j])) {
-						results.add(nodes.item(i));
-					}
-				}
-				findAllNodes(nodes.item(i), nodeNames, results);
-			}
-		}
-	}
-
-	/**
-	 * Returns the system defined JAXP document builder
-	 */
-	static public DocumentBuilder newDefaultDocumentBuilder(DOMLoadOptions options) throws ParserConfigurationException {
-		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-		dbf.setValidating(options.isValidate());
-		dbf.setNamespaceAware(options.isValidate());
-		/*
-		 * Causes errors in IBM JDK try { dbf.setAttribute(Renderer.JAXP_SCHEMA_LANGUAGE,
-		 * Renwderer.W3C_XML_SCHEMA); } catch (IllegalArgumentException x) { }
-		 */
-		try {
-			dbf.setAttribute("http://apache.org/xml/features/allow-java-encodings", new Boolean(options.isAllowJavaEncodings())); //$NON-NLS-1$	        
-		} catch (IllegalArgumentException ignore) {
-			Logger.getLogger().log("Warning: Parser does not support \"http://apache.org/xml/features/allow-java-encodings\"."); //$NON-NLS-1$
-		}
-		try {
-			dbf.setAttribute("http://apache.org/xml/features/validation/schema", new Boolean(options.isValidate())); //$NON-NLS-1$
-		} catch (IllegalArgumentException ignore) {
-			dbf.setValidating(false);
-			Logger.getLogger().log("Warning: Parser does not support \"http://apache.org/xml/features/validation/schema\". Validation will be disabled."); //$NON-NLS-1$
-		}
-		dbf.setExpandEntityReferences(options.isExpandEntityRefererences());
-		DocumentBuilder result = dbf.newDocumentBuilder();
-		result.setErrorHandler(new ErrorHandler() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
-			 */
-			public void error(SAXParseException arg0) throws SAXException {
-				throw arg0;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
-			 */
-			public void fatalError(SAXParseException arg0) throws SAXException {
-				throw arg0;
-			}
-
-			public void warning(SAXParseException arg0) throws SAXException {
-				Logger.getLogger().logWarning(arg0);
-			}
-
-		});
-		return result;
-	}
-
-	/**
-	 * Creates a stub document, where the DocumentType is defined by the parameters.
-	 */
-	static public Document createNewDocument(String doctype, String publicId, String systemId) throws ParserConfigurationException, SAXException, IOException {
-		DocumentBuilder builder = getDefaultDocumentBuilder();
-		InputStream in = createHeaderInputStream(doctype, publicId, systemId, true);
-		Document result = builder.parse(in);
-		removeDummyEntity(result);
-		removeExtraneousComments(result);
-		return result;
-	}
-
-	public static Document loadDocument(InputStream in, DOMLoadOptions options, EntityResolver resolver) throws ParserConfigurationException, SAXException, IOException {
-		DocumentBuilder builder = DOMUtilities.newDefaultDocumentBuilder(options);
-		builder.setEntityResolver(resolver);
-		Document result = builder.parse(in);
-		removeExtraneousComments(result);
-		return result;
-	}
-
-	/**
-	 * At the time of this writing, the DOM Level 2 APIs are not advanced enough for setting the
-	 * document type; so the only parser independent way of accomplishing this is by creating a
-	 * stream and parsing it.
-	 */
-	public static InputStream createHeaderInputStream(String doctype, String publicId, String systemId) {
-		return createHeaderInputStream(doctype, publicId, systemId, false);
-	}
-
-
-	private static InputStream createHeaderInputStream(String doctype, String publicId, String systemId, boolean includeDummy) {
-		ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-		PrintWriter writer = new PrintWriter(outputStream);
-		writeHeader(writer, doctype, publicId, systemId);
-		if (includeDummy)
-			addDummyEntity(writer);
-		writer.flush();
-		writer.close();
-		return new java.io.ByteArrayInputStream(outputStream.toByteArray());
-	}
-
-	private static void writeHeader(PrintWriter writer, String doctype, String publicId, String systemId) {
-		writer.write("<?xml version=\""); //$NON-NLS-1$
-		writer.write("1.0"); //$NON-NLS-1$
-		writer.write("\" encoding=\""); //$NON-NLS-1$
-		writer.write("UTF-8"); //$NON-NLS-1$
-		writer.write("\"?>"); //$NON-NLS-1$
-		writer.println();
-
-		if (doctype != null) {
-			writer.write("<!DOCTYPE "); //$NON-NLS-1$
-			writer.write(doctype);
-			writer.write(" PUBLIC \""); //$NON-NLS-1$
-			writer.write(publicId);
-			writer.write("\" \""); //$NON-NLS-1$
-			writer.write(systemId);
-			writer.write("\">"); //$NON-NLS-1$
-			writer.println();
-		}
-	}
-
-	private static void addDummyEntity(PrintWriter writer) {
-		Revisit.revisit();
-		writer.println(DUMMY_ENTITY_NODE_STRING);
-		//Major hack because we can not parse an empty document
-	}
-
-	private static void removeDummyEntity(Document doc) {
-		doc.removeChild(getNodeChild(doc, DUMMY_ENTITY_STRING));
-	}
-
-	private static void removeExtraneousComments(Document doc) {
-		//another major hack because of a bug in XML4J 4.0.7 that added all the
-		//comments from the dtd to the document. Can be removed after we move up
-		//Xerces levels
-		Node aNode = doc.getFirstChild();
-		while (aNode != null) {
-			Node nextNode = aNode.getNextSibling();
-			if (aNode.getNodeType() == Node.COMMENT_NODE)
-				doc.removeChild(aNode);
-			aNode = nextNode;
-		}
-	}
-
-	/**
-	 * For performance, cache a static instance of the JAXP registered document builder. Validation
-	 * is disabled for this instance. If you need validation, use
-	 * {@link #newDefaultDocumentBuilder(boolean, boolean, boolean)}
-	 * 
-	 * @return DocumentBuilder
-	 * @throws ParserConfigurationException
-	 *             if JAXP is not configured correctly
-	 */
-	public static DocumentBuilder getDefaultDocumentBuilder() throws ParserConfigurationException {
-		if (defaultDocumentBuilder == null) {
-			DOMLoadOptions opts = new DOMLoadOptions();
-			opts.setAllowJavaEncodings(true);
-			opts.setExpandEntityRefererences(true);
-			opts.setValidate(false);
-			defaultDocumentBuilder = newDefaultDocumentBuilder(opts);
-			defaultDocumentBuilder.setEntityResolver(defaultEntityResolver);
-			defaultDocumentBuilder.setErrorHandler(new ErrorHandler() {
-				/*
-				 * (non-Javadoc)
-				 * 
-				 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
-				 */
-				public void error(SAXParseException exception) throws SAXException {
-
-				}
-
-				/*
-				 * (non-Javadoc)
-				 * 
-				 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
-				 */
-				public void fatalError(SAXParseException exception) throws SAXException {
-
-				}
-
-				/*
-				 * (non-Javadoc)
-				 * 
-				 * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
-				 */
-				public void warning(SAXParseException exception) throws SAXException {
-
-				}
-
-			});
-		}
-
-		return defaultDocumentBuilder;
-	}
-
-	/**
-	 * @return
-	 */
-	public static EntityResolver getDefaultEntityResolver() {
-		return defaultEntityResolver;
-	}
-
-	/**
-	 * @param resolver
-	 */
-	public static void setDefaultEntityResolver(EntityResolver resolver) {
-		defaultEntityResolver = resolver;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DanglingHREFException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DanglingHREFException.java
deleted file mode 100644
index 21f9254..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DanglingHREFException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 12, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * Exception thrown when a proxy can not be resolved
- */
-public class DanglingHREFException extends Exception {
-
-
-	public DanglingHREFException() {
-		super();
-	}
-
-	/**
-	 * @param s
-	 */
-	public DanglingHREFException(String s) {
-		super(s);
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultFeatureValueConverter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultFeatureValueConverter.java
deleted file mode 100644
index dda0593..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultFeatureValueConverter.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-
-/**
- * Insert the type's description here. Creation date: (5/10/2001 2:49:49 PM)
- * 
- * @author: Administrator
- */
-public class DefaultFeatureValueConverter implements FeatureValueConverter {
-	private static final String FAILED_CONVERSION_PATTERN = WFTUtilsResourceHandler.getString("Failed_to_convert_{0}_to_{_ERROR_"); //$NON-NLS-1$ = "Failed to convert {0} to {1}."
-
-	/**
-	 * DefaultFeatureValueConverter constructor comment.
-	 */
-	public DefaultFeatureValueConverter() {
-		super();
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Boolean.
-	 */
-	protected Object convertToBoolean(Object aValue) {
-		if (aValue instanceof String)
-			return Boolean.valueOf((String) aValue);
-		if (aValue instanceof Boolean)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Boolean_UI_")); //$NON-NLS-1$ = "Boolean"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Byte.
-	 */
-	protected Object convertToByte(Object aValue) {
-		if (aValue instanceof String)
-			return Byte.valueOf((String) aValue);
-		if (aValue instanceof Byte)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Byte_UI_")); //$NON-NLS-1$ = "Byte"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Character.
-	 */
-	protected Object convertToCharacter(Object aValue) {
-		if (aValue instanceof String && ((String) aValue).length() == 1)
-			return new Character(((String) aValue).charAt(0));
-		if (aValue instanceof Character)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Character_UI_")); //$NON-NLS-1$ = "Character"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Double.
-	 */
-	protected Object convertToDouble(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Double.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultDouble();
-			}
-		}
-		if (aValue instanceof Double)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Double_UI_")); //$NON-NLS-1$ = "Double"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a EEnumLiteral.
-	 */
-	protected Object convertToEnum(Object aValue, EStructuralFeature aFeature) {
-		EEnumLiteral literal = null;
-		EEnum eenum = (EEnum) aFeature.getEType();
-		if (aValue instanceof String)
-			literal = eenum.getEEnumLiteral((String) aValue);
-		else if (aValue instanceof Integer)
-			literal = eenum.getEEnumLiteral(((Integer) aValue).intValue());
-		else if (aValue instanceof EEnumLiteral)
-			literal = (EEnumLiteral) aValue;
-
-		if (literal == null)
-			return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Enumeration_UI_")); //$NON-NLS-1$ = "Enumeration"
-
-		return literal.getInstance();
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Float.
-	 */
-	protected Object convertToFloat(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Float.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultFloat();
-			}
-		}
-		if (aValue instanceof Float)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Float_UI_")); //$NON-NLS-1$ = "Float"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Integer.
-	 */
-	protected Object convertToInteger(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Integer.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultInteger();
-			}
-		}
-		if (aValue instanceof Integer)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Integer_UI_")); //$NON-NLS-1$ = "Integer"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Java Object.
-	 */
-	protected Object convertToJavaObject(Object aValue) {
-		return aValue;
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Long.
-	 */
-	protected Object convertToLong(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Long.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultLong();
-			}
-		}
-		if (aValue instanceof Long)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Long_UI_")); //$NON-NLS-1$ = "Long"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a MofObject.
-	 */
-	protected Object convertToMofObject(Object aValue) {
-		if (aValue instanceof EObject)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("MofObject_UI_")); //$NON-NLS-1$ = "MofObject"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Short.
-	 */
-	protected Object convertToShort(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Short.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultShort();
-			}
-		}
-		if (aValue instanceof Short)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.getString("Short_UI_")); //$NON-NLS-1$ = "Short"
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a String.
-	 */
-	protected Object convertToString(Object aValue) {
-		return aValue.toString();
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to the type of
-	 * @anAttribute.
-	 */
-	protected Object convertValue(Object aValue, org.eclipse.emf.ecore.EAttribute anAttribute) {
-
-		EClassifier meta = anAttribute.getEType();
-		if (meta.eClass() == EcorePackage.eINSTANCE.getEEnum())
-			return convertToEnum(aValue, anAttribute);
-		switch (meta.getClassifierID()) {
-			case EcorePackage.ESTRING :
-				return convertToString(aValue);
-			case EcorePackage.EBOOLEAN_OBJECT :
-			case EcorePackage.EBOOLEAN :
-				return convertToBoolean(aValue);
-			case EcorePackage.EINTEGER_OBJECT :
-			case EcorePackage.EINT :
-				return convertToInteger(aValue);
-			case EcorePackage.EFLOAT_OBJECT :
-			case EcorePackage.EFLOAT :
-				return convertToFloat(aValue);
-			case EcorePackage.ECHARACTER_OBJECT :
-			case EcorePackage.ECHAR :
-				return convertToCharacter(aValue);
-			case EcorePackage.ELONG_OBJECT :
-			case EcorePackage.ELONG :
-				return convertToLong(aValue);
-			case EcorePackage.EBYTE_OBJECT :
-			case EcorePackage.EBYTE :
-				return convertToByte(aValue);
-			case EcorePackage.EDOUBLE_OBJECT :
-			case EcorePackage.EDOUBLE :
-				return convertToDouble(aValue);
-			case EcorePackage.ESHORT_OBJECT :
-			case EcorePackage.ESHORT :
-				return convertToShort(aValue);
-			//		case EcorePackage.EENUM:
-			//			return convertToEnum(aValue, anAttribute);
-			case EcorePackage.EOBJECT :
-				return convertToMofObject(aValue);
-			case EcorePackage.EJAVA_OBJECT :
-				return convertToJavaObject(aValue);
-		}
-		return aValue;
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to the type of
-	 * @aFeature.
-	 */
-	public Object convertValue(Object aValue, org.eclipse.emf.ecore.EStructuralFeature aFeature) {
-		if (aValue == null || aFeature == null || !(aFeature instanceof EAttribute))
-			return aValue; //nothing to convert
-		return convertValue(aValue, (EAttribute) aFeature);
-	}
-
-	/**
-	 * Return the default Double value.
-	 */
-	protected Double defaultDouble() {
-		return null;
-	}
-
-	/**
-	 * Return the default Float value.
-	 */
-	protected Float defaultFloat() {
-		return null;
-	}
-
-	/**
-	 * Return the default Integer value.
-	 */
-	protected Integer defaultInteger() {
-		return null;
-	}
-
-	/**
-	 * Return the default Long value.
-	 */
-	protected Long defaultLong() {
-		return null;
-	}
-
-	/**
-	 * Return the default Short value.
-	 */
-	protected Short defaultShort() {
-		return null;
-	}
-
-	/**
-	 * Failed to convert
-	 * 
-	 * @aValue.
-	 */
-	protected Object failedToConvert(Object aValue, String aString) {
-		String errorString = java.text.MessageFormat.format(FAILED_CONVERSION_PATTERN, new String[]{aValue.toString(), aString});
-		throw new FeatureValueConversionException(errorString);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultOverridableResourceFactoryRegistry.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultOverridableResourceFactoryRegistry.java
deleted file mode 100644
index c3777bf..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultOverridableResourceFactoryRegistry.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 14, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.Resource.Factory;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryRegistryImpl;
-
-/**
- * @author DABERG
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class DefaultOverridableResourceFactoryRegistry extends ResourceFactoryRegistryImpl {
-	protected static Resource.Factory GLOBAL_FACTORY = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI(DEFAULT_EXTENSION));
-
-	/**
-	 *  
-	 */
-	public DefaultOverridableResourceFactoryRegistry() {
-		super();
-	}
-
-	public Resource.Factory getFactory(URI uri) {
-		Object resourceFactory = null;
-		if (resourceFactory == null) {
-			String protocol = uri.scheme();
-			resourceFactory = protocolToFactoryMap.get(protocol);
-			if (resourceFactory == null) {
-				String extension = uri.fileExtension();
-				resourceFactory = extensionToFactoryMap.get(extension);
-				if (resourceFactory == null) {
-					resourceFactory = delegatedGetFactory(uri);
-					if (resourceFactory == GLOBAL_FACTORY) {
-						resourceFactory = (Factory) extensionToFactoryMap.get(Resource.Factory.Registry.DEFAULT_EXTENSION);
-						if (resourceFactory == null)
-							resourceFactory = GLOBAL_FACTORY;
-					}
-
-				}
-			}
-		}
-
-		return resourceFactory instanceof Resource.Factory.Descriptor ? ((Resource.Factory.Descriptor) resourceFactory).createFactory() : (Resource.Factory) resourceFactory;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceFactoryRegistryImpl#delegatedGetFactory(org.eclipse.emf.common.util.URI)
-	 */
-	protected Factory delegatedGetFactory(URI uri) {
-		return Resource.Factory.Registry.INSTANCE.getFactory(uri);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DeferredReferenceUtilityAction.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DeferredReferenceUtilityAction.java
deleted file mode 100644
index ec1f668..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DeferredReferenceUtilityAction.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * Insert the type's description here. Creation date: (12/15/2000 5:25:43 PM)
- * 
- * @author: Administrator
- */
-public abstract class DeferredReferenceUtilityAction {
-	protected EReference reference;
-	protected Object referenceValue;
-	protected EObject copyContainer;
-	protected String idSuffix;
-
-	/**
-	 * DeferredCopy constructor comment.
-	 */
-	public DeferredReferenceUtilityAction(EReference aReference, Object aValue, String aSuffix, EObject aCopyContainer) {
-		reference = aReference;
-		referenceValue = aValue;
-		idSuffix = aSuffix;
-		copyContainer = aCopyContainer;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/16/2000 9:32:28 AM)
-	 * 
-	 * @return org.eclipse.emf.ecore.EObject
-	 */
-	public org.eclipse.emf.ecore.EObject getCopyContainer() {
-		return copyContainer;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/15/2000 5:34:56 PM)
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getIdSuffix() {
-		return idSuffix;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/15/2000 5:34:56 PM)
-	 * 
-	 * @return org.eclipse.emf.ecore.EReference
-	 */
-	public org.eclipse.emf.ecore.EReference getReference() {
-		return reference;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/16/2000 9:32:28 AM)
-	 * 
-	 * @return java.lang.Object
-	 */
-	public Object getReferenceValue() {
-		return referenceValue;
-	}
-
-	public abstract void performAction();
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoder.java
deleted file mode 100644
index 69fe06b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoder.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-/**
- * Represents an interface to an object which can encode and decode values. This typically involves
- * cryptography algorithms. This interface, along with the supplied adapters provide an extension
- * mechanism for pluggable crytography that can be used when storing and retrieving attribute
- * values, and is used prevalently for encoding and decoding password values of mof objects.
- */
-public interface EncoderDecoder {
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public String decode(String value);
-
-	/**
-	 * Returns an encoded version of the value.
-	 */
-	public String encode(String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderAdapter.java
deleted file mode 100644
index 788b300..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-/**
- * An adapter for EncoderDecoder implementations
- */
-public abstract class EncoderDecoderAdapter implements EncoderDecoder {
-
-	/**
-	 * EncoderDecoderAdapter constructor comment.
-	 */
-	public EncoderDecoderAdapter() {
-		super();
-	}
-
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public abstract String decode(String value);
-
-	/**
-	 * Returns an encoded version of the value.
-	 */
-	public abstract String encode(String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderRegistry.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderRegistry.java
deleted file mode 100644
index d615112..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderRegistry.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Registry for storing and retrieving value decoders and encoders. Usage Example:
- * 
- * <pre>
- * 
- * 
- * // Use the standard WebSphere password value encoder/decoder.
- * EncoderDecoderRegistry.getDefaultRegistry().setDefaultEncoderDecoder(new com.ibm.ejs.security.util.WASEncoderDecoder());
- * // Begin tracking changes...
- * WriteBackHelper.begin();
- * // Load a resource which may have un-encoded values...
- * // Note: The WCCM will attempt to detect un-encoded values.  If unencoded values
- * // are found, the value will be encoded, and the resource will be added to the
- * // WriteBackHelper.
- * Resource res = resourceSet.load(&quot;myResource&quot;);
- * // Ensure that any changes due to encoding are written back out.
- * WriteBackHelper.end();
- * </pre>
- */
-public class EncoderDecoderRegistry {
-	protected static EncoderDecoderRegistry _defaultInstance;
-	public static final EncoderDecoder INITIAL_DEFAULT_ENCODER = PassthruEncoderDecoder.INSTANCE;
-	protected Map encoders = new HashMap();
-	protected Object defaultEncoderKey;
-
-	/**
-	 * EncoderDecoderRegistry constructor comment.
-	 */
-	public EncoderDecoderRegistry() {
-		super();
-		initializeDefaultEncoders();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2/2/2001 12:43:31 AM)
-	 */
-	public void addEncoderDecoder(EncoderDecoder encoderDecoder) {
-		encoders.put(encoderDecoder.getClass().getName(), encoderDecoder);
-		if (defaultEncoderKey == null)
-			defaultEncoderKey = encoderDecoder.getClass().getName();
-	}
-
-	/**
-	 * Returns an encoder/decoder by key.
-	 */
-	public EncoderDecoder getDefaultEncoderDecoder() {
-		if (defaultEncoderKey == null)
-			return null;
-		return (EncoderDecoder) encoders.get(defaultEncoderKey);
-	}
-
-	/**
-	 * Returns the default registry to use for retrieving value encoders and decoders
-	 */
-	public static EncoderDecoderRegistry getDefaultRegistry() {
-		if (_defaultInstance == null) {
-			_defaultInstance = new EncoderDecoderRegistry();
-		}
-		return _defaultInstance;
-	}
-
-	/**
-	 * Returns an encoder/decoder by key.
-	 */
-	public EncoderDecoder getEncoderDecoder(Object key) {
-		return (EncoderDecoder) encoders.get(key);
-	}
-
-	/**
-	 * Initializes a standard set of encoder/decoders.
-	 */
-	public void initializeDefaultEncoders() {
-		setDefaultEncoderDecoder(INITIAL_DEFAULT_ENCODER);
-		addEncoderDecoder(new XMLValueEncoderDecoder());
-	}
-
-	/**
-	 * Removes the encoder/decoder with the specified key.
-	 */
-	public void removeEncoderDecoder(Object key) {
-		if (encoders.containsKey(key)) {
-			encoders.remove(key);
-		}
-	}
-
-	/**
-	 * Returns an encoder/decoder by key.
-	 */
-	public void setDefaultEncoderDecoder(EncoderDecoder encoder) {
-		defaultEncoderKey = encoder.getClass().getName();
-		if (!encoders.containsKey(defaultEncoderKey)) {
-			addEncoderDecoder(encoder);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopySession.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopySession.java
deleted file mode 100644
index ca678b8..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopySession.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-/**
- * Insert the type's description here. Creation date: (05/04/01 11:25:59 PM)
- * 
- * @author: Administrator
- */
-public class EtoolsCopySession extends EtoolsCopyUtility {
-	public static final int RESOURCE_COPIED = 500;
-	private EtoolsCopyUtility parentCopyUtility;
-	private XMLResource currentResource;
-	private XMLResource currentCopyResource;
-
-	/**
-	 * EtoolsCopySession constructor comment.
-	 */
-	public EtoolsCopySession(EtoolsCopyUtility aCopyUtility) {
-		parentCopyUtility = aCopyUtility;
-		setPreserveIds(aCopyUtility.preserveIds());
-		setCopyAdapters(aCopyUtility.isCopyAdapters());
-	}
-
-	/**
-	 * Copy all Resources and RefObjects within <code>aGroup</code> and add them to
-	 * <code>aGroup</code>. Non composite references will be deferred until all objects are
-	 * copied from <code>aGroup</code>.
-	 * 
-	 * Copy Resources first and then copy RefObjects.
-	 */
-	public void copy(CopyGroup aGroup) {
-		if (aGroup != null) {
-			copyResources(aGroup);
-			copyRefObjects(aGroup);
-			executeDeferredCopyActions();
-			aGroup.postCopy(this);
-			notifyNewResourcesCopied(aGroup);
-		}
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aRefObject</code> in this
-	 * copy execution.
-	 */
-	public EObject copy(EObject aRefObject, String idSuffix) {
-		EObject copied = containmentCopy(aRefObject, idSuffix);
-		executeDeferredCopyActions();
-		return copied;
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aRefObject</code> in this
-	 * copy execution. This method only copies <code>aRefObject</code> attributes.
-	 */
-	public EObject copyObject(EObject aRefObject, String idSuffix) {
-		EObject copied = containmentCopyObject(aRefObject, idSuffix);
-		executeDeferredCopyActions();
-		return copied;
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aResource</code> in this
-	 * copy execution. The copied Resource will have a URI equal to <code>newUri</code>.
-	 */
-	public Resource copy(Resource aResource, String newUri) {
-		Resource copied = containmentCopy(aResource, newUri);
-		executeDeferredCopyActions();
-		copyModificationFlag(aResource, copied);
-		notifyNewResourceCopied(copied);
-		return copied;
-	}
-
-	protected void notifyNewResourcesCopied(CopyGroup group) {
-		List copied = group.getCopiedResources();
-		for (int i = 0; i < copied.size(); i++) {
-			notifyNewResourceCopied((Resource) copied.get(i));
-		}
-	}
-
-	protected void notifyNewResourceCopied(Resource copied) {
-		copied.eNotify(new NotificationImpl(RESOURCE_COPIED, null, null));
-	}
-
-	/**
-	 * @see com.ibm.etools.emf.ecore.utilities.copy.EtoolsCopyUtility#primCopyObject(EObject,
-	 *      String)
-	 */
-	protected EObject primCopyObject(EObject aRefObject, String idSuffix) {
-		EObject copy = super.primCopyObject(aRefObject, idSuffix);
-		copyIdIfNecessary(aRefObject, copy, idSuffix);
-		return copy;
-	}
-
-	protected void copyIdIfNecessary(EObject obj, EObject copy, String idSuffix) {
-		if ((idSuffix == null && !preserveIds) || currentResource == null)
-			return;
-		String id = currentResource.getID(obj);
-		if (id == null)
-			return;
-		id = idSuffix == null ? id : id + idSuffix;
-		currentCopyResource.setID(copy, id);
-	}
-
-
-	/**
-	 * Set delivery back on for all the cached objects and push them to the parentCopyUtility.
-	 */
-	public void flush() {
-		Iterator it = getCopiedObjects().entrySet().iterator();
-		Map parentCopies = getParentCopyUtility().getCopiedObjects();
-		Map.Entry entry;
-		EObject copy;
-		while (it.hasNext()) {
-			entry = (Map.Entry) it.next();
-			copy = (EObject) entry.getValue();
-			copy.eSetDeliver(true);
-			parentCopies.put(entry.getKey(), copy);
-		}
-		copiedObjects = null;
-	}
-
-	/**
-	 * Return a cached copy.
-	 */
-	public EObject getCopy(EObject anObject) {
-		EObject copied = super.getCopy(anObject);
-		if (copied == null)
-			copied = getParentCopyUtility().getCopy(anObject);
-		return copied;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (05/04/01 11:28:07 PM)
-	 * 
-	 * @return com.ibm.etools.emf.ecore.utilities.copy.EtoolsCopyUtility
-	 */
-	protected EtoolsCopyUtility getParentCopyUtility() {
-		return parentCopyUtility;
-	}
-
-	/**
-	 * Return an instance of EObject that is the same type as <code>aRefObject</code>.
-	 */
-	public EObject newInstance(EObject aRefObject) {
-		EObject newType = super.newInstance(aRefObject);
-		newType.eSetDeliver(false);
-		return newType;
-	}
-
-	/**
-	 * @see com.ibm.etools.emf.ecore.utilities.copy.EtoolsCopyUtility#newInstance(Resource, String)
-	 */
-	public Resource newInstance(Resource aResource, String newUri) {
-		Resource copy = super.newInstance(aResource, newUri);
-		if (aResource instanceof XMLResource) {
-			currentResource = (XMLResource) aResource;
-			currentCopyResource = (XMLResource) copy;
-		} else {
-			currentResource = null;
-			currentCopyResource = null;
-		}
-		return copy;
-	}
-
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopyUtility.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopyUtility.java
deleted file mode 100644
index fa24556..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopyUtility.java
+++ /dev/null
@@ -1,669 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.resource.Resource;
-
-
-/**
- * Insert the type's description here. Creation date: (12/13/2000 9:10:55 PM)
- * 
- * @author: Administrator
- */
-public class EtoolsCopyUtility {
-	protected static final String REFENUMLITERAL_TYPE_NAME = "EEnumLiteral"; //$NON-NLS-1$
-	private final EcorePackage pkg = EcorePackage.eINSTANCE;
-
-	private final ETypedElement METAENAME = pkg.getENamedElement_Name();
-
-	protected HashMap copiedObjects;
-	protected List deferredReferenceCopies;
-	protected boolean preserveIds = false;
-	protected boolean copyAdapters = false;
-	protected HashMap copiedAdapters;
-
-	protected class DeferredSingleReferenceCopyAction extends DeferredReferenceUtilityAction {
-		public DeferredSingleReferenceCopyAction(EReference aReference, Object aValue, String aSuffix, EObject aCopyContainer) {
-			super(aReference, aValue, aSuffix, aCopyContainer);
-		}
-
-		public void performAction() {
-			EObject value = (EObject) getReferenceValue();
-			getCopyContainer().eSet(getReference(), getCopyIfFound(value));
-		}
-	}
-
-	protected class DeferredManyReferenceCopyAction extends DeferredReferenceUtilityAction {
-		public DeferredManyReferenceCopyAction(EReference aReference, List aValue, String aSuffix, EObject aCopyContainer) {
-			super(aReference, aValue, aSuffix, aCopyContainer);
-		}
-
-		public void performAction() {
-			List copyList = (List) getCopyContainer().eGet(getReference());
-			Iterator it = ((List) getReferenceValue()).iterator();
-			EObject next;
-			while (it.hasNext()) {
-				next = (EObject) it.next();
-				copyList.add(getCopyIfFound(next));
-			}
-		}
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/13/2000 9:14:26 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public EtoolsCopyUtility() {
-	}
-
-	/**
-	 * Create a <code>DeferredManyReferenceCopyAction</code> and add it to the list of deferred
-	 * copy actions.
-	 */
-	protected void addDeferredManyReferenceCopy(EReference reference, List aValue, String idSuffix, EObject aCopyContainer) {
-		getDeferredReferenceCopies().add(new DeferredManyReferenceCopyAction(reference, aValue, idSuffix, aCopyContainer));
-	}
-
-	/**
-	 * Create a <code>DeferredSingleReferenceCopyAction</code> and add it to the list of deferred
-	 * copy actions.
-	 */
-	protected void addDeferredSingleReferenceCopy(EReference reference, EObject aValue, String idSuffix, EObject aCopyContainer) {
-		getDeferredReferenceCopies().add(new DeferredSingleReferenceCopyAction(reference, aValue, idSuffix, aCopyContainer));
-	}
-
-	/**
-	 * Check for an already copied object first.
-	 */
-	protected EObject containmentCopy(EObject anObject, String idSuffix) {
-		EObject copied = getCopy(anObject);
-		if (copied == null)
-			copied = primCopy(anObject, idSuffix);
-		return copied;
-	}
-
-	/**
-	 * Check for an already copied object first.
-	 */
-	protected EObject containmentCopyObject(EObject anObject, String idSuffix) {
-		EObject copied = getCopy(anObject);
-		if (copied == null)
-			copied = primCopyObject(anObject, idSuffix);
-		return copied;
-	}
-
-	protected Resource containmentCopy(Resource aResource, String newUri) {
-		/* copied resources are never cached */
-		return primCopy(aResource, newUri);
-	}
-
-	/**
-	 * Copy all Resources and RefObjects within <code>aGroup</code> and add them to
-	 * <code>aGroup</code>. Non composite references will be deferred until all objects are
-	 * copied from <code>aGroup</code>.
-	 * 
-	 * Copy Resources first and then copy RefObjects.
-	 */
-	public void copy(CopyGroup aGroup) {
-		if (aGroup != null) {
-			EtoolsCopySession session = new EtoolsCopySession(this);
-			session.setPreserveIds(aGroup.getPreserveIds());
-			session.copy(aGroup);
-			session.flush();
-		}
-	}
-
-	public EObject copy(EObject aRefObject) {
-		return copy(aRefObject, null);
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aRefObject</code> in this
-	 * copy execution.
-	 */
-	public EObject copy(EObject aRefObject, String idSuffix) {
-		EtoolsCopySession session = new EtoolsCopySession(this);
-		EObject copied = session.copy(aRefObject, idSuffix);
-		session.flush();
-		return copied;
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aRefObject</code> in this
-	 * copy execution. This method only copies <code>aRefObject</code> with its properties, not
-	 * references.
-	 */
-	public EObject copyObject(EObject aRefObject, String idSuffix) {
-		EtoolsCopySession session = new EtoolsCopySession(this);
-		EObject copied = session.copyObject(aRefObject, idSuffix);
-		session.flush();
-		return copied;
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aResource</code> in this
-	 * copy execution. The copied Resource will have a URI equal to <code>newUri</code>.
-	 */
-	public Resource copy(Resource aResource, String newUri) {
-		EtoolsCopySession session = new EtoolsCopySession(this);
-		Resource copied = session.copy(aResource, newUri);
-		session.flush();
-		return copied;
-	}
-
-	/**
-	 * If an attribute is set and its value is not <code>null</code>, then perform copy
-	 * <code>attribute</code> value from <code>aRefObject</code> to <code>copyRef</code>.
-	 * Null is a valid value if the attribute is set.
-	 */
-
-	protected void copyAttribute(EAttribute attribute, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (!attribute.isChangeable())
-			return; //ignore
-		if (attribute.isMany()) {
-			List value = (List) aRefObject.eGet(attribute);
-			if (value != null)
-				copyManyAttribute(attribute, value, aRefObject, idSuffix, copyRef);
-		} else if (aRefObject.eIsSet(attribute)) {
-			Object value = aRefObject.eGet(attribute);
-			if (value == null)
-				copyRef.eSet(attribute, value);
-			else
-				copySingleAttribute(attribute, value, aRefObject, idSuffix, copyRef);
-		} else if (attribute == METAENAME) {
-			//set name to the ID (this is computed as a default), only get here if isSetName is
-			// false.
-			copyRef.eSet(attribute, aRefObject.eGet(attribute));
-		}
-	}
-
-	/**
-	 * Iterate over the attributes of the receiver and copy each attribute.
-	 */
-	protected void copyCurrentAttributes(EObject aRefObject, String idSuffix, EObject copyRef) {
-		List attributes = aRefObject.eClass().getEAllAttributes();
-		if (attributes != null) {
-			Iterator it = attributes.iterator();
-			EAttribute ra;
-			while (it.hasNext()) {
-				ra = (EAttribute) it.next();
-				copyAttribute(ra, aRefObject, idSuffix, copyRef);
-			}
-		}
-	}
-
-	/**
-	 * This method will iterate over the references of the receiver. If a reference's value is not
-	 * <code>null</code>, then a series of tests are done before setting the value with the
-	 * copied object, <code>copyRef</code>.
-	 * 
-	 * Tests: 1. Do nothing if the reference equals the metaEContainer or metaEContains references.
-	 */
-
-	protected void copyCurrentReferences(EObject aRefObject, String idSuffix, EObject copyRef) {
-		List references = aRefObject.eClass().getEAllReferences();
-		if (references != null) {
-			Iterator it = references.iterator();
-			EReference rr;
-			while (it.hasNext()) {
-				rr = (EReference) it.next();
-				if (shouldCopyReference(rr))
-					copyReference(rr, aRefObject, idSuffix, copyRef);
-			}
-		}
-	}
-
-	/**
-	 * Iterate over <code>anExtent</code> and copy each element to <code>copyExtent</code>.
-	 */
-	protected void copyExtent(EList anExtent, EList copyExtent) {
-		Iterator it = anExtent.iterator();
-		EObject refObject;
-		while (it.hasNext()) {
-			refObject = (EObject) it.next();
-			copyExtent.add(containmentCopy(refObject, null));
-		}
-	}
-
-	/**
-	 * Copy a many value attribute which is treated as a many valued reference.
-	 * 
-	 * Tests:
-	 * 
-	 * 1. If the type is <bold>not </bold> <code>null</code>, then set the value on
-	 * <code>copyRef</code> without making a copy. 2. If the type is <code>null</code>, then
-	 * obtain the list from <code>copyRef</code> and add a copy of each value from the original
-	 * list to it.
-	 */
-
-	protected void copyManyAttribute(EAttribute attribute, List aValue, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (attribute.getEType() == null)
-			copyRef.eSet(attribute, aValue);
-		else {
-			List copyList = (List) copyRef.eGet(attribute);
-			Iterator it = aValue.iterator();
-			Object next;
-			while (it.hasNext()) {
-				next = it.next();
-				if (next instanceof EObject)
-					copyList.add(containmentCopy((EObject) next, idSuffix));
-				else
-					copyList.add(next);
-			}
-		}
-	}
-
-	/**
-	 * This method will iterate over the references of the receiver. If a reference's value is not
-	 * <code>null</code>, then a series of tests are done before setting the value with the
-	 * copied object, <code>copyRef</code>.
-	 * 
-	 * Tests: 1. If the reference is many, obtain the list from the receiving object and make a copy
-	 * of each value if the reference is composite before adding to the list; otherwise, just add
-	 * each value to the of the <code>copyRef</code>.
-	 */
-
-	protected void copyManyReference(EReference aReference, List aList, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (!aList.isEmpty()) {
-			if (aReference.isContainment()) {
-				List copyList = (List) copyRef.eGet(aReference);
-				Iterator it = aList.iterator();
-				EObject targetValue;
-				while (it.hasNext()) {
-					targetValue = (EObject) it.next();
-					copyList.add(containmentCopy(targetValue, idSuffix));
-				}
-			} else
-				addDeferredManyReferenceCopy(aReference, aList, idSuffix, copyRef);
-		}
-	}
-
-	/**
-	 * This method will iterate over the references of the receiver. If a reference's value is not
-	 * <code>null</code>, then perform the copy.
-	 */
-
-	protected void copyReference(EReference aReference, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (aReference.isMany()) {
-			List value = (List) aRefObject.eGet(aReference);
-			if (value != null)
-				copyManyReference(aReference, value, aRefObject, idSuffix, copyRef);
-		} else if (aRefObject.eIsSet(aReference)) {
-			Object value = aRefObject.eGet(aReference);
-			copySingleReference(aReference, (EObject) value, aRefObject, idSuffix, copyRef);
-		}
-	}
-
-	/**
-	 * Copy all RefObjects from <code>aGroup</code> and add the copy back to <code>aGroup</code>.
-	 */
-	protected void copyRefObjects(CopyGroup aGroup) {
-		Association association;
-		EObject refObject;
-		String idSuffix;
-		if (aGroup.primGetRefObjects() != null) {
-			Iterator it = aGroup.primGetRefObjects().iterator();
-			while (it.hasNext()) {
-				association = (Association) it.next();
-				refObject = (EObject) association.getKey();
-				idSuffix = (String) association.getValue();
-				if (idSuffix == null)
-					idSuffix = aGroup.getDefaultIdSuffix();
-				aGroup.addCopied(containmentCopy(refObject, idSuffix));
-			}
-		}
-	}
-
-	/**
-	 * Copy all Resources from <code>aGroup</code> and add the copy back to <code>aGroup</code>.
-	 */
-	protected void copyResources(CopyGroup aGroup) {
-		Association association;
-		Resource resource;
-		String uri;
-		if (aGroup.primGetResources() != null) {
-			Iterator it = aGroup.primGetResources().iterator();
-			while (it.hasNext()) {
-				association = (Association) it.next();
-				resource = (Resource) association.getKey();
-				uri = (String) association.getValue();
-				Resource copied = containmentCopy(resource, uri);
-				copyModificationFlag(resource, copied);
-				aGroup.addCopied(copied);
-			}
-		}
-	}
-
-	/**
-	 * Copy a single value attribute.
-	 * 
-	 * Tests:
-	 * 
-	 * 1. If an attribute type is not <code>null</code> then it is an object type and it must be
-	 * copied. Do not copy the value if the attribute is an Enumeration type. 2. If an attribute
-	 * type is <bold>not </bold> <code>null</code> then copy the value before setting it on
-	 * <code>copyRef</code>.
-	 */
-
-	protected void copySingleAttribute(EAttribute attribute, Object aValue, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (attribute.getEType() == null) {
-			copyRef.eSet(attribute, aValue);
-		} else {
-			//MOF108
-			// if (attribute.isObjectType())
-			if (attribute.getEType() instanceof EClass)
-				copyRef.eSet(attribute, containmentCopy((EObject) aValue, idSuffix));
-			else
-				copyRef.eSet(attribute, aValue);
-		}
-	}
-
-	/**
-	 * This method will iterate over the references of the receiver. If a reference's value is not
-	 * <code>null</code>, then a series of tests are done before setting the value with the
-	 * copied object, <code>copyRef</code>.
-	 * 
-	 * Tests: 1. If the reference is <bold>not </bold> many, make a copy of the value if the
-	 * reference is composite before setting the value with <code>copyRef</code>; otherwise, just
-	 * set the value as is.
-	 */
-
-	protected void copySingleReference(EReference aReference, EObject aValue, EObject aRefObject, String idSuffix, EObject copyRef) {
-		//Exceptional case; the relationship is not the container relationship
-		//And is not navigable in the other direction; go ahead and copy
-		if (aValue != aRefObject.eContainer() || aReference.getEOpposite() == null) {
-			if (aReference.isContainment())
-				copyRef.eSet(aReference, containmentCopy(aValue, idSuffix));
-			else
-				addDeferredSingleReferenceCopy(aReference, aValue, idSuffix, copyRef);
-		}
-	}
-
-	/**
-	 * Copy all Resources and RefObjects within <code>aGroup</code> and add them to
-	 * <code>aGroup</code>. Non composite references will be deferred until all objects are
-	 * copied from <code>aGroup</code>.
-	 * 
-	 * Copy Resources first and then copy RefObjects.
-	 */
-	public static void createCopy(CopyGroup aGroup) {
-		EtoolsCopyUtility utility = new EtoolsCopyUtility();
-		utility.copy(aGroup);
-	}
-
-	/**
-	 * Copies attributes
-	 */
-	public static void createAttributeCopy(EObject aRefObject, EObject copyObject) {
-		EtoolsCopyUtility utility = new EtoolsCopyUtility();
-		utility.copyCurrentAttributes(aRefObject, null, copyObject);
-	}
-
-	/**
-	 * Copies all set attributes and references based on containment. Thus, it will copy the entire
-	 * containment tree. Use the idSuffix to define the suffix that will be appended to the existing
-	 * IDs of copied objects.
-	 */
-	public static EObject createCopy(EObject aRefObject) {
-		return createCopy(aRefObject, null);
-	}
-
-	/**
-	 * Copies all set attributes and references based on containment. Thus, it will copy the entire
-	 * containment tree. Use the idSuffix to define the suffix that will be appended to the existing
-	 * IDs of copied objects.
-	 */
-	public static EObject createCopy(EObject aRefObject, String idSuffix) {
-		EtoolsCopyUtility utility = new EtoolsCopyUtility();
-		return utility.copy(aRefObject, idSuffix);
-	}
-
-	/**
-	 * Copy <code>aResource</code> using <code>newUri</code> for the URI.
-	 */
-	public static Resource createCopy(Resource aResource, String newUri) {
-		EtoolsCopyUtility utility = new EtoolsCopyUtility();
-		return utility.copy(aResource, newUri);
-	}
-
-	protected void executeDeferredCopyActions() {
-		if (primGetDeferredReferenceCopies() != null) {
-			Iterator it = primGetDeferredReferenceCopies().iterator();
-			DeferredReferenceUtilityAction action;
-			while (it.hasNext()) {
-				action = (DeferredReferenceUtilityAction) it.next();
-				action.performAction();
-			}
-			primGetDeferredReferenceCopies().clear();
-		}
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/13/2000 9:17:35 PM)
-	 * 
-	 * @return java.util.HashMap
-	 */
-	protected java.util.HashMap getCopiedObjects() {
-		if (copiedObjects == null)
-			copiedObjects = new HashMap(200);
-		return copiedObjects;
-	}
-
-	protected java.util.HashMap getCopiedAdapters() {
-		if (copiedAdapters == null)
-			copiedAdapters = new HashMap(200);
-		return copiedAdapters;
-	}
-
-	/**
-	 * Return a cached copy.
-	 */
-	public EObject getCopy(EObject anObject) {
-		if (anObject == null)
-			return null;
-		return (EObject) getCopiedObjects().get(anObject);
-	}
-
-	/**
-	 * Return a cached copy, if none, return the argument.
-	 */
-	public EObject getCopyIfFound(EObject anObject) {
-		EObject copied = getCopy(anObject);
-		return copied == null ? anObject : copied;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/16/2000 9:11:32 AM)
-	 * 
-	 * @return java.util.List
-	 */
-	protected java.util.List getDeferredReferenceCopies() {
-		if (deferredReferenceCopies == null)
-			deferredReferenceCopies = new ArrayList(100);
-		return deferredReferenceCopies;
-	}
-
-	/**
-	 * Return an instance of EObject that is the same type as <code>aRefObject</code>.
-	 */
-	public EObject newInstance(EObject aRefObject) {
-		if (aRefObject == null)
-			return null;
-		EPackage epkg = (EPackage) aRefObject.eClass().eContainer();
-		EFactory factory = epkg.getEFactoryInstance();
-		EClass refObj = aRefObject.eClass();
-		return factory.create(refObj);
-	}
-
-	/**
-	 * Return an instance of Resource that uses the same ResourceFactory as the one used by
-	 * <code>aResource</code>. If <code>newUri</code> is <code>null</code> then use the URI
-	 * from <code>aResource</code>.
-	 */
-	public Resource newInstance(Resource aResource, String newUri) {
-		if (aResource == null)
-			return null;
-		Resource newResource;
-		String originalUri = aResource.getURI().toString();
-		newUri = newUri == null ? originalUri : newUri;
-
-		Resource.Factory factory = null;
-		if (aResource.getResourceSet() == null)
-			factory = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI(originalUri));
-		else
-			factory = aResource.getResourceSet().getResourceFactoryRegistry().getFactory(URI.createURI(originalUri));
-
-
-		newResource = factory.createResource(URI.createURI(newUri));
-		return newResource;
-	}
-
-	/**
-	 * Should the id be copied in the case where no suffix is specified? Defaults to false
-	 */
-	public boolean preserveIds() {
-		return preserveIds;
-	}
-
-	/**
-	 * Copies all set attributes and references based on containment. Thus, it will copy the entire
-	 * containment tree. Use the idSuffix to define the suffix that will be appended to the existing
-	 * IDs of copied objects. If an idSuffix does not exist, do not set an id on the copied object.
-	 */
-	protected EObject primCopy(EObject aRefObject, String idSuffix) {
-		if (aRefObject == null)
-			return null;
-		EObject copyRef = primCopyObject(aRefObject, idSuffix);
-
-		copyCurrentReferences(aRefObject, idSuffix, copyRef);
-		return copyRef;
-	}
-
-	/**
-	 * Copies all set attributes based on containment. Thus, it will copy the entire containment
-	 * tree. Use the idSuffix to define the suffix that will be appended to the existing IDs of
-	 * copied objects. If an idSuffix does not exist, do not set an id on the copied object.
-	 */
-	protected EObject primCopyObject(EObject aRefObject, String idSuffix) {
-		if (aRefObject == null)
-			return null;
-		EObject copyRef = newInstance(aRefObject);
-
-		recordCopy(aRefObject, copyRef);
-		copyCurrentAttributes(aRefObject, idSuffix, copyRef);
-		if (isCopyAdapters())
-			copyAdapters(aRefObject, copyRef);
-		return copyRef;
-	}
-
-	protected void copyAdapters(EObject aRefObject, EObject copyRef) {
-		List adapters = aRefObject.eAdapters();
-		for (int i = 0; i < adapters.size(); i++) {
-			Adapter adapter = (Adapter) adapters.get(i);
-			copyAdapter(aRefObject, copyRef, adapter);
-
-		}
-	}
-
-	protected void copyAdapter(EObject aRefObject, EObject copyRef, Adapter adapter) {
-		if (!(adapter instanceof CloneablePublic))
-			return;
-		CloneablePublic copyAdapter = (CloneablePublic) getCopiedAdapters().get(adapter);
-		if (copyAdapter == null) {
-			copyAdapter = (CloneablePublic) ((CloneablePublic) adapter).clone();
-			getCopiedAdapters().put(adapter, copyAdapter);
-		}
-		if (copyAdapter != null)
-			copyRef.eAdapters().add(copyAdapter);
-	}
-
-	/**
-	 * Copies all set attributes and references based on containment. Thus, it will copy the entire
-	 * containment tree. Use the idSuffix to define the suffix that will be appended to the existing
-	 * IDs of copied objects.
-	 */
-	protected Resource primCopy(Resource aResource, String newUri) {
-		if (aResource == null)
-			return null;
-		Resource copyResource = newInstance(aResource, newUri);
-		copyExtent(aResource.getContents(), copyResource.getContents());
-		return copyResource;
-	}
-
-	protected void copyModificationFlag(Resource aResource, Resource copied) {
-		if (aResource.isModified())
-			copied.setModified(true);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/16/2000 9:11:32 AM)
-	 * 
-	 * @return java.util.List
-	 */
-	private java.util.List primGetDeferredReferenceCopies() {
-		return deferredReferenceCopies;
-	}
-
-	public void recordCopy(EObject aSource, EObject aCopy) {
-		getCopiedObjects().put(aSource, aCopy);
-	}
-
-	public void recordCopy(Adapter aSource, Adapter aCopy) {
-		getCopiedAdapters().put(aSource, aCopy);
-	}
-
-	/**
-	 * Should the id be copied in the case where no suffix is specified?
-	 */
-	public void setPreserveIds(boolean value) {
-		preserveIds = value;
-	}
-
-	protected boolean shouldCopyReference(EReference aReference) {
-		return aReference.isChangeable();
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isCopyAdapters() {
-		return copyAdapters;
-	}
-
-	/**
-	 * Flag used to indicate whether adapters should be copied as well. In order for an adapter to
-	 * be copied, it must implement the {@link CloneablePublic}interface.
-	 */
-	public void setCopyAdapters(boolean b) {
-		copyAdapters = b;
-	}
-
-}
-
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExceptionHelper.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExceptionHelper.java
deleted file mode 100644
index b5fc133..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExceptionHelper.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.IWFTWrappedException;
-
-
-
-/**
- * Utility class to factor common code for implementers of IArchiveWrappedException
- */
-public class ExceptionHelper {
-
-	/**
-	 * Utility class; cannot be instantiated
-	 */
-	private ExceptionHelper() {
-		super();
-	}
-
-	/**
-	 * Return the messages from
-	 * 
-	 * @exception and
-	 *                all nested exceptions, in order from outermost to innermost
-	 */
-	public static java.lang.String[] getAllMessages(IWFTWrappedException exception) {
-		List messages = new ArrayList(4);
-		messages.add(exception.getMessage());
-		Exception nested = exception.getNestedException();
-		while (nested != null) {
-			messages.add(nested.getMessage());
-			if (nested instanceof IWFTWrappedException)
-				nested = ((IWFTWrappedException) nested).getNestedException();
-			else
-				nested = null;
-		}
-		return (String[]) messages.toArray(new String[messages.size()]);
-	}
-
-	/**
-	 * Return the messages from
-	 * 
-	 * @exception and
-	 *                all nested exceptions, in order from outermost to innermost, concatenated as
-	 *                one
-	 */
-	public static String getConcatenatedMessages(IWFTWrappedException exception) {
-		String[] messages = getAllMessages(exception);
-		StringBuffer sb = new StringBuffer(256);
-		for (int i = 0; i < messages.length; i++) {
-			sb.append(messages[i]);
-			if (i < messages.length - 1)
-				sb.append('\n');
-		}
-		return sb.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java
deleted file mode 100644
index c5026cb..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.io.FileNotFoundException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-
-
-public class ExtendedEcoreUtil extends EcoreUtil {
-	private static FileNotFoundDetector FILE_NOT_FOUND_DETECTOR;
-	private static String NAME_ATTRIBUTE_STRING = "name"; //$NON-NLS-1$
-
-
-	public interface FileNotFoundDetector {
-		boolean isFileNotFound(WrappedException wrappedEx);
-	}
-
-	public static void setFileNotFoundDetector(FileNotFoundDetector detector) {
-		FILE_NOT_FOUND_DETECTOR = detector;
-	}
-
-	public static FileNotFoundDetector getFileNotFoundDetector() {
-		if (FILE_NOT_FOUND_DETECTOR == null) {
-			FILE_NOT_FOUND_DETECTOR = new FileNotFoundDetector() {
-				public boolean isFileNotFound(WrappedException wrappedEx) {
-					if (getInnerFileNotFoundException(wrappedEx) != null)
-						return true;
-					return false;
-				}
-			};
-		}
-		return FILE_NOT_FOUND_DETECTOR;
-	}
-
-	public static FileNotFoundException getInnerFileNotFoundException(WrappedException wrappedEx) {
-		if (wrappedEx.exception() instanceof java.io.FileNotFoundException) {
-			return (FileNotFoundException) wrappedEx.exception();
-		} else if (wrappedEx.exception() instanceof WrappedException) {
-			return getInnerFileNotFoundException((WrappedException) wrappedEx.exception());
-		}
-		return null;
-	}
-
-	public static void eSetOrAdd(EObject obj, EStructuralFeature feature, Object value) {
-		eSetOrAdd(obj, feature, value, 0);
-	}
-
-	public static void eSetOrAdd(EObject obj, EStructuralFeature feature, Object value, int newIndex) {
-		if (feature.isMany() && value != null) {
-			if (newIndex >= 0)
-				((List) obj.eGet(feature)).add(newIndex, value);
-			else
-				((List) obj.eGet(feature)).add(value);
-		} else {
-			obj.eSet(feature, value);
-		}
-	}
-
-	public static void eUnsetOrRemove(EObject obj, EStructuralFeature feature, Object value) {
-		if (feature == null || feature.isMany())
-			((List) obj.eGet(feature)).remove(value);
-		else
-			obj.eUnset(feature);
-	}
-
-	public static boolean endsWith(URI sourceUri, URI testUri) {
-		//TODO Waiting on new emf URI API
-		String[] sourceSegments = sourceUri.segments();
-		String[] testSegments = testUri.segments();
-		int i = testSegments.length;
-		int j = sourceSegments.length;
-		if (j >= i) {
-			boolean test = true;
-
-			while (test && i > 0) {
-				i--;
-				j--;
-				test = testSegments[i].equals(sourceSegments[j]);
-			}
-			return test;
-		}
-		return false;
-	}
-
-	public static String getName(EObject obj) {
-		if (obj == null)
-			return null;
-		if (obj instanceof ENamedElement)
-			return ((ENamedElement) obj).getName();
-		List allAtts = obj.eClass().getEAllAttributes();
-		int size = allAtts.size();
-		EAttribute att, nameAttribute = null;
-		for (int i = 0; i < size; i++) {
-			att = (EAttribute) allAtts.get(i);
-			if (NAME_ATTRIBUTE_STRING.equals(att.getName())) {
-				nameAttribute = att;
-				break;
-			}
-		}
-		if (nameAttribute != null)
-			return (String) obj.eGet(nameAttribute);
-		return null;
-	}
-
-	public static void addLoadingTag(Resource resource) {
-		resource.eAdapters().add(IsLoadingDetector.INSTANCE);
-	}
-
-	public static void removeLoadingTag(Resource resource) {
-		resource.eAdapters().remove(IsLoadingDetector.INSTANCE);
-	}
-
-	/**
-	 * Return true if the resource is currently being loaded. This is determined by checking for the
-	 * IsLoadingDector in the list of eAdapters on the resource.
-	 * 
-	 * @param resource
-	 * @return boolean
-	 * 
-	 * @see addLoadingTag(Resource)
-	 * @see removeLoadingTag(Resource)
-	 *  
-	 */
-	public static boolean isLoading(Resource resource) {
-		if (resource != null) {
-			return resource.eAdapters().contains(IsLoadingDetector.INSTANCE);
-		}
-		return false;
-	}
-
-	public static Adapter createAdapterForLoading(Adapter targetAdapter, EObject targetObject) {
-		Resource res = targetObject.eResource();
-		if (res == null || isLoading(res))
-			return new IsLoadingProxyAdapter(targetAdapter, targetObject);
-		return targetAdapter;
-	}
-
-	public static void preRegisterPackage(String nsPrefix, EPackage.Descriptor descriptor) {
-		if (!EPackage.Registry.INSTANCE.containsKey(nsPrefix))
-			EPackage.Registry.INSTANCE.put(nsPrefix, descriptor);
-	}
-
-	/**
-	 * Remove this object from it's container, and make it and all it's children proxies
-	 */
-	public static void unload(EObject root) {
-		Resource res = root.eResource();
-		EObject container = root.eContainer();
-		if (container == null)
-			if (res != null)
-				res.getContents().remove(root);
-			else {
-				EStructuralFeature feature = root.eContainmentFeature();
-				if (feature != null)
-					eUnsetOrRemove(container, feature, root);
-			}
-		if (root != null && res != null)
-			becomeProxy(root, res);
-	}
-
-	/**
-	 * Turns this object and all it's children to proxies, and removes adapters precondition: The
-	 * object has been removed from it's container
-	 */
-	public static void becomeProxy(EObject root, Resource res) {
-		Iterator iter = root.eAllContents();
-		while (iter.hasNext()) {
-			doBecomeProxy((InternalEObject) iter.next(), res);
-		}
-		doBecomeProxy((InternalEObject) root, res);
-	}
-
-	protected static void doBecomeProxy(InternalEObject p, Resource res) {
-		String id = res.getURIFragment(p);
-		p.eSetProxyURI(res.getURI().appendFragment(id));
-		if (res instanceof XMLResource) {
-			((XMLResource) res).getIDToEObjectMap().remove(id);
-			((XMLResource) res).getEObjectToIDMap().remove(p);
-		}
-		p.eAdapters().clear();
-	}
-
-	public static void removeProxy(EObject root, Resource res) {
-		Iterator iter = root.eAllContents();
-		while (iter.hasNext()) {
-			doRemoveProxy((InternalEObject) iter.next(), res);
-		}
-		doRemoveProxy((InternalEObject) root, res);
-	}
-
-	protected static void doRemoveProxy(InternalEObject p, Resource res) {
-		String id = p.eProxyURI().fragment();
-		if (res instanceof XMLResource) {
-			((XMLResource) res).setID(p, id);
-		}
-		p.eSetProxyURI(null);
-	}
-
-
-	/**
-	 * Ensures the passed object is not a proxy; if it is, throws an exception indicating the bad
-	 * HREF. If the object is null, does nothing.
-	 * 
-	 * @param object
-	 * @throws DanglingHREFException
-	 */
-	public static void checkProxy(EObject object) throws DanglingHREFException {
-		if (object == null || !object.eIsProxy())
-			return;
-		String msg = WFTUtilsResourceHandler.getString("DANGLING_HREF_ERROR_", new Object[]{((InternalEObject) object).eProxyURI()}); //$NON-NLS-1$
-		throw new DanglingHREFException(msg);
-	}
-
-	/**
-	 * Return true if o1 and o2 are not the same values. This implementation takes into account that
-	 * either parameter can be null.
-	 * 
-	 * @param o1
-	 * @param o2
-	 * @return
-	 */
-	public static boolean valueChanged(Object o1, Object o2) {
-		return (o1 == null ^ o2 == null) || (o1 == null || !o1.equals(o2));
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConversionException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConversionException.java
deleted file mode 100644
index 0525a1f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConversionException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-public class FeatureValueConversionException extends RuntimeException {
-
-	/**
-	 * Constructor for FeatureValueConversionException.
-	 */
-	public FeatureValueConversionException() {
-		super();
-	}
-
-	/**
-	 * Constructor for FeatureValueConversionException.
-	 * 
-	 * @param s
-	 */
-	public FeatureValueConversionException(String s) {
-		super(s);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConverter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConverter.java
deleted file mode 100644
index 786a687..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConverter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * Insert the type's description here. Creation date: (5/10/2001 2:46:54 PM)
- * 
- * @author: Administrator
- */
-public interface FeatureValueConverter {
-	static final FeatureValueConverter DEFAULT = new DefaultFeatureValueConverter();
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to the type of
-	 * @aFeature.
-	 */
-	Object convertValue(Object aValue, EStructuralFeature aFeature);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommand.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommand.java
deleted file mode 100644
index d040995..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommand.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author John Mourra
- */
-public interface ICommand {
-
-	/*
-	 * This will contain the multi-selection of objects to deploy. This selection could be used to
-	 * filter elements within a Module. Any other setup code should be done here...
-	 */
-	void init(Object[] selection);
-
-	/**
-	 * @param resource
-	 * @param delta
-	 * @param context
-	 * @return
-	 * @throws CoreException
-	 */
-	public boolean execute(IResource resource, IResourceDelta delta, ICommandContext context) throws CoreException;
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommandContext.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommandContext.java
deleted file mode 100644
index bee3f61..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommandContext.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-/**
- * @author John Mourra
- */
-public interface ICommandContext {
-
-	/**
-	 * @return
-	 */
-	public IProgressMonitor getProgressMonitor();
-
-	/**
-	 * @return
-	 */
-	public Map getConfigurationProperties();
-
-	/**
-	 * @return
-	 */
-	public ResourceSet getResourceSet();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IDUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IDUtil.java
deleted file mode 100644
index 5fc1761..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IDUtil.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-public class IDUtil {
-
-	/**
-	 * This method is invoked to assign a unique ID to the object. The object must be contained in a
-	 * resource.
-	 */
-	public static void assignID(EObject object) {
-		Resource aResource = object.eResource();
-		if (aResource instanceof XMLResource)
-			assignID(object, (XMLResource) aResource);
-
-	}
-
-	public static String getOrAssignID(EObject object) {
-		Resource aResource = object.eResource();
-		if (aResource instanceof XMLResource)
-			return getOrAssignID(object, (XMLResource) aResource);
-		return null;
-	}
-
-	public static String getOrAssignID(EObject object, XMLResource aResource) {
-		String id = aResource.getID(object);
-		if (id == null)
-			return assignID(object, aResource);
-		return id;
-	}
-
-	public static String assignID(EObject object, XMLResource aResource) {
-		String name = getBaseIDForAssignment(object);
-		if (name == null)
-			return null;
-		String id = ensureUniqueID(aResource, name);
-		aResource.setID(object, id);
-		return id;
-	}
-
-	protected static String ensureUniqueID(XMLResource aResource, String baseIDName) {
-		baseIDName += "_"; //$NON-NLS-1$
-		//Change to use the current time instead of incremental numbers to help
-		//support team development.
-		long currentTime = System.currentTimeMillis();
-		String id = baseIDName + currentTime;
-		Map idMap = aResource.getIDToEObjectMap();
-		while (idMap.get(id) != null) {
-			++currentTime;
-			id = baseIDName + currentTime;
-		}
-		return id;
-	}
-
-	protected static String getBaseIDForAssignment(EObject object) {
-		EClass metaO = object.eClass();
-		return metaO.getName();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordCipherException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordCipherException.java
deleted file mode 100644
index 5ff513b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordCipherException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import org.omg.CORBA.UserException;
-
-public class InvalidPasswordCipherException extends UserException {
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordDecodingException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordDecodingException.java
deleted file mode 100644
index 2e16808..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordDecodingException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import org.omg.CORBA.UserException;
-
-public class InvalidPasswordDecodingException extends UserException {
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordEncodingException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordEncodingException.java
deleted file mode 100644
index dd882d7..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordEncodingException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import org.omg.CORBA.UserException;
-
-public class InvalidPasswordEncodingException extends UserException {
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingDetector.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingDetector.java
deleted file mode 100644
index d7d114c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingDetector.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-/*
- * Created on Apr 1, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code
- * and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-
-
-public class IsLoadingDetector implements Adapter {
-	public static final IsLoadingDetector INSTANCE = new IsLoadingDetector();
-
-	private IsLoadingDetector() {
-	}
-
-	public void notifyChanged(Notification notification) {
-	}
-
-	public Notifier getTarget() {
-		return null;
-	}
-
-	public void setTarget(Notifier newTarget) {
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return type == this;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingProxyAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingProxyAdapter.java
deleted file mode 100644
index d90669b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingProxyAdapter.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 1, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class IsLoadingProxyAdapter extends AdapterImpl {
-	private Resource resource;
-	private Adapter targetAdapter;
-	private EObject targetObject;
-
-	public IsLoadingProxyAdapter(Adapter aTargetAdapter, EObject aTargetObject) {
-		targetAdapter = aTargetAdapter;
-		targetObject = aTargetObject;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
-	 */
-	public void notifyChanged(Notification msg) {
-		if (resource != null) {
-			//listen for the remove of the loading adapter
-			if (msg.getFeatureID(null) == Resource.RESOURCE__IS_LOADED && msg.getEventType() == Notification.SET) {
-				removeProxySupport();
-				reset();
-			}
-		} else if (cacheResource()) {
-			targetAdapter.notifyChanged(msg);
-			reset();
-		}
-	}
-
-	/**
-	 * Cache the resource variable and return true if we removed the proxy support.
-	 */
-	private boolean cacheResource() {
-		if (getTarget() != null) {
-			EObject eObj = (EObject) getTarget();
-			resource = eObj.eResource();
-			if (resource != null) {
-				eObj.eAdapters().remove(this);
-				if (ExtendedEcoreUtil.isLoading(resource))
-					resource.eAdapters().add(this);
-				else {
-					targetObject.eAdapters().add(targetAdapter);
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 *  
-	 */
-	private void removeProxySupport() {
-		getTarget().eAdapters().remove(this);
-		targetObject.eAdapters().add(targetAdapter);
-	}
-
-	private void reset() {
-		resource = null;
-		targetAdapter = null;
-		targetObject = null;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Namespace.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Namespace.java
deleted file mode 100644
index 1a4a736..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Namespace.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-/*
- * Created on Aug 20, 2003
- *  
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-public class Namespace {
-
-	protected String prefix;
-	protected String nsURI;
-
-
-	public Namespace(String prefix, String uri) {
-		this.prefix = prefix;
-		this.nsURI = uri;
-	}
-
-	public String getNsURI() {
-		return nsURI;
-	}
-
-	public String getPrefix() {
-		return prefix;
-	}
-
-	public void setNsURI(String string) {
-		nsURI = string;
-	}
-
-	public void setPrefix(String string) {
-		prefix = string;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/NamespaceAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/NamespaceAdapter.java
deleted file mode 100644
index fd2ab86..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/NamespaceAdapter.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 20, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-
-/**
- * Internal class used to hold namespaces parsed from an XML file using the xmlns:prefix="aURI"
- * syntax
- */
-public class NamespaceAdapter extends AdapterImpl implements CloneablePublic {
-
-	protected final static String ADAPTER_TYPE = NamespaceAdapter.class.getName();
-	protected Map prefixesToNS;
-	protected List namespaces;
-
-	public final static EStructuralFeature NOTIFICATION_FEATURE = new EStructuralFeatureImpl() {
-	};
-
-	private static class Notification extends NotificationImpl {
-
-		/**
-		 * @param eventType
-		 * @param oldValue
-		 * @param newValue
-		 */
-		public Notification(int eventType, Object oldValue, Object newValue) {
-			super(eventType, oldValue, newValue);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.impl.NotificationImpl#getFeature()
-		 */
-		public Object getFeature() {
-			return NOTIFICATION_FEATURE;
-		}
-	}
-
-	protected NamespaceAdapter() {
-		super();
-	}
-
-	public static void addNamespace(String prefix, String uri, EObject obj) {
-		if (obj == null)
-			return;
-		NamespaceAdapter adapter = getAdapter(obj);
-		if (adapter != null)
-			adapter.addNamespace(prefix, uri);
-	}
-
-	public static void removeNamespace(String prefix, EObject obj) {
-		if (obj == null)
-			return;
-		NamespaceAdapter adapter = retrieveExistingAdapter(obj);
-		if (adapter != null)
-			adapter.removeNamespace(prefix);
-	}
-
-	/**
-	 * Facade method for resolving prefixes to an actual namespace URI. Used for objects contained
-	 * by instances of {@link com.ibm.etools.emf2xml.TranslatorResource}. Walks up the object
-	 * containment path until a namespace is found, or returns null.
-	 */
-	public static String getResolvedNamespaceURI(String prefix, EObject obj) {
-		if (prefix == null || obj == null)
-			return null;
-		EObject container = obj;
-		String nsURI;
-		while (container != null) {
-			nsURI = getNamespaceURIAtThisLevel(prefix, container);
-			if (nsURI != null)
-				return nsURI;
-			container = container.eContainer();
-		}
-		return null;
-	}
-
-	public static String getNamespaceURIAtThisLevel(String prefix, EObject obj) {
-		if (obj == null)
-			return null;
-		NamespaceAdapter adapter = retrieveExistingAdapter(obj);
-		return adapter == null ? null : adapter.getNamespaceURI(prefix);
-	}
-
-	public static List getNamespaces(EObject obj) {
-		if (obj == null)
-			return Collections.EMPTY_LIST;
-		NamespaceAdapter adapter = retrieveExistingAdapter(obj);
-		return adapter == null ? null : adapter.getNamespaces();
-
-	}
-
-	protected static NamespaceAdapter retrieveExistingAdapter(EObject obj) {
-		return (NamespaceAdapter) EcoreUtil.getExistingAdapter(obj, ADAPTER_TYPE);
-	}
-
-	protected static NamespaceAdapter getAdapter(EObject obj) {
-		NamespaceAdapter adapter = retrieveExistingAdapter(obj);
-		return adapter == null ? createAdapter(obj) : adapter;
-	}
-
-	protected static NamespaceAdapter createAdapter(EObject obj) {
-		NamespaceAdapter adapter = new NamespaceAdapter();
-		adapter.setTarget(obj);
-		obj.eAdapters().add(adapter);
-		return adapter;
-	}
-
-	protected void addNamespace(String prefix, String uri) {
-		Namespace ns = new Namespace(prefix, uri);
-		if (namespaces == null)
-			namespaces = new ArrayList();
-		if (prefixesToNS == null)
-			prefixesToNS = new HashMap();
-
-		prefixesToNS.put(prefix, ns);
-		namespaces.add(ns);
-		fireNotification(Notification.ADD, null, ns);
-
-	}
-
-	protected void removeNamespace(String prefix) {
-		Namespace ns = null;
-		if (prefixesToNS != null)
-			ns = (Namespace) prefixesToNS.get(prefix);
-
-		if (ns != null)
-			namespaces.remove(ns);
-		fireNotification(Notification.REMOVE, ns, null);
-	}
-
-	protected String getNamespaceURI(String prefix) {
-		if (prefixesToNS == null)
-			return null;
-		Namespace ns = (Namespace) prefixesToNS.get(prefix);
-		if (ns != null)
-			return ns.getNsURI();
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return ADAPTER_TYPE.equals(type);
-	}
-
-	public List getNamespaces() {
-		return namespaces == null ? Collections.EMPTY_LIST : Collections.unmodifiableList(namespaces);
-	}
-
-	protected void fireNotification(int type, Object oldValue, Object newValue) {
-		if (target != null)
-			target.eNotify(new Notification(type, oldValue, newValue));
-	}
-
-	public boolean hasNamespaces() {
-		return namespaces != null && !namespaces.isEmpty();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf.ecore.utilities.CloneablePublic#clone()
-	 */
-	public Object clone() {
-		NamespaceAdapter result = new NamespaceAdapter();
-		if (hasNamespaces()) {
-			for (int i = 0; i < namespaces.size(); i++) {
-				Namespace ns = (Namespace) namespaces.get(i);
-				result.addNamespace(ns.getPrefix(), ns.getNsURI());
-			}
-		}
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PassthruEncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PassthruEncoderDecoder.java
deleted file mode 100644
index e684059..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PassthruEncoderDecoder.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-/**
- * A passthru EncoderDecoder implementation
- */
-public class PassthruEncoderDecoder extends EncoderDecoderAdapter implements EncoderDecoder {
-	public static final PassthruEncoderDecoder INSTANCE = new PassthruEncoderDecoder();
-	public static final String KEY = PassthruEncoderDecoder.class.getName();
-
-	/**
-	 * EncoderDecoderAdapter constructor comment.
-	 */
-	private PassthruEncoderDecoder() {
-		super();
-	}
-
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public String decode(String value) {
-		return value;
-	}
-
-	/**
-	 * Returns an encoded version of the value.
-	 */
-	public String encode(String value) {
-		return value;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordCipherUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordCipherUtil.java
deleted file mode 100644
index f237158..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordCipherUtil.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-public class PasswordCipherUtil {
-	private static final String DEFAULT_SUPPORTED_CRYPTO_ALGORITHMS[] = {"xor"}; //$NON-NLS-1$
-	private static String _supported_crypto_algorithms[];
-
-	public PasswordCipherUtil() {
-	}
-
-	public static byte[] decipher(byte abyte0[], String s) throws InvalidPasswordCipherException, UnsupportedCryptoAlgorithmException {
-		if (s == null)
-			throw new UnsupportedCryptoAlgorithmException();
-		byte abyte1[] = null;
-		if (s.equalsIgnoreCase(DEFAULT_SUPPORTED_CRYPTO_ALGORITHMS[0]))
-			abyte1 = xor(abyte0);
-		else
-			throw new UnsupportedCryptoAlgorithmException();
-
-		if (abyte1 == null)
-			throw new InvalidPasswordCipherException();
-
-		return abyte1;
-	}
-
-	public static byte[] encipher(byte abyte0[], String s) throws InvalidPasswordCipherException, UnsupportedCryptoAlgorithmException {
-		if (s == null)
-			throw new UnsupportedCryptoAlgorithmException();
-		byte abyte1[] = null;
-		if (s.equalsIgnoreCase(DEFAULT_SUPPORTED_CRYPTO_ALGORITHMS[0]))
-			abyte1 = xor(abyte0);
-		else
-			throw new UnsupportedCryptoAlgorithmException();
-
-		if (abyte1 == null)
-			throw new InvalidPasswordCipherException();
-		return abyte1;
-	}
-
-	public static String[] getSupportedCryptoAlgorithms() {
-		return _supported_crypto_algorithms;
-	}
-
-	private static byte[] xor(byte abyte0[]) {
-		byte abyte1[] = null;
-		if (abyte0 != null) {
-			abyte1 = new byte[abyte0.length];
-			for (int i = 0; i < abyte0.length; i++)
-				abyte1[i] = (byte) (0x5f ^ abyte0[i]);
-		}
-		return abyte1;
-	}
-
-	static {
-		_supported_crypto_algorithms = null;
-		if (_supported_crypto_algorithms == null)
-			_supported_crypto_algorithms = DEFAULT_SUPPORTED_CRYPTO_ALGORITHMS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordEncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordEncoderDecoder.java
deleted file mode 100644
index 2c82ced..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordEncoderDecoder.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-public class PasswordEncoderDecoder extends EncoderDecoderAdapter implements EncoderDecoder {
-	public static final String KEY = "password-security-coder"; //$NON-NLS-1$
-
-	public PasswordEncoderDecoder() {
-	}
-
-	public String decode(String s) {
-		return PasswordUtil.passwordDecode(s);
-	}
-
-	public String encode(String s) {
-		return PasswordUtil.passwordEncode(s);
-	}
-
-	public Object getKey() {
-		return KEY;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordUtil.java
deleted file mode 100644
index 012f2c2..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordUtil.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import java.io.UnsupportedEncodingException;
-
-public class PasswordUtil {
-	public static final String STRING_CONVERSION_CODE = "UTF8"; //$NON-NLS-1$
-	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	public static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
-	public static final String DEFAULT_CRYPTO_ALGORITHM;
-	private static final String SUPPORTED_CRYPTO_ALGORITHMS[];
-	private static final byte BASE64_ENCODE_MAP[];
-	private static final byte BASE64_DECODE_MAP[];
-
-	public PasswordUtil() {
-	}
-
-	public static String decode(String s) throws InvalidPasswordDecodingException, UnsupportedCryptoAlgorithmException {
-		if (s == null)
-			throw new InvalidPasswordDecodingException();
-		String s1 = getCryptoAlgorithm(s);
-		if (s1 == null)
-			throw new InvalidPasswordDecodingException();
-
-		if (!isValidCryptoAlgorithm(s1))
-			throw new UnsupportedCryptoAlgorithmException();
-
-		String s2 = decode_password(removeCryptoAlgorithmTag(s), s1);
-		if (s2 == null)
-			throw new InvalidPasswordDecodingException();
-		return s2;
-	}
-
-	public static String encode(String s) throws InvalidPasswordEncodingException, UnsupportedCryptoAlgorithmException {
-		return encode(s, DEFAULT_CRYPTO_ALGORITHM);
-	}
-
-	public static String encode(String s, String s1) throws InvalidPasswordEncodingException, UnsupportedCryptoAlgorithmException {
-		if (!isValidCryptoAlgorithm(s1))
-			throw new UnsupportedCryptoAlgorithmException();
-		if (s == null)
-			throw new InvalidPasswordEncodingException();
-
-		if (getCryptoAlgorithm(s) != null)
-			throw new InvalidPasswordEncodingException();
-
-		String s2 = encode_password(s.trim(), s1.trim());
-		if (s2 == null)
-			throw new InvalidPasswordEncodingException();
-		return s2;
-	}
-
-	public static String getCryptoAlgorithm(String s) {
-		String s1 = null;
-		if (s != null) {
-			s = s.trim();
-			if (s.length() >= 2) {
-				int i = s.indexOf("{"); //$NON-NLS-1$
-				if (i == 0) {
-					int j = s.indexOf("}", ++i); //$NON-NLS-1$
-					if (j > 0)
-						if (i < j)
-							s1 = s.substring(i, j).trim();
-						else
-							s1 = EMPTY_STRING;
-				}
-			}
-		}
-		return s1;
-	}
-
-	public static String getCryptoAlgorithmTag(String s) {
-		String s1 = null;
-		String s2 = getCryptoAlgorithm(s);
-		if (s2 != null) {
-			StringBuffer stringbuffer = new StringBuffer("{"); //$NON-NLS-1$
-			if (s2.length() > 0)
-				stringbuffer.append(s2);
-			stringbuffer.append("}"); //$NON-NLS-1$
-			s1 = stringbuffer.toString();
-		}
-		return s1;
-	}
-
-	public static boolean isValidCryptoAlgorithm(String s) {
-		if (s != null) {
-			s = s.trim();
-			if (s.length() == 0)
-				return true;
-			for (int i = 0; i < SUPPORTED_CRYPTO_ALGORITHMS.length; i++)
-				if (s.equalsIgnoreCase(SUPPORTED_CRYPTO_ALGORITHMS[i]))
-					return true;
-		}
-		return false;
-	}
-
-	public static boolean isValidCryptoAlgorithmTag(String s) {
-		return isValidCryptoAlgorithm(getCryptoAlgorithm(s));
-	}
-
-	public static String passwordDecode(String s) {
-		if (s == null)
-			return null;
-		String s1 = getCryptoAlgorithm(s);
-		if (s1 == null)
-			return s;
-		if (!isValidCryptoAlgorithm(s1))
-			return null;
-		return decode_password(removeCryptoAlgorithmTag(s), s1);
-	}
-
-	public static String passwordEncode(String s) {
-		return passwordEncode(s, DEFAULT_CRYPTO_ALGORITHM);
-	}
-
-	public static String passwordEncode(String s, String s1) {
-		if (!isValidCryptoAlgorithm(s1))
-			return null;
-		if (s == null)
-			return null;
-		String s2 = getCryptoAlgorithm(s);
-		if (s2 != null) {
-			if (s2.equalsIgnoreCase(s1.trim()))
-				return s.trim();
-			return null;
-		}
-		return encode_password(s.trim(), s1.trim());
-	}
-
-	public static String removeCryptoAlgorithmTag(String s) {
-		String s1 = null;
-		if (s != null) {
-			s = s.trim();
-			if (s.length() >= 2) {
-				int i = s.indexOf("{"); //$NON-NLS-1$
-				if (i == 0) {
-					int j = s.indexOf("}", ++i); //$NON-NLS-1$
-					if (j > 0)
-						if (++j < s.length())
-							s1 = s.substring(j).trim();
-						else
-							s1 = EMPTY_STRING;
-				}
-			}
-		}
-		return s1;
-	}
-
-	private static byte[] convert_to_bytes(String s) {
-		byte abyte0[] = null;
-		if (s != null)
-			if (s.length() == 0)
-				abyte0 = EMPTY_BYTE_ARRAY;
-			else
-				try {
-					abyte0 = s.getBytes(STRING_CONVERSION_CODE);
-				} catch (UnsupportedEncodingException unsupportedencodingexception) {
-					abyte0 = null;
-				}
-		return abyte0;
-	}
-
-	private static String convert_to_string(byte abyte0[]) {
-		String s = null;
-		if (abyte0 != null)
-			if (abyte0.length == 0)
-				s = EMPTY_STRING;
-			else
-				try {
-					s = new String(abyte0, STRING_CONVERSION_CODE);
-				} catch (UnsupportedEncodingException unsupportedencodingexception) {
-					s = null;
-				}
-		return s;
-	}
-
-	private static byte[] convert_viewable_to_bytes(String s) {
-		byte abyte0[] = null;
-		if (s != null)
-			if (s.length() == 0)
-				abyte0 = EMPTY_BYTE_ARRAY;
-			else
-				try {
-					abyte0 = base64Decode(convert_to_bytes(s));
-				} catch (Exception exception) {
-					abyte0 = null;
-				}
-		return abyte0;
-	}
-
-	private static byte[] base64Decode(byte abyte0[]) {
-		int i;
-		for (i = abyte0.length; abyte0[--i] == 61;);
-		byte abyte1[] = new byte[(i + 1) - abyte0.length / 4];
-		for (int j = 0; j < abyte0.length; j++)
-			abyte0[j] = BASE64_DECODE_MAP[abyte0[j]];
-		int k = abyte1.length - 2;
-		int l = 0;
-		int i1;
-		for (i1 = 0; l < k; i1 += 4) {
-			abyte1[l] = (byte) (abyte0[i1] << 2 & 0xff | abyte0[i1 + 1] >>> 4 & 0x3);
-			abyte1[l + 1] = (byte) (abyte0[i1 + 1] << 4 & 0xff | abyte0[i1 + 2] >>> 2 & 0xf);
-			abyte1[l + 2] = (byte) (abyte0[i1 + 2] << 6 & 0xff | abyte0[i1 + 3] & 0x3f);
-			l += 3;
-		}
-		if (l < abyte1.length) {
-			abyte1[l++] = (byte) (abyte0[i1] << 2 & 0xff | abyte0[i1 + 1] >>> 4 & 0x3);
-			if (l < abyte1.length)
-				abyte1[l] = (byte) (abyte0[i1 + 1] << 4 & 0xff | abyte0[i1 + 2] >>> 2 & 0xf);
-		}
-		return abyte1;
-	}
-
-	private static String convert_viewable_to_string(byte abyte0[]) {
-		String s = null;
-		if (abyte0 != null)
-			if (abyte0.length == 0)
-				s = EMPTY_STRING;
-			else
-				try {
-					s = convert_to_string(base64Encode(abyte0));
-				} catch (Exception exception) {
-					s = null;
-				}
-		return s;
-	}
-
-	private static byte[] base64Encode(byte abyte0[]) {
-		byte abyte1[] = new byte[((abyte0.length + 2) / 3) * 4];
-		int i = 0;
-		int j = 0;
-		for (; i < abyte0.length - 2; i += 3) {
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i] >>> 2 & 0x3f];
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 1] >>> 4 & 0xf | abyte0[i] << 4 & 0x3f];
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 2] >>> 6 & 0x3 | abyte0[i + 1] << 2 & 0x3f];
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 2] & 0x3f];
-		}
-		if (i < abyte0.length) {
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i] >>> 2 & 0x3f];
-			if (i < abyte0.length - 1) {
-				abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 1] >>> 4 & 0xf | abyte0[i] << 4 & 0x3f];
-				abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 1] << 2 & 0x3f];
-			} else {
-				abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i] << 4 & 0x3f];
-			}
-		}
-		for (; j < abyte1.length; j++)
-			abyte1[j] = 61;
-		return abyte1;
-	}
-
-	private static String decode_password(String s, String s1) {
-		StringBuffer stringbuffer = new StringBuffer();
-		if (s1.length() == 0) {
-			stringbuffer.append(s);
-		} else {
-			String s2 = null;
-			if (s.length() > 0) {
-				byte abyte0[] = convert_viewable_to_bytes(s);
-				if (abyte0 == null)
-					return null;
-				if (abyte0.length > 0) {
-					byte abyte1[] = null;
-					try {
-						abyte1 = PasswordCipherUtil.decipher(abyte0, s1);
-					} catch (InvalidPasswordCipherException invalidpasswordcipherexception) {
-						return null;
-					} catch (UnsupportedCryptoAlgorithmException unsupportedcryptoalgorithmexception) {
-						return null;
-					}
-					if (abyte1 != null && abyte1.length > 0)
-						s2 = convert_to_string(abyte1);
-				}
-			}
-			if (s2 != null && s2.length() > 0)
-				stringbuffer.append(s2);
-		}
-		return stringbuffer.toString();
-	}
-
-	private static String encode_password(String s, String s1) {
-		StringBuffer stringbuffer = new StringBuffer("{"); //$NON-NLS-1$
-		if (s1.length() == 0) {
-			stringbuffer.append("}").append(s); //$NON-NLS-1$
-		} else {
-			stringbuffer.append(s1).append("}"); //$NON-NLS-1$
-			String s2 = null;
-			if (s.length() > 0) {
-				byte abyte0[] = convert_to_bytes(s);
-				if (abyte0.length > 0) {
-					byte abyte1[] = null;
-					try {
-						abyte1 = PasswordCipherUtil.encipher(abyte0, s1);
-					} catch (InvalidPasswordCipherException invalidpasswordcipherexception) {
-						return null;
-					} catch (UnsupportedCryptoAlgorithmException unsupportedcryptoalgorithmexception) {
-						return null;
-					}
-					if (abyte1 != null && abyte1.length > 0) {
-						s2 = convert_viewable_to_string(abyte1);
-						if (s2 == null)
-							return null;
-					}
-				}
-			}
-			if (s2 != null && s2.length() > 0)
-				stringbuffer.append(s2);
-		}
-		return stringbuffer.toString();
-	}
-
-	static {
-		SUPPORTED_CRYPTO_ALGORITHMS = PasswordCipherUtil.getSupportedCryptoAlgorithms();
-		DEFAULT_CRYPTO_ALGORITHM = SUPPORTED_CRYPTO_ALGORITHMS[0];
-		byte abyte0[] = {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47};
-		BASE64_ENCODE_MAP = abyte0;
-		BASE64_DECODE_MAP = new byte[128];
-		for (int i = 0; i < BASE64_DECODE_MAP.length; i++)
-			BASE64_DECODE_MAP[i] = -1;
-		for (int j = 0; j < BASE64_ENCODE_MAP.length; j++)
-			BASE64_DECODE_MAP[BASE64_ENCODE_MAP[j]] = (byte) j;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PleaseMigrateYourCodeError.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PleaseMigrateYourCodeError.java
deleted file mode 100644
index f56cfc1..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PleaseMigrateYourCodeError.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-
-/**
- * @author mdelder
- *  
- */
-public class PleaseMigrateYourCodeError extends Error {
-
-	//TODO Delete me
-	public PleaseMigrateYourCodeError() {
-		super(WFTUtilsResourceHandler.getString("PleaseMigrateYourCodeError_ERROR_0")); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceDependencyRegister.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceDependencyRegister.java
deleted file mode 100644
index 34ff643..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceDependencyRegister.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
-
-public class ResourceDependencyRegister {
-	protected static Map GLOBAL_DEPENDENCIES = new HashMap();
-	private static String RESOURCE_DEPENDENCY_TYPE = "ResourceDependencyAdapter"; //$NON-NLS-1$
-	protected Map localDependencies = new HashMap();
-
-	class ResourceDependencyAdapter extends AdapterImpl {
-		Resource dependentResource;
-
-		ResourceDependencyAdapter(Resource aDependentResource) {
-			dependentResource = aDependentResource;
-			dependentResource.eAdapters().add(this);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
-		 */
-		public boolean isAdapterForType(Object type) {
-			return RESOURCE_DEPENDENCY_TYPE.equals(type);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
-		 */
-		public void notifyChanged(Notification msg) {
-			//Listen for unloads and removes
-			switch (msg.getFeatureID(null)) {
-				case Resource.RESOURCE__IS_LOADED :
-					if (msg.getNotifier() != dependentResource && msg.getOldBooleanValue() && !msg.getNewBooleanValue())
-						dependentResource.unload();
-					break;
-				case Resource.RESOURCE__RESOURCE_SET :
-					if (msg.getOldValue() != null && msg.getNewValue() == null) {
-						if (msg.getNotifier() == dependentResource)
-							((Resource) getTarget()).eAdapters().remove(this);
-						else {
-							ResourceSet set = dependentResource.getResourceSet();
-							if (set != null)
-								set.getResources().remove(dependentResource);
-						}
-					}
-					break;
-			}
-		}
-	}
-
-	class ResourceSetListener extends AdapterImpl {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
-		 */
-		public void notifyChanged(Notification msg) {
-			if (msg.getEventType() == Notification.ADD)
-				proccessAddedResource((ResourceSet) msg.getNotifier(), (Resource) msg.getNewValue());
-		}
-	}
-
-	/**
-	 * Register a dependency between two URIs. The first parameter, aURIString, is the one that
-	 * dependentUriString depends on.
-	 * 
-	 * @param aUriString
-	 *            java.lang.String
-	 * @param dependentUriString
-	 *            java.lang.String
-	 */
-	public static void registerDependency(URI targetURI, URI dependentURI) {
-		if (targetURI != null && dependentURI != null) {
-			GLOBAL_DEPENDENCIES.put(dependentURI, targetURI);
-		}
-	}
-
-	public ResourceDependencyRegister(ResourceSet aResourceSet) {
-		initialize(aResourceSet);
-	}
-
-
-	ResourceDependencyRegister() {
-		super();
-	}
-
-	/**
-	 * @param aResourceSet
-	 */
-	protected void initialize(ResourceSet aResourceSet) {
-		if (aResourceSet == null)
-			throw new NullPointerException("The ResourceSet cannot be null."); //$NON-NLS-1$
-		initializeLocalDependencies(aResourceSet);
-		setupDependencyAdapters(aResourceSet);
-		setupResourceSetListener(aResourceSet);
-	}
-
-	/**
-	 * @param aResourceSet
-	 */
-	protected void setupResourceSetListener(ResourceSet aResourceSet) {
-		aResourceSet.eAdapters().add(new ResourceSetListener());
-	}
-
-	/**
-	 * @param aResourceSet
-	 * @return
-	 */
-	protected void setupDependencyAdapters(ResourceSet aResourceSet) {
-		if (!aResourceSet.getResources().isEmpty()) {
-			Iterator it = localDependencies.entrySet().iterator();
-			Map.Entry entry;
-			URI dependentURI, targetURI;
-			while (it.hasNext()) {
-				entry = (Map.Entry) it.next();
-				dependentURI = (URI) entry.getKey();
-				targetURI = (URI) entry.getValue();
-				setupDependencyAdapter(aResourceSet, dependentURI, targetURI);
-			}
-		}
-	}
-
-	/**
-	 * @param aResourceSet
-	 * @param dependentURI
-	 * @param targetURI
-	 * @return
-	 */
-	protected void setupDependencyAdapter(ResourceSet aResourceSet, URI dependentURI, URI targetURI) {
-		Resource dependent = aResourceSet.getResource(dependentURI, false);
-		if (dependent != null)
-			setupDependencyAdapter(dependent, targetURI, aResourceSet);
-	}
-
-	protected void setupDependencyAdapter(Resource dependent, URI targetURI, ResourceSet aResourceSet) {
-		Resource target = aResourceSet.getResource(targetURI, false);
-		if (target == null)
-			target = aResourceSet.createResource(targetURI);
-		target.eAdapters().add(new ResourceDependencyAdapter(dependent));
-	}
-
-	/**
-	 * @param aResourceSet
-	 */
-	protected void initializeLocalDependencies(ResourceSet aResourceSet) {
-		URIConverter converter = aResourceSet.getURIConverter();
-		initializeLocalDependencies(converter);
-	}
-
-	/**
-	 * @param aResourceSet
-	 */
-	protected void initializeLocalDependencies(URIConverter aConverter) {
-		Iterator it = GLOBAL_DEPENDENCIES.entrySet().iterator();
-		Map resolved = new HashMap();
-		Map.Entry entry;
-		URI key, value;
-		while (it.hasNext()) {
-			entry = (Map.Entry) it.next();
-			key = (URI) entry.getKey();
-			value = (URI) entry.getValue();
-			key = normalize(key, aConverter, resolved);
-			value = normalize(value, aConverter, resolved);
-			localDependencies.put(key, value);
-		}
-	}
-
-	/**
-	 * @param relativeURI
-	 * @param converter
-	 * @param resolved
-	 * @return
-	 */
-	protected URI normalize(URI relativeURI, URIConverter converter, Map resolved) {
-		URI result = (URI) resolved.get(relativeURI);
-		if (result == null) {
-			result = converter.normalize(relativeURI);
-			resolved.put(relativeURI, result);
-		}
-		return result;
-	}
-
-	/**
-	 * @param set
-	 * @param resource
-	 */
-	protected void proccessAddedResource(ResourceSet set, Resource resource) {
-		URI targetURI = (URI) localDependencies.get(resource.getURI());
-		if (targetURI != null)
-			setupDependencyAdapter(resource, targetURI, set);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Revisit.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Revisit.java
deleted file mode 100644
index 2ec67d4..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Revisit.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-public class Revisit {
-
-	/**
-	 * Revisit constructor comment.
-	 */
-	public Revisit() {
-		super();
-	}
-
-	public static void revisit() {
-	}
-
-
-	public static void unComment() {
-	}
-
-	public static void toDo() {
-	}
-
-	public static void refactor() {
-	}
-
-	public static void removeDeprecatedMethod() {
-	}
-
-	public static void deleteMe() {
-	}
-
-	public static void reviewDesign() {
-	}
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/StringUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/StringUtil.java
deleted file mode 100644
index d1f2308..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/StringUtil.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 18, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * @author schacher
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class StringUtil {
-	/**
-	 * Enhanced equality check for two string parameters, that takes into consideration null values.
-	 * If both values are null, this will return true.
-	 * 
-	 * @param s1
-	 * @param s2
-	 * @return boolean
-	 */
-	public static boolean stringsEqual(String s1, String s2) {
-		if (s1 == null)
-			return s2 == null;
-		return s1.equals(s2);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/UnsupportedCryptoAlgorithmException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/UnsupportedCryptoAlgorithmException.java
deleted file mode 100644
index f71c66d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/UnsupportedCryptoAlgorithmException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import org.omg.CORBA.UserException;
-
-public class UnsupportedCryptoAlgorithmException extends UserException {
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WFTUtilsResourceHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WFTUtilsResourceHandler.java
deleted file mode 100644
index 037337b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WFTUtilsResourceHandler.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class WFTUtilsResourceHandler {
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("wftutils");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String, String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-
-	public static String getString(String key) {
-		if (fgResourceBundle == null)
-			fgResourceBundle = getResourceBundle();
-
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-			}
-		}
-		return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$ 
-	}
-
-	public static String getString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getString(key);
-		}
-
-	}
-
-	public static String getString(String key, Object[] args, int x) {
-
-		return getString(key);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WriteBackHelper.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WriteBackHelper.java
deleted file mode 100644
index b7f0034..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WriteBackHelper.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-
-
-/**
- * @deprecated This class will be deleted. If you still need to use this class, please contact the
- *             WCCM team. A class which can be used in conjunction with Encoder/Decoders to save
- *             resources if they are made dirty by automatic encoding support. Usage Example:
- * 
- * <pre>
- * 
- * 
- * // Use the standard WebSphere password value encoder/decoder.
- * EncoderDecoderRegistry.getDefaultRegistry().setDefaultEncoderDecoder(new com.ibm.ejs.security.util.WASEncoderDecoder());
- * // Begin tracking changes...
- * WriteBackHelper.begin();
- * // Load a resource which may have un-encoded values...
- * // Note: The WCCM will attempt to detect un-encoded values.  If unencoded values
- * // are found, the value will be encoded, and the resource will be added to the
- * // WriteBackHelper.
- * Resource res = resourceSet.load(&quot;myResource&quot;);
- * // Ensure that any changes due to encoding are written back out.
- * WriteBackHelper.end();
- * </pre>
- */
-public class WriteBackHelper {
-	private Set dirtyObjects = new HashSet();
-	private boolean trackingChanges = false;
-	private static WriteBackHelper _instance;
-	static {
-		//Deprecated class
-		Revisit.deleteMe();
-	};
-
-	/**
-	 * Private constructor ensures proper usage through singleton.
-	 */
-	private WriteBackHelper() {
-		super();
-	}
-
-	/**
-	 * Adds a resource which is dirty, and needs to be saved.
-	 */
-	public void addDirtyObject(EObject dirtyObject) {
-		dirtyObjects.add(dirtyObject);
-	}
-
-	/**
-	 * Begin collecting objects which have changed.
-	 */
-	public void begin() {
-		trackingChanges = true;
-	}
-
-	/**
-	 * Attempts to save all dirty resources (if possible), then marks the resources as non-dirty.
-	 */
-	public void end() {
-		saveDirtyResources();
-		reset();
-		trackingChanges = false;
-	}
-
-	/**
-	 * Returns true if changes to mof objects are currently being tracked.
-	 */
-	public boolean isActive() {
-		return trackingChanges;
-	}
-
-	/**
-	 * Clears the list of dirty resources.
-	 */
-	protected void reset() {
-		dirtyObjects.clear();
-	}
-
-	/**
-	 * Attempts to save all dirty resources (if possible), then marks the resources as non-dirty.
-	 */
-	protected void saveDirtyResources() {
-		Set dirtyResources = new HashSet();
-		Iterator dirtyObjIter = dirtyObjects.iterator();
-		while (dirtyObjIter.hasNext()) {
-			EObject dirtyObject = (EObject) dirtyObjIter.next();
-			if (dirtyObject.eResource() != null && !dirtyResources.contains(dirtyObject)) {
-				dirtyResources.add(dirtyObject.eResource());
-			}
-		}
-		Iterator dirtyIter = dirtyResources.iterator();
-		while (dirtyIter.hasNext()) {
-			Resource dirtyResource = (Resource) dirtyIter.next();
-			try {
-				dirtyResource.save(Collections.EMPTY_MAP);
-			} catch (Exception e) {
-				warn(dirtyResource, e);
-			}
-		}
-	}
-
-	/**
-	 * Adds a resource which is dirty, and needs to be saved.
-	 */
-	public static WriteBackHelper singleton() {
-		if (_instance == null) {
-			_instance = new WriteBackHelper();
-		}
-		return _instance;
-	}
-
-	/**
-	 * Warn the user of problems during save.
-	 */
-	protected void warn(Resource res, Exception e) {
-		System.err.println(WFTUtilsResourceHandler.getString("Warning__Could_not_write_b_WARN_", new Object[]{res.getURI()})); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/XMLValueEncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/XMLValueEncoderDecoder.java
deleted file mode 100644
index d9a1d2c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/XMLValueEncoderDecoder.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-/**
- * An XML value escaping EncoderDecoder implementation
- */
-public class XMLValueEncoderDecoder extends EncoderDecoderAdapter implements EncoderDecoder {
-	/**
-	 * Identifies the last printable character in the Unicode range that is supported by the
-	 * encoding used with this serializer. For 8-bit encodings this will be either 0x7E or 0xFF. For
-	 * 16-bit encodings this will be 0xFFFF. Characters that are not printable will be escaped using
-	 * character references.
-	 */
-	private int _lastPrintable = 0x7E;
-	protected static XMLValueEncoderDecoder _singleton;
-
-	/**
-	 * EncoderDecoderAdapter constructor comment.
-	 */
-	public XMLValueEncoderDecoder() {
-		super();
-	}
-
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public String decode(String value) {
-		// NOT_IMPLEMENTED
-		return value;
-	}
-
-	/**
-	 * Escapes a string so it may be printed as text content or attribute value. Non printable
-	 * characters are escaped using character references. Where the format specifies a deault entity
-	 * reference, that reference is used (e.g. <tt>&amp;lt;</tt>).
-	 * 
-	 * @param source
-	 *            The string to escape
-	 */
-	public String encode(String value) {
-		StringBuffer sbuf = new StringBuffer(value.length());
-		String charRef = null;
-		char ch;
-		for (int i = 0; i < value.length(); ++i) {
-			ch = value.charAt(i);
-			// If there is a suitable entity reference for this
-			// character, print it. The list of available entity
-			// references is almost but not identical between
-			// XML and HTML.
-			charRef = getEntityRef(ch);
-			if (charRef != null) {
-				sbuf.append('&');
-				sbuf.append(charRef);
-				sbuf.append(';');
-			} else if ((ch >= ' ' && ch <= _lastPrintable && ch != 0xF7) || ch == '\n' || ch == '\r' || ch == '\t') {
-				// If the character is not printable, print as character reference.
-				// Non printables are below ASCII space but not tab or line
-				// terminator, ASCII delete, or above a certain Unicode threshold.
-				sbuf.append(ch);
-			} else {
-				sbuf.append("&#");//$NON-NLS-1$
-				sbuf.append(Integer.toString(ch));
-				sbuf.append(';');
-			}
-		}
-		return sbuf.toString();
-	}
-
-	public static String escape(String value) {
-		if (_singleton == null) {
-			_singleton = new XMLValueEncoderDecoder();
-		}
-		return _singleton.encode(value);
-	}
-
-	/**
-	 * Returns the suitable entity reference for this character value, or null if no such entity
-	 * exists. Calling this method with <tt>'&amp;'</tt> will return <tt>"&amp;amp;"</tt>.
-	 * 
-	 * @param ch
-	 *            Character value
-	 * @return Character entity name, or null
-	 */
-	protected String getEntityRef(char ch) {
-		// Encode special XML characters into the equivalent character references.
-		// These five are defined by default for all XML documents.
-		switch (ch) {
-			case '<' :
-				return "lt";//$NON-NLS-1$
-			case '>' :
-				return "gt";//$NON-NLS-1$
-			case '"' :
-				return "quot";//$NON-NLS-1$
-			case '\'' :
-				return "apos";//$NON-NLS-1$
-			case '&' :
-				return "amp";//$NON-NLS-1$
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils.properties
deleted file mode 100644
index a1ae58c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W Warning: Could not write back {0}
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E Stack trace of nested exception:
-Enumeration_UI_=Enumeration
-Double_UI_=Double
-Float_UI_=Float
-Long_UI_=Long
-Short_UI_=Short
-Boolean_UI_=Boolean
-Integer_UI_=Integer
-Character_UI_=Character
-Byte_UI_=Byte
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E Failed to convert {0} to {1}.
-DANGLING_HREF_ERROR_=IWAE0001E Unable to resolve HREF {0}. Check the descriptor files and ensure the ids are valid.
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E The ResourceSet cannot be null.
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_de.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_de.properties
deleted file mode 100644
index 740d673..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_de.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W Warnung: Zur\u00fcckschreiben von {0} war nicht m\u00f6glich
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E Stack-Trace der verschachtelten Ausnahmebedingung:
-Enumeration_UI_=Aufz\u00e4hlung
-Double_UI_=DOUBLE
-Float_UI_=FLOAT
-Long_UI_=LONG
-Short_UI_=SHORT
-Boolean_UI_=BOOLEAN
-Integer_UI_=INTEGER
-Character_UI_=CHARACTER
-Byte_UI_=BYTE
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E Die Konvertierung von {0} in {1} ist fehlgeschlagen.
-DANGLING_HREF_ERROR_=IWAE0001E HREF {0} konnte nicht aufgel\u00f6st werden. \u00dcberpr\u00fcfen Sie die Deskriptordateien und stellen Sie sicher, dass die IDs g\u00fcltig sind.
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E Die Ressourcengruppe darf nicht Null sein.
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_es.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_es.properties
deleted file mode 100644
index 3ca824d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_es.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W Aviso: no se ha podido de nuevo {0}
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E Rastreo de pila de excepci\u00f3n anidada:
-Enumeration_UI_=Enumeraci\u00f3n
-Double_UI_=Doble
-Float_UI_=Coma flotante
-Long_UI_=Largo
-Short_UI_=Corto
-Boolean_UI_=Booleano
-Integer_UI_=Entero
-Character_UI_=Car\u00e1cter
-Byte_UI_=Byte
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E No se ha podido convertir {0} en {1}.
-DANGLING_HREF_ERROR_=IWAE0001E No se puede resolver HREF {0}. Compruebe los archivos de descriptor y aseg\u00farese de que los ID son v\u00e1lidos.
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E ResourceSet no puede ser nulo.
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_fr.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_fr.properties
deleted file mode 100644
index b2ad804..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_fr.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W Avertissement : impossible de r\u00e9\u00e9crire {0}.
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E Trace de pile de l'exception imbriqu\u00e9e :
-Enumeration_UI_=Enum\u00e9ration
-Double_UI_=Variable double
-Float_UI_=Variable flottante
-Long_UI_=Variable longue
-Short_UI_=Variable courte
-Boolean_UI_=Bool\u00e9en
-Integer_UI_=Entier
-Character_UI_=Caract\u00e8re
-Byte_UI_=Octet
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E Echec de la conversion de {0} en {1}.
-DANGLING_HREF_ERROR_=IWAE0001E Impossible de r\u00e9soudre HREF {0}. V\u00e9rifiez les fichiers du descripteur et assurez-vous que les ID sont valides.
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E La classe ResourceSet ne peut pas \u00eatre NULL.
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_it.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_it.properties
deleted file mode 100644
index 31d60a6..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_it.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W Avviso: Impossibile eseguire il write back per {0}
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E Traccia dello stack dell'eccezione nidificata:
-Enumeration_UI_=Numerazione
-Double_UI_=Doppio
-Float_UI_=Mobile
-Long_UI_=Esteso
-Short_UI_=Breve
-Boolean_UI_=Booleano
-Integer_UI_=Intero
-Character_UI_=Carattere
-Byte_UI_=Byte
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E Impossibile convertire {0} in {1}.
-DANGLING_HREF_ERROR_=IWAE0001E Impossibile risolvere HREF {0}. Controllare i file del descrittore e assicurarsi che gli ID siano validi.
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E ResourceSet non pu\u00f2 essere null.
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_ja.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_ja.properties
deleted file mode 100644
index 2347f79..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_ja.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W \u8b66\u544a: {0} \u3092\u66f8\u304d\u623b\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E \u30cd\u30b9\u30c8\u3055\u308c\u305f\u4f8b\u5916\u306e\u30b9\u30bf\u30c3\u30af\u30fb\u30c8\u30ec\u30fc\u30b9:
-Enumeration_UI_=\u5217\u6319\u578b
-Double_UI_=\u500d\u7cbe\u5ea6
-Float_UI_=\u6d6e\u52d5
-Long_UI_=\u9577\u5f62\u5f0f
-Short_UI_=\u77ed\u5f62\u5f0f
-Boolean_UI_=\u30d6\u30fc\u30eb
-Integer_UI_=Integer
-Character_UI_=\u6587\u5b57
-Byte_UI_=\u30d0\u30a4\u30c8
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E {0} \u3092 {1} \u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-DANGLING_HREF_ERROR_=IWAE0001E HREF {0} \u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3002 \u8a18\u8ff0\u5b50\u30d5\u30a1\u30a4\u30eb\u3092\u8abf\u3079\u3001ID \u304c\u6709\u52b9\u304b\u3069\u3046\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E \u30ea\u30bd\u30fc\u30b9\u30fb\u30bb\u30c3\u30c8\u3092 NULL \u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_ko.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_ko.properties
deleted file mode 100644
index ae4662d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_ko.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W \uacbd\uace0: {0}\uc744(\ub97c) \ud68c\uc2e0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E \uc911\ucca9\ub41c \uc608\uc678\uc758 \uc2a4\ud0dd \ucd94\uc801:
-Enumeration_UI_=\uc5f4\uac70
-Double_UI_=Double
-Float_UI_=Float
-Long_UI_=Long
-Short_UI_=Short
-Boolean_UI_=\ubd80\uc6b8
-Integer_UI_=\uc815\uc218
-Character_UI_=\ubb38\uc790
-Byte_UI_=\ubc14\uc774\ud2b8
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E {0}\uc744(\ub97c) {1}(\uc73c)\ub85c \ubcc0\ud658\ud558\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-DANGLING_HREF_ERROR_=IWAE0001E {0} HREF\ub97c \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc124\uba85\uc790 \ud30c\uc77c\uc744 \ud655\uc778\ud558\uace0 ID\uac00 \uc62c\ubc14\ub978\uc9c0 \ud655\uc778\ud558\uc2ed\uc2dc\uc624.
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E ResourceSet\uc740 \ub110(null)\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_pt_BR.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_pt_BR.properties
deleted file mode 100644
index 4031f06..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_pt_BR.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W Aviso: N\u00e3o foi poss\u00edvel gravar {0} novamente
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E Rastreio de pilha de exce\u00e7\u00e3o aninhada:
-Enumeration_UI_=Enumera\u00e7\u00e3o
-Double_UI_=Duplo
-Float_UI_=Flutuante
-Long_UI_=Longo
-Short_UI_=Curto
-Boolean_UI_=Booleano
-Integer_UI_=Inteiro
-Character_UI_=Caractere
-Byte_UI_=Byte
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E Falha ao converter {0} em {1}.
-DANGLING_HREF_ERROR_=IWAE0001E N\u00e3o foi poss\u00edvel resolver HREF {0}. Verifique os arquivos descritores e assegure que os IDs sejam v\u00e1lidos.
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E O ResourceSet n\u00e3o pode ser nulo.
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_zh_CN.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_zh_CN.properties
deleted file mode 100644
index 4ac8cec..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_zh_CN.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W \u8b66\u544a\uff1a\u672a\u80fd\u56de\u5199 {0}
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E \u5d4c\u5957\u5f02\u5e38\u7684\u5806\u6808\u8ddf\u8e2a\uff1a
-Enumeration_UI_=\u679a\u4e3e\u578b
-Double_UI_=\u53cc\u7cbe\u5ea6\u578b
-Float_UI_=\u6d6e\u70b9\u578b
-Long_UI_=\u957f\u6574\u578b
-Short_UI_=\u77ed\u6574\u578b
-Boolean_UI_=\u5e03\u5c14\u578b
-Integer_UI_=\u6574\u578b
-Character_UI_=\u5b57\u7b26\u578b
-Byte_UI_=\u5b57\u8282\u578b
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E \u672a\u80fd\u5c06 {0} \u8f6c\u6362\u4e3a {1}\u3002
-DANGLING_HREF_ERROR_=IWAE0001E \u672a\u80fd\u89e3\u6790 HREF {0}\u3002\u68c0\u67e5\u63cf\u8ff0\u7b26\u6587\u4ef6\u5e76\u786e\u4fdd\u6807\u8bc6\u6709\u6548\u3002
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E ResourceSet \u4e0d\u80fd\u4e3a\u7a7a\u3002
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_zh_TW.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_zh_TW.properties
deleted file mode 100644
index a8179ad..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils_zh_TW.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W \u8b66\u544a\uff1a\u7121\u6cd5\u5beb\u56de {0}
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E \u5de2\u72c0\u7570\u5e38\u72c0\u6cc1\u7684\u5806\u758a\u8ffd\u8e64\uff1a
-Enumeration_UI_=Enumeration
-Double_UI_=Double
-Float_UI_=Float
-Long_UI_=Long
-Short_UI_=Short
-Boolean_UI_=Boolean
-Integer_UI_=Integer
-Character_UI_=Character
-Byte_UI_=Byte
-Failed_to_convert_{0}_to_{_ERROR_=IWAE0014E \u7121\u6cd5\u5c07 {0} \u8f49\u63db\u6210 {1}\u3002
-DANGLING_HREF_ERROR_=IWAE0001E \u7121\u6cd5\u89e3\u6790 HREF {0}\u3002\u8acb\u6aa2\u67e5\u63cf\u8ff0\u5b50\u6a94\u6848\uff0c\u4e26\u78ba\u5b9a ID \u662f\u5426\u6709\u6548\u3002
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E ResourceSet \u4e0d\u80fd\u662f\u7a7a\u503c\u3002
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/.classpath b/plugins/org.eclipse.wst.common.emfworkbench.integration/.classpath
deleted file mode 100644
index d7d0dbf..0000000
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="property_file"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/.cvsignore b/plugins/org.eclipse.wst.common.emfworkbench.integration/.cvsignore
deleted file mode 100644
index 86c9683..0000000
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-temp.folder
-build.xml
-emfworkbenchedit.jar
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/.project b/plugins/org.eclipse.wst.common.emfworkbench.integration/.project
deleted file mode 100644
index afef01a..0000000
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.emfworkbench.integration</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/build.properties b/plugins/org.eclipse.wst.common.emfworkbench.integration/build.properties
deleted file mode 100644
index 64eb80a..0000000
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.emfworkbenchedit.jar = src/,\
-                              property_file/
-output.emfworkbenchedit.jar = bin/
-bin.includes = plugin.xml,\
-               emfworkbenchedit.jar
-src.includes = schema/
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/plugin.xml b/plugins/org.eclipse.wst.common.emfworkbench.integration/plugin.xml
deleted file mode 100644
index 4dabe5b..0000000
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/plugin.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.common.emfworkbench.integration"
-   name="EMF Workbench Edit Plug-in"
-   description="This plugin provides the extensible edit model and edit model operation framework used to keep editors in synch. The DynamicAdapterFactory framework is also provided so adapters can register themselves to be picked up globally."
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.wst.common.internal.emfworkbench.integration.EMFWorkbenchEditPlugin">
-
-   <runtime>
-      <library name="emfworkbenchedit.jar">
-         <export name="*"/>
-      </library> 
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.wst.common.frameworks"/>
-      <import plugin="com.ibm.wtp.common.util"/>
-      <import plugin="com.ibm.wtp.emf.workbench"/>
-      <import plugin="org.eclipse.emf.edit"/>
-      <import plugin="org.eclipse.emf.ecore.xmi"/>
-      <import plugin="org.eclipse.wst.common.emf"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.emf.codegen"/>
-      <import plugin="org.eclipse.emf.codegen.ecore"/>
-      <import plugin="org.eclipse.xsd"/>
-   </requires>
-
-
-   <extension-point id="editModel" name="EMF Resource Edit Model" schema="schema/editModel.exsd"/>
-   <extension-point id="editModelExtension" name="Edit Model Extensions" schema="schema/editModelExtension.exsd"/>
-   <extension-point id="adapterFactory" name="Adapter Factory Extension" schema="schema/adapterFactory.exsd"/>
-   <extension-point id="ModifierHelperFactory" name="ModifierHelperFactory" schema="schema/modifierHelperFactory.exsd"/>
-
-   <extension
-         point="com.ibm.wtp.emf.workbench.internalWorkbenchContextFactory">
-      <factoryClass
-            name="org.eclipse.wst.common.internal.emfworkbench.edit.EMFWorkbenchEditContextFactory">
-      </factoryClass>
-   </extension>
-   
-   <extension 
-       point="com.ibm.wtp.common.util.uiContextSensitiveClass">
-       <uiContextSensitiveClass
-          key="ValidateEditContext"
-          className="org.eclipse.wst.common.internal.emfworkbench.validateedit.ValidateEditHeadlessContext"
-          context="Headless"/>
-  </extension>
-  <extension
-         id="Generator"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.wst.common.internal.emfworkbench.operation.DataObjectGeneratorModel">
-         </run>
-      </application>
-   </extension>
-   
-   <extension
-        id="emfValidationHandler"
-        name="emfValidationHandler"
-        point="org.eclipse.wst.common.frameworks.validationSelectionHandler">
-      <validationSelectionHandler
-        id="emfValidationHandler"
-        handlerClass="org.eclipse.wst.common.internal.emfworkbench.EmfValidationHandler"
-        selectionType="org.eclipse.emf.ecore.EObject"/>
-   </extension>
-   
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/prepareforpii.xml b/plugins/org.eclipse.wst.common.emfworkbench.integration/prepareforpii.xml
deleted file mode 100644
index 26d1d46..0000000
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/prepareforpii.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-		
-	<!-- Setup temp variables -->
-	<target name="init">
-		<property name="nlsDir" value="d:/NLS/Corona/0526"/>
-		<property name="plugin" value="com.ibm.wtp.emf.workbench.edit"/>
-		<property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
-		<property name="outputDir" value="${nlsDir}/${plugin}"/>
-		
-	
-	</target>
-
-	<!-- Create the destination dir -->
-	<target name="nlsDir" depends="init">
-		<mkdir dir="${nlsDir}"/>
-	</target>
-	
-	<!-- Create the destination dir -->
-	<target name="plugindir" depends="nlsDir">
-		<delete dir="${outputDir}"/>
-		<mkdir dir="${outputDir}"/>
-	</target>
-
-	<!-- Move the files to the correct locations in the workspace. -->
-	<target name="main" depends="plugindir">
-	
-		<messageIdGen folderPath = "${plugindir}" componentId = "E" />
-		
-		<copy todir = "${outputDir}/property_file" >
-			 <fileset dir="${plugindir}/property_file">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/property_file/emfworkbenchedit.properties b/plugins/org.eclipse.wst.common.emfworkbench.integration/property_file/emfworkbenchedit.properties
deleted file mode 100644
index 04eab80..0000000
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/property_file/emfworkbenchedit.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-DynamicAdapterFactory_ERROR_0=IWAE0010E A null EPackage will not be tied to any Adapter Factory.
-ClientAccessRegistryException_UI_0=There are at least {0} improperly released edit models.
-ClientAccessRegistryException_UI_1=This exception was generated to indicate an invalid usage of reference counts. Please examine the stack trace.\n Client Access Exception of type {0} \n
-ClientAccessRegistry_ERROR_0=IWAE0011E Key already used to access Resource
-ClientAccessRegistry_ERROR_1=IWAE0012E Key has not properly accessed Resource.
-EditModelRegistry_ERROR_0=IWAE0013E The inheritance hierarchy for the Edit Model \"{0}\" contains a cycle. Please correct the entries in your plugin.xml files.
-EditModelRegistry_ERROR_1=IWAE0014E Could not create factory because IConfigurationElement is null.
-EditModelRegistry_ERROR_2=IWAE0015E No EditModelFactory for key \"{0}\"